This commit was manufactured by cvs2svn to create tag
'Root_R3_2_maintenance'.
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.debug.core/META-INF/MANIFEST.MF
index 80e18a7..358816b 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %bundleName.name
 Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.core;singleton:=true
-Bundle-Version: 2.0.200.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin
-Bundle-Vendor: %providerName
+Bundle-Vendor: %bundleVendor.name
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.debug.core
 Bundle-RequiredExecutionEnvironment: J2SE-1.4
@@ -16,10 +16,7 @@
  org.eclipse.wst.jsdt.debug.core.jsdi.request,
  org.eclipse.wst.jsdt.debug.core.model,
  org.eclipse.wst.jsdt.debug.internal.core;x-friends:="org.eclipse.wst.jsdt.debug.ui",
- org.eclipse.wst.jsdt.debug.internal.core.breakpoints;x-friends:="org.eclipse.wst.jsdt.debug.ui",
- org.eclipse.wst.jsdt.debug.internal.core.launching;x-friends:="org.eclipse.wst.jsdt.debug.ui,org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.core.model;x-friends:="org.eclipse.wst.jsdt.debug.ui,org.eclipse.wst.jsdt.debug.rhino.ui"
-Import-Package: org.eclipse.jface.text,
- org.eclipse.text.edits,
- org.eclipse.wst.jsdt.core,
- org.eclipse.wst.jsdt.core.formatter
+ org.eclipse.wst.jsdt.debug.internal.core.breakpoints;x-internal:=true,
+ org.eclipse.wst.jsdt.debug.internal.core.launching;x-friends:="org.eclipse.wst.jsdt.debug.ui",
+ org.eclipse.wst.jsdt.debug.internal.core.model;x-friends:="org.eclipse.wst.jsdt.debug.ui"
+Import-Package: org.eclipse.wst.jsdt.core
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.wst.jsdt.debug.core/OSGI-INF/l10n/bundle.properties
index 8eb1c46..406f8d7 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/OSGI-INF/l10n/bundle.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
+# Copyright (c) 2010 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -8,8 +8,7 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-launchConfigurationType.name = Remote JavaScript
-breakpoint.name = JavaScript Breakpoint
+launchConfigurationType.name = JavaScript
 linebreakpoint.name = JavaScript Line Breakpoint
 methodbreakpoint.name = JavaScript Function Breakpoint
 scriptloadbreakpoint.name = JavaScript Script Load Breakpoint
@@ -17,7 +16,7 @@
 launchDelegate.name = JavaScript Launcher
 launchDelegate.description = Launches a Javascript session
 sourceLocator.name = JavaScript Source Locator
-providerName = Eclipse Web Tools Platform
+bundleVendor.name = Eclipse Web Tools Platform
 bundleName.name = JavaScript Debug Core
 connectorsExtPoint.name = connectors
 remoteJsLaunchDelegate.name = Remote JavaScript
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/build.properties b/bundles/org.eclipse.wst.jsdt.debug.core/build.properties
index 7c53cd9..38f0951 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/build.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/build.properties
@@ -1,13 +1,3 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/plugin.xml b/bundles/org.eclipse.wst.jsdt.debug.core/plugin.xml
index c9404e1..0fbf079 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/plugin.xml
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/plugin.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?><!--
-    Copyright (c) 2010, 2011 IBM Corporation and others.
+    Copyright (c) 2010 IBM Corporation and others.
     All rights reserved. This program and the accompanying materials
     are made available under the terms of the Eclipse Public License v1.0
     which accompanies this distribution, and is available at
@@ -27,9 +27,6 @@
          name="%linebreakpoint.name"
          point="org.eclipse.core.resources.markers">
       <super
-            type="org.eclipse.wst.jsdt.debug.core.breakpoint.marker">
-      </super>
-      <super
             type="org.eclipse.debug.core.lineBreakpointMarker">
       </super>
       <persistent
@@ -66,7 +63,6 @@
    </extension>
    <extension
          id="org.eclipse.wst.jsdt.debug.core.breakpoint.marker"
-         name="%breakpoint.name"
          point="org.eclipse.core.resources.markers">
       <super
             type="org.eclipse.debug.core.breakpointMarker">
@@ -122,7 +118,6 @@
             modes="debug"
             name="%remoteJsLaunchDelegate.name"
             sourceLocatorId="org.eclipse.wst.jsdt.debug.core.sourceLocator"
-            sourcePathComputerId="org.eclipse.wst.jsdt.debug.core.source.path.computer"
             type="org.eclipse.wst.jsdt.debug.core.launchConfigurationType">
       </launchDelegate>
    </extension>
@@ -154,12 +149,5 @@
             kind="*">
       </participant>
    </extension>
-   <extension
-         point="org.eclipse.debug.core.sourcePathComputers">
-      <sourcePathComputer
-            class="org.eclipse.wst.jsdt.debug.internal.core.launching.JavaScriptSourcePathComputerDelegate"
-            id="org.eclipse.wst.jsdt.debug.core.source.path.computer">
-      </sourcePathComputer>
-   </extension>
 
 </plugin>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/schema/launchingConnectors.exsd b/bundles/org.eclipse.wst.jsdt.debug.core/schema/launchingConnectors.exsd
index c7a50c8..b7f88a2 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/schema/launchingConnectors.exsd
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/schema/launchingConnectors.exsd
@@ -55,7 +55,7 @@
                   The connector class that implements org.eclipse.e4.languages.javascript.jsdi.connect.Connector
                </documentation>
                <appinfo>
-                  <meta.attribute kind="java" basedOn=":org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector"/>
+                  <meta.attribute kind="java" basedOn=":org.eclipse.e4.languages.javascript.jsdi.connect.Connector"/>
                </appinfo>
             </annotation>
          </attribute>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/breakpoints/IJavaScriptBreakpoint.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/breakpoints/IJavaScriptBreakpoint.java
index df35e1d..aec3c3a 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/breakpoints/IJavaScriptBreakpoint.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/breakpoints/IJavaScriptBreakpoint.java
@@ -21,14 +21,7 @@
  * @since 1.0
  */
 public interface IJavaScriptBreakpoint extends IBreakpoint {
-	
-	/**
-	 * The id of the root breakpoint marker type for JavaScript breakpoints
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.core.breakpoint.marker</code>
-	 * @since 1.1
-	 */
-	public static final String MARKER_ID = "org.eclipse.wst.jsdt.debug.core.breakpoint.marker"; //$NON-NLS-1$
+
 	/**
 	 * The suspend policy for the breakpoint
 	 */
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/event/ResumeEvent.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/event/ResumeEvent.java
deleted file mode 100644
index 6d3688f..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/event/ResumeEvent.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.core.jsdi.event;
-
-/**
- * Description of a JSDI event that indicates a resume event has occurred
- * 
- * @see EventQueue
- * @see EventSet
- * @see LocatableEvent
- * @since 2.0
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ResumeEvent extends LocatableEvent {
-
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/EventRequestManager.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/EventRequestManager.java
index fe6b01b..8979554 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/EventRequestManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/EventRequestManager.java
@@ -141,26 +141,6 @@
 	public List /*<SuspendRequest>*/ suspendRequests();
 
 	/**
-	 * Creates a new {@link ResumeRequest} for the specified {@link ThreadReference}.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @param thread the {@link ThreadReference} to perform the suspend on
-	 * 
-	 * @return a new {@link ResumeRequest} never <code>null</code>
-	 */
-	public ResumeRequest createResumeRequest(ThreadReference thread);
-
-	/**
-	 * Returns the live immutable list of {@link ResumeRequest}s currently queued in the manager.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @return the list of {@link ResumeRequest}s or an empty list, never <code>null</code>
-	 */
-	public List /*<ResumeRequest>*/ resumeRequests();
-	
-	/**
 	 * Creates a new {@link ThreadEnterRequest}.<br>
 	 * <br>
 	 * This method cannot return <code>null</code>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/ResumeRequest.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/ResumeRequest.java
deleted file mode 100644
index a82fd85..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/jsdi/request/ResumeRequest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.core.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-
-/**
- * Description of a JSDI request for a resume operation.
- * 
- * @see EventRequest
- * @see ThreadReference
- * @since 2.0
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ResumeRequest extends EventRequest {
-
-	/**
-	 * The underlying {@link ThreadReference} this {@link StepRequest} is for.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @return the underlying {@link ThreadReference} never <code>null</code>
-	 */
-	public ThreadReference thread();
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/IJavaScriptStackFrame.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/IJavaScriptStackFrame.java
index 06979ff..7a0506e 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/IJavaScriptStackFrame.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/IJavaScriptStackFrame.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.jsdt.debug.core.model;
 
 import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IVariable;
 import org.eclipse.wst.jsdt.debug.core.jsdi.NullValue;
 import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
 
@@ -60,13 +59,4 @@
 	 * @return the underlying source or <code>null</code>
 	 */
 	public String getSource();
-	
-	/**
-	 * Returns the {@link IVariable} for the <code>this</code> object.<br>
-	 * <br>
-	 * This method can return <code>null</code>
-	 *  
-	 * @return the <code>this</code> {@link IVariable}
-	 */
-	public IVariable getThisObject();
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/JavaScriptDebugModel.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/JavaScriptDebugModel.java
index ec9f12c..db5d657 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/JavaScriptDebugModel.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/core/model/JavaScriptDebugModel.java
@@ -98,6 +98,9 @@
 			return NumberValue.NAN;
 		}
 		double d = n.doubleValue();
+		if (d != d) {
+			return NumberValue.NAN;
+		}
 		if (d == Double.POSITIVE_INFINITY) {
 			return NumberValue.INFINITY;
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/Constants.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/Constants.java
index ff066a1..771482a 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/Constants.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/Constants.java
@@ -84,11 +84,5 @@
 	 * Preference to suspend execution when a thrown exception is encountered
 	 * @since 1.1
 	 */
-	public static final String SUSPEND_ON_THROWN_EXCEPTION = JavaScriptDebugPlugin.PLUGIN_ID + ".suspend_on_thrown_exceptions"; //$NON-NLS-1$
-	
-	/**
-	 * Preference to delete the External JavaScript Source project when the workbench exists
-	 * @since 1.1
-	 */
-	public static final String DELETE_EXT_PROJECT_ON_EXIT = JavaScriptDebugPlugin.PLUGIN_ID + ".delete_ext_project_on_exit"; //$NON-NLS-1$
+	public static final String SUSPEN_ON_THROWN_EXCEPTION = JavaScriptDebugPlugin.PLUGIN_ID + ".suspend_on_thrown_exceptions"; //$NON-NLS-1$
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPlugin.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPlugin.java
index 2cf970b..9ae5c1a 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPlugin.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPlugin.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,19 +12,15 @@
 
 import java.net.URI;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.InstanceScope;
 import org.eclipse.wst.jsdt.debug.internal.core.launching.ConnectorsManager;
 import org.eclipse.wst.jsdt.debug.internal.core.model.BreakpointParticipantManager;
 import org.osgi.framework.BundleContext;
@@ -130,16 +126,7 @@
 	 * @return <code>true</code> if the path is in the external source project, <code>false</code> otherwise
 	 */
 	public static boolean isExternalSource(IPath path) {
-		if(Messages.external_javascript_source.equals(path.segment(0))) {
-			return true;
-		}
-		//try to look it up. The name might not have the project name in it
-		IProject project = getExternalSourceProject(false);
-		if(project != null) {
-			IResource res = project.findMember(path);
-			return res != null && res.exists();
-		}
-		return false;
+		return path.segment(0).equals(Messages.external_javascript_source);
 	}
 	
 	/*
@@ -169,10 +156,8 @@
 			if(prefmanager != null) {
 				prefmanager.stop();
 			}
-			if(InstanceScope.INSTANCE.getNode(PLUGIN_ID).getBoolean(Constants.DELETE_EXT_PROJECT_ON_EXIT, false)) {
-				if(extSrcProject != null && extSrcProject.exists()) {
-					extSrcProject.delete(true, null);
-				}
+			if(extSrcProject != null && extSrcProject.exists()) {
+				extSrcProject.delete(true, null);
 			}
 		}
 		finally {
@@ -247,25 +232,4 @@
 	public static synchronized String getExternalScriptPath(IPath path) {
 		return (String) externalScriptPaths.get(path.makeAbsolute());
 	}
-	
-	/**
-	 * Tries to find a local script path given the specified URI.
-	 * Returns <code>null</code> if no mapping is found
-	 * 
-	 * @param uri the URI to find a source mapping for
-	 * @return the absolute local path to the script mapped to the given URI, or <code>null</code>
-	 */
-	public static synchronized String findExternalScriptPathFromURI(String uri) {
-		if(uri != null) {
-			Entry e = null;
-			for (Iterator i = externalScriptPaths.entrySet().iterator(); i.hasNext();) {
-				e = (Entry) i.next();
-				if(uri.equals(e.getValue())) {
-					IPath p = (IPath) e.getKey();
-					return p.toString();
-				}
-			}
-		}
-		return null;
-	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPreferenceInitializer.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPreferenceInitializer.java
index b93a94a..2df7ee0 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPreferenceInitializer.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptDebugPreferenceInitializer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -32,11 +32,9 @@
 	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
 	 */
 	public void initializeDefaultPreferences() {
-		IEclipsePreferences prefs = DefaultScope.INSTANCE.getNode(JavaScriptDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences prefs = new DefaultScope().getNode(JavaScriptDebugPlugin.PLUGIN_ID);
 		if(prefs != null) {
 			prefs.putBoolean(Constants.SUSPEND_ON_ALL_SCRIPT_LOADS, false);
-			prefs.putBoolean(Constants.SUSPEND_ON_THROWN_EXCEPTION, true);
-			prefs.putBoolean(Constants.DELETE_EXT_PROJECT_ON_EXIT, false);
 			try {
 				prefs.flush();
 			} catch (BackingStoreException e) {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptPreferencesManager.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptPreferencesManager.java
index 08fd5d4..5e287eb 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptPreferencesManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/JavaScriptPreferencesManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -13,14 +13,8 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
 import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
 import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
@@ -58,50 +52,25 @@
 	 */
 	private static JavaScriptExceptionBreakpoint allExceptions = null;
 	
-	class StartJob extends Job {
-		private boolean loads = false;
-		private boolean exceptions = false;
-		/**
-		 * Constructor
-		 */
-		public StartJob(boolean loads, boolean exceptions) {
-			super(Constants.EMPTY_STRING);
-			this.loads = loads;
-			this.exceptions = exceptions;
-		}
-		/* (non-Javadoc)
-		 * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
-		 */
-		protected IStatus run(IProgressMonitor monitor) {
-			if(loads) {
-				allLoadsBreakpoint = createSuspendOnAllLoads();
-			}
-			if(exceptions) {
-				allExceptions = createSuspendOnException();
-			}
-			return Status.OK_STATUS;
-		}
-		
-	}
-	
 	/**
 	 * Starts the manager
 	 */
 	public void start() {
-		IEclipsePreferences node = InstanceScope.INSTANCE.getNode(JavaScriptDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences node = new InstanceScope().getNode(JavaScriptDebugPlugin.PLUGIN_ID);
 		node.addPreferenceChangeListener(this);
-		StartJob job = new StartJob(node.getBoolean(Constants.SUSPEND_ON_ALL_SCRIPT_LOADS, false), 
-				node.getBoolean(Constants.SUSPEND_ON_THROWN_EXCEPTION, true));
-		job.setSystem(true);
-		job.setPriority(Job.INTERACTIVE);
-		job.schedule();
+		if(node.getBoolean(Constants.SUSPEND_ON_ALL_SCRIPT_LOADS, false)) {
+			allLoadsBreakpoint = createSuspendOnAllLoads();
+		}
+		if(node.getBoolean(Constants.SUSPEN_ON_THROWN_EXCEPTION, false)) {
+			allExceptions = createSuspendOnException();
+		}
 	}
 	
 	/**
 	 * Stops the manager and clean up
 	 */
 	public void stop() {
-		IEclipsePreferences node = InstanceScope.INSTANCE.getNode(JavaScriptDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences node = new InstanceScope().getNode(JavaScriptDebugPlugin.PLUGIN_ID);
 		if(node != null) {
 			node.removePreferenceChangeListener(this);
 		}
@@ -115,19 +84,6 @@
 		} catch (CoreException e) {
 			JavaScriptDebugPlugin.log(e);
 		}
-		finally {
-			try {
-				//confirm they are all gone
-				//https://bugs.eclipse.org/bugs/show_bug.cgi?id=323152
-				IMarker[] markers = ResourcesPlugin.getWorkspace().getRoot().findMarkers(IJavaScriptBreakpoint.MARKER_ID, true, IResource.DEPTH_ZERO);
-				for (int i = 0; i < markers.length; i++) {
-					markers[i].delete();
-				}
-			}
-			catch(CoreException ce) {
-				JavaScriptDebugPlugin.log(ce);
-			}
-		}
 	}
 	
 	/* (non-Javadoc)
@@ -135,19 +91,16 @@
 	 */
 	public void preferenceChange(PreferenceChangeEvent event) {
 		if(event.getKey().equals(Constants.SUSPEND_ON_ALL_SCRIPT_LOADS)) {
-			Object newval = event.getNewValue();
-			if(newval != null && newval.equals(Boolean.TRUE.toString()) && allLoadsBreakpoint == null) {
+			if(event.getNewValue().equals(Boolean.TRUE.toString()) && allLoadsBreakpoint == null) {
 				//create it
 				allLoadsBreakpoint = createSuspendOnAllLoads();
 			}
 			else {
 				deleteSuspendOnAllLoads();
 			}
-			return;
 		}
-		if(event.getKey().equals(Constants.SUSPEND_ON_THROWN_EXCEPTION)) {
-			Object newval = event.getNewValue();
-			if(newval != null && newval.equals(Boolean.TRUE.toString())) {
+		if(event.getKey().equals(Constants.SUSPEN_ON_THROWN_EXCEPTION)) {
+			if(event.getNewValue().equals(Boolean.TRUE.toString())) {
 				//create it
 				allExceptions = createSuspendOnException();
 			}
@@ -166,7 +119,6 @@
 	private JavaScriptExceptionBreakpoint createSuspendOnException() {
 		try {
 			JavaScriptExceptionBreakpoint breakpoint = new JavaScriptExceptionBreakpoint(new HashMap());
-			breakpoint.setPersisted(false); // do not persist - https://bugs.eclipse.org/bugs/show_bug.cgi?id=323152
 			IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
 			for (int i = 0; i < targets.length; i++) {
 				if(targets[i] instanceof JavaScriptDebugTarget) {
@@ -177,8 +129,6 @@
 		}
 		catch(DebugException de) {
 			JavaScriptDebugPlugin.log(de);
-		} catch (CoreException ce) {
-			JavaScriptDebugPlugin.log(ce);
 		}
 		return null;
 	}
@@ -236,36 +186,29 @@
 	 * @return the "suspend on all script loads" breakpoint or <code>null</code>
 	 */
 	private IJavaScriptLoadBreakpoint createSuspendOnAllLoads() {
+		IJavaScriptLoadBreakpoint breakpoint = null;
 		try {
-			IJavaScriptLoadBreakpoint breakpoint = null;
-			try {
-				HashMap map = new HashMap();
-				map.put(JavaScriptLoadBreakpoint.GLOBAL_SUSPEND, Boolean.TRUE);
-				breakpoint = JavaScriptDebugModel.createScriptLoadBreakpoint(
-													ResourcesPlugin.getWorkspace().getRoot(), 
-													-1, 
-													-1, 
-													map, 
-													false);
-				breakpoint.setPersisted(false); //do not persist - https://bugs.eclipse.org/bugs/show_bug.cgi?id=323152
-			} catch (DebugException e) {
-				JavaScriptDebugPlugin.log(e);
-			}
-			if(breakpoint != null) {
-				//notify all the targets
-				IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
-				for (int i = 0; i < targets.length; i++) {
-					if(targets[i] instanceof JavaScriptDebugTarget) {
-						((JavaScriptDebugTarget)targets[i]).breakpointAdded(breakpoint);
-					}
+			HashMap map = new HashMap();
+			map.put(JavaScriptLoadBreakpoint.GLOBAL_SUSPEND, Boolean.TRUE);
+			breakpoint = JavaScriptDebugModel.createScriptLoadBreakpoint(
+												ResourcesPlugin.getWorkspace().getRoot(), 
+												-1, 
+												-1, 
+												map, 
+												false);
+		} catch (DebugException e) {
+			JavaScriptDebugPlugin.log(e);
+		}
+		if(breakpoint != null) {
+			//notify all the targets
+			IDebugTarget[] targets = DebugPlugin.getDefault().getLaunchManager().getDebugTargets();
+			for (int i = 0; i < targets.length; i++) {
+				if(targets[i] instanceof JavaScriptDebugTarget) {
+					((JavaScriptDebugTarget)targets[i]).breakpointAdded(breakpoint);
 				}
 			}
-			return breakpoint;
 		}
-		catch(CoreException ce) {
-			JavaScriptDebugPlugin.log(ce);
-			return null;
-		}
+		return breakpoint;
 	}
 	
 	/**
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/TextUtils.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/TextUtils.java
deleted file mode 100644
index eb769d8..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/TextUtils.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.core;
-
-/**
- * Utility class with common text handling functions in it
- * 
- * @since 1.0
- */
-public final class TextUtils {
-
-	private TextUtils() {/*no instantiation*/}
-
-	/**
-	 * Shortens the given string to be no longer than the given threshold. Any removed characters are 
-	 * replaced with <code>...</code>.<br><br>
-	 * For example: <code>shortenText("this is a string to shorten text", 8)</code> would result in the string:
-	 * <code>"thi...xt"</code>
-	 * 
-	 * @param string
-	 * @param threshold TODO
-	 * @return the given string shortened to be no longer than the given threshold
-	 */
-	public static String shortenText(String string, int threshold) {
-		int length = string.length(); 
-		if(length > threshold) {
-			int chomp = length - threshold + 3;
-			int begin = Math.round(threshold/2)-1;
-			return string.replaceAll(string.substring(begin, begin+chomp), "..."); //$NON-NLS-1$
-		}
-		return string;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptBreakpoint.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptBreakpoint.java
index 17ccab0..f588d58 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptBreakpoint.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptBreakpoint.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,7 +11,6 @@
 package org.eclipse.wst.jsdt.debug.internal.core.breakpoints;
 
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -26,7 +25,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.URIUtil;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.model.Breakpoint;
@@ -43,12 +41,9 @@
 import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
 import org.eclipse.wst.jsdt.debug.internal.core.Constants;
 import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
-import org.eclipse.wst.jsdt.debug.internal.core.Messages;
-import org.eclipse.wst.jsdt.debug.internal.core.launching.SourceLookup;
 import org.eclipse.wst.jsdt.debug.internal.core.model.IJavaScriptEventListener;
 import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget;
 import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptThread;
-import org.eclipse.wst.jsdt.debug.internal.core.model.Script;
 
 /**
  * Abstract representation of a JSDI breakpoint
@@ -132,7 +127,7 @@
 		DebugPlugin plugin = DebugPlugin.getDefault();
 		return plugin != null && isRegistered() && !plugin.getBreakpointManager().isEnabled();
 	}
-	
+
 	/**
 	 * Adds the given debug target to the listing of targets that this breakpoint cares about
 	 * 
@@ -154,29 +149,18 @@
 			return;
 		}
 		
-		try {
-			if(JavaScriptDebugPlugin.isExternalSource(new Path(scriptPath))) {
-				scriptPath = getMarker().getResource().getPersistentProperty(SourceLookup.SCRIPT_URL);
-			}
-			if(scriptPath == null) {
-				return;
-			}
-			List/* ScriptReference */scripts = target.underlyingScripts(Script.resolveName(URIUtil.fromString(scriptPath)));
-			boolean success = true;
-			for (Iterator iter = scripts.iterator(); iter.hasNext();) {
-				ScriptReference script = (ScriptReference) iter.next();
-				if (scriptPathMatches(script))
-					success &= createRequest(target, script);
-			}
-			if (success) {
-				if (this.targets == null) {
-					this.targets = new HashSet();
-				}
-				this.targets.add(target);
-			}
+		List/* ScriptReference */scripts = target.underlyingScripts(URIUtil.lastSegment(URI.create(scriptPath)));
+		boolean success = true;
+		for (Iterator iter = scripts.iterator(); iter.hasNext();) {
+			ScriptReference script = (ScriptReference) iter.next();
+			if (scriptPathMatches(script))
+				success &= createRequest(target, script);
 		}
-		catch(URISyntaxException urise) {
-			JavaScriptDebugPlugin.log(urise);
+		if (success) {
+			if (this.targets == null) {
+				this.targets = new HashSet();
+			}
+			this.targets.add(target);
 		}
 	}
 
@@ -305,7 +289,7 @@
 	 */
 	protected void incrementInstallCount() throws CoreException {
 		int count = getInstallCount();
-		setAttribute(INSTALL_COUNT, count + 1);
+		ensureMarker().setAttribute(INSTALL_COUNT, count + 1);
 	}
 
 	/**
@@ -321,7 +305,7 @@
 	protected void decrementInstallCount() throws CoreException {
 		int count = getInstallCount();
 		if (count > 0) {
-			setAttribute(INSTALL_COUNT, count - 1);
+			ensureMarker().setAttribute(INSTALL_COUNT, count - 1);
 		}
 	}
 
@@ -453,17 +437,7 @@
 			URI workspaceURI = workspaceRoot.getRawLocationURI();			
 			sourceURI = workspaceURI.relativize(sourceURI);
 		}
-		String path = getScriptPath();
-		IPath spath = new Path(path);
-		if(spath.segment(0).equals(Messages.external_javascript_source)) {
-			spath = spath.removeFirstSegments(1).makeAbsolute();
-		}
-		//XXX use the same algorithm we use to save the source to 'encode' the source URI for comparison
-		IPath uripath = SourceLookup.getSourcePath(sourceURI);
-		if(uripath != null) {
-			uripath = uripath.makeAbsolute();
-		}
-		return spath.equals(uripath);
+		return getScriptPath().equals(sourceURI.toString());
 	}
 
 	/**
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptLineBreakpoint.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptLineBreakpoint.java
index c795a60..f387294 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptLineBreakpoint.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/JavaScriptLineBreakpoint.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -93,7 +93,6 @@
 	protected boolean createRequest(JavaScriptDebugTarget target, ScriptReference script) throws CoreException {
 		Location loc = script.lineLocation(getLineNumber());
 		if (loc == null) {
-			decrementInstallCount();
 			return false;
 		}
 		BreakpointRequest request = target.getEventRequestManager().createBreakpointRequest(loc);
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/Messages.java
similarity index 77%
rename from development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/Messages.java
rename to bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/Messages.java
index 6795014..47d2c35 100644
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/Messages.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/Messages.java
@@ -8,18 +8,16 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
+package org.eclipse.wst.jsdt.debug.internal.core.breakpoints;
 
 import org.eclipse.osgi.util.NLS;
 
 /**
- *
+ * 
  */
 public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.messages"; //$NON-NLS-1$
-	public static String cannot_mirror_null_number;
-	public static String chrome_vm;
-	public static String vm_description;
+	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.core.breakpoints.messages"; //$NON-NLS-1$
+	public static String hit_count_must_be_greater_than_0;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/messages.properties
similarity index 86%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/OSGI-INF/l10n/bundle.properties
rename to bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/messages.properties
index 6acca3c..d175781 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/breakpoints/messages.properties
@@ -8,5 +8,4 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-providerName = Eclipse Web Tools Platform
-Bundle-Name = Debug Transport
\ No newline at end of file
+hit_count_must_be_greater_than_0=A breakpoint hit count must be greater than -1
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptProcess.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptProcess.java
deleted file mode 100644
index f5db73b..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptProcess.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.core.launching;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-
-/**
- * General {@link IProcess} for JavaScript
- * 
- * @since 1.1
- */
-public class JavaScriptProcess extends PlatformObject implements IProcess {
-
-	private HashMap attributes = new HashMap();
-	private ILaunch launch = null;
-	private boolean terminated = false;
-	private String name = null;
-	
-	/**
-	 * Constructor
-	 * @param config
-	 * @param name
-	 */
-	public JavaScriptProcess(ILaunch launch, String name) {
-		this.launch = launch;
-		this.name = name;
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if(adapter == IProcess.class) {
-			return this;
-		}
-		if(adapter == ILaunch.class) {
-			return launch;
-		}
-		if (adapter.equals(IDebugTarget.class)) {
-			IDebugTarget[] targets = launch.getDebugTargets();
-			for (int i = 0; i < targets.length; i++) {
-				if (this.equals(targets[i].getProcess())) {
-					return targets[i];
-				}
-			}
-			return null;
-		}
-		return super.getAdapter(adapter);
-	}
-
-	/**
-	 * Fires the given debug event.
-	 * 
-	 * @param event debug event to fire
-	 */
-	void fireEvent(DebugEvent event) {
-		DebugPlugin dp = DebugPlugin.getDefault();
-		if (dp != null) {
-			dp.fireDebugEventSet(new DebugEvent[]{event});
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		synchronized (this) {
-			return !terminated;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		synchronized (this) {
-			return terminated;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		synchronized (this) {
-			if(!terminated) {
-				fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-				terminated = true;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IProcess#getLabel()
-	 */
-	public String getLabel() {
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IProcess#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return launch;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IProcess#getStreamsProxy()
-	 */
-	public IStreamsProxy getStreamsProxy() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IProcess#setAttribute(java.lang.String, java.lang.String)
-	 */
-	public void setAttribute(String key, String value) {
-		if(key != null) {
-			attributes.put(key, value);
-			fireEvent(new DebugEvent(this, DebugEvent.CHANGE));
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IProcess#getAttribute(java.lang.String)
-	 */
-	public String getAttribute(String key) {
-		return (String) attributes.get(key);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IProcess#getExitValue()
-	 */
-	public int getExitValue() throws DebugException {
-		return 0;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceDirector.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceDirector.java
index 6b72bdd..73bb09b 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceDirector.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceDirector.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -19,6 +19,7 @@
  * @since 1.0
  */
 public class JavaScriptSourceDirector extends AbstractSourceLookupDirector {
+
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -27,11 +28,4 @@
 	public void initializeParticipants() {
 		addParticipants(new ISourceLookupParticipant[] { new JavaScriptSourceLookupParticipant() });
 	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector#isFindDuplicates()
-	 */
-	public boolean isFindDuplicates() {
-		return true;
-	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceLookupParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceLookupParticipant.java
index 2bbf26b..bc79391 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceLookupParticipant.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourceLookupParticipant.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,14 +10,23 @@
  *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.core.launching;
 
+import java.io.ByteArrayInputStream;
 import java.net.URI;
-import java.util.HashMap;
 
+import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.URIUtil;
 import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
+import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
+import org.eclipse.wst.jsdt.debug.core.model.IScript;
+import org.eclipse.wst.jsdt.debug.internal.core.Constants;
 import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
 
 /**
@@ -29,14 +38,19 @@
 
 	static final Object[] NO_SOURCE = new Object[0];
 
-	private HashMap sourcemap = new HashMap();
 	/*
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#getSourceName(java.lang.Object)
 	 */
 	public String getSourceName(Object object) throws CoreException {
-		return SourceLookup.getSourceName(object);
+		if (object instanceof IJavaScriptStackFrame) {
+			return ((IJavaScriptStackFrame) object).getSourceName();
+		}
+		if(object instanceof IScript) {
+			return URIUtil.lastSegment(((IScript)object).sourceURI());
+		}
+		return null;
 	}
 
 	/*
@@ -45,57 +59,104 @@
 	 * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant#findSourceElements(java.lang.Object)
 	 */
 	public Object[] findSourceElements(Object object) throws CoreException {
-		ISourceContainer[] containers = getSourceContainers();
-		if(containers != null && containers.length > 0) {
-			String name = getSourceName(object);
-			if(name != null) {
-				Object[] sources = null;
-				for (int i = 0; i < containers.length; i++) {
-					sources = containers[i].findSourceElements(name);
-					if(sources != null && sources.length > 0) {
-						return sources;
+		URI sourceURI = getSourceURI(object);
+		if (sourceURI != null) {
+			if (!sourceURI.isAbsolute() || "file".equals(sourceURI.getScheme())) {//$NON-NLS-1$			
+				IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
+				URI workspaceURI = workspaceRoot.getRawLocationURI();			
+				URI workspaceRelativeURI = workspaceURI.relativize(sourceURI);
+				if (! workspaceRelativeURI.isAbsolute()) {
+					IFile file = (IFile) workspaceRoot.findMember(new Path(workspaceRelativeURI.getPath()), false);
+					if (file != null) {
+						return new IFile[] { file };
 					}
 				}
 			}
-			//did not find anything in the source look up path, create the source
-			//in the external source project and show it
-			URI sourceURI = SourceLookup.getSourceURI(object);
-			if (sourceURI != null) {
-				IFile file = (IFile) sourcemap.get(sourceURI);
-				if(file != null && file.exists()) {
-					return new IFile[] { file };
-				}
-				return showExternalSource(sourceURI, object);
-			}
+			//try to find it using the source tab infos
+			/*Object[] sources = super.findSourceElements(object);
+			if(sources != null && sources.length > 0) {
+				return sources;
+			}*/
+			//else show the temp source
+			return showExternalSource(getSource(object), sourceURI);
 		}
 		return NO_SOURCE;
 	}
 
 	/**
+	 * Returns the raw element source to use to display an external editor
+	 * @param object
+	 * @return the raw source or <code>null</code>
+	 */
+	private String getSource(Object object) {
+		if(object instanceof IJavaScriptStackFrame) {
+			IJavaScriptStackFrame jframe = (IJavaScriptStackFrame) object;
+			return jframe.getSource();
+		}
+		if(object instanceof IScript) {
+			IScript script = (IScript) object;
+			return script.source();
+		}
+		return null;
+	}
+	
+	/**
+	 * Returns the URI to use to look up source
+	 * @param object
+	 * @return the URI or <code>null</code>
+	 * @since 1.1
+	 */
+	private URI getSourceURI(Object object) {
+		if(object instanceof IJavaScriptStackFrame) {
+			IJavaScriptStackFrame jframe = (IJavaScriptStackFrame) object;
+			return URI.create(jframe.getSourcePath());
+		}
+		if(object instanceof IScript) {
+			IScript script = (IScript) object;
+			return script.sourceURI();
+		}
+		return null;
+	}
+	
+	/**
 	 * Shows the source in an external editor
 	 * 
-	 * @param sourceuri
-	 * @param sourceobj
-	 * 
+	 * @param source
+	 * @param path
 	 * @return the collection of files to show in external editors
 	 */
-	private Object[] showExternalSource(URI sourceuri, Object sourceobj) {
+	private Object[] showExternalSource(String source, URI uri) {
 		try {
-			IFile file = SourceLookup.getExternalSource(sourceuri, sourceobj);
-			if(file != null) {
-				IPath path = file.getProjectRelativePath();
-				if (JavaScriptDebugPlugin.getExternalScriptPath(path) == null) {
-					JavaScriptDebugPlugin.addExternalScriptPath(path, sourceuri.toString());
-				}
-				sourcemap.put(sourceuri, file);
-				return new Object[] {file};
+			IProject project = JavaScriptDebugPlugin.getExternalSourceProject(true);
+			String filename = URIUtil.lastSegment(uri);
+			String uriHash =  Integer.toString(uri.toString().hashCode());
+			String sourceHash = Integer.toString(source.hashCode());
+			IPath path = new Path(uriHash).append(sourceHash).append(filename);
+			if(path.getFileExtension() == null) {
+				path = path.addFileExtension(Constants.JS_EXTENSION);
 			}
+			IFile file = project.getFile(path);
+			if(!file.isAccessible()) {
+				IContainer folder = project;
+				for (int i = 0; i < path.segmentCount()-1; i++) {
+					IFolder f = folder.getFolder(new Path(path.segment(i)));
+					if(!f.exists()) {
+						f.create(true, true, null);
+					}
+					folder = f;
+				}
+				file.create(new ByteArrayInputStream(source.getBytes()), true, null);
+			}
+			
+			if (JavaScriptDebugPlugin.getExternalScriptPath(path) == null) {
+				JavaScriptDebugPlugin.addExternalScriptPath(path, uri.toString());
+			}	
+			return new Object[] {file};
 
 		} catch (CoreException ce) {
 			JavaScriptDebugPlugin.log(ce);
 			return NO_SOURCE;
 		}
-		return NO_SOURCE;
 	}
 	
 	/*
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourcePathComputerDelegate.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourcePathComputerDelegate.java
deleted file mode 100644
index 81936a6..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/JavaScriptSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.core.launching;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
-
-/**
- * The default source path computer delegate for JavaScript
- * 
- * @since 1.1
- */
-public class JavaScriptSourcePathComputerDelegate implements ISourcePathComputerDelegate {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor)	throws CoreException {
-		IProject project = JavaScriptDebugPlugin.getExternalSourceProject(true);
-		ISourceContainer[] cons = new ISourceContainer[] {new ProjectSourceContainer(project, true)};
-		return cons;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/Messages.java
index fc83781..d8a82ab 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/Messages.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/Messages.java
@@ -17,15 +17,8 @@
  */
 public class Messages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.core.launching.messages"; //$NON-NLS-1$
-	public static String acquiring_connector;
 	public static String argument_map_null;
-	public static String attaching_to_vm;
-	public static String connect_thread;
 	public static String could_not_locate_connector;
-	public static String creating_debug_target;
-	public static String javascript_process_name;
-	public static String launching_js_debug_delegate;
-	public static String waiting_for_vm_to_connect;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/RemoteJavaScriptLaunchDelegate.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/RemoteJavaScriptLaunchDelegate.java
index 3ce99c9..7cd8d1f 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/RemoteJavaScriptLaunchDelegate.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/RemoteJavaScriptLaunchDelegate.java
@@ -10,18 +10,15 @@
  *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.core.launching;
 
-import java.text.DateFormat;
-import java.util.Date;
+import java.io.IOException;
 import java.util.Map;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IProcess;
 import org.eclipse.debug.core.model.LaunchConfigurationDelegate;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
@@ -38,50 +35,6 @@
  */
 public class RemoteJavaScriptLaunchDelegate extends LaunchConfigurationDelegate {
 
-	/**
-	 * Polls for connecting to the Rhino interpreter
-	 */
-	class ConnectRunnable implements Runnable {
-
-		VirtualMachine vm = null;
-		Exception exception = null;
-		private Connector connector = null;
-		private Map args = null;
-		
-		ConnectRunnable(Connector connector, Map args) {
-			this.connector = connector;
-			this.args = args;
-		}
-		/* (non-Javadoc)
-		 * @see java.lang.Runnable#run()
-		 */
-		public void run() {
-			try {
-				long start = System.currentTimeMillis();
-				Exception inner = null;
-				do {
-					try {
-						if(connector instanceof AttachingConnector) {
-							vm = ((AttachingConnector)connector).attach(args);
-						}
-						else if(connector instanceof ListeningConnector) {
-							vm = ((ListeningConnector)connector).accept(args);
-						}
-					} 
-					catch(Exception e) {
-						inner = e;
-					}
-				} while(vm == null && System.currentTimeMillis() < start + 5000);
-				if(vm == null) {
-					throw inner;
-				}
-			}
-			catch(Exception e) {
-				exception = e;
-			}
-		}
-	}
-	
 	final static String LAUNCH_URI = "launch_uri"; //$NON-NLS-1$
 
 	/*
@@ -90,33 +43,24 @@
 	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org. eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
 	 */
 	public void launch(ILaunchConfiguration configuration, String mode, final ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		SubMonitor localmonitor = SubMonitor.convert(monitor, Messages.launching_js_debug_delegate, 16);
+		String name = configuration.getAttribute(ILaunchConstants.CONNECTOR_ID, (String) null);
+		
+		Map argmap = configuration.getAttribute(ILaunchConstants.ARGUMENT_MAP, (Map) null);
+		if (argmap == null) {
+			Status status = new Status(
+					IStatus.ERROR, 
+					JavaScriptDebugPlugin.PLUGIN_ID, 
+					Messages.argument_map_null);
+			throw new CoreException(status);
+		}
+		Connector connector = JavaScriptDebugPlugin.getConnectionsManager().getConnector(name);
+		VirtualMachine vm;
 		try {
-			String name = configuration.getAttribute(ILaunchConstants.CONNECTOR_ID, (String) null);
-			Map argmap = configuration.getAttribute(ILaunchConstants.ARGUMENT_MAP, (Map) null);
-			if (argmap == null) {
-				Status status = new Status(
-						IStatus.ERROR, 
-						JavaScriptDebugPlugin.PLUGIN_ID, 
-						Messages.argument_map_null);
-				throw new CoreException(status);
-			}
-			if(localmonitor.isCanceled()) {
-				return;
-			}
-			localmonitor.worked(4);
-			localmonitor.subTask(Messages.acquiring_connector);
-			Connector connector = JavaScriptDebugPlugin.getConnectionsManager().getConnector(name);
-			
-			VirtualMachine vm = null;
-			if(localmonitor.isCanceled()) {
-				return;
-			}
 			if(connector instanceof AttachingConnector) {
-				localmonitor.subTask(Messages.attaching_to_vm);
+				vm = ((AttachingConnector)connector).attach(argmap);
 			}
 			else if(connector instanceof ListeningConnector) {
-				localmonitor.subTask(Messages.waiting_for_vm_to_connect);
+				vm = ((ListeningConnector)connector).accept(argmap);
 			}
 			else {
 				Status status = new Status(
@@ -125,76 +69,11 @@
 						NLS.bind(Messages.could_not_locate_connector, new String[] {name}));
 				throw new CoreException(status);
 			}
-			localmonitor.worked(4);
-			ConnectRunnable runnable = new ConnectRunnable(connector, argmap);
-			Thread thread = new Thread(runnable, Messages.connect_thread);
-			thread.setDaemon(true);
-			thread.start();
-			while(thread.isAlive()) {
-				if(localmonitor.isCanceled()) {
-					if(vm != null) {
-						vm.terminate();
-					}
-					thread.interrupt();
-					return;
-				}
-				try {
-					Thread.sleep(100);
-				}
-				catch (Exception e) {
-				}
-			}
-			if(runnable.exception != null) {
-				Status status = new Status(IStatus.ERROR, JavaScriptDebugPlugin.PLUGIN_ID, "Error occured while launching", runnable.exception); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-			if(localmonitor.isCanceled()) {
-				return;
-			}
-			if(runnable.vm == null) {
-				Status status = new Status(IStatus.ERROR, JavaScriptDebugPlugin.PLUGIN_ID, "Failed to connect to Firefox", runnable.exception); //$NON-NLS-1$
-				throw new CoreException(status);
-			}
-			vm = runnable.vm;
-			localmonitor.worked(4);
-			localmonitor.subTask(Messages.creating_debug_target);
-			JavaScriptProcess process = new JavaScriptProcess(launch, computeProcessName(connector));
-			launch.addProcess(process);
-			JavaScriptDebugTarget target = new JavaScriptDebugTarget(vm, process, launch, true, true);
-			if(localmonitor.isCanceled()) {
-				return;
-			}
-			localmonitor.worked(4);
-			launch.addDebugTarget(target);
-		} finally {
-			localmonitor.done();
+		} catch (IOException e) {
+			Status status = new Status(IStatus.ERROR, JavaScriptDebugPlugin.PLUGIN_ID, "Error occured while launching", e); //$NON-NLS-1$
+			throw new CoreException(status);
 		}
-	}
-	
-	String computeCommandline(Connector connector) {
-		StringBuffer buffer = new StringBuffer();
-		Map args = connector.defaultArguments();
-		if(args != null) {
-			String arg = (String) args.get("host"); //$NON-NLS-1$
-			if(arg != null) {
-				buffer.append(arg);
-			}
-			arg = (String) args.get("port"); //$NON-NLS-1$
-			if(arg != null) {
-				buffer.append(":").append(arg); //$NON-NLS-1$
-			}
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Computes the display name for the {@link IProcess} given the connector
-	 * @param connector
-	 * @return the name for the process
-	 */
-	String computeProcessName(Connector connector) {
-		StringBuffer buffer = new StringBuffer(connector.name());
-		String timestamp = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(new Date(System.currentTimeMillis()));
-		return NLS.bind(Messages.javascript_process_name, new String[] {buffer.toString(), timestamp});
+		JavaScriptDebugTarget target = new JavaScriptDebugTarget(vm, null, launch, vm.name(), true, true);
+		launch.addDebugTarget(target);
 	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/SourceLookup.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/SourceLookup.java
deleted file mode 100644
index 749c197..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/SourceLookup.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.core.launching;
-
-import java.io.ByteArrayInputStream;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.core.model.IScript;
-import org.eclipse.wst.jsdt.debug.internal.core.Constants;
-import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
-
-/**
- * Utility class to help with looking up source
- * 
- * @since 1.1
- */
-public final class SourceLookup {
-
-	public static final QualifiedName SCRIPT_URL = new QualifiedName(JavaScriptCore.PLUGIN_ID, "scriptURL"); //$NON-NLS-1$
-	
-	/**
-	 * Returns the name of the source object to lookup or <code>null</code>
-	 * if the object is not a {@link IJavaScriptStackFrame} or an {@link IScript}
-	 * 
-	 * @param object the object to look up source for
-	 * @return the name of the source element to look up or <code>null</code>
-	 * @since 1.1
-	 */
-	public static String getSourceName(Object object) {
-		if (object instanceof IJavaScriptStackFrame) {
-			return ((IJavaScriptStackFrame) object).getSourceName();
-		}
-		if(object instanceof IScript) {
-			return URIUtil.lastSegment(((IScript)object).sourceURI());
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the raw element source to use to display an external editor. This method 
-	 * will make a request from the backing {@link VirtualMachine}.
-	 * 
-	 * @param sourceobj the object to get the raw source from
-	 * @return the raw source or <code>null</code>
-	 */
-	public static String getSource(Object sourceobj) {
-		if(sourceobj instanceof IJavaScriptStackFrame) {
-			IJavaScriptStackFrame jframe = (IJavaScriptStackFrame) sourceobj;
-			return jframe.getSource();
-		}
-		if(sourceobj instanceof IScript) {
-			IScript script = (IScript) sourceobj;
-			return script.source();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the {@link URI} to use to look up source
-	 * 
-	 * @param sourceobj the object to get the source {@link URI} for
-	 * @return the {@link URI} or <code>null</code>
-	 */
-	public static URI getSourceURI(Object sourceobj) {
-		if(sourceobj instanceof IJavaScriptStackFrame) {
-			IJavaScriptStackFrame jframe = (IJavaScriptStackFrame) sourceobj;
-			try {
-				try {
-					return new URI(jframe.getSourcePath());
-				}
-				catch (URISyntaxException use) {
-					return URIUtil.fromString(jframe.getSourcePath());
-				}
-			} catch (URISyntaxException e) {
-				JavaScriptDebugPlugin.log(e);
-			}
-		}
-		if(sourceobj instanceof IScript) {
-			IScript script = (IScript) sourceobj;
-			return script.sourceURI();
-		}
-		return null;
-	}
-
-	/**
-	 * Returns the external source from the given {@link URI}. This method queries the <code>External JavaScript Source</code>
-	 * project and create it and the source {@link IFile} if necessary.
-	 * 
-	 * @param sourceuri the {@link URI} to get the source for
-	 * @param sourceobj the backing object we want to get the source for
-	 * @throws CoreException 
-	 */
-	public static IFile getExternalSource(URI sourceuri, Object sourceobj) throws CoreException {
-		String source = getSource(sourceobj);
-		if(source != null) {
-			IProject project = JavaScriptDebugPlugin.getExternalSourceProject(true);
-			IPath path = getSourcePath(sourceuri);
-			IFile file = project.getFile(path);
-			if(!file.isAccessible()) {
-				IContainer folder = project;
-				for (int i = 0; i < path.segmentCount()-1; i++) {
-					IFolder f = folder.getFolder(new Path(path.segment(i)));
-					if(!f.exists()) {
-						f.create(true, true, null);
-					}
-					folder = f;
-				}
-				file = doFormat(file, source);
-			}
-			else {
-				file = doFormat(file, source);
-			}
-			file.setPersistentProperty(SCRIPT_URL, sourceuri.toString());
-			return file;
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the source path from the given source {@link URI}. 
-	 * <br>
-	 * This path may be altered as follows:
-	 * <ul>
-	 * <li>if the URI path is only a root ('/') than the returned path is changed to 'page.js'</li>
-	 * <li>if the source URI has a host specification, it is added to the beginning of the source path</li>
-	 * <li>if the total character count of any one segment of the path exceeds 15 chars, the path is pruned to avoid 
-	 * going over the windows 255 char path limit</li>
-	 * </ul>
-	 * @param sourceuri
-	 * @return the {@link IPath} to use to represent the given source {@link URI}
-	 */
-	public static IPath getSourcePath(URI sourceuri) {
-		String uripath = sourceuri.getPath();
-		if(uripath == null) {
-			return null;
-		}
-		if(uripath.trim().equals("/")) { //$NON-NLS-1$
-			uripath = "page.js"; //$NON-NLS-1$
-		}
-		String host = sourceuri.getHost();
-		IPath path = null;
-		if(host != null) {
-			path = new Path(host);	
-		}
-		if(path == null) {
-			path = new Path(uripath);
-		}
-		else {
-			path = path.append(uripath);
-		}
-		return adjustPath(path);
-	}
-	
-	/**
-	 * Formats the given source into the given file handle
-	 * @param handle
-	 * @param source
-	 * @return the file handle
-	 * @throws CoreException
-	 */
-	static IFile doFormat(IFile handle, String source) throws CoreException {
-		/*CodeFormatter formatter = ToolFactory.createCodeFormatter(null);
-		TextEdit edit = formatter.format(CodeFormatter.K_JAVASCRIPT_UNIT, source, 0, source.length(), 0, null);
-		String localsrc = source;
-		if(edit != null) {
-			Document doc = new Document(source);
-			try {
-				edit.apply(doc);
-				localsrc = doc.get();
-			} catch (Exception e) {
-				JavaScriptDebugPlugin.log(e);
-			} 
-		}*/
-		if(handle.isAccessible()) {
-			handle.setContents(new ByteArrayInputStream(source.getBytes()), IResource.FORCE, null);
-		}
-		else {
-			handle.create(new ByteArrayInputStream(source.getBytes()), true, null);
-		}
-		return handle;
-	}
-	
-	/**
-	 * Makes some sanity adjustments to the path prior to trying to create it.
-	 * <ul>
-	 * <li>make sure no one segment is super long, the current threshold is 15 characters per segment</li>
-	 * <li>make sure no segment following the host part has '.js' in it. This prevents name collisions like:
-	 * www.domain.org/scripts/myscript.js/eval/1.js and www.domain.org/scripts/myscript.js - where myscript.js will cause a 
-	 * collision trying to create a file resource, as it could already exist as a folder and vice versa 
-	 * </li>
-	 * <li>if the script has no extension add .js to make sure Eclipse opens the correct editor for the content type</li>
-	 * <ul>
-	 * @param path
-	 * @return the adjusted path
-	 * @since 1.1
-	 */
-	static IPath adjustPath(IPath path) {
-		String segment = null;
-		ArrayList segments = new ArrayList(path.segmentCount());
-		for (int i = 0; i < path.segments().length; i++) {
-			segment = path.segment(i);
-			if(i > 0) {
-				if(segment.length() > 15) {
-					segment = segment.substring(0, 1) + segment.charAt(segment.length()-1);
-				}
-				if(i < path.segments().length-1) {
-					segment = segment.replaceAll("\\.js", "\\_js"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			segments.add(segment);
-		}
-		IPath newpath = new Path((String) segments.get(0));
-		for (int i = 1; i < segments.size(); i++) {
-			newpath = newpath.append((String) segments.get(i));
-		}
-		String ext = newpath.getFileExtension(); 
-		if(ext == null || !Constants.JS_EXTENSION.equals(ext)) {
-			newpath = newpath.addFileExtension(Constants.JS_EXTENSION);
-		}
-		return newpath; 
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/messages.properties
index 77b29c6..62da349 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/messages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/launching/messages.properties
@@ -1,19 +1,2 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-acquiring_connector=Acquiring launch connector...
 argument_map_null=Error occured while launching: connecting argument map was null
-attaching_to_vm=Attaching to virtual machine...
-connect_thread=Connect Thread
 could_not_locate_connector=Error occured while launching: could not locate connector: {0}
-creating_debug_target=Creating debug target...
-javascript_process_name={0} ({1})
-launching_js_debug_delegate=Launching JavaScript debugger
-waiting_for_vm_to_connect=Waiting for virtual machine to connect...
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/messages.properties
index 6d946b0..9a7459d 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/messages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/messages.properties
@@ -1,11 +1 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
 external_javascript_source=External JavaScript Source
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/EventDispatcher.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/EventDispatcher.java
index 4e70976..0dbb00d 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/EventDispatcher.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/EventDispatcher.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -101,7 +101,6 @@
 					} catch (DebugException e) {
 						JavaScriptDebugPlugin.log(e);
 					}
-					//JavaScriptDebugPlugin.log(rte);
 				}
 			}
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptDebugTarget.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptDebugTarget.java
index 618fc2d..4418491 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptDebugTarget.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptDebugTarget.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,11 +12,13 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.resources.IMarkerDelta;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.URIUtil;
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugException;
 import org.eclipse.debug.core.DebugPlugin;
@@ -46,7 +48,6 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.ScriptLoadRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDeathRequest;
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptDebugTarget;
 import org.eclipse.wst.jsdt.debug.core.model.IScript;
 import org.eclipse.wst.jsdt.debug.core.model.IScriptGroup;
@@ -63,6 +64,20 @@
 public class JavaScriptDebugTarget extends JavaScriptDebugElement implements IJavaScriptDebugTarget, IDebugEventSetListener, ILaunchListener, IJavaScriptEventListener {
 
 	static final String DEFAULT_NAME = ModelMessages.JSDIDebugTarget_jsdi_debug_target;
+
+	/**
+	 * Comparator to sort scripts by name
+	 */
+	static class ScriptComparator implements Comparator {
+		public int compare(Object o1, Object o2) {
+			return URIUtil.lastSegment(((IScript)o1).sourceURI()).compareTo(URIUtil.lastSegment(((IScript)o2).sourceURI()));
+		}
+	}
+	
+	/**
+	 * Comparator for scripts
+	 */
+	static Comparator scriptcompare = new ScriptComparator(); 
 	
 	/**
 	 * The cached collection of scripts, sorted by name
@@ -74,9 +89,8 @@
 	private final ILaunch launch;
 	private final boolean supportsTerminate;
 	private final boolean supportsDisconnect;
+	private final String name;
 	private final EventDispatcher eventDispatcher;
-	private String name;
-	private Object lock = new Object();
 
 	private ArrayList threads = new ArrayList();
 	private ArrayList breakpoints = new ArrayList();
@@ -91,28 +105,37 @@
 	private ThreadEnterRequest threadEnterRequest;
 	private ThreadExitRequest threadExitRequest;
 	private ScriptLoadRequest scriptLoadrequest;
-	private VMDeathRequest deathRequest;
 
 	private DebuggerStatementRequest debuggerStatementRequest;
-	
+
 	/**
 	 * Constructor
 	 * 
 	 * @param vm
 	 * @param process
 	 * @param launch
+	 * @param name
 	 * @param supportsTerminate
 	 * @param supportsDisconnect
 	 */
-	public JavaScriptDebugTarget(VirtualMachine vm, IProcess process, ILaunch launch, boolean supportsTerminate, boolean supportsDisconnect) {
+	public JavaScriptDebugTarget(VirtualMachine vm, IProcess process, ILaunch launch,
+			String name, boolean supportsTerminate, boolean supportsDisconnect) {
 		super(null);
 		this.vm = vm;
 		this.process = process;
 		this.launch = launch;
 		this.supportsTerminate = supportsTerminate;
 		this.supportsDisconnect = supportsDisconnect;
+		if (name != null) {
+			this.name = name;
+		} else if (vm.name() != null) {
+			this.name = vm.name();
+		} else {
+			this.name = DEFAULT_NAME;
+		}
 		this.eventDispatcher = new EventDispatcher(this);
 		this.scriptgroup = new ScriptGroup(this);
+		// TODO: consider calling this outside of constructor
 		initialize();
 	}
 
@@ -130,10 +153,6 @@
 		scriptLoadrequest.setEnabled(true);
 		addJSDIEventListener(this, scriptLoadrequest);
 		
-		deathRequest = getEventRequestManager().createVMDeathRequest();
-		deathRequest.setEnabled(true);
-		addJSDIEventListener(this, deathRequest);
-		
 		getLaunch().addDebugTarget(this);
 
 		DebugPlugin plugin = DebugPlugin.getDefault();
@@ -163,7 +182,7 @@
 			}
 		} catch (DebugException e) {
 			JavaScriptDebugPlugin.log(e);
-			//in case we failed
+		} finally {
 			cleanup();
 			fireTerminateEvent();
 		}
@@ -180,7 +199,6 @@
 		removeAllThreads();
 		removeAllBreakpoints();
 		removeJSDIEventListener(this, scriptLoadrequest);
-		removeJSDIEventListener(this, deathRequest);
 		this.scriptgroup = null;
 	}
 
@@ -208,11 +226,6 @@
 	 * @see org.eclipse.debug.core.model.IDebugTarget#getName()
 	 */
 	public String getName() throws DebugException {
-		synchronized (lock) {
-			if(name == null) {
-				name = NLS.bind(ModelMessages.debug_target_name, new String[] {vm.name(), vm.version()});
-			}
-		}
 		return name;
 	}
 
@@ -275,8 +288,7 @@
 			ScriptReference script = null;
 			for (Iterator iter = scripts.iterator(); iter.hasNext();) {
 				script = (ScriptReference) iter.next();
-				String sname = Script.resolveName(script.sourceURI()); 
-				if (sname.equals(name)) {
+				if (URIUtil.lastSegment(script.sourceURI()).equals(name)) {
 					byname.add(script);
 				}
 			}
@@ -295,7 +307,7 @@
 			IScript script = null;
 			for (Iterator iter = scripts.iterator(); iter.hasNext();) {
 				script = (IScript) iter.next();
-				if (Script.resolveName(script.sourceURI()).equals(name)) {
+				if (URIUtil.lastSegment(script.sourceURI()).equals(name)) {
 					byname.add(script);
 				}
 			}
@@ -309,13 +321,13 @@
 	 */
 	public synchronized List allScripts() {
 		if(iScriptCache == null) {
-			List all = getVM().allScripts();
+			ArrayList all = (ArrayList) getVM().allScripts();
 			if(all.size() > 0) { 
 				iScriptCache = new ArrayList(all.size());
 				for (int i = 0; i < all.size(); i++) {
 					iScriptCache.add(new Script(this, (ScriptReference) all.get(i)));
 				}
-				Collections.sort(iScriptCache);
+				Collections.sort(iScriptCache, scriptcompare);
 			}
 		}
 		if(iScriptCache == null) {
@@ -587,10 +599,7 @@
 			// first resume the VM, do not leave it in a suspended state
 			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=304574
 			resumeVM(true);
-			if(this.process != null) {
-				this.process.terminate();
-			}
-		}  
+		} 
 		catch(RuntimeException rte) {}
 		finally {
 			cleanup();
@@ -728,7 +737,6 @@
 		}
 		JavaScriptThread jsdiThread = findThread(thread);
 		if (jsdiThread != null) {
-			jsdiThread.fireChangeEvent(DebugEvent.CONTENT);
 			return jsdiThread;
 		}
 		jsdiThread = new JavaScriptThread(this, thread);
@@ -800,37 +808,15 @@
 			return;
 		}
 		try {
+			((JavaScriptBreakpoint) breakpoint).addToTarget(this);
 			synchronized (this.breakpoints) {
-				if(!this.breakpoints.contains(breakpoint)) {
-					if(!shouldSkipBreakpoint(breakpoint)) {
-						//only add to the VM if it should not be skipped
-						((JavaScriptBreakpoint) breakpoint).addToTarget(this);
-					}
-					this.breakpoints.add(breakpoint);
-				}
+				this.breakpoints.add(breakpoint);
 			}
 		} catch (CoreException ce) {
 			JavaScriptDebugPlugin.log(ce);
 		}
 	}
 
-	/**
-	 * Returns if the given breakpoint should be skipped
-	 * 
-	 * @param breakpoint
-	 * @return <code>true</code> if the breakpoint should be skipped, <code>false</code> otherwise
-	 */
-	boolean shouldSkipBreakpoint(IBreakpoint breakpoint) {
-		try {
-			DebugPlugin plugin = DebugPlugin.getDefault();
-			return plugin != null && breakpoint.isRegistered() && !plugin.getBreakpointManager().isEnabled();
-		}
-		catch(CoreException ce) {
-			//there is something wrong, skip it
-			return true;
-		}
-	}
-	
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -838,6 +824,8 @@
 	 * org.eclipse.debug.core.IBreakpointListener#breakpointChanged(org.eclipse.debug.core.model.IBreakpoint, org.eclipse.core.resources.IMarkerDelta)
 	 */
 	public synchronized void breakpointChanged(IBreakpoint breakpoint,IMarkerDelta delta) {
+		breakpointRemoved(breakpoint, delta);
+		breakpointAdded(breakpoint);
 	}
 
 	/*
@@ -889,15 +877,6 @@
 					}
 					break;
 				}
-				case DebugEvent.CHANGE: {
-					if(event.getSource().equals(scriptgroup)) {
-						if(iScriptCache != null) {
-							iScriptCache.clear();
-							iScriptCache = null;
-						}
-					}
-					break;
-				}
 			}
 		}
 	}
@@ -970,10 +949,6 @@
 		if (event instanceof ThreadExitEvent) {
 			ThreadExitEvent threadExitEvent = (ThreadExitEvent) event;
 			terminateThread(threadExitEvent.thread());
-			//need to update the script node in the event any scripts have been unloaded when the thread exits
-			if(scriptgroup != null) {
-				fireEvent(new DebugEvent(scriptgroup, DebugEvent.CHANGE, DebugEvent.CONTENT));
-			}
 			return false;
 		}
 		if (event instanceof ScriptLoadEvent) {
@@ -997,8 +972,14 @@
 
 		// handle VM events i.e. death / disconnect
 		if (event instanceof VMDeathEvent) {
-			shutdown();
-			return true;
+			try {
+				if (!this.terminated) {
+					eventCleanup();
+				}
+			} finally {
+				shutdown();
+			}
+			return false;
 		}
 		if (event instanceof VMDisconnectEvent) {
 			try {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptStackFrame.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptStackFrame.java
index 401e136..2da39c8 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptStackFrame.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptStackFrame.java
@@ -21,6 +21,7 @@
 import org.eclipse.debug.core.model.IRegisterGroup;
 import org.eclipse.debug.core.model.IThread;
 import org.eclipse.debug.core.model.IVariable;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
 import org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame;
@@ -45,9 +46,8 @@
 	 */
 	private StackFrame stackFrame = null;
 
+	private String name = null;
 	private ArrayList variables;
-	
-	private IVariable thisvar = null;
 
 	/**
 	 * Constructs a Rhino stack frame in the given thread.
@@ -102,7 +102,13 @@
 	 * @see org.eclipse.debug.core.model.IStackFrame#getName()
 	 */
 	public String getName() throws DebugException {
-		return this.stackFrame.location().scriptReference().sourceURI().toString();
+		if (this.name == null) {
+			this.name = NLS.bind(ModelMessages.JSDIStackFrame_stackframe_name, new String[] {
+									this.stackFrame.location().scriptReference().sourceURI().toString(), 
+									Integer.toString(stackFrame.location().lineNumber()) 
+									});
+		}
+		return this.name;
 	}
 
 	/*
@@ -132,6 +138,9 @@
 		if (this.variables == null) {
 			List underlyingVariables = this.stackFrame.variables();
 			this.variables = new ArrayList(underlyingVariables.size() + 1);
+
+
+	
 			for (Iterator iterator = underlyingVariables.iterator(); iterator.hasNext();) {
 				Variable variable = (Variable) iterator.next();
 				JavaScriptVariable jsdiVariable = new JavaScriptVariable(this, variable);
@@ -152,8 +161,7 @@
 			});
 			
 			// add the "this" object at the front
-			thisvar = new JavaScriptVariable(this, stackFrame.thisObject());
-			variables.add(0, thisvar);			
+			variables.add(0, new JavaScriptVariable(this, stackFrame.thisObject()));			
 		}
 		return (IVariable[]) this.variables.toArray(new IVariable[this.variables.size()]);
 	}
@@ -364,20 +372,4 @@
 		return null;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugElement#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if(IJavaScriptStackFrame.class == adapter) {
-			return this;
-		}
-		return super.getAdapter(adapter);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame#getThisObject()
-	 */
-	public IVariable getThisObject() {
-		return thisvar;
-	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptThread.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptThread.java
index 99ac307..018d8e8 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptThread.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptThread.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -26,6 +26,7 @@
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptBreakpointParticipant;
+import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptLineBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptLoadBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
 import org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame;
@@ -33,17 +34,14 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
 import org.eclipse.wst.jsdt.debug.core.jsdi.event.Event;
 import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ResumeEvent;
 import org.eclipse.wst.jsdt.debug.core.jsdi.event.StepEvent;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.SuspendEvent;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptThread;
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
+import org.eclipse.wst.jsdt.debug.internal.core.Constants;
 import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
 import org.eclipse.wst.jsdt.debug.internal.core.breakpoints.JavaScriptBreakpoint;
 import org.eclipse.wst.jsdt.debug.internal.core.breakpoints.JavaScriptExceptionBreakpoint;
@@ -58,7 +56,7 @@
  * 
  * @since 1.0
  */
-public class JavaScriptThread extends JavaScriptDebugElement implements IJavaScriptThread, IJavaScriptEventListener {
+public class JavaScriptThread extends JavaScriptDebugElement implements IJavaScriptThread {
 
 	/**
 	 * handler for stepping
@@ -104,8 +102,8 @@
 					deleteRequest(this, request);
 					request = null;
 				}
-			/*	resumeUnderlyingThread();
-				fireResumeEvent(DebugEvent.CLIENT_REQUEST);*/
+				resumeUnderlyingThread();
+				fireResumeEvent(DebugEvent.CLIENT_REQUEST);
 			} finally {
 				pendingstep = null;
 			}
@@ -229,9 +227,6 @@
 	 * {@link StepHandler} handle to know if a step has been initiated
 	 */
 	private StepHandler pendingstep = null;
-	
-	private SuspendRequest suspendreq = null;
-	private ResumeRequest resumereq = null;
 
 	/**
 	 * Constructor
@@ -246,12 +241,71 @@
 		Assert.isNotNull(thread);
 		this.thread = thread;
 		this.state = thread.isSuspended() ? SUSPENDED : RUNNING;
-		suspendreq = target.getEventRequestManager().createSuspendRequest(this.thread);
-		suspendreq.setEnabled(true);
-		addJSDIEventListener(this, suspendreq);
-		resumereq = target.getEventRequestManager().createResumeRequest(this.thread);
-		suspendreq.setEnabled(true);
-		addJSDIEventListener(this, resumereq);
+	}
+
+	/**
+	 * @return the status text for the thread
+	 */
+	private synchronized String statusText() {
+		switch (state) {
+			case SUSPENDED: {
+				if (this.breakpoints.size() > 0) {
+					try {
+						JavaScriptBreakpoint breakpoint = (JavaScriptBreakpoint) breakpoints.get(0);
+						if (breakpoint instanceof JavaScriptLoadBreakpoint) {
+							String name = breakpoint.getScriptPath();
+							if (Constants.EMPTY_STRING.equals(name)) {
+								name = getSourceName();
+							}
+							return NLS.bind(ModelMessages.JSDIThread_suspended_loading_script, name);
+						}
+						if(breakpoint instanceof JavaScriptExceptionBreakpoint) {
+							return NLS.bind(ModelMessages.JavaScriptThread_suspended_on_exception, breakpoint.getMarker().getAttribute(JavaScriptExceptionBreakpoint.MESSAGE));
+						}
+						// TODO support function breakpoints here
+						if (breakpoint instanceof IJavaScriptLineBreakpoint) {
+							IJavaScriptLineBreakpoint bp = (IJavaScriptLineBreakpoint) breakpoint;
+							return NLS.bind(ModelMessages.breakpoint_at_line_location, new String[] { Integer.toString(bp.getLineNumber()), getSourceName() });
+						}
+						// TODO also need to report stopped at debugger; statement
+					} catch (CoreException ce) {
+						JavaScriptDebugPlugin.log(ce);
+					}
+				}
+				return ModelMessages.thread_suspended;
+			}
+			case RUNNING: {
+				if (pendingstep != null) {
+					return ModelMessages.thread_stepping;
+				}
+				return ModelMessages.thread_running;
+			}
+			case TERMINATED: {
+				return ModelMessages.thread_terminated;
+			}
+			case ThreadReference.THREAD_STATUS_ZOMBIE: {
+				return ModelMessages.thread_zombie;
+			}
+			default: {
+				return ModelMessages.thread_state_unknown;
+			}
+		}
+	}
+
+	/**
+	 * Returns the name of the source from the top stackframe or a default name
+	 * <code>&lt;evaluated_source&gt;</code>
+	 * 
+	 * @return the name for the source
+	 * @throws DebugException
+	 */
+	String getSourceName() throws DebugException {
+		IJavaScriptStackFrame frame = (IJavaScriptStackFrame) getTopStackFrame();
+		if (frame != null) {
+			return frame.getSourceName();
+		}
+		// all else failed say "evaluated_script"
+		return ModelMessages.JavaScriptThread_evaluated_script;
 	}
 
 	/*
@@ -272,7 +326,7 @@
 	 * @see org.eclipse.debug.core.model.IThread#getName()
 	 */
 	public String getName() throws DebugException {
-		return thread.name();
+		return NLS.bind(ModelMessages.JSDIThread_thread_title, new String[] { thread.name(), statusText() });
 	}
 
 	/*
@@ -506,9 +560,6 @@
 		}
 		if ((suspend & IJavaScriptBreakpointParticipant.SUSPEND) > 0 || suspend == IJavaScriptBreakpointParticipant.DONT_CARE) {
 			addBreakpoint(breakpoint);
-			if(pendingstep != null) {
-				pendingstep.abort();
-			}
 			return true;
 		}
 		return false;
@@ -753,11 +804,9 @@
 	 * 
 	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
 	 */
-	public void terminate() throws DebugException {
+	public synchronized void terminate() throws DebugException {
+		this.state = TERMINATED;
 		getJavaScriptDebugTarget().terminate();
-		getJavaScriptDebugTarget().getEventRequestManager().deleteEventRequest(suspendreq);
-		removeJSDIEventListener(this, suspendreq);
-		removeJSDIEventListener(this, resumereq);
 	}
 
 	/**
@@ -840,44 +889,4 @@
 		}
 		return 0;
 	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.core.model.IJavaScriptEventListener#handleEvent(org.eclipse.wst.jsdt.debug.core.jsdi.event.Event, org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget, boolean, org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet)
-	 */
-	public boolean handleEvent(Event event, JavaScriptDebugTarget target, boolean suspendVote, EventSet eventSet) {
-		if(event instanceof SuspendEvent) {
-			if(canSuspend()) {
-				if(this.thread.equals(((SuspendEvent)event).thread())) {
-					markSuspended();
-					fireSuspendEvent(DebugEvent.UNSPECIFIED);
-					return false;
-				}
-			}
-		}
-		if(event instanceof ResumeEvent) {
-			if(canResume()) {
-				if(this.thread.equals(((ResumeEvent)event).thread())) {
-					if (pendingstep != null) {
-						pendingstep.abort();
-					}
-					markResumed();
-					fireResumeEvent(DebugEvent.UNSPECIFIED);
-					return false;
-				}
-			}
-			if(pendingstep != null) {
-				//we need to handle the case where a step has caused a resume and no StepEvent has been sent
-				pendingstep.abort();
-				//send an event as we have stepped to resume
-				fireResumeEvent(DebugEvent.UNSPECIFIED);
-			}
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.core.model.IJavaScriptEventListener#eventSetComplete(org.eclipse.wst.jsdt.debug.core.jsdi.event.Event, org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget, boolean, org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet)
-	 */
-	public void eventSetComplete(Event event, JavaScriptDebugTarget target, boolean suspend, EventSet eventSet) {
-	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptValue.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptValue.java
index 8f86e37..cf32f38 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptValue.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/JavaScriptValue.java
@@ -19,11 +19,7 @@
 import org.eclipse.debug.core.DebugException;
 import org.eclipse.debug.core.model.IValue;
 import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.jface.text.Document;
 import org.eclipse.osgi.util.NLS;
-import org.eclipse.text.edits.TextEdit;
-import org.eclipse.wst.jsdt.core.ToolFactory;
-import org.eclipse.wst.jsdt.core.formatter.CodeFormatter;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ArrayReference;
 import org.eclipse.wst.jsdt.debug.core.jsdi.BooleanValue;
 import org.eclipse.wst.jsdt.debug.core.jsdi.FunctionReference;
@@ -37,7 +33,6 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
 import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
-import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
 
 /**
  * Default implementation of {@link IValue}
@@ -46,17 +41,11 @@
  */
 public class JavaScriptValue extends JavaScriptDebugElement implements IJavaScriptValue {
 
-	public static final IVariable[] NO_VARIABLES = new IVariable[0];
-	
 	/**
 	 * the '[proto]' value
 	 */
 	public static final String PROTO = "[proto]"; //$NON-NLS-1$
 	/**
-	 * the 'constructor' value
-	 */
-	public static final String CONSTRUCTOR = "constructor"; //$NON-NLS-1$
-	/**
 	 * The 'this' value
 	 */
 	public static final String THIS = "this"; //$NON-NLS-1$
@@ -109,28 +98,7 @@
 			JavaScriptPrimitiveValue nvalue = (JavaScriptPrimitiveValue)this.value;
 			return nvalue.stringValue();
 		}
-		if(this.value instanceof FunctionReference) {
-			FunctionReference f = (FunctionReference) this.value;
-			String src = f.functionBody();
-			if(src != null) {
-				CodeFormatter formatter = ToolFactory.createCodeFormatter(null);
-				TextEdit edit = formatter.format(CodeFormatter.K_JAVASCRIPT_UNIT, src, 0, src.length(), 0, null);
-				if(edit != null) {
-					Document doc = new Document(src);
-					try {
-						edit.apply(doc);
-						return doc.get();
-					} catch (Exception e) {
-						JavaScriptDebugPlugin.log(e);
-					} 
-				}
-			}
-			return f.valueString();
-		}
-		if(this.value != null) {
-			return this.value.valueString();
-		}
-		return UNDEFINED;
+		return this.value.valueString();
 	}
 
 	/*
@@ -175,13 +143,7 @@
 		if (jsValue instanceof ObjectReference) {
 			ObjectReference ref = (ObjectReference) jsValue;
 			StringBuffer buffer = new StringBuffer();
-			Number id = ref.id();
-			if(id == null) {
-				buffer.append(jsValue.valueString());
-			}
-			else {
-				buffer.append(NLS.bind(ModelMessages.JavaScriptValue_object_value_label, new String[] {jsValue.valueString(), id.toString()}));
-			}
+			buffer.append(NLS.bind(ModelMessages.JavaScriptValue_object_value_label, new String[] {jsValue.valueString(), ref.id().toString()}));
 			return buffer.toString();
 		}
 		if (jsValue instanceof NumberValue) {
@@ -190,6 +152,7 @@
 				return JavaScriptDebugModel.numberToString(nvalue.value());
 			}
 		}
+		
 		if (jsValue instanceof StringValue) {
 			StringBuffer buffer = new StringBuffer();
 			buffer.append('"');
@@ -208,7 +171,7 @@
 	 */
 	public synchronized IVariable[] getVariables() throws DebugException {
 		if (!hasVariables()) {
-			return NO_VARIABLES;
+			return null;
 		}
 		if (this.properties == null) {
 			final ObjectReference reference = (ObjectReference) this.value;
@@ -247,28 +210,16 @@
 				public VirtualMachine virtualMachine() {
 					return reference.virtualMachine();
 				}
+
 				public String name() {
 					return PROTO;
 				}
+
 				public Value value() {
 					return reference.prototype();
 				}
 			};
-			properties.add(0, new JavaScriptProperty(this, prototype));
-			
-			//add the constructor
-			Property constructor = new Property() {
-				public VirtualMachine virtualMachine() {
-					return reference.virtualMachine();
-				}
-				public String name() {
-					return CONSTRUCTOR; 
-				}
-				public Value value() {
-					return reference.constructor();
-				}
-			};
-			properties.add(1, new JavaScriptProperty(this, constructor));
+			properties.add(0, new JavaScriptProperty(this, prototype));			
 		}
 		return (IVariable[]) this.properties.toArray(new IVariable[this.properties.size()]);
 	}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/ModelMessages.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/ModelMessages.java
index e8075c8..51a59f9 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/ModelMessages.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/ModelMessages.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -19,14 +19,25 @@
  */
 public class ModelMessages extends NLS {
 	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.core.model.modelmessages"; //$NON-NLS-1$
-	public static String debug_target_name;
+	public static String breakpoint_at_line_location;
+	public static String JavaScriptThread_evaluated_script;
+	public static String JavaScriptThread_suspended_on_exception;
 	public static String JavaScriptValue_object_value_label;
 	public static String JSDIDebugTarget_jsdi_debug_target;
 	public static String JSDIDebugTarget_not_support_disconnect;
 	public static String JSDIDebugTarget_not_support_terminate;
 	public static String JSDIDebugTarget_recieved_unknown_event;
 	public static String JSDIDebugTarget_unsupported_operation;
+	public static String JSDIStackFrame_stackframe_name;
+	public static String JSDIThread_thread_title;
+	public static String JSDIThread_suspended_loading_script;
+	public static String thread_running;
+	public static String thread_state_unknown;
+	public static String thread_stepping;
+	public static String thread_suspended;
+	public static String thread_terminated;
 	public static String thread_timed_out_trying_to_suspend;
+	public static String thread_zombie;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, ModelMessages.class);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/Script.java b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/Script.java
index d42eeba..32b0ebf 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/Script.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/Script.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -12,20 +12,15 @@
 
 import java.net.URI;
 
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ITerminate;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
 import org.eclipse.wst.jsdt.debug.core.model.IScript;
-import org.eclipse.wst.jsdt.debug.internal.core.Constants;
 
 /**
- * Wrapper for a {@link ScriptReference} to display it in the debug view
+ * Wrapper for a {@link ScriptReference}
  * 
  * @since 1.0
  */
-public class Script extends JavaScriptDebugElement implements IScript, Comparable, ITerminate {
+public class Script extends JavaScriptDebugElement implements IScript {
 
 	private ScriptReference script = null;
 	
@@ -50,54 +45,4 @@
 	public URI sourceURI() {
 		return this.script.sourceURI();
 	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Comparable#compareTo(java.lang.Object)
-	 */
-	public int compareTo(Object o) {
-		if(o instanceof Script) {
-			Script s2 = (Script) o;
-			return sourceURI().toString().compareTo(s2.sourceURI().toString());
-		}
-		return 0;
-	}
-	
-	/**
-	 * Helper method to compute a usable name in the event the source URI has a path of "/"
-	 * 
-	 * @param sourceuri
-	 * @return the name to use from the URI
-	 */
-	public static String resolveName(URI sourceuri) {
-		String name = URIUtil.lastSegment(sourceuri);
-		if(name == null) {
-			name = new Path(sourceuri.getSchemeSpecificPart()).lastSegment();
-		}
-		if(name != null && !name.toLowerCase().endsWith(Constants.JS_EXTENSION)) {
-			StringBuffer newname = new StringBuffer(name).append('.').append(Constants.JS_EXTENSION);
-			name = newname.toString();
-		}
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#canTerminate()
-	 */
-	public boolean canTerminate() {
-		return getJavaScriptDebugTarget().canTerminate();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#isTerminated()
-	 */
-	public boolean isTerminated() {
-		return getJavaScriptDebugTarget().isTerminated();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ITerminate#terminate()
-	 */
-	public void terminate() throws DebugException {
-		getJavaScriptDebugTarget().terminate();
-	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/modelmessages.properties b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/modelmessages.properties
index 4053863..37e9037 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/modelmessages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.core/src/org/eclipse/wst/jsdt/debug/internal/core/model/modelmessages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
+# Copyright (c) 2010 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -8,11 +8,22 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-debug_target_name={0} [version - {1}]
+breakpoint_at_line_location=suspended at breakpoint on line {0} in {1}
+JavaScriptThread_evaluated_script=<evaluated script>
+JavaScriptThread_suspended_on_exception=suspended on exception: {0}
 JavaScriptValue_object_value_label={0} (id={1})
 JSDIDebugTarget_jsdi_debug_target=JavaScript Debug Target
 JSDIDebugTarget_not_support_disconnect=JavaScript debug target {0} does not support being disconnected
 JSDIDebugTarget_not_support_terminate=JavaScript debug target {0} does not support being terminated
 JSDIDebugTarget_recieved_unknown_event=Received unknown event: {0}
 JSDIDebugTarget_unsupported_operation=Unsupported Operation
+JSDIStackFrame_stackframe_name={0} - line: {1}
+JSDIThread_thread_title=Thread [{0}] ({1})
+JSDIThread_suspended_loading_script=suspended loading script: {0}
+thread_running=running
+thread_state_unknown=<unknown state>
+thread_stepping=stepping
+thread_suspended=suspended
+thread_terminated=terminated
 thread_timed_out_trying_to_suspend=Thread timed out trying to suspend after waiting {0} ms
+thread_zombie=zombie
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/META-INF/MANIFEST.MF
index 3f8486b..20a246f 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/META-INF/MANIFEST.MF
@@ -1,9 +1,9 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
-Bundle-Vendor: %providerName
+Bundle-Vendor: %Bundle-Vendor
 Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.rhino.debugger
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.4
 Export-Package: org.eclipse.wst.jsdt.debug.internal.rhino.debugger;x-internal:=true,
  org.eclipse.wst.jsdt.debug.internal.rhino.transport;x-friends:="org.eclipse.wst.jsdt.debug.rhino",
@@ -11,6 +11,4 @@
  org.eclipse.wst.jsdt.debug.rhino.debugger.shell
 Import-Package: org.mozilla.javascript;resolution:=optional,
  org.mozilla.javascript.debug;resolution:=optional,
- org.mozilla.javascript.tools;resolution:=optional,
  org.mozilla.javascript.tools.shell;resolution:=optional
-Require-Bundle: org.eclipse.wst.jsdt.debug.transport;bundle-version="1.0.0"
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/OSGI-INF/l10n/bundle.properties
index 1508f4d..b38b565 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/OSGI-INF/l10n/bundle.properties
@@ -8,5 +8,5 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-providerName = Eclipse Web Tools Platform
+Bundle-Vendor = Eclipse Web Tools Platform
 Bundle-Name = Rhino Debugger
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/build.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/build.properties
index 9710f4f..04fa2df 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/build.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/build.properties
@@ -1,19 +1,7 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
                about.html,\
-               OSGI-INF/l10n/bundle.properties,\
-               OSGI-INF/,\
-               OSGI-INF/l10n/
+               OSGI-INF/l10n/bundle.properties
 src.includes = about.html
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ContextData.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ContextData.java
index 7a3097a..1d609cc 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ContextData.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ContextData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2010 IBM Corporation and others All rights reserved. This
+ * Copyright (c) 2009 IBM Corporation and others All rights reserved. This
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
@@ -274,7 +274,7 @@
 		body.put(JSONConstants.CONTEXT_ID, contextId);
 		body.put(JSONConstants.THREAD_ID, threadId);
 		body.put(JSONConstants.SCRIPT_ID, script.getId());
-		body.put(JSONConstants.LINE, lineNumber);
+		body.put(JSONConstants.LINE_NUMBER, lineNumber);
 		body.put(JSONConstants.MESSAGE, ex.getMessage());
 		return debugger.sendEvent(exceptionEvent);
 	}
@@ -299,7 +299,7 @@
 		if (functionName != null) {
 			body.put(JSONConstants.FUNCTION_NAME, functionName);
 		}
-		body.put(JSONConstants.LINE, lineNumber);
+		body.put(JSONConstants.LINE_NUMBER, lineNumber);
 		if (breakpoint != null) {
 			body.put(JSONConstants.BREAKPOINT, breakpoint.breakpointId);
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/DebugSessionManager.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/DebugSessionManager.java
index 61fdd0b..2ea8891 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/DebugSessionManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/DebugSessionManager.java
@@ -9,21 +9,23 @@
 package org.eclipse.wst.jsdt.debug.internal.rhino.debugger;
 
 import java.io.IOException;
+import java.text.DateFormat;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.StringTokenizer;
 
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Connection;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DebugSession;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DisconnectedException;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.EventPacket;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoResponse;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoTransportService;
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.DebugSession;
-import org.eclipse.wst.jsdt.debug.transport.ListenerKey;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Request;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Response;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.SocketTransportService;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TransportService;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TransportService.ListenerKey;
 
 /**
  * Delegate for {@link DebugSession} communication
@@ -61,13 +63,13 @@
 					}
 					while (!shutdown && connection.isOpen()) {
 						try {
-							RhinoRequest request = (RhinoRequest) debugSession.receive(JSONConstants.REQUEST, 1000);
+							Request request = debugSession.receiveRequest(1000);
 							if (DEBUG)
 								System.out.println(request);
-							RhinoResponse response = requestHandler.handleRequest(request);
+							Response response = requestHandler.handleRequest(request);
 							if (DEBUG)
 								System.out.println(response);
-							debugSession.send(response);
+							debugSession.sendResponse(response);
 						} catch (TimeoutException e) {
 							// ignore
 						} catch (DisconnectedException e) {
@@ -78,12 +80,14 @@
 				}
 			} catch (IOException e) {
 				sendDeathEvent();
+				/* e.printStackTrace(); */
 			} finally {
 				try {
 					if (listenerKey != null)
 						transportService.stopListening(listenerKey);
 				} catch (IOException e) {
 					sendDeathEvent();
+					/* e.printStackTrace(); */
 				}
 			}
 		}
@@ -116,7 +120,7 @@
 
 	}
 
-	private static boolean DEBUG = false;
+	private static final boolean DEBUG = false;
 	
 	private static final String ADDRESS = "address"; //$NON-NLS-1$
 	private static final String SOCKET = "socket"; //$NON-NLS-1$
@@ -137,11 +141,11 @@
 	 * @param address
 	 * @param startSuspended
 	 */
-	public DebugSessionManager(TransportService transportService, String address, boolean startSuspended, boolean debug) {
+	public DebugSessionManager(TransportService transportService, String address, boolean startSuspended) {
 		this.transportService = transportService;
 		this.address = address;
 		this.startSuspended = startSuspended;
-		DEBUG = debug;
+		prettyPrintHeader();
 	}
 
 	/**
@@ -156,19 +160,14 @@
 		if (!SOCKET.equals(transport)) {
 			throw new IllegalArgumentException("Transport service must be 'socket': " + transport); //$NON-NLS-1$
 		}
-		TransportService parsedTransportService = new RhinoTransportService();
+		TransportService parsedTransportService = new SocketTransportService();
 		String parsedAddress = (String) config.get(ADDRESS);
 		String suspend = (String) config.get(JSONConstants.SUSPEND);
 		boolean parsedStartSuspended = false;
 		if (suspend != null) {
 			parsedStartSuspended = (Boolean.valueOf(suspend).booleanValue() || suspend.trim().equalsIgnoreCase("y")); //$NON-NLS-1$
 		}
-		String debug = (String) config.get("trace"); //$NON-NLS-1$
-		boolean debugging = false;
-		if(debug != null) {
-			debugging = (Boolean.valueOf(debug).booleanValue() || debug.trim().equalsIgnoreCase("y")); //$NON-NLS-1$
-		}
-		return new DebugSessionManager(parsedTransportService, parsedAddress, parsedStartSuspended, debugging);
+		return new DebugSessionManager(parsedTransportService, parsedAddress, parsedStartSuspended);
 	}
 
 	/**
@@ -192,6 +191,39 @@
 	}
 
 	/**
+	 * Pretty print the header for the debugger
+	 * 
+	 * @since 1.1
+	 */
+	private void prettyPrintHeader() {
+		StringBuffer buffer = new StringBuffer();
+		buffer.append("Rhino attaching debugger\n"); //$NON-NLS-1$
+		buffer.append("Start at time: ").append(getStartAtDate()); //$NON-NLS-1$
+		buffer.append("\nListening to "); //$NON-NLS-1$
+		buffer.append(this.transportService instanceof SocketTransportService ? "socket on " : "transport service on "); //$NON-NLS-1$ //$NON-NLS-2$
+		buffer.append("port: ").append(this.address); //$NON-NLS-1$
+		if (startSuspended) {
+			buffer.append("\nStarted suspended - waiting for client resume..."); //$NON-NLS-1$
+		}
+		System.out.println(buffer.toString());
+	}
+
+	/**
+	 * Returns the formatted date
+	 * 
+	 * @return the formatted date
+	 * @see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4981314
+	 * @since 1.1
+	 */
+	String getStartAtDate() {
+		try {
+			return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(Calendar.getInstance().getTime());
+		} catch (Throwable t) {
+			return "<unknown>"; //$NON-NLS-1$
+		}
+	}
+
+	/**
 	 * @return true if the <code>suspend=true</code> command line argument is
 	 *         set
 	 */
@@ -214,7 +246,7 @@
 	 * Starts the debugger
 	 */
 	public synchronized void start(RhinoDebuggerImpl debugger) {
-		debuggerThread = new DebugSessionThread("RhinoDebugger - RhinoRequest Handler", debugger); //$NON-NLS-1$
+		debuggerThread = new DebugSessionThread("RhinoDebugger - Request Handler", debugger); //$NON-NLS-1$
 		debuggerThread.start();
 		if (startSuspended) {
 			try {
@@ -234,9 +266,8 @@
 		shutdown = true;
 		try {
 			debuggerThread.interrupt();
-			while(debuggerThread.isAlive()) {
-				wait(1000);
-			}
+			if (debuggerThread.isAlive())
+				wait();
 			debuggerThread.join();
 		} catch (InterruptedException e) {
 			/* e.printStackTrace(); */
@@ -263,10 +294,9 @@
 	public synchronized boolean sendEvent(EventPacket event) {
 		try {
 			if (debugSession != null) {
-				if (DEBUG) {
+				if (DEBUG)
 					System.out.println(event);
-				}
-				debugSession.send(event);
+				debugSession.sendEvent(event);
 				return true;
 			}
 		} catch (DisconnectedException e) {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RequestHandler.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RequestHandler.java
index 417c843..51199e0 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RequestHandler.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RequestHandler.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2010 IBM Corporation and others All rights reserved. This
+ * Copyright (c) 2009 IBM Corporation and others All rights reserved. This
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
@@ -13,8 +13,8 @@
 import java.util.Map;
 
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoResponse;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Request;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Response;
 
 /**
  * Rhino request handler used to craft response bodies for given JSON requests
@@ -41,9 +41,9 @@
 	 * @param request
 	 * @return
 	 */
-	public RhinoResponse handleRequest(RhinoRequest request) {
+	public Response handleRequest(Request request) {
 		String command = request.getCommand();
-		RhinoResponse response = new RhinoResponse(request.getSequence(), command);
+		Response response = new Response(request.getSequence(), command);
 		try {
 			if (command.equals(JSONConstants.VERSION)) {
 				handleVersionRequest(request, response);
@@ -95,7 +95,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleClearBreakpointRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleClearBreakpointRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long breakpointId = numberToLong((Number) arguments.get(JSONConstants.BREAKPOINT_ID));
 		if (breakpointId == null) {
@@ -118,7 +118,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleSetBreakpointRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleSetBreakpointRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long scriptId = numberToLong((Number) arguments.get(JSONConstants.SCRIPT_ID));
 		Integer line = numberToInteger((Number) arguments.get(JSONConstants.LINE));
@@ -137,7 +137,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleBreakpointRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleBreakpointRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long breakpointId = numberToLong((Number) arguments.get(JSONConstants.BREAKPOINT_ID));
 		if (breakpointId == null) {
@@ -160,7 +160,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleBreakpointsRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleBreakpointsRequest(Request request, Response response) {
 		Collection breakpoints = debugger.getBreakpoints();
 		response.getBody().put(JSONConstants.BREAKPOINTS, breakpoints);
 	}
@@ -171,7 +171,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleEvaluateRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleEvaluateRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -207,7 +207,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleLookupRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleLookupRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -221,10 +221,10 @@
 			response.setMessage(missingArgument(JSONConstants.FRAME_ID));
 			return;
 		}
-		Long handle = numberToLong((Number) arguments.get(JSONConstants.REF));
+		Long handle = numberToLong((Number) arguments.get(JSONConstants.HANDLE));
 		if (handle == null) {
 			response.setSuccess(false);
-			response.setMessage(missingArgument(JSONConstants.REF));
+			response.setMessage(missingArgument(JSONConstants.HANDLE));
 			return;
 		}
 		StackFrame frame = debugger.getFrame(threadId, frameId);
@@ -243,7 +243,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleScriptRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleScriptRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long scriptId = numberToLong((Number) arguments.get(JSONConstants.SCRIPT_ID));
 		if (scriptId == null) {
@@ -266,7 +266,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleScriptsRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleScriptsRequest(Request request, Response response) {
 		List scriptIds = debugger.getScriptIds();
 		response.getBody().put(JSONConstants.SCRIPTS, scriptIds);
 	}
@@ -277,7 +277,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleFrameRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleFrameRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -306,7 +306,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleFramesRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleFramesRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -324,7 +324,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleThreadRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleThreadRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -358,7 +358,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleThreadsRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleThreadsRequest(Request request, Response response) {
 		List threadIds = debugger.getThreadIds();
 		response.getBody().put(JSONConstants.THREADS, threadIds);
 	}
@@ -369,7 +369,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleDisposeRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleDisposeRequest(Request request, Response response) {
 		debugger.disconnect();
 	}
 
@@ -379,7 +379,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleContinueRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleContinueRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -396,7 +396,7 @@
 	 * @param request
 	 * @param response
 	 */
-	private void handleSuspendRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleSuspendRequest(Request request, Response response) {
 		Map arguments = request.getArguments();
 		Long threadId = numberToLong((Number) arguments.get(JSONConstants.THREAD_ID));
 		if (threadId == null) {
@@ -443,7 +443,7 @@
 	 * @see JSONConstants#VM_VENDOR
 	 * @see JSONConstants#VM_VERSION
 	 */
-	private void handleVersionRequest(RhinoRequest request, RhinoResponse response) {
+	private void handleVersionRequest(Request request, Response response) {
 		Map body = response.getBody();
 		body.put(JSONConstants.JAVASCRIPT_VERSION, VERSION_1_6);
 		body.put(JSONConstants.ECMASCRIPT_VERSION, "3"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RhinoDebuggerImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RhinoDebuggerImpl.java
index d0afacd..ea66902 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RhinoDebuggerImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/RhinoDebuggerImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2011 IBM Corporation and others All rights reserved. This
+ * Copyright (c) 2009, 2010 IBM Corporation and others All rights reserved. This
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
@@ -22,7 +22,7 @@
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.EventPacket;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONUtil;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TransportService;
 import org.mozilla.javascript.Context;
 import org.mozilla.javascript.ContextFactory;
 import org.mozilla.javascript.debug.DebugFrame;
@@ -83,12 +83,11 @@
 	 * 
 	 * @param transportService the {@link TransportService} to use for debugger communication
 	 * @param address the address to communicate on
-	 * @param startSuspended if the debugger should wait while accepting a connection. The wait time for stating suspended is not indefinite,
-	 * @param trace if the debugger should be in tracing mode, reporting debug statements to the console 
+	 * @param startSuspended if the debugger should wait while accepting a connection. The wait time for stating suspended is not indefinite, 
 	 * and is equal to 300000ms.
 	 */
-	public RhinoDebuggerImpl(TransportService transportService, String address, boolean startSuspended, boolean trace) {
-		sessionManager = new DebugSessionManager( transportService,  address,  startSuspended, trace);
+	public RhinoDebuggerImpl(TransportService transportService, String address, boolean startSuspended) {
+		sessionManager = new DebugSessionManager( transportService,  address,  startSuspended);
 	}
 
 	/*
@@ -150,10 +149,8 @@
 				//recycle the id for a re-loaded script
 				//https://bugs.eclipse.org/bugs/show_bug.cgi?id=306832
 				id = old.getId();
-				idToScript.remove(id);
-				newscript.setId(id);
-				//clean up the cache of breakpoints
-				old.clearBreakpoints(this);
+				idToScript.remove(old.getId());
+				newscript.clone(old);
 			}
 			else {
 				//a totally new script is loaded
@@ -189,11 +186,7 @@
 			// handle input from the Rhino Shell
 			if (sourceName.equals("<stdin>")) { //$NON-NLS-1$
 				sourceName = "stdin"; //$NON-NLS-1$
-			} 
-			if(sourceName.equals("<command>")) { //$NON-NLS-1$
-				sourceName = "command"; //$NON-NLS-1$
-			}
-			else {	
+			} else {		
 				// try to parse it as a file
 				File sourceFile = new File(sourceName);
 				if (sourceFile.exists())
@@ -490,7 +483,7 @@
 	}
 
 	/**
-	 * Gets the thread for the thread with the given id, returns <code>null</code> if no such thread exists with the given id
+	 * Gets the thread for the thread with the given id, returns <code>null</code> if no such thread exists with the goven id
 	 * 
 	 * @param threadId
 	 * @return the thread data for the thread with the given id or <code>null</code>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ScriptSource.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ScriptSource.java
index de63cda..b551bc1 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ScriptSource.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ScriptSource.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2011 IBM Corporation and others All rights reserved. This
+ * Copyright (c) 2009 IBM Corporation and others All rights reserved. This
  * program and the accompanying materials are made available under the terms of
  * the Eclipse Public License v1.0 which accompanies this distribution, and is
  * available at http://www.eclipse.org/legal/epl-v10.html
@@ -20,7 +20,6 @@
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Constants;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
 import org.mozilla.javascript.debug.DebuggableScript;
-import org.mozilla.javascript.debug.Debugger;
 
 /**
  * Rhino script implementation
@@ -177,20 +176,6 @@
 	}
 	
 	/**
-	 * Clears the breakpoints from this script out of the given {@link Debugger}
-	 */
-	void clearBreakpoints(RhinoDebuggerImpl debugger) {
-		if(this.lines != null) {
-			for (int i = 0; i < this.lines.length; i++) {
-				Breakpoint bp = lines[i].breakpoint;
-				if(bp != null) {
-					debugger.clearBreakpoint(bp.breakpointId);
-				}
-			}
-		}
-	}
-	
-	/**
 	 * Collects all of the {@link DebuggableScript} objects for the functions
 	 * @param root the root script
 	 * @return the collected array of functions - {@link DebuggableScript} - objects or an empty array
@@ -349,6 +334,15 @@
 		}
 		return false;
 	}
+
+	/**
+	 * Copies items from the given object to this one
+	 * @param script
+	 */
+	public void clone(ScriptSource script) {
+		this.scriptId = script.scriptId;
+		this.lines = script.lines;
+	}
 	
 	/**
 	 * Adds a breakpoint to this script
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/StackFrame.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/StackFrame.java
index f944ca2..22c6def 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/StackFrame.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/StackFrame.java
@@ -274,7 +274,7 @@
 	 */
 	public Object serialize(Long handle, Object object) {
 		Map result = new HashMap();
-		result.put(JSONConstants.REF, handle);
+		result.put(JSONConstants.HANDLE, handle);
 
 		// "undefined", "null", "boolean", "number", "string", "object", "function" or "frame"
 		if (object == Undefined.instance) {
@@ -354,8 +354,8 @@
 		if (ScriptableObject.hasProperty(scriptable, JSONConstants.CONSTRUCTOR)) {
 			constructorFunction = ScriptableObject.getProperty(scriptable, JSONConstants.CONSTRUCTOR);
 		}
-		result.put(JSONConstants.CONSTRUCTOR_FUNCTION, createHandle(constructorFunction));
-		result.put(JSONConstants.PROTOTYPE_OBJECT, createHandle(scriptable.getPrototype()));
+		result.put(JSONConstants.CONSTRUCTOR_FUNCTION, createRef(constructorFunction));
+		result.put(JSONConstants.PROTOTYPE_OBJECT, createRef(scriptable.getPrototype()));
 		if (scriptable instanceof NativeJavaObject)
 			result.put(JSONConstants.PROPERTIES, createJavaObjectProperties((NativeJavaObject) scriptable));
 		else
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ThreadData.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ThreadData.java
index 92ab97c..e8d25b4 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ThreadData.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/debugger/ThreadData.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * Copyright (c) 2009 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/Connection.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Connection.java
similarity index 64%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/Connection.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Connection.java
index cf94046..3483013 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/Connection.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Connection.java
@@ -6,38 +6,31 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
 import java.io.IOException;
-import java.net.Socket;
 
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection;
 
 /**
- * Describes a connection to a debugger.
- * <br><br>
- * This interface is intended to be implemented by clients.
- * A default implementation for {@link Socket} communication is provided
- * in the class {@link SocketConnection}.
+ * Describes a socket connection to a debugger
  * 
  * @since 1.0
  */
 public interface Connection {
 
 	/**
-	 * Returns if the connection is open.
+	 * Returns if the debug connection is open.
 	 * 
 	 * @return <code>true</code> if the connection is open <code>false</code> otherwise
 	 */
-	public boolean isOpen();
+	public abstract boolean isOpen();
 
 	/**
 	 * Closes the connection.
 	 * 
 	 * @throws IOException if the connection failed to close or is already closed
 	 */
-	public void close() throws IOException;
+	public abstract void close() throws IOException;
 
 	/**
 	 * Writes the given packet to the connection
@@ -45,16 +38,16 @@
 	 * @param packet the packet to write, <code>null</code> is not accepted
 	 * @throws IOException if the write failed
 	 */
-	public void writePacket(Packet packet) throws IOException;
+	public abstract void writePacket(Packet packet) throws IOException;
 
 	/**
 	 * Reads the next packet from the connection. This is non-blocking.<br>
 	 * <br>
-	 * This method cannot return <code>null</code>.
+	 * This method cannot return <code>null</code>
 	 * 
 	 * @return the next {@link Packet} from the connection
 	 * @throws IOException if the connection is prematurely closed or the read failed
 	 */
-	public Packet readPacket() throws IOException;
+	public abstract Packet readPacket() throws IOException;
 
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/DebugSession.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/DebugSession.java
new file mode 100644
index 0000000..ee02b70
--- /dev/null
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/DebugSession.java
@@ -0,0 +1,145 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
+
+
+/**
+ * A {@link DebugSession} controls a {@link PacketSendManager} and {@link PacketReceiveManager}
+ * that is uses to communicate to a debug target using the underlying {@link Connection}
+ * 
+ * @since 1.0
+ */
+public class DebugSession {
+	
+	/**
+	 * The default receive manager
+	 */
+	private final PacketReceiveManager packetReceiveManager;
+	/**
+	 * The default send manager
+	 */
+	private final PacketSendManager packetSendManager;
+
+	/**
+	 * Constructor
+	 * 
+	 * Starts the send / receive managers on the given connection.
+	 * 
+	 * @param connection
+	 */
+	public DebugSession(Connection connection) {
+		packetReceiveManager = new PacketReceiveManager(connection);
+		Thread receiveThread = new Thread(packetReceiveManager, "Debug Session - Receive Manager"); //$NON-NLS-1$
+		receiveThread.setDaemon(true);
+
+		packetSendManager = new PacketSendManager(connection);
+		Thread sendThread = new Thread(packetSendManager, "Debug Session - Send Manager"); //$NON-NLS-1$
+		sendThread.setDaemon(true);
+
+		packetReceiveManager.setPartnerThread(sendThread);
+		packetSendManager.setPartnerThread(receiveThread);
+
+		receiveThread.start();
+		sendThread.start();
+	}
+
+	/**
+	 * Stops the debug sessions and disconnects the send / receive managers
+	 */
+	public void dispose() {
+		packetReceiveManager.disconnect();
+		packetSendManager.disconnect();
+	}
+
+	/**
+	 * Sends the given {@link Request} using the underlying {@link PacketSendManager}.
+	 * 
+	 * @param request the request to send, <code>null</code> is not accepted
+	 * @throws DisconnectedException if the {@link PacketSendManager} has been disconnected
+	 */
+	public void sendRequest(Request request) throws DisconnectedException {
+		if(request == null) {
+			throw new IllegalArgumentException("You cannot send a null request"); //$NON-NLS-1$
+		}
+		packetSendManager.sendPacket(request);
+	}
+
+	/**
+	 * Sends the given {@link EventPacket} using the underlying {@link PacketSendManager}.
+	 * 
+	 * @param event the event to send, <code>null</code> is not accepted
+	 * @throws DisconnectedException if the {@link PacketSendManager} has been disconnected
+	 */
+	public void sendEvent(EventPacket event) throws DisconnectedException {
+		if(event == null) {
+			throw new IllegalArgumentException("You cannot send a null event"); //$NON-NLS-1$
+		}
+		packetSendManager.sendPacket(event);
+	}
+	
+	/**
+	 * Sends the given {@link Response} using the underlying {@link PacketSendManager}.
+	 * 
+	 * @param response the response to send, <code>null</code> is not accepted
+	 * @throws DisconnectedException if the {@link PacketSendManager} has been disconnected
+	 */
+	public void sendResponse(Response response) throws DisconnectedException {
+		if(response == null) {
+			throw new IllegalArgumentException("You cannot send a null response"); //$NON-NLS-1$
+		}
+		packetSendManager.sendPacket(response);
+	}
+	
+	/**
+	 * Waits for the given timeout for a {@link Response} response in the given sequence 
+	 * from the {@link PacketReceiveManager}.<br>
+	 * <br>
+	 * This method does not return <code>null</code> - one of the listed exceptions will be thrown 
+	 * if an {@link Response} cannot be returned.
+	 * 
+	 * @param timeout the amount of time in milliseconds to wait to a {@link Response}
+	 * @return a new {@link Request} from the {@link PacketReceiveManager} never <code>null</code>
+	 * @throws TimeoutException if the timeout lapses with no {@link Response} returned
+	 * @throws DisconnectedException if the {@link PacketReceiveManager} has been disconnected
+	 */
+	public Response receiveResponse(int requestSequence, int timeout) throws TimeoutException, DisconnectedException {
+		return packetReceiveManager.getResponse(requestSequence, timeout);
+	}
+
+	/**
+	 * Waits for the given timeout for a {@link EventPacket} response from the {@link PacketReceiveManager}.<br>
+	 * <br>
+	 * This method does not return <code>null</code> - one of the listed exceptions will be thrown 
+	 * if an {@link EventPacket} cannot be returned.
+	 * 
+	 * @param timeout the amount of time in milliseconds to wait to a {@link EventPacket}
+	 * @return a new {@link Request} from the {@link PacketReceiveManager} never <code>null</code>
+	 * @throws TimeoutException if the timeout lapses with no {@link EventPacket} returned
+	 * @throws DisconnectedException if the {@link PacketReceiveManager} has been disconnected
+	 */
+	public EventPacket receiveEvent(int timeout) throws TimeoutException, DisconnectedException {
+		return (EventPacket) packetReceiveManager.getCommand(EventPacket.TYPE, timeout);
+	}
+	
+	/**
+	 * Waits for the given timeout for a request response from the {@link PacketReceiveManager}.<br>
+	 * <br>
+	 * This method does not return <code>null</code> - one of the listed exceptions will be thrown 
+	 * if a {@link Request} cannot be returned.
+	 * 
+	 * @param timeout the amount of time in milliseconds to wait to a {@link Request}
+	 * @return a new {@link Request} from the {@link PacketReceiveManager} never <code>null</code>
+	 * @throws TimeoutException if the timeout lapses with no {@link Request} returned
+	 * @throws DisconnectedException if the {@link PacketReceiveManager} has been disconnected
+	 */
+	public Request receiveRequest(int timeout) throws TimeoutException, DisconnectedException {
+		return (Request) packetReceiveManager.getCommand(JSONConstants.REQUEST, timeout);
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/exception/DisconnectedException.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/DisconnectedException.java
similarity index 69%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/exception/DisconnectedException.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/DisconnectedException.java
index fc69a5c..049bd0a 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/exception/DisconnectedException.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/DisconnectedException.java
@@ -6,19 +6,20 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.exception;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
-import org.eclipse.wst.jsdt.debug.transport.packet.PacketReceiveManager;
-import org.eclipse.wst.jsdt.debug.transport.packet.PacketSendManager;
 
 /**
- * A {@link DisconnectedException} is thrown by either the {@link PacketSendManager}
- * or the {@link PacketReceiveManager} when a request is made and they have been disconnected
+ * A {@link DisconnectedException} is thrown by either of the {@link PacketSendManager}
+ * or {@link PacketReceiveManager} when a request is made and they have been disconnected
  * 
  * @since 1.0
  */
 public final class DisconnectedException extends Exception {
 
+	/**
+	 * 
+	 */
 	private static final long serialVersionUID = 3233213787459625769L;
 
 	/**
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/EventPacket.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/EventPacket.java
index d0bb401..4da4752 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/EventPacket.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/EventPacket.java
@@ -14,12 +14,12 @@
 
 
 /**
- * An {@link EventPacket} is a specialized {@link RhinoPacket}
+ * An {@link EventPacket} is a specialized {@link Packet}
  * that only handles <code>event</code> data.
  * 
  * @since 1.0
  */
-public class EventPacket extends RhinoPacket {
+public class EventPacket extends Packet {
 
 	public static final String TYPE = JSONConstants.EVENT;
 	private final String event;
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONConstants.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONConstants.java
index 3073856..668d471 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONConstants.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONConstants.java
@@ -28,6 +28,7 @@
 	public static final String ARGUMENTS = "arguments"; //$NON-NLS-1$
 	public static final String BODY = "body"; //$NON-NLS-1$
 	public static final String LINE = "line"; //$NON-NLS-1$
+	public static final String LINE_NUMBER = "lineNumber"; //$NON-NLS-1$
 	public static final String SCRIPT = "script"; //$NON-NLS-1$
 	public static final String SCRIPTS = "scripts"; //$NON-NLS-1$
 	public static final String FUNCTION = "function"; //$NON-NLS-1$
@@ -111,6 +112,7 @@
 	// stackframe
 	public static final String EVALUATE = "evaluate"; //$NON-NLS-1$
 	public static final String EXPRESSION = "expression"; //$NON-NLS-1$
+	public static final String HANDLE = "handle"; //$NON-NLS-1$
 	public static final String PROPERTIES = "properties"; //$NON-NLS-1$
 	public static final String NAME = "name"; //$NON-NLS-1$
 	public static final String LOOKUP = "lookup"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONUtil.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONUtil.java
index fe4ea07..7982dd2 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONUtil.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/JSONUtil.java
@@ -306,12 +306,9 @@
 		}
 		StringBuffer buffer = new StringBuffer();
 		while (c != '"') {
-			if (Character.isISOControl(c)) {
-				//XXX we should ignore the ISO control chars and make a best effort to continue
-				c = it.next();
-				continue;
-				//throw error("illegal iso control character: '" + Integer.toHexString(c) + "'", it); //$NON-NLS-1$ //$NON-NLS-2$);
-			}
+			if (Character.isISOControl(c))
+				throw error("illegal iso control character: '" + Integer.toHexString(c) + "'", it); //$NON-NLS-1$ //$NON-NLS-2$);
+
 			if (c == '\\') {
 				c = it.next();
 				switch (c) {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoPacket.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Packet.java
similarity index 67%
rename from bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoPacket.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Packet.java
index 64335db..3521aa0 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoPacket.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Packet.java
@@ -11,7 +11,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
 
 /**
  * Abstract description of a packet for sending / receiving information to the debug client
@@ -19,19 +18,22 @@
  *  
  *  @since 1.0
  */
-abstract public class RhinoPacket implements Packet {
+abstract public class Packet {
 
+	private static int currentSequence = 0;
+	private final int sequence;
 	private final String type;
 
 	/**
 	 * Constructor
 	 * 
-	 * @param type the type for the {@link RhinoPacket} <code>null</code> is not accepted
+	 * @param type the type for the {@link Packet} <code>null</code> is not accepted
 	 */
-	protected RhinoPacket(String type) {
+	protected Packet(String type) {
 		if(type == null) {
 			throw new IllegalArgumentException("The type for a packet cannot be null"); //$NON-NLS-1$
 		}
+		this.sequence = nextSequence();
 		this.type = type.intern();
 	}
 
@@ -40,26 +42,50 @@
 	 * 
 	 * @param json the pre-composed map of attributes for the packet, <code>null</code> is not accepted
 	 */
-	protected RhinoPacket(Map json) {
+	protected Packet(Map json) {
 		if(json == null) {
 			throw new IllegalArgumentException("The JSON map for a packet cannot be null"); //$NON-NLS-1$
 		}
+		Number packetSeq = (Number) json.get(JSONConstants.SEQ);
+		this.sequence = packetSeq.intValue();
 		String packetType = (String) json.get(JSONConstants.TYPE);
 		this.type = packetType.intern();
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Packet#getType()
+	/**
+	 * @return a next value for the sequence
+	 */
+	private static synchronized int nextSequence() {
+		return ++currentSequence;
+	}
+
+	/**
+	 * @return the current sequence
+	 */
+	public int getSequence() {
+		return sequence;
+	}
+
+	/**
+	 * Returns the type of this packet.<br>
+	 * <br>
+	 * This method cannot return <code>null</code>
+	 * 
+	 * @return the type, never <code>null</code>
 	 */
 	public String getType() {
 		return type;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Packet#toJSON()
+	/**
+	 * Returns the type and sequence composed in a JSON map.<br>
+	 * <br>
+	 * This method cannot return <code>null</code>
+	 * @return the composed JSON map
 	 */
 	public Map toJSON() {
 		Map json = new HashMap();
+		json.put(JSONConstants.SEQ, new Integer(sequence));
 		json.put(JSONConstants.TYPE, type);
 		return json;
 	}
@@ -85,7 +111,7 @@
 	 */
 	public String toString() {
 		StringBuffer buffer = new StringBuffer();
-		buffer.append("RhinoPacket: ").append(JSONUtil.write(toJSON())); //$NON-NLS-1$
+		buffer.append("Packet: ").append(JSONUtil.write(toJSON())); //$NON-NLS-1$
 		return buffer.toString();
 	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketManager.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketManager.java
similarity index 96%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketManager.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketManager.java
index d93fe02..e2c4e46 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketManager.java
@@ -6,12 +6,10 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
 import java.io.IOException;
 
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-
 /**
  * Default manager for sending / receiving packets to / from the connected {@link VirtualMachine}
  * 
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketReceiveManager.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketReceiveManager.java
similarity index 93%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketReceiveManager.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketReceiveManager.java
index 2b75a32..400c645 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketReceiveManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketReceiveManager.java
@@ -6,7 +6,7 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
 import java.io.IOException;
 import java.io.InterruptedIOException;
@@ -15,17 +15,13 @@
 import java.util.List;
 import java.util.ListIterator;
 
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
-
 /**
  * Default implementation of {@link PacketManager} for receiving packets from the 
  * {@link VirtualMachine}
  * 
  * @since 1.0
  */
-public final class PacketReceiveManager extends PacketManager {
+public class PacketReceiveManager extends PacketManager {
 
 	/**
 	 * Generic timeout value for not blocking. <br>
@@ -272,13 +268,10 @@
 	 */
 	private void readAvailablePacket() throws IOException {
 		// Read a packet from the Input Stream.
-		if(getConnection().isOpen()) {
-			Packet packet = getConnection().readPacket();
-			if (packet instanceof Response) {
-				addResponsePacket((Response) packet);
-			} else {
-				addCommandPacket(packet);
-			}
-		}
+		Packet packet = getConnection().readPacket();
+		if (packet instanceof Response)
+			addResponsePacket((Response) packet);
+		else
+			addCommandPacket(packet);
 	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketSendManager.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketSendManager.java
similarity index 92%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketSendManager.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketSendManager.java
index b769639..e844281 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/PacketSendManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PacketSendManager.java
@@ -6,17 +6,13 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
 import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-
-
 
 /**
  * Default implementation of {@link PacketManager} for sending packets to the 
@@ -24,7 +20,7 @@
  * 
  * @since 1.0
  */
-public final class PacketSendManager extends PacketManager {
+public class PacketSendManager extends PacketManager {
 	
 	/** 
 	 * List of packets to be sent to Virtual Machine 
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedConnection.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedConnection.java
index 7c87ba2..cd38971 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedConnection.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedConnection.java
@@ -20,9 +20,6 @@
 import java.io.Writer;
 import java.util.Map;
 
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-
 /**
  * A {@link Connection} implementation that uses streams for communication
  * 
@@ -53,14 +50,14 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#isOpen()
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#isOpen()
 	 */
 	public synchronized boolean isOpen() {
 		return open;
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#close()
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#close()
 	 */
 	public synchronized void close() throws IOException {
 		open = false;
@@ -69,7 +66,7 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#writePacket(org.eclipse.wst.jsdt.debug.transport.packet.Packet)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#writePacket(org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Packet)
 	 */
 	public void writePacket(Packet packet) throws IOException {
 		String jsonString = JSONUtil.write(packet.toJSON());
@@ -82,7 +79,7 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#readPacket()
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#readPacket()
 	 */
 	public Packet readPacket() throws IOException {
 		StringBuffer buffer = new StringBuffer();
@@ -117,13 +114,13 @@
 		}
 
 		Map json = (Map) JSONUtil.read(new String(message));
-		String type = RhinoPacket.getType(json);
+		String type = Packet.getType(json);
 		if (EventPacket.TYPE.equals(type))
 			return new EventPacket(json);
 		if (JSONConstants.REQUEST.equals(type))
-			return new RhinoRequest(json);
+			return new Request(json);
 		if (JSONConstants.RESPONSE.equals(type))
-			return new RhinoResponse(json);
+			return new Response(json);
 
 		throw new IOException("Unknown packet type: " + type); //$NON-NLS-1$
 	}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedTransportService.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedTransportService.java
index dcce3b6..01d9049 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedTransportService.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/PipedTransportService.java
@@ -14,10 +14,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.ListenerKey;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
-
 /**
  * {@link TransportService} specialization for a {@link PipedConnection}
  * 
@@ -67,7 +63,7 @@
 	Map listeners = new HashMap();
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#startListening(java.lang.String)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#startListening(java.lang.String)
 	 */
 	public synchronized ListenerKey startListening(String address) throws IOException {
 		ListenerKey key = new PipedListenerKey(address == null ? Constants.EMPTY_STRING : address);
@@ -76,7 +72,7 @@
 	};
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#stopListening(org.eclipse.wst.jsdt.debug.transport.ListenerKey)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#stopListening(org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService.ListenerKey)
 	 */
 	public void stopListening(ListenerKey key) throws IOException {
 		synchronized (key) {
@@ -87,7 +83,7 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#accept(org.eclipse.wst.jsdt.debug.transport.ListenerKey, long, long)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#accept(org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService.ListenerKey, long, long)
 	 */
 	public Connection accept(ListenerKey key, long attachTimeout, long handshakeTimeout) throws IOException {
 		long timeout = attachTimeout;
@@ -137,7 +133,7 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#attach(java.lang.String, long, long)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#attach(java.lang.String, long, long)
 	 */
 	public Connection attach(String address, long attachTimeout, long handshakeTimeout) throws IOException {
 		ListenerKey key = new PipedListenerKey(address == null ? Constants.EMPTY_STRING : address);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoRequest.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Request.java
similarity index 70%
rename from bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoRequest.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Request.java
index 480d429..63dca4e 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoRequest.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Request.java
@@ -12,32 +12,27 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.eclipse.wst.jsdt.debug.transport.packet.Request;
-
 /**
  * Default request implementation using JSON
  * 
  * @since 1.0
  */
-public class RhinoRequest extends RhinoPacket implements Request {
+public class Request extends Packet {
 
 	private final String command;
 	private final Map arguments = Collections.synchronizedMap(new HashMap());
-	private static int currentSequence = 0;
-	private final int sequence;
-	
+
 	/**
 	 * Constructor
 	 * 
 	 * @param command the command, <code>null</code> is not accepted
 	 */
-	public RhinoRequest(String command) {
+	public Request(String command) {
 		super(JSONConstants.REQUEST);
 		if(command == null) {
 			throw new IllegalArgumentException("The request command kind cannot be null"); //$NON-NLS-1$
 		}
 		this.command = command.intern();
-		this.sequence = nextSequence();
 	}
 
 	/**
@@ -45,7 +40,7 @@
 	 * 
 	 * @param json map of JSON attributes, <code>null</code> is not accepted
 	 */
-	public RhinoRequest(Map json) {
+	public Request(Map json) {
 		super(json);
 		if(json == null) {
 			throw new IllegalArgumentException("The JSON map for a request packet cannot be null"); //$NON-NLS-1$
@@ -54,33 +49,26 @@
 		this.command = packetCommand.intern();
 		Map packetArguments = (Map) json.get(JSONConstants.ARGUMENTS);
 		arguments.putAll(packetArguments);
-		Number packetSeq = (Number) json.get(JSONConstants.SEQ);
-		this.sequence = packetSeq.intValue();
 	}
 
 	/**
-	 * @return a next value for the sequence
-	 */
-	private static synchronized int nextSequence() {
-		return ++currentSequence;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Request#getSequence()
-	 */
-	public int getSequence() {
-		return sequence;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Request#getCommand()
+	 * Returns the command that this {@link Request} will was created for.<br>
+	 * <br>
+	 * This method cannot return <code>null</code>
+	 * 
+	 * @return the underlying command, never <code>null</code>
 	 */
 	public String getCommand() {
 		return command;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Request#getArguments()
+	/**
+	 * Returns the complete collection of JSON arguments in the {@link Request}.<br>
+	 * <br>
+	 * This method cannot return <code>null</code>, an empty map will be returned
+	 * if there are no properties.
+	 * 
+	 * @return the arguments or an empty map never <code>null</code>
 	 */
 	public Map getArguments() {
 		return arguments;
@@ -103,11 +91,10 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoPacket#toJSON()
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Packet#toJSON()
 	 */
 	public Map toJSON() {
 		Map json = super.toJSON();
-		json.put(JSONConstants.SEQ, new Integer(sequence));
 		json.put(JSONConstants.COMMAND, command);
 		json.put(JSONConstants.ARGUMENTS, arguments);
 		return json;
@@ -118,7 +105,7 @@
 	 */
 	public String toString() {
 		StringBuffer buffer = new StringBuffer();
-		buffer.append("RhinoRequest: ").append(JSONUtil.write(toJSON())); //$NON-NLS-1$
+		buffer.append("Request: ").append(JSONUtil.write(toJSON())); //$NON-NLS-1$
 		return buffer.toString();
 	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoResponse.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Response.java
similarity index 72%
rename from bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoResponse.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Response.java
index 9d58a7f..636e776 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoResponse.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/Response.java
@@ -12,14 +12,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.eclipse.wst.jsdt.debug.transport.packet.Response;
-
 /**
- * Default {@link RhinoResponse} implementation using JSON
+ * Default {@link Response} implementation using JSON
  * 
  * @since 1.0
  */
-public class RhinoResponse extends RhinoPacket implements Response {
+public class Response extends Packet {
 
 	private final String command;
 	private final int requestSequence;
@@ -34,7 +32,7 @@
 	 * @param requestSequence the sequence
 	 * @param command the command, <code>null</code> is not accepted
 	 */
-	public RhinoResponse(int requestSequence, String command) {
+	public Response(int requestSequence, String command) {
 		super(JSONConstants.RESPONSE);
 		if(command == null) {
 			throw new IllegalArgumentException("The command string for a response packet cannot be null"); //$NON-NLS-1$
@@ -48,7 +46,7 @@
 	 * 
 	 * @param json the JSON map for a response, <code>null</code> is not accepted
 	 */
-	public RhinoResponse(Map json) {
+	public Response(Map json) {
 		super(json);
 		Number packetRequestSeq = (Number) json.get(JSONConstants.REQUEST_SEQ);
 		requestSequence = packetRequestSeq.intValue();
@@ -68,29 +66,42 @@
 		message = (String) json.get(JSONConstants.MESSAGE);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#getRequestSequence()
+	/**
+	 * Returns the request sequence
+	 * 
+	 * @return the request sequence
 	 */
 	public int getRequestSequence() {
 		return requestSequence;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#getCommand()
+	/**
+	 * Returns the underlying command.<br>
+	 * <br>
+	 * This method cannot return <code>null</code>
+	 * 
+	 * @return the underlying command, never <code>null</code>
 	 */
 	public String getCommand() {
 		return command;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#getBody()
+	/**
+	 * Returns the body of the command.<br>
+	 * <br>
+	 * This method cannot return <code>null</code>, if there is no body
+	 * an empty {@link Map} is returned.
+	 *  
+	 * @return the body of the JSON response or an empty {@link Map} never <code>null</code>
 	 */
 	public Map getBody() {
 		return body;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#isSuccess()
+	/**
+	 * Returns <code>true</code> if the {@link Request} was successful
+	 * 
+	 * @return <code>true</code> if the {@link Request} was successful, <code>false</code> otherwise
 	 */
 	public boolean isSuccess() {
 		return success;
@@ -105,8 +116,10 @@
 		this.success = success;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#isRunning()
+	/**
+	 * Returns <code>true</code> if the underlying command is currently running.
+	 * 
+	 * @return <code>true</code> if the underlying command is running, <code>false</code> otherwise
 	 */
 	public boolean isRunning() {
 		return running;
@@ -122,18 +135,18 @@
 	}
 
 	/**
-	 * Returns the status message for this {@link RhinoResponse}.<br>
+	 * Returns the status message for this {@link Response}.<br>
 	 * <br>
 	 * This method can return <code>null</code>
 	 * 
-	 * @return the status message for this {@link RhinoResponse} or <code>null</code>
+	 * @return the status message for this {@link Response} or <code>null</code>
 	 */
 	public String getMessage() {
 		return message;
 	}
 
 	/**
-	 * Set the status message for this {@link RhinoResponse}
+	 * Set the status message for this {@link Response}
 	 * 
 	 * @param message the new message, <code>null</code> is accepted
 	 */
@@ -142,7 +155,7 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoPacket#toJSON()
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Packet#toJSON()
 	 */
 	public Map toJSON() {
 		Map json = super.toJSON();
@@ -162,7 +175,7 @@
 	 */
 	public String toString() {
 		StringBuffer buffer = new StringBuffer();
-		buffer.append("RhinoResponse: ").append(JSONUtil.write(toJSON())); //$NON-NLS-1$
+		buffer.append("Response Packet: ").append(JSONUtil.write(toJSON())); //$NON-NLS-1$
 		return buffer.toString();
 	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoTransportService.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoTransportService.java
deleted file mode 100644
index 8d7c4b7..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoTransportService.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
-
-import java.io.IOException;
-import java.net.Socket;
-
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService;
-
-/**
- * Implementation of a transport service that using a {@link Socket} for communication
- * 
- * @since 1.0
- */
-public class RhinoTransportService extends SocketTransportService {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService#getConnection(java.net.Socket)
-	 */
-	public SocketConnection getConnection(Socket socket) throws IOException {
-		return new RhinoSocketConnection(socket);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService#handleAccept(org.eclipse.wst.jsdt.debug.transport.Connection)
-	 */
-	public void handleAccept(Connection connection) throws IOException {
-		Packet packet = connection.readPacket();
-		if (packet instanceof RhinoRequest) {
-			RhinoRequest request = (RhinoRequest) packet;
-			if (!request.getCommand().equals(JSONConstants.CONNECT)) {
-				throw new IOException("failure establishing connection"); //$NON-NLS-1$
-			}
-			RhinoResponse response = new RhinoResponse(request.getSequence(), request.getCommand());
-			connection.writePacket(response);
-			return;
-		}
-		throw new IOException("failure establishing connection"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService#handleAttach(org.eclipse.wst.jsdt.debug.transport.Connection)
-	 */
-	public void handleAttach(Connection connection) throws IOException {
-		RhinoRequest request = new RhinoRequest(JSONConstants.CONNECT);
-		connection.writePacket(request);
-		Packet packet = connection.readPacket();
-		if (packet instanceof RhinoResponse) {
-			RhinoResponse response = (RhinoResponse) packet;
-			if (!response.getCommand().equals(JSONConstants.CONNECT) || response.getRequestSequence() != request.getSequence() || !response.isSuccess() || !response.isRunning()) {
-				throw new IOException("failure establishing connection"); //$NON-NLS-1$
-			}
-			return;
-		}
-		throw new IOException("failure establishing connection"); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoSocketConnection.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/SocketConnection.java
similarity index 65%
rename from bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoSocketConnection.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/SocketConnection.java
index f3d7a00..425ce20 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/RhinoSocketConnection.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/SocketConnection.java
@@ -8,23 +8,27 @@
  *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
 import java.io.EOFException;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
 import java.net.Socket;
 import java.util.Map;
 
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection;
-
 /**
  * A specialized {@link Connection} that communicates using {@link Socket}s
  * 
  * @since 1.0
  */
-public class RhinoSocketConnection extends SocketConnection {
+public class SocketConnection implements Connection {
+
+	private Writer writer;
+	private Reader reader;
+	private Socket socket;
 
 	/**
 	 * Constructor
@@ -33,34 +37,48 @@
 	 * 
 	 * @throws IOException
 	 */
-	public RhinoSocketConnection(Socket socket) throws IOException {
-		super(socket);
+	public SocketConnection(Socket socket) throws IOException {
+		if(socket == null) {
+			throw new IllegalArgumentException("You cannot create a new SocketConnection on a null Socket"); //$NON-NLS-1$
+		}
+		this.socket = socket;
+		writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), Constants.UTF_8));
+		reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), Constants.UTF_8));
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#isOpen()
+	 */
+	public boolean isOpen() {
+		return !socket.isClosed();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#close()
+	 */
+	public void close() throws IOException {
+		socket.close();
 	}
 	
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection#writePacket(org.eclipse.wst.jsdt.debug.transport.packet.Packet)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#writePacket(org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Packet)
 	 */
 	public void writePacket(Packet packet) throws IOException {
 		String jsonString = JSONUtil.write(packet.toJSON());
 		String count = Integer.toString(jsonString.length());
-		Writer writer = getWriter();
 		writer.write(count);
 		writer.write('\r');
 		writer.write('\n');
 		writer.write(jsonString);
 		writer.flush();
 	}
-	
+
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection#readPacket()
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.Connection#readPacket()
 	 */
 	public Packet readPacket() throws IOException {
-		if(!isOpen()) {
-			throw new IOException("Failed to read more packets: the socket is closed"); //$NON-NLS-1$
-		}
 		StringBuffer buffer = new StringBuffer();
 		int c;
-		Reader reader = getReader();
 		while ((c = reader.read()) != -1) {
 			if (c == '\r')
 				break;
@@ -76,6 +94,7 @@
 		} catch (NumberFormatException e) {
 			throw new IOException("Failed to parse content length: " + buffer.toString()); //$NON-NLS-1$
 		}
+
 		if ('\r' != c || '\n' != (char) reader.read())
 			throw new IOException("Missing CRLF after content length"); //$NON-NLS-1$
 
@@ -88,14 +107,15 @@
 				throw new EOFException();
 			n += count;
 		}
+
 		Map json = (Map) JSONUtil.read(new String(message));
-		String type = RhinoPacket.getType(json);
+		String type = Packet.getType(json);
 		if (EventPacket.TYPE.equals(type))
 			return new EventPacket(json);
 		if (JSONConstants.REQUEST.equals(type))
-			return new RhinoRequest(json);
+			return new Request(json);
 		if (JSONConstants.RESPONSE.equals(type))
-			return new RhinoResponse(json);
+			return new Response(json);
 
 		throw new IOException("Unknown packet type: " + type); //$NON-NLS-1$
 	}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/SocketTransportService.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/SocketTransportService.java
new file mode 100644
index 0000000..085b832
--- /dev/null
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/SocketTransportService.java
@@ -0,0 +1,149 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
+ * program and the accompanying materials are made available under the terms of
+ * the Eclipse Public License v1.0 which accompanies this distribution, and is
+ * available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * Implementation of a transport service that using a {@link Socket} for communication
+ * 
+ * @since 1.0
+ */
+public class SocketTransportService implements TransportService {
+
+	static final Class serverSocketClass = ServerSocket.class; // temporary used to pre-load the ServerSocket.class
+
+	/**
+	 * Key implementation
+	 */
+	public static class SocketListenerKey implements ListenerKey {
+
+		private String address;
+
+		public SocketListenerKey(String address) {
+			this.address = address;
+		}
+
+		public String address() {
+			return address;
+		}
+	}
+
+	/**
+	 * Map of {@link ListenerKey} to {@link ServerSocket}s
+	 */
+	Map listeners = new HashMap();
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#startListening(java.lang.String)
+	 */
+	public synchronized ListenerKey startListening(String address) throws IOException {
+		String host = null;
+		int port = 0;
+		if (address != null) {
+			String[] strings = address.split(Constants.COLON);
+			if (strings.length == 2) {
+				host = strings[0];
+				port = Integer.parseInt(strings[1]);
+			} else {
+				port = Integer.parseInt(strings[0]);
+			}
+		}
+		if (host == null) {
+			host = LOCALHOST;
+		}
+		if (!host.equals(LOCALHOST)) {
+			throw new IllegalArgumentException("Only localhost is supported."); //$NON-NLS-1$
+		}
+		ListenerKey key = new SocketListenerKey(host + Constants.COLON + port);
+		ServerSocket serverSocket = new ServerSocket(port);
+		listeners.put(key, serverSocket);
+		return key;
+
+	};
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#stopListening(org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService.ListenerKey)
+	 */
+	public void stopListening(ListenerKey key) throws IOException {
+		ServerSocket serverSocket = (ServerSocket) listeners.remove(key);
+		if (serverSocket != null) {
+			serverSocket.close();
+		}
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#accept(org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService.ListenerKey, long, long)
+	 */
+	public Connection accept(ListenerKey key, long attachTimeout, long handshakeTimeout) throws IOException {
+		ServerSocket serverSocket = (ServerSocket) listeners.get(key);
+		if (serverSocket == null) {
+			throw new IllegalStateException("Accept failed. Not listening for address: key.address()"); //$NON-NLS-1$
+		}
+		int timeout = (int) attachTimeout;
+		if (timeout > 0) {
+			if (timeout > Integer.MAX_VALUE) {
+				timeout = Integer.MAX_VALUE; // approximately 25 days!
+			}
+			serverSocket.setSoTimeout(timeout);
+		}
+		Connection connection = new SocketConnection(serverSocket.accept());
+		Packet packet = connection.readPacket();
+		if (!(packet instanceof Request)) {
+			throw new IOException("failure establishing_connection"); //$NON-NLS-1$
+		}
+		Request request = (Request) packet;
+		if (!request.getCommand().equals(JSONConstants.CONNECT)) {
+			throw new IOException("failure establishing connection"); //$NON-NLS-1$
+		}
+		Response response = new Response(request.getSequence(), request.getCommand());
+		connection.writePacket(response);
+		return connection;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.debug.internal.core.jsdi.connect.TransportService#attach(java.lang.String, long, long)
+	 */
+	public Connection attach(String address, long attachTimeout, long handshakeTimeout) throws IOException {
+
+		String host = null;
+		int port = 0;
+		if (address != null) {
+			String[] strings = address.split(Constants.COLON);
+			if (strings.length == 2) {
+				host = strings[0];
+				port = Integer.parseInt(strings[1]);
+			} else {
+				port = Integer.parseInt(strings[0]);
+			}
+		}
+		if (host == null) {
+			host = LOCALHOST;
+		}
+		Connection connection = new SocketConnection(new Socket(host, port));
+		Request request = new Request(JSONConstants.CONNECT);
+		connection.writePacket(request);
+
+		Packet packet = connection.readPacket();
+		if (!(packet instanceof Response)) {
+			throw new IOException("failure establishing connection"); //$NON-NLS-1$
+		}
+
+		Response response = (Response) packet;
+		if (!response.getCommand().equals(JSONConstants.CONNECT) || response.getRequestSequence() != request.getSequence() || !response.isSuccess() || !response.isRunning()) {
+			throw new IOException("failure establishing connection"); //$NON-NLS-1$
+		}
+		return connection;
+	}
+}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/exception/TimeoutException.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/TimeoutException.java
similarity index 74%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/exception/TimeoutException.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/TimeoutException.java
index 052dde8..2d1aa0b 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/exception/TimeoutException.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/TimeoutException.java
@@ -6,20 +6,15 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.exception;
-
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-import org.eclipse.wst.jsdt.debug.transport.packet.PacketReceiveManager;
-import org.eclipse.wst.jsdt.debug.transport.packet.PacketSendManager;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
 /**
  * This exception is thrown if the {@link PacketSendManager} or {@link PacketReceiveManager}
- * times out while waiting for a {@link Packet}
+ * times out while waiting for a response
  * 
  * @since 1.0
  */
 public final class TimeoutException extends Exception {
-	
 	private static final long serialVersionUID = 1L;
 
 	/**
@@ -30,4 +25,5 @@
 	public TimeoutException(String message) {
 		super(message);
 	}
+
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/TransportService.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/TransportService.java
similarity index 73%
rename from bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/TransportService.java
rename to bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/TransportService.java
index af0d79a..4850c4c 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/TransportService.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/internal/rhino/transport/TransportService.java
@@ -6,25 +6,29 @@
  * 
  * Contributors: IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport;
+package org.eclipse.wst.jsdt.debug.internal.rhino.transport;
 
 import java.io.IOException;
-import java.net.Socket;
 
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService;
 
 /**
  * A transport service is used to attach and / or listen to a 
- * {@link Connection}.
- * <br><br>
- * This interface is intended to be implemented by clients.
- * A default implementation for {@link Socket} communication is provided in
- * the class {@link SocketTransportService}.
+ * {@link Connection} exactly how the service communicates is an implementation detail.
  * 
  * @since 1.0
  */
 public interface TransportService {
 
+	public static final String LOCALHOST = "localhost"; //$NON-NLS-1$
+	public static final String PORT = "port"; //$NON-NLS-1$
+
+	/**
+	 * Describes a unique address to listen on
+	 */
+	public interface ListenerKey {
+		public String address();
+	}
+
 	/**
 	 * Registers that this service should begin listening to the given address
 	 * 
@@ -43,7 +47,7 @@
 	public void stopListening(ListenerKey listenerKey) throws IOException;
 
 	/**
-	 * Listens for a {@link Connection} to be made to and accepts it. The method can block until a {@link Connection} is made.
+	 * Listens for a connection to be made to and accepts it. The method can block until a connection is made.
 	 * 
 	 * @param listenerKey
 	 * @param attachTimeout
@@ -54,7 +58,7 @@
 	public Connection accept(ListenerKey listenerKey, long attachTimeout, long handshakeTimeout) throws IOException;
 
 	/**
-	 * Attaches to the given address and returns the resulting {@link Connection}. This method can block until a {@link Connection} is made
+	 * Attaches to the given address and returns the resulting connection. This method can block until a connection is made
 	 * 
 	 * @param address
 	 * @param attachTimeout
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugMain.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugMain.java
deleted file mode 100644
index bb19337..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugMain.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.rhino.debugger.shell;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.internal.rhino.debugger.RhinoDebuggerImpl;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoTransportService;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
-import org.mozilla.javascript.Context;
-import org.mozilla.javascript.ContextAction;
-import org.mozilla.javascript.Kit;
-import org.mozilla.javascript.Script;
-import org.mozilla.javascript.Scriptable;
-import org.mozilla.javascript.ScriptableObject;
-import org.mozilla.javascript.tools.ToolErrorReporter;
-import org.mozilla.javascript.tools.shell.Main;
-
-/**
- * A proxy to running {@link Main} that allows us to run a batch of scripts without using the 
- * <code>-e load(...)</code> arguments. As well any argument not paired to a known kind (see below) will be considered
- * as an absolute path to a script (*.js) file.
- * <br><br>
- * This runner supports the following:
- * <ul>
- * <li><code>-debug</code> to have the interpreter generate debugging tracing</li>
- * <li><code>-e [script_src]</code> to evaluate the following argument as a script</li>
- * <li><code>-encoding</code> to set the character encoding to use</li>
- * <li><code>-f [absolute_file_paths]</code> to specify one or more *.js files to evaluate. This argument differs
- * from the Rhino {@link Main} one, in that any following arguments will be treated as absolute
- * paths to script (*.js) files.</li>
- * <li><code>-fatal-warnings</code> to have all warnings are treated as error</li>
- * <li><code>-help</code> or <code>-?</code>, to pretty-print the available commands</li>
- * <li><code>-opt</code> or <code>-O</code> to set the optimization level. Where available levels are -1 (interpret only), 0 (none), 1-9 (all optimizations)</li>
- * <li><code>-port [port]</code> to set the port to communicate on</li>
- * <li><code>-sealedlib</code> to set the standard libraries as sealed - meaning they cannot be modified by any evaluating script(s)</li>
- * <li><code>-strict</code> to set the interpreter in strict mode and report all warnings</li>
- * <li><code>-suspend</code> to set if the debugger should start suspended and wait for a client to connect before continuing</li>
- * <li><code>-trace</code> to enabled debugger tracing</li>
- * <li><code>-version [version_number]</code>, where <code>version_number</code> is one of: 100, 110, 120, 130, 140, 150, 160, 170</li>
- * <li><code>-w</code> to report warnings</li>
- * </ul>
- * <br>
- * The following examples assume you have properly set up your classpath to reference <code>org.mozilla.javascript.jar</code>,
- * <code>org.eclipse.wst.jsdt.debug.rhino.debugger.jar</code> and <code>org.eclipse.wst.jsdt.debug.transport</code>. Also the 
- * fully qualified name use to run DebugMain is <code>org.eclipse.wst.jsdt.debug.rhino.debugger.shell.DebugMain</code>
- * Examples
- * <br><br>
- * <code>%>java DebugMain -opt 7 -strict -f /home/user/scripts/a.js /home/user/scripts/b.js -version 170</code>
- * <code>%> java DebugMain -version 140 -e load('/home/user/scripts/a.js','/home/user/scripts/b.js')</code>
- * @since 1.1
- */
-public class DebugMain {
-
-	/**
-	 * Class to run an evaluated script when using <code>-e</code>
-	 */
-	static class Evaluator implements ContextAction {
-		String scriptsrc = null;
-		String[] scripts = null;
-		
-		/* (non-Javadoc)
-		 * @see org.mozilla.javascript.ContextAction#run(org.mozilla.javascript.Context)
-		 */
-		public Object run(Context cx) {
-			if(scriptsrc == null && scripts == null) {
-				throw Kit.codeBug();
-			}
-			if(scriptsrc != null) {
-				Script script = Main.loadScriptFromSource(cx, scriptsrc, FROM_EVAL, 0, null);
-				if(script != null) {
-					Main.evaluateScript(script, cx, Main.getGlobal());
-				}
-			}
-			Object[] array = new Object[scripts.length];
-	        System.arraycopy(scripts, 0, array, 0, scripts.length);
-			Scriptable argsObj = cx.newArray(Main.global, array);
-	        Main.global.defineProperty(GLOBAL_ARGUMENTS, argsObj, ScriptableObject.DONTENUM);
-	        for (int i = 0; i < scripts.length; i++) {
-				Main.processFile(cx, Main.global, scripts[i]);
-			}
-			return null; 
-		}
-		
-		void reset() {
-			scriptsrc = null;
-			scripts = null;
-		}
-	}
-	
-	/**
-	 * Constant representing the debug argument
-	 * <br><br>
-	 * Value is: <code>-debug</code>
-	 */
-	public static final String ARG_DEBUG = "-debug"; //$NON-NLS-1$
-	/**
-	 * Constant representing the evaluate argument
-	 * <br><br>
-	 * Value is: <code>-e</code>
-	 */
-	public static final String ARG_E = "-e"; //$NON-NLS-1$
-	/**
-	 * Constant representing the encoding argument
-	 * <br><br>
-	 * Value is: <code>-encoding</code>
-	 */
-	public static final String ARG_ENCODING = "-encoding"; //$NON-NLS-1$
-	/**
-	 * Constant representing the script file(s) argument
-	 * <br><br>
-	 * Value is: <code>-f</code>
-	 */
-	public static final String ARG_F = "-f"; //$NON-NLS-1$
-	/**
-	 * Constant representing the fatal-warnings argument
-	 * <br><br>
-	 * Value is: <code>-fatal-warnings</code>
-	 */
-	public static final String ARG_FATAL_WARNINGS = "-fatal-warnings"; //$NON-NLS-1$
-	/**
-	 * Constant representing the help argument
-	 * <br><br>
-	 * Value is: <code>-help</code>
-	 */
-	public static final String ARG_HELP = "-help"; //$NON-NLS-1$
-	/**
-	 * Constant representing the optimization argument
-	 * <br><br>
-	 * Value is: <code>-O</code>
-	 */
-	public static final String ARG_O = "-O"; //$NON-NLS-1$
-	/**
-	 * Constant representing the optimization argument
-	 * <br><br>
-	 * Value is: <code>-opt</code>
-	 */
-	public static final String ARG_OPT = "-opt"; //$NON-NLS-1$
-	/**
-	 * Constant representing the help argument
-	 * <br><br>
-	 * Value is: <code>-?</code>
-	 */
-	public static final String ARG_QM = "-?"; //$NON-NLS-1$
-	/**
-	 * Constant representing the sealed lib argument
-	 * <br><br>
-	 * Value is: <code>-sealedlib</code>
-	 */
-	public static final String ARG_SEALEDLIB = "-sealedlib"; //$NON-NLS-1$
-	/**
-	 * Constant representing the strict argument
-	 * <br><br>
-	 * Value is: <code>-strict</code>
-	 */
-	public static final String ARG_STRICT = "-strict"; //$NON-NLS-1$
-	/**
-	 * Constant representing the version argument
-	 * <br><br>
-	 * Value is: <code>-version</code>
-	 */
-	private static final String ARG_VERSION = "-version"; //$NON-NLS-1$
-	/**
-	 * Constant representing the report warnings argument
-	 * <br><br>
-	 * Value is: <code>-w</code>
-	 */
-	public static final String ARG_W = "-w"; //$NON-NLS-1$
-	/**
-	 * Constant representing the invalid message identifier for {@link Main}
-	 * <br><br>
-	 * Value is: <code>msg.shell.invalid</code>
-	 */
-	public static final String MSG_SHELL_INVALID = "msg.shell.invalid"; //$NON-NLS-1$
-	/**
-	 * Constant representing the invalid usage message identifier for {@link Main}
-	 * <br><br>
-	 * Value is: <code>msg.shell.usage</code>
-	 */
-	public static final String MSG_SHELL_USAGE = "msg.shell.usage"; //$NON-NLS-1$
-	/**
-	 * Copy from {@link Main} to specify as the path when evaluating a script via the <code>-e</code> argument
-	 * <br><br>
-	 * Value is: <code>&lt;command&gt;</code>
-	 */
-	public static final String FROM_EVAL = "<command>"; //$NON-NLS-1$
-	/**
-	 * Constant representing the name of the array containing the original script arguments in the global context
-	 * <br><br>
-	 * Value is: <code>arguments</code>
-	 */
-	public static final String GLOBAL_ARGUMENTS = "arguments"; //$NON-NLS-1$
-
-	private static Evaluator evaluate = new Evaluator();
-	
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		ToolErrorReporter reporter = new ToolErrorReporter(true);
-		Main.shellContextFactory.setErrorReporter(reporter);
-		startDebugger(args);
-		ArrayList scripts = new ArrayList();
-		processArgs(args, scripts, reporter);
-		if(scripts.size() > 0) {
-			checkGlobal();
-			evaluate.reset();
-			evaluate.scripts = (String[]) scripts.toArray(new String[scripts.size()]);
-			Main.shellContextFactory.call(evaluate);
-		}
-	}
-
-	static void startDebugger(String[] args) {
-		String port = DebugShell.DEFAULT_PORT;
-		boolean suspend = false, 
-		        trace = false;
-		for (int i = 0; i < args.length; i++) {
-			if (DebugShell.ARG_PORT.equals(args[i])) {
-    			port = args[++i];
-    		} 
-			else if (DebugShell.ARG_SUSPEND.equals(args[i])) {
-				suspend = DebugShell.isSuspend(args[++i]);
-    		}
-    		else if(DebugShell.ARG_TRACE.equals(args[i])) {
-    			trace = Boolean.valueOf(args[++i]).booleanValue();
-    		}
-		}
-		TransportService service = new RhinoTransportService();
-		RhinoDebuggerImpl debugger = new RhinoDebuggerImpl(service, port, suspend, trace);
-		try {
-			debugger.start();
-			Main.shellContextFactory.addListener(debugger);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	}
-	
-	/**
-	 * Walks over the original argument list and sets the corresponding arguments in Rhino
-	 * 
-	 * @param originalargs
-	 * @param scriptcollector
-	 * @param reporter
-	 */
-	static void processArgs(String[] originalargs, List scriptcollector, ToolErrorReporter reporter) {
-		try {
-			for (int i = 0; i < originalargs.length; i++) {
-				String arg = originalargs[i];
-	    		if(ARG_DEBUG.equals(arg)) {
-					Main.shellContextFactory.setGeneratingDebug(true);
-				}
-				else if(ARG_E.equals(arg)) {
-					peekArg(originalargs, i, false);
-					checkGlobal();
-	                evaluate.scriptsrc = originalargs[++i];
-	                Main.shellContextFactory.call(evaluate);
-				}
-				else if(ARG_ENCODING.equals(arg)) {
-					peekArg(originalargs, i, false);
-	                String enc = originalargs[++i];
-	                Main.shellContextFactory.setCharacterEncoding(enc);
-	            }
-				else if (ARG_F.equals(arg)) {
-	                peekArg(originalargs, i, false);
-	                String script = originalargs[++i];
-	                try {
-		                do {
-		                	scriptcollector.add(script);
-		                	peekArg(originalargs, i, false);
-		                	script = originalargs[++i];
-		                } while(true);
-	                }
-	                catch(IllegalArgumentException iae) {
-	                	//do nothing, we are done collecting
-	                }
-	            }
-				else if (ARG_FATAL_WARNINGS.equals(arg)) {
-	                Main.shellContextFactory.setWarningAsError(true);
-	            }
-				else if (ARG_QM.equals(arg) || ARG_HELP.equals(arg)) {
-	                Main.global.getOut().println(ToolErrorReporter.getMessage(MSG_SHELL_USAGE, Main.class.getName()));
-	                System.exit(1);
-		        }
-				else if(ARG_VERSION.equals(arg)) {
-	            	peekArg(originalargs, i, false);
-	                int version;
-	                try {
-	                    version = Integer.parseInt(originalargs[++i]);
-	                } catch (NumberFormatException ex) {
-	                    throw new IllegalArgumentException(originalargs[i]);
-	                }
-	                if (!Context.isValidLanguageVersion(version)) {
-	                	 throw new IllegalArgumentException(originalargs[i]);
-	                }
-	                Main.shellContextFactory.setLanguageVersion(version);
-	            }
-				else if (ARG_OPT.equals(arg) || ARG_O.equals(arg)) {
-					peekArg(originalargs, i, true);
-	                int opt;
-	                try {
-	                    opt = Integer.parseInt(originalargs[++i]);
-	                } catch (NumberFormatException ex) {
-	                   throw new IllegalArgumentException(originalargs[i]);
-	                }
-	                if (opt == -2) {
-	                    // Compatibility with Cocoon Rhino fork
-	                    opt = -1;
-	                } else if (!Context.isValidOptimizationLevel(opt)) {
-	                	throw new IllegalArgumentException(originalargs[i]);
-	                }
-	                Main.shellContextFactory.setOptimizationLevel(opt);
-	            }
-				else  if (ARG_SEALEDLIB.equals(arg)) {
-	            	Main.global.setSealedStdLib(true);
-	            }
-				else if (ARG_STRICT.equals(arg)) {
-	                Main.shellContextFactory.setStrictMode(true);
-	                reporter.setIsReportingWarnings(true);
-	            }
-				else if (ARG_W.equals(arg)) {
-	                reporter.setIsReportingWarnings(true);
-	            }
-			}
-		}
-		catch(IllegalArgumentException iae) {
-			Main.global.getOut().println(ToolErrorReporter.getMessage(MSG_SHELL_INVALID, iae.getMessage()));
-	        Main.global.getOut().println(ToolErrorReporter.getMessage(MSG_SHELL_USAGE, Main.class.getName()));
-	        System.exit(1);
-		}
-	}
-	
-	/**
-	 * Checks to see if the global context has been initialized, if not, it is initialized
-	 */
-	static void checkGlobal() {
-		if(!Main.global.isInitialized()) {
-        	Main.global.init(Main.shellContextFactory);
-        }
-	}
-	
-	/**
-	 * peeks at the next argument entry to see if it exists and is not another <code>-&lt;arg&gt;</code>
-	 * @param args
-	 * @param idx
-	 * @param ignoreswitch
-	 * @throws IllegalArgumentException if the next argument is not valid
-	 */
-	static void peekArg(String[] args, int idx, boolean ignoreswitch) throws IllegalArgumentException {
-		if((idx+1 < args.length)) {
-			if(!args[idx+1].startsWith("-") || ignoreswitch) { //$NON-NLS-1$
-				return;
-			}
-		}
-		throw new IllegalArgumentException(args[idx]);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugShell.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugShell.java
index 6741692..485333c 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugShell.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino.debugger/src/org/eclipse/wst/jsdt/debug/rhino/debugger/shell/DebugShell.java
@@ -8,13 +8,11 @@
  *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.rhino.debugger.shell;
 
-import java.text.DateFormat;
 import java.util.ArrayList;
-import java.util.Calendar;
 
 import org.eclipse.wst.jsdt.debug.internal.rhino.debugger.RhinoDebuggerImpl;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoTransportService;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.SocketTransportService;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TransportService;
 import org.mozilla.javascript.tools.shell.Main;
 
 /**
@@ -24,109 +22,39 @@
  */
 public final class DebugShell {
 	
-    /**
-	 * Constant representing the default port
-	 * <br><br>
-	 * Value is: <code>9888</code>
-	 */
-	public static final String DEFAULT_PORT = "9888"; //$NON-NLS-1$
-	/**
-	 * Constant representing the trace argument
-	 * <br><br>
-	 * Value is: <code>-trace</code>
-	 */
-	public static final String ARG_TRACE = "-trace"; //$NON-NLS-1$
-	/**
-	 * Constant representing the suspend argument
-	 * <br><br>
-	 * Value is: <code>-suspend</code>
-	 */
-	public static final String ARG_SUSPEND = "-suspend"; //$NON-NLS-1$
-	/**
-	 * Constant representing the port argument
-	 * <br><br>
-	 * Value is: <code>-port</code>
-	 */
-	public static final String ARG_PORT = "-port"; //$NON-NLS-1$
-
-	public static void main(String args[]) {
+    public static void main(String args[]) {
     	
-    	String port = DEFAULT_PORT;
+    	String port = "9888"; //$NON-NLS-1$
     	boolean suspend = false;
-    	boolean trace = true;
     	
     	ArrayList argList = new ArrayList();
     	for (int i = 0; i < args.length; i++) {
     		String arg = args[i];
-    		if (ARG_PORT.equals(arg)) {
+    		if (arg.equals("-port")) { //$NON-NLS-1$
     			port = args[++i];
+    		} else if (arg.equals("-suspend")) { //$NON-NLS-1$
+    			suspend = Boolean.valueOf(args[++i]).booleanValue();
+    		} else if (arg.equals("-debug")) { //$NON-NLS-1$
+    			// skip
+    			argList.add(args[i]);
     			continue;
-    		} else if (ARG_SUSPEND.equals(arg)) {
-    			suspend = isSuspend(args[++i]);
+    		} else if (arg.equals("-opt")) { //$NON-NLS-1$
+    			// skip
+    			argList.add(args[i]);
+    			i++;
     			continue;
     		}
-    		else if(ARG_TRACE.equals(arg)) {
-    			trace = Boolean.valueOf(args[++i]).booleanValue();
-    			continue;
-    		}
-    		//forward all other args to Rhino
-    		argList.add(arg);
 		}
     	String[] newArgs = (String[]) argList.toArray(new String[0]); 
     	
-		TransportService service = new RhinoTransportService();
-		RhinoDebuggerImpl debugger = new RhinoDebuggerImpl(service, port, suspend, trace);
+		TransportService service = new SocketTransportService();
+		RhinoDebuggerImpl debugger = new RhinoDebuggerImpl(service, port, suspend);
 		try {
-			if(trace) {
-				prettyPrintHeader(suspend, port);
-			}
 			debugger.start();
 			Main.shellContextFactory.addListener(debugger);
-			Main.exec(newArgs);
+			Main.main(newArgs);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
     }
-	
-	/**
-	 * Pretty print the header for the debugger
-	 * 
-	 * @since 1.1
-	 */
-	static void prettyPrintHeader(boolean suspended, String port) {
-		StringBuffer buffer = new StringBuffer();
-		buffer.append("Rhino debugger\n"); //$NON-NLS-1$
-		buffer.append("Start at time: ").append(getStartAtDate()); //$NON-NLS-1$
-		buffer.append("\nListening to socket on"); //$NON-NLS-1$
-		buffer.append("port: ").append(port); //$NON-NLS-1$
-		if (suspended) {
-			buffer.append("\nStarted suspended - waiting for client resume..."); //$NON-NLS-1$
-		}
-		System.out.println(buffer.toString());
-	}
-	
-	/**
-	 * Returns the formatted date
-	 * 
-	 * @return the formatted date
-	 * @see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4981314
-	 * @since 1.1
-	 */
-	static String getStartAtDate() {
-		try {
-			return DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(Calendar.getInstance().getTime());
-		} catch (Throwable t) {
-			return "<unknown>"; //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Returns if the given argument should suspend 
-	 * @param arg
-	 * @return <code>true</code> if the argument is "true" or "y"
-	 */
-	public static boolean isSuspend(String arg) {
-		return Boolean.valueOf(arg).booleanValue() || 
-		       "y".equals(arg.toLowerCase());  //$NON-NLS-1$
-	}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.classpath b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.project b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.project
deleted file mode 100644
index af8f95c..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.jsdt.debug.rhino.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index de9eac3..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,90 +0,0 @@
-#Fri Apr 30 10:04:28 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index d1b1a29..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,30 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.rhino.ui;singleton:=true
-Bundle-Version: 1.0.1.qualifier
-Bundle-Activator: org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoUIPlugin
-Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.jdt.launching,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.wst.jsdt.core,
- org.eclipse.wst.jsdt.manipulation,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.wst.jsdt.debug.ui,
- org.eclipse.ui.ide,
- org.eclipse.wst.jsdt.debug.rhino.debugger,
- org.eclipse.wst.jsdt.debug.rhino,
- org.eclipse.wst.jsdt.debug.core,
- org.mozilla.javascript;bundle-version="1.7.2",
- org.eclipse.core.expressions,
- org.eclipse.wst.jsdt.ui
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.wst.jsdt.debug.internal.rhino.ui;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.rhino.ui.preferences;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.rhino.ui.source;x-internal:=true
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 54204db..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-providerName = Eclipse Web Tools Platform
-Bundle-Name = Rhino Debug UI
-launchConfigurationType.name = Rhino JavaScript
-launchDelegate.name = Rhino JavaScript Launcher
-launchDelegate.description = Allows Rhino to be debugged with a single click
-sourceLocator.name = Rhino Source Locator
-launchConfigurationTabGroup.description = This tab group allows you to create and configure launches for Rhino
-scriptRenameParticipant.name = Rhino Script Rename Participant
-scriptMoveParticipant.name = Rhino Script Move Participant
-projectRenameParticipant.name = Rhino Project Rename Participant
-folderRenameParticipant.name = Rhino Folder Rename Participant
-folderMoveParticipant.name = Rhino Folder Move Participant
-shortcut.description = Launches an all-in-one Rhino interpreter and debugger
-shortcut.label = Rhino JavaScript
-description.description = Debugs a script or project of scripts in the Rhino interpreter
-
-rhinoDebugPrefPage.name = Rhino
-rhinoDebugKeyword.label = rhino,debug,debugging,javascript.suspend,breakpoint,stdin,resume
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/about.html b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/about.html
deleted file mode 100644
index b3906a9..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/about.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 20, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<h4>Ispell 3.1.20</h4>
-
-<p>The plug-in is accompanied by software developed by Geoff Kuenning.  The following files:</p>
-<ul>
-	<li>dictionaries/en_US.dictionary</li>
-	<li>dictionaries/en_GB.dictionary</li>
-</ul>
-
-<p>are based on Ispell 3.1.20.  The home page for Ispell is located at <a href="http://lasr.cs.ucla.edu/geoff/ispell.html" target="_blank">http://lasr.cs.ucla.edu/geoff/ispell.html</a>.</p>
-
-<p>Your use of Ispell 3.1.20 in the plug-in is subject to the terms and conditions of the Ispell license.  A copy of the Ispell license is included in
-<a href="about_files/ispell-license.txt" target="_blank">about_files/ispell-license.txt</a> and is also reproduced below:</p>
-
-<blockquote>
-  Copyright 1993, Geoff Kuenning, Granada Hills, CA<br />
-  All rights reserved.<br />
-<br />
-  Redistribution and use in source and binary forms, with or without<br />
-  modification, are permitted provided that the following conditions<br />
-  are met:<br />
-<br />
-  1. Redistributions of source code must retain the above copyright<br />
-     notice, this list of conditions and the following disclaimer.<br />
-  2. Redistributions in binary form must reproduce the above copyright<br />
-     notice, this list of conditions and the following disclaimer in the<br />
-     documentation and/or other materials provided with the distribution.<br />
-  3. All modifications to the source code must be clearly marked as<br />
-     such.  Binary redistributions based on modified source code<br />
-     must be clearly marked as modified versions in the documentation<br />
-     and/or other materials provided with the distribution.<br />
-  4. All advertising materials mentioning features or use of this software<br />
-     must display the following acknowledgment:<br />
-     This product includes software developed by Geoff Kuenning and<br />
-     other unpaid contributors.<br />
-  5. The name of Geoff Kuenning may not be used to endorse or promote<br />
-     products derived from this software without specific prior<br />
-     written permission.<br />
-<br />
-  THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS<br />
-  IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br />
-  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS<br />
-  FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL GEOFF<br />
-  KUENNING OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,<br />
-  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,<br />
-  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;<br />
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER<br />
-  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT<br />
-  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN<br />
-  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br />
-  POSSIBILITY OF SUCH DAMAGE.<br />
-</blockquote>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/build.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/build.properties
deleted file mode 100644
index 6e8c762..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               OSGI-INF/l10n/bundle.properties,\
-               icons/,\
-               about.html,\
-               OSGI-INF/
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/library.gif b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/library.gif
deleted file mode 100755
index cb55e33..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/library.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/main_tab.gif b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/main_tab.gif
deleted file mode 100755
index 9b9f79a..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/main_tab.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/rhino.gif b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/rhino.gif
deleted file mode 100644
index f3ba88b..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/rhino.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/script.gif b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/script.gif
deleted file mode 100644
index 1753b96..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/icons/elcl16/script.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/plugin.xml b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/plugin.xml
deleted file mode 100644
index c7d1819..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/plugin.xml
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.eclipse.debug.core.launchConfigurationTypes">
-      <launchConfigurationType
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type"
-            modes="debug"
-            name="%launchConfigurationType.name"
-            public="true"
-            sourceLocatorId="org.eclipse.wst.jsdt.debug.rhino.ui.source.locator">
-      </launchConfigurationType>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.launchDelegates">
-      <launchDelegate
-            delegate="org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.RhinoLocalLaunchDelegate"
-            delegateDescription="%launchDelegate.description"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.local.launch.delegate"
-            modes="debug"
-            name="%launchDelegate.name"
-            sourceLocatorId="org.eclipse.wst.jsdt.debug.rhino.ui.source.locator"
-            sourcePathComputerId="org.eclipse.wst.jsdt.debug.rhino.ui.source.path.computer"
-            type="org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type">
-      </launchDelegate>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.sourceLocators">
-      <sourceLocator
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.source.RhinoSourceDirector"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.source.locator"
-            name="%sourceLocator.name">
-      </sourceLocator>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-      <launchConfigurationTypeImage
-            configTypeID="org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type"
-            icon="$nl$/icons/elcl16/rhino.gif"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.launch.configuration.image">
-      </launchConfigurationTypeImage>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-      <launchConfigurationTabGroup
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.RhinoTabGroup"
-            description="%launchConfigurationTabGroup.description"
-            helpContextId="rhino_tab_group_context"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.launchConfigurationTabGroup1"
-            type="org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type">
-      </launchConfigurationTabGroup>
-   </extension>
-   <extension
-         point="org.eclipse.ltk.core.refactoring.renameParticipants">
-      <renameParticipant
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.ScriptRenameParticipant"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.script.rename.participant"
-            name="%scriptRenameParticipant.name">
-         <enablement>
-            <with
-                  variable="element">
-               <instanceof
-                     value="org.eclipse.core.resources.IFile">
-               </instanceof>
-            </with>
-         </enablement>
-      </renameParticipant>
-      <renameParticipant
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.ProjectRenameParticipant"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.project.rename.participant"
-            name="%projectRenameParticipant.name">
-         <enablement>
-            <with
-                  variable="element">
-               <instanceof
-                     value="org.eclipse.core.resources.IProject">
-               </instanceof>
-            </with>
-         </enablement>
-      </renameParticipant>
-      <renameParticipant
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.FolderRenameParticipant"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.folder.rename.participant"
-            name="%folderRenameParticipant.name">
-         <enablement>
-            <with
-                  variable="element">
-               <instanceof
-                     value="org.eclipse.core.resources.IFolder">
-               </instanceof>
-            </with>
-         </enablement>
-      </renameParticipant>
-   </extension>
-   <extension
-         point="org.eclipse.ltk.core.refactoring.moveParticipants">
-      <moveParticipant
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.ScriptMoveParticipant"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.script.move.participant"
-            name="%scriptMoveParticipant.name">
-         <enablement>
-            <with
-                  variable="element">
-               <instanceof
-                     value="org.eclipse.core.resources.IFile">
-               </instanceof>
-            </with>
-         </enablement>
-      </moveParticipant>
-      <moveParticipant
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.FolderMoveParticipant"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.folder.move.participant"
-            name="%folderMoveParticipant.name">
-         <enablement>
-            <with
-                  variable="element">
-               <instanceof
-                     value="org.eclipse.core.resources.IFolder">
-               </instanceof>
-            </with></enablement>
-      </moveParticipant>
-   </extension>
-   <extension
-         point="org.eclipse.debug.ui.launchShortcuts">
-      <shortcut
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.RhinoLaunchShortcut"
-            description="%shortcut.description"
-            helpContextId="rhino_launch_shortcut"
-            icon="$nl$/icons/elcl16/rhino.gif"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.launch.shortcut"
-            label="%shortcut.label"
-            modes="debug">
-         <description
-               description="%description.description"
-               mode="debug">
-         </description>
-         <configurationType
-               id="org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type">
-         </configurationType>
-         <contextualLaunch>
-            <enablement>
-               <with
-                     variable="selection">
-                  <count
-                        value="1">
-                  </count>
-                  <iterate>
-                     <and>
-                        <adapt
-                              type="org.eclipse.wst.jsdt.core.IJavaScriptElement">
-                        </adapt>
-                        <test
-                              property="rhino.ui.isScript">
-                        </test>
-                        <with
-                              variable="org.eclipse.core.runtime.Platform">
-                           <test
-                                 args="org.eclipse.wst.jsdt.debug.rhino"
-                                 property="org.eclipse.core.runtime.bundleState"
-                                 value="ACTIVE">
-                           </test>
-                        </with>
-                     </and>
-                  </iterate>
-               </with>
-            </enablement>
-         </contextualLaunch>
-      </shortcut>
-   </extension>
-   <extension
-         point="org.eclipse.debug.core.sourcePathComputers">
-      <sourcePathComputer
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.source.RhinoSourcePathComputer"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.source.path.computer">
-      </sourcePathComputer>
-   </extension>
-   <extension
-         point="org.eclipse.core.expressions.propertyTesters">
-      <propertyTester
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoPropertyTester"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.property.tester"
-            namespace="rhino.ui"
-            properties="isScript"
-            type="org.eclipse.core.runtime.IAdaptable">
-      </propertyTester>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            category="org.eclipse.wst.jsdt.debug.ui.debug.page"
-            class="org.eclipse.wst.jsdt.debug.internal.rhino.ui.preferences.RhinoDebugPreferencePage"
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.debug.pref.page"
-            name="%rhinoDebugPrefPage.name">
-         <keywordReference
-               id="org.eclipse.wst.jsdt.debug.rhino.ui.pref.page.keyword">
-         </keywordReference>
-         <keywordReference
-               id="org.eclipse.wst.jsdt.debug.ui.debug.pref.page.keyword">
-         </keywordReference>
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.keywords">
-      <keyword
-            id="org.eclipse.wst.jsdt.debug.rhino.ui.pref.page.keyword"
-            label="%rhinoDebugKeyword.label">
-      </keyword>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/IHelpConstants.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/IHelpConstants.java
deleted file mode 100644
index 4e2a89a..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/IHelpConstants.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-/**
- * Collection of help constants
- * 
- * @since 1.0
- */
-public interface IHelpConstants {
-	
-	/**
-	 * The help context id for the Rhino main tab in the launch dialog
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.rhino.ui.rhino_main_tab_context</code>
-	 */
-	public static final String MAIN_TAB_CONTEXT = RhinoUIPlugin.PLUGIN_ID + ".rhino_main_tab_context"; //$NON-NLS-1$
-	/**
-	 * The help context id for the Rhino include tab in the launch dialog
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.rhino.ui.rhino_include_tab_context</code>
-	 */
-	public static final String INCLUDE_TAB_CONTEXT = RhinoUIPlugin.PLUGIN_ID + ".rhino_include_tab_context"; //$NON-NLS-1$
-	/**
-	 * The help context id for the Rhino source tab in the launch dialog
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.rhino.ui.rhino_source_tab_context</code>
-	 */
-	public static final String SOURCE_TAB_CONTEXT = RhinoUIPlugin.PLUGIN_ID + ".rhino_source_tab_context"; //$NON-NLS-1$
-	/**
-	 * The help context id for the Rhino common tab in the launch dialog
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.rhino.ui.rhino_common_tab_context</code>
-	 */
-	public static final String COMMON_TAB_CONTEXT = RhinoUIPlugin.PLUGIN_ID + ".rhino_common_tab_context"; //$NON-NLS-1$
-	/**
-	 * The help context id for the Rhino preference page
-	 * <br><br>
-	 * The value is: <code>org.eclipse.wst.jsdt.debug.rhino.ui.rhino_preference_page</code>
-	 */
-	public static final String RHINO_PREFERENCE_PAGE = RhinoUIPlugin.PLUGIN_ID + ".rhino_preference_page"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ILaunchConstants.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ILaunchConstants.java
deleted file mode 100644
index 1d7f9a3..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ILaunchConstants.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-/**
- * Constants used for launching
- * 
- * @since 1.0
- */
-public interface ILaunchConstants {
-
-	/**
-	 * The script attribute in a Rhino launch configuration
-	 * <br><br>
-	 * Value is: <code>script</code>
-	 */
-	public static final String ATTR_SCRIPT = "script";  //$NON-NLS-1$
-	/**
-	 * The log attribute in a Rhino launch configuration
-	 * <br><br>
-	 * Value is: <code>logexceptions</code>
-	 */
-	public static final String ATTR_LOG_INTERPRETER_EXCEPTIONS = "logexceptions"; //$NON-NLS-1$
-	/**
-	 * The EMCA version to interpret with attribute in a Rhino configuration
-	 * <br><br>
-	 * Value is: <code>emcaversion</code>
-	 */
-	public static final String ATTR_ECMA_VERSION = "ecmaversion"; //$NON-NLS-1$
-	/**
-	 * The Rhino optimization level attribute for a Rhino configuration
-	 * <br><br>
-	 * Value is: <code>optlevel</code>
-	 */
-	public static final String ATTR_OPT_LEVEL = "optlevel"; //$NON-NLS-1$
-	/**
-	 * The strict mode attribute in a Rhino configuration
-	 * <br><br>
-	 * Value is: <code>strictmode</code>
-	 */
-	public static final String ATTR_STRICT_MODE = "strictmode"; //$NON-NLS-1$
-	/**
-	 * The include path attribute in a Rhino configuration
-	 * <br><br>
-	 * Value is: <code>includepath</code>
-	 */
-	public static final String ATTR_INCLUDE_PATH = "includepath"; //$NON-NLS-1$
-	/**
-	 * The id for the Rhino launch configuration type
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type</code>
-	 */
-	public static final String LAUNCH_CONFIG_TYPE = "org.eclipse.wst.jsdt.debug.rhino.ui.launch.config.type"; //$NON-NLS-1$
-	/**
-	 * The empty string
-	 */
-	public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-	/**
-	 * The ECMA version level for 1.7
-	 * <br><br>
-	 * Value is: <code>170</code>
-	 */
-	public static final String ECMA_170 = "170"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ISharedImages.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ISharedImages.java
deleted file mode 100644
index 69171ee..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ISharedImages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-/**
- * Describes images that are in the image registry
- * 
- * @since 1.0
- */
-public interface ISharedImages {
-
-	//ELCL
-	/**
-	 * Default script image
-	 */
-	public static final String IMG_SCRIPT = "IMG_SCRIPT"; //$NON-NLS-1$
-	/**
-	 * Image for the Rhino launch configuration type
-	 */
-	public static final String IMG_RHINO = "IMG_RHINO"; //$NON-NLS-1$
-	/**
-	 * Image for the main tab of a Rhino launch configuration
-	 */
-	public static final String IMG_MAIN_TAB = "IMG_MAIN_TAB"; //$NON-NLS-1$
-	/**
-	 * Image for the library object
-	 */
-	public static final String IMG_LIBRARY = "IMG_LIBRARY"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ImageDescriptorRegistry.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ImageDescriptorRegistry.java
deleted file mode 100644
index ecef73a..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/ImageDescriptorRegistry.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
- 
-import java.util.HashMap;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * A registry that maps <code>ImageDescriptors</code> to <code>Image</code>.
- * 
- * @since 1.0
- */
-public class ImageDescriptorRegistry {
-
-	private HashMap fRegistry= new HashMap(10);
-	private Display fDisplay;
-	
-	/**
-	 * Creates a new image descriptor registry for the current or default display,
-	 * respectively.
-	 */
-	public ImageDescriptorRegistry() {
-		this(PlatformUI.getWorkbench().getDisplay());
-	}
-	
-	/**
-	 * Creates a new image descriptor registry for the given display. All images
-	 * managed by this registry will be disposed when the display gets disposed.
-	 * 
-	 * @param display the display the images managed by this registry are allocated for 
-	 */
-	public ImageDescriptorRegistry(Display display) {
-		fDisplay= display;
-		Assert.isNotNull(fDisplay);
-		hookDisplay();
-	}
-	
-	/**
-	 * Returns the image associated with the given image descriptor.
-	 * 
-	 * @param descriptor the image descriptor for which the registry manages an image
-	 * @return the image associated with the image descriptor or <code>null</code>
-	 *  if the image descriptor can't create the requested image.
-	 */
-	public Image get(ImageDescriptor descriptor) {
-		ImageDescriptor desc = descriptor;
-		if (desc == null) {
-			desc = ImageDescriptor.getMissingImageDescriptor();
-		}
-		Image result = (Image)fRegistry.get(desc);
-		if (result != null) {
-			return result; 
-		}
-		result = desc.createImage();
-		if (result != null) {
-			fRegistry.put(desc, result);
-		}
-		return result;
-	}
-
-	/**
-	 * Disposes all images managed by this registry.
-	 */	
-	public void dispose() {
-		for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
-			Image image= (Image)iter.next();
-			image.dispose();
-		}
-		fRegistry.clear();
-	}
-	
-	private void hookDisplay() {
-		fDisplay.asyncExec(new Runnable() {
-			public void run() {
-			fDisplay.disposeExec(new Runnable() {
-				public void run() {
-					dispose();
-				}	
-			});			
-			}
-		});
-
-	}
-}
-
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoAdapterFactory.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoAdapterFactory.java
deleted file mode 100644
index b38b363..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoAdapterFactory.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-
-/**
- * Adapter factory for Rhino UI
- * 
- * @since 1.0
- */
-public class RhinoAdapterFactory implements IAdapterFactory {
-
-	static WorkbenchAdapter wsAdapter = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public synchronized Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType.equals(IWorkbenchAdapter.class)) {
-			if(wsAdapter == null) {
-				wsAdapter = new WorkbenchAdapter();
-			}
-			return wsAdapter;
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] {IWorkbenchAdapter.class};
-	}
-}
-
-/**
- * A workbench adapter
- * 
- * @since 1.0
- */
-class WorkbenchAdapter implements IWorkbenchAdapter {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object o) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getImageDescriptor(java.lang.Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object object) {
-		
-		return null;
-	}
-
-	/**
-	 * Returns an image descriptor for a JavaScript element, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param element JavaScript element
-	 * @return an image descriptor for a JavaScript element, or <code>null</code>
-	 * if none
-	 */
-	protected ImageDescriptor getImageDescriptor(IJavaScriptElement element) {
-		IWorkbenchAdapter adapter = (IWorkbenchAdapter)element.getAdapter(IWorkbenchAdapter.class);
-		if (adapter != null) {
-			return adapter.getImageDescriptor(element);
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getLabel(java.lang.Object)
-	 */
-	public String getLabel(Object o) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.model.IWorkbenchAdapter#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object o) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoImageRegistry.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoImageRegistry.java
deleted file mode 100644
index d25156b..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoImageRegistry.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.PlatformUI;
-import org.osgi.framework.Bundle;
-
-/**
- * Image registry for shared images used in JavaScript Debug UI
- * 
- * @since 1.0
- */
-public final class RhinoImageRegistry {
-
-	/** 
-	 * The image registry containing <code>Image</code>s and <code>ImageDescriptor</code>s.
-	 */
-	private static ImageRegistry imageRegistry;
-	private static ImageDescriptorRegistry descRegistry;
-	
-	private static String ICONS_PATH = "$nl$/icons/"; //$NON-NLS-1$
-	
-	/**
-	 * Icon paths
-	 */
-	final static String ELCL = ICONS_PATH + "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$
-	final static String OVR = ICONS_PATH + "ovr16/"; //overlays //$NON-NLS-1$
-	final static String DLCL = ICONS_PATH + "dlcl16/"; //disabled icons //$NON-NLS-1$
-	
-	/**
-	 * Declare all images
-	 */
-	private static void declareImages() {
-		//ELCL
-		declareRegistryImage(ISharedImages.IMG_SCRIPT, ELCL + "script.gif"); //$NON-NLS-1$
-		declareRegistryImage(ISharedImages.IMG_RHINO, ELCL + "rhino.gif"); //$NON-NLS-1$
-		declareRegistryImage(ISharedImages.IMG_MAIN_TAB, ELCL + "main_tab.gif"); //$NON-NLS-1$
-		declareRegistryImage(ISharedImages.IMG_LIBRARY, ELCL + "library.gif"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Declare an Image in the registry table.
-	 * @param key 	The key to use when registering the image
-	 * @param path	The path where the image can be found. This path is relative to where
-	 *				this plugin class is found (i.e. typically the packages directory)
-	 */
-	private final static void declareRegistryImage(String key, String path) {
-		ImageDescriptor desc = ImageDescriptor.getMissingImageDescriptor();
-		Bundle bundle = Platform.getBundle(RhinoUIPlugin.PLUGIN_ID);
-		URL url = null;
-		if (bundle != null){
-			url = FileLocator.find(bundle, new Path(path), null);
-			if(url != null) {
-				desc = ImageDescriptor.createFromURL(url);
-			}
-		}
-		imageRegistry.put(key, desc);
-	}
-	
-	/**
-	 * Returns the shared image for the given key or <code>null</code>.
-	 * @param key
-	 * @return the requested image or <code>null</code> if the image does not exist
-	 */
-	public static Image getSharedImage(String key) {
-		if (imageRegistry == null) {
-			initializeImageRegistry();
-		}
-		return imageRegistry.get(key);
-	}
-	
-	/**
-	 * Initializes the registry if it has not been already
-	 * @return the initialized registry
-	 */
-	private synchronized static ImageRegistry initializeImageRegistry() {
-		if (imageRegistry == null) {
-			imageRegistry = new ImageRegistry(PlatformUI.getWorkbench().getDisplay());
-			declareImages();
-		}
-		return imageRegistry;
-	}
-	
-	/**
-	 * Creates the image from the descriptor and caches it for proper disposal
-	 * @param descriptor
-	 * @return
-	 */
-	public static Image getImage(ImageDescriptor descriptor) {
-		if(descRegistry == null) {
-			descRegistry = new ImageDescriptorRegistry();
-		}
-		return descRegistry.get(descriptor);
-	}
-	
-	/**
-	 * Disposes the image registry
-	 */
-	public static void dispose() {
-		if(imageRegistry != null) {
-			imageRegistry.dispose();
-		}
-		if(descRegistry != null) {
-			descRegistry.dispose();
-		}
-	}
-	
-	/**
-	 * Constructor
-	 */
-	private RhinoImageRegistry() {
-		// no direct instantiation
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoPropertyTester.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoPropertyTester.java
deleted file mode 100644
index 60ae97d..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoPropertyTester.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-
-/**
- * Property tester for launching, etc
- * <br><br>
- * Provides the following tests:
- * <ol>
- * <li><code>isContainer</code> - if the selected item is a container</li>
- * <li><code>isScript</code> - if the selected element is a script</li>
- * </ol>
- * @since 1.0
- */
-public class RhinoPropertyTester extends PropertyTester {
-
-	static final String IS_SCRIPT = "isScript"; //$NON-NLS-1$
-	
-	/**
-	 * Constructor
-	 */
-	public RhinoPropertyTester() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
-	 */
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		if(receiver instanceof IAdaptable) {
-			IAdaptable adaptable = (IAdaptable) receiver;
-			if(IS_SCRIPT.equals(property)) {
-				return isScript(adaptable);
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns if the element is a container or not
-	 * @param element
-	 * @return <code>true</code> if the element is a script <code>false</code> otherwise
-	 */
-	boolean isScript(IAdaptable element) {
-		IJavaScriptElement jselement = (IJavaScriptElement) element.getAdapter(IJavaScriptElement.class);
-		if(jselement != null) {
-			int type = jselement.getElementType();
-			return type == IJavaScriptElement.JAVASCRIPT_UNIT;
-		}
-		IFile file = (IFile) element.getAdapter(IFile.class);
-		if(file != null) {
-			return "js".equals(file.getFileExtension()); //$NON-NLS-1$
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoUIPlugin.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoUIPlugin.java
deleted file mode 100644
index 423f0e8..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/RhinoUIPlugin.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
-import org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class RhinoUIPlugin extends AbstractUIPlugin {
-
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-	
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.jsdt.debug.rhino.ui"; //$NON-NLS-1$
-
-	// The shared instance
-	private static RhinoUIPlugin plugin;
-	private static IPreferenceStore corestore = new ScopedPreferenceStore(InstanceScope.INSTANCE, RhinoDebugPlugin.PLUGIN_ID);
-	
-	/**
-	 * The constructor
-	 */
-	public RhinoUIPlugin() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static RhinoUIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		if (plugin != null) {
-			plugin.getLog().log(status);
-		}
-	}
-
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(newErrorStatus("Error logged from Rhino Debug: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		log(newErrorStatus("Internal message logged from Rhino Debug: " + message, null)); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, INTERNAL_ERROR, message, exception);
-	}
-	
-	/**
-	 * Returns the active workbench window or <code>null</code> if there is no active window
-	 * 
-	 * @see IWorkbench
-	 * @see IWorkbenchWindow
-	 * @return the active workbench window or <code>null</code>
-	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}	
-	
-	/**
-	 * Returns the active workbench page or <code>null</code> if it cannot be resolved
-	 * 
-	 * @see IWorkbench
-	 * @see IWorkbenchWindow
-	 * @see IWorkbenchPage
-	 * @return the active workbench page or <code>null</code>
-	 */
-	public static IWorkbenchPage getActivePage() {
-		IWorkbenchWindow w = getActiveWorkbenchWindow();
-		if (w != null) {
-			return w.getActivePage();
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns the {@link IPreferenceStore} wrapper for the {@link RhinoDebugPlugin} preferences
-	 * 
-	 * @return the {@link IPreferenceStore} for the Rhino core preferences
-	 */
-	public static IPreferenceStore getCorePreferenceStore() {
-		return corestore;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/IncludeEntry.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/IncludeEntry.java
deleted file mode 100644
index 8c33c9b..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/IncludeEntry.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * Describes an entry in the include path for a Rhino {@link ILaunchConfiguration}
- * 
- * @since 1.1
- */
-public class IncludeEntry {
-	
-	public static final int LOCAL_SCRIPT = 1;
-	public static final int EXT_SCRIPT = 2;
-	
-	int kind = -1;
-	String path = null;
-	
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param kind
-	 * @param path
-	 * @param index
-	 */
-	public IncludeEntry(int kind, String path) {
-		this.kind = kind;
-		this.path = path;
-	}
-	
-	/**
-	 * @return the kind
-	 */
-	public int getKind() {
-		return kind;
-	}
-	
-	/**
-	 * @return the path
-	 */
-	public String getPath() {
-		return path;
-	}
-	
-	/**
-	 * @return the combined entry for an {@link ILaunchConfiguration} memento
-	 */
-	public String string() {
-		return kind+path;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if(obj instanceof IncludeEntry) {
-			IncludeEntry entry = (IncludeEntry) obj;
-			return kind == entry.kind && path.equals(entry.path);
-		}
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return kind + path.hashCode();
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/IncludeTab.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/IncludeTab.java
deleted file mode 100644
index 8815896..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/IncludeTab.java
+++ /dev/null
@@ -1,399 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.IHelpConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ISharedImages;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoImageRegistry;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.Refactoring;
-import org.eclipse.wst.jsdt.debug.internal.ui.SWTFactory;
-import org.eclipse.wst.jsdt.debug.internal.ui.dialogs.ScriptSelectionDialog;
-
-/**
- * Launch configuration tab to allows users to specify what additional
- * scripts should be interpreted by Rhino when launching
- * 
- * @since 1.0
- */
-public class IncludeTab extends AbstractLaunchConfigurationTab {
-
-	class Contents implements ITreeContentProvider {
-		public Object[] getElements(Object inputElement) {
-			return ((Vector)inputElement).toArray();
-		}
-		public Object[] getChildren(Object parentElement) {return null;}
-		public void dispose() {}
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
-		public Object getParent(Object element) {return null;}
-		public boolean hasChildren(Object element) {return false;}
-		
-	}
-	class Labels extends LabelProvider {
-		public Image getImage(Object element) {
-			IncludeEntry entry = (IncludeEntry) element;
-			switch(entry.kind) {
-				case IncludeEntry.LOCAL_SCRIPT: {
-					return RhinoImageRegistry.getSharedImage(ISharedImages.IMG_SCRIPT);
-				}
-				case IncludeEntry.EXT_SCRIPT: {
-					return PlatformUI.getWorkbench().getSharedImages().getImage(org.eclipse.ui.ISharedImages.IMG_OBJ_FILE);
-				}
-			}
-			return null;
-		}
-		public String getText(Object element) {
-			IncludeEntry entry = (IncludeEntry) element;
-			return entry.path;
-		}
-	}
-	
-	/**
-	 * Default filter for the workspace folder selection dialog
-	 */
-	class ContainerFilter extends ViewerFilter {
-		public boolean select(Viewer viewer, Object parentElement, Object element) {
-			return element instanceof IContainer && ((IContainer)element).isAccessible(); 
-		}
-		
-	}
-	
-	/**
-	 * The id for this tab.
-	 * <br><br>
-	 * Value is: <code>thino.include.tab</code>
-	 */
-	public static final String TAB_ID = "rhino.include.tab"; //$NON-NLS-1$
-	/**
-	 * Standard JavaScript extension
-	 * <br><br>
-	 * Value is: <code>*.js</code>
-	 */
-	public static final String JS_EXTENSION = "*.js"; //$NON-NLS-1$
-	
-	private TreeViewer viewer = null;
-	private Button remove = null,
-	               addexternalscript = null,
-	               addscript = null,
-	               defaults = null,
-	               up = null,
-	               down = null;
-	private Vector includes = new Vector();
-	private ILaunchConfiguration backingconfig = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_HORIZONTAL);
-		SWTFactory.createWrapLabel(comp, Messages.include_path, 2);
-		Tree tree = new Tree(comp, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
-		tree.setLayout(new GridLayout(1, true)); 
-		tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		viewer = new TreeViewer(tree);
-		viewer.setLabelProvider(new Labels());
-		viewer.setContentProvider(new Contents());
-		viewer.setInput(includes);
-		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtons((IStructuredSelection) event.getSelection());
-			}
-		});
-		Composite lhs = SWTFactory.createComposite(comp, comp.getFont(), 1, 1, GridData.FILL_VERTICAL, 0, 0);
-		up = SWTFactory.createPushButton(lhs, Messages.up_button, null);
-		up.setEnabled(false);
-		up.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				up(((IStructuredSelection)viewer.getSelection()).getFirstElement());
-			}
-		});
-		down = SWTFactory.createPushButton(lhs, Messages.down_button, null);
-		down.setEnabled(false);
-		down.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				down(((IStructuredSelection)viewer.getSelection()).getFirstElement());
-			}
-		});
-		remove = SWTFactory.createPushButton(lhs, Messages.remove_button, null);
-		remove.setEnabled(false);
-		remove.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				remove((IStructuredSelection)viewer.getSelection());
-			}
-		});
-		addscript = SWTFactory.createPushButton(lhs, Messages.add_script_button, null);
-		addscript.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addScript();
-			}
-		});
-		addexternalscript = SWTFactory.createPushButton(lhs, Messages.add_ext_script_button, null);
-		addexternalscript.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addExtScript();
-			}
-		});
-		SWTFactory.createHorizontalSpacer(lhs, 1);
-		defaults = SWTFactory.createPushButton(lhs, Messages.defaults_button, null);
-		defaults.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				defaults();	
-			}
-		});
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IHelpConstants.INCLUDE_TAB_CONTEXT);
-		setControl(comp);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getHelpContextId()
-	 */
-	public String getHelpContextId() {
-		return IHelpConstants.INCLUDE_TAB_CONTEXT;
-	}
-	
-	/**
-	 * Updates the buttons based on the selection from the viewer
-	 * 
-	 * @param selection
-	 */
-	void updateButtons(IStructuredSelection selection) {
-		int size = selection.size();
-		if(size == 1) {
-			//up / down
-			Object element = selection.getFirstElement();
-			int idx = includes.indexOf(element);
-			up.setEnabled(idx > 0);
-			down.setEnabled(idx < includes.size() -1);
-		}
-		else {
-			if(up != null) {
-				up.setEnabled(false);
-			}
-			if(down != null) {
-				down.setEnabled(false);
-			}
-		}
-		remove.setEnabled(size > 0);
-	}
-	
-	/**
-	 * Prompts the user to select a script from the workspace to include
-	 */
-	void addScript() {
-		ScriptSelectionDialog dialog = new ScriptSelectionDialog(getShell(), true, ResourcesPlugin.getWorkspace().getRoot());
-		if(dialog.open() == IDialogConstants.OK_ID) {
-			Object[] scripts = dialog.getResult();
-			IncludeEntry newentry = null;
-			for (int i = 0; i < scripts.length; i++) {
-				newentry = new IncludeEntry(IncludeEntry.LOCAL_SCRIPT, ((IFile)scripts[i]).getFullPath().makeAbsolute().toString());
-				if(!includes.contains(newentry)) {
-					includes.add(newentry);
-				}
-			}
-			viewer.refresh();
-			updateLaunchConfigurationDialog();
-		}
-	}
-	
-	/**
-	 * Moves the selected element up one spot in the tree
-	 * 
-	 * @param element
-	 */
-	void up(Object element) {
-		int idx = includes.indexOf(element);
-		if(idx < 0) {
-			return;
-		}
-		includes.remove(idx);
-		includes.insertElementAt(element, idx-1);
-		viewer.refresh();
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Moves the selected element down one spot in the tree
-	 * 
-	 * @param element
-	 */
-	void down(Object element) {
-		int idx = includes.indexOf(element);
-		if(idx < 0) {
-			return;
-		}
-		includes.remove(idx);
-		includes.insertElementAt(element, idx+1);
-		viewer.refresh();
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Removes the selected element from the tree
-	 * 
-	 * @param selection
-	 */
-	void remove(IStructuredSelection selection) {
-		includes.removeAll(selection.toList());
-		viewer.refresh();
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Restores the tab to the defaults computed against the currently specified script
-	 */
-	void defaults() {
-		includes.clear();
-		viewer.refresh();
-		/*try {
-			IFile script = Refactoring.getScript(backingconfig);
-			if(script != null) {
-				includes.clear();
-				includes.add(new IncludeEntry(IncludeTab.LOCAL_SCRIPT, script.getFullPath().makeAbsolute().toOSString()));
-				viewer.refresh();
-			}
-		}
-		catch(CoreException ce) {
-			//ignore
-		}*/
-		updateLaunchConfigurationDialog();
-	}
-	
-	/**
-	 * Prompts the user to select a new folder from the local file system to include
-	 */
-	void addExtScript() {
-		FileDialog dialog = new FileDialog(getShell(), SWT.OPEN | SWT.MULTI);
-		dialog.setFilterExtensions(new String[] {JS_EXTENSION});
-		dialog.setFilterIndex(0);
-		dialog.setText(Messages.select_scripts_to_add);
-		if(dialog.open() != null) {
-			String[] names = dialog.getFileNames();
-			if(names != null && names.length > 0) {
-				String path = dialog.getFilterPath();
-				if(path != null) {
-					boolean added = false;
-					for (int i = 0; i < names.length; i++) {
-						File script = new File(path, names[i]);
-						if(script.exists()) {
-							includes.add(new IncludeEntry(IncludeEntry.EXT_SCRIPT, new Path(script.getAbsolutePath()).toString()));
-							added = true;
-						}
-					}
-					if(added) {
-						viewer.refresh();
-						updateLaunchConfigurationDialog();
-					}
-				}
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		/*try {
-			IFile script = Refactoring.getScript(configuration);
-			if(script != null) {
-				includes.add(new IncludeEntry(IncludeEntry.LOCAL_SCRIPT, script.getFullPath().makeAbsolute().toString()));
-			}
-			ArrayList list = new ArrayList(includes.size());
-			for (Iterator i = includes.iterator(); i.hasNext();) {
-				list.add(((IncludeEntry)i.next()).string());
-			}
-			configuration.setAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, list);
-		}
-		catch(CoreException ce) {
-			//ignore
-		}*/
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		backingconfig = configuration;
-		includes.clear();
-		IncludeEntry[] entries = Refactoring.getIncludeEntries(backingconfig);
-		for (int i = 0; i < entries.length; i++) {
-			includes.add(entries[i]);
-		}
-		viewer.refresh();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		if(includes.isEmpty()) {
-			configuration.removeAttribute(ILaunchConstants.ATTR_INCLUDE_PATH);
-		}
-		else {
-			ArrayList list = new ArrayList(includes.size());
-			for (Iterator i = includes.iterator(); i.hasNext();) {
-				list.add(((IncludeEntry)i.next()).string());
-			}
-			configuration.setAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, list);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return Messages.include_tab_name;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return RhinoImageRegistry.getSharedImage(ISharedImages.IMG_LIBRARY);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 */
-	public String getId() {
-		return TAB_ID;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/Messages.java
deleted file mode 100644
index fa8aacb..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/Messages.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * @since 1.0
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.messages"; //$NON-NLS-1$
-	public static String _script;
-	public static String add_ext_script_button;
-	public static String add_script_button;
-	public static String bro_wse;
-	public static String computing_script_scope;
-	public static String config_name;
-	public static String configuring_rhino_debugger;
-	public static String connect_thread;
-	public static String creating_js_debug_target;
-	public static String creating_rhino_vm;
-	public static String defaults_button;
-	public static String down_button;
-	public static String ecma_version_to_interpret_with;
-	public static String failed_to_compute_scope;
-	public static String include_path;
-	public static String include_tab_name;
-	public static String launch_script;
-	public static String launching__;
-	public static String log_interpreter_exceptions;
-	public static String main;
-	public static String options_group_name;
-	public static String process_label;
-	public static String provide_script_for_project;
-	public static String remove_button;
-	public static String rhino_opt_level;
-	public static String script_not_a_file;
-	public static String script_not_accessible;
-	public static String script_not_in_workspace;
-	public static String script_selection;
-	public static String select_existing_config;
-	public static String select_rhino_config;
-	public static String select_scripts_to_add;
-	public static String starting_rhino_interpreter;
-	public static String starting_rhino_process;
-	public static String strict_mode;
-	public static String up_button;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoLaunchShortcut.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoLaunchShortcut.java
deleted file mode 100644
index 96c7c02..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoLaunchShortcut.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.ILaunchShortcut2;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoUIPlugin;
-
-/**
- * Shortcut for launching JavaScript using Rhino
- * 
- * @since 1.0
- */
-public class RhinoLaunchShortcut implements ILaunchShortcut2 {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.jface.viewers.ISelection, java.lang.String)
-	 */
-	public void launch(ISelection selection, String mode) {
-		launch(getLaunchableResource(selection), mode);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String)
-	 */
-	public void launch(IEditorPart editor, String mode) {
-		launch(getLaunchableResource(editor), mode);
-	}
-
-	/**
-	 * Handles the launch
-	 * 
-	 * @param resource
-	 * @param mode
-	 */
-	void launch(IResource resource, String mode) {
-		if(resource != null) {
-			ILaunchConfiguration config = findConfig(resource);
-			if(config == null) {
-				//TODO should we select a script to launch if a container is selected?
-				ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(ILaunchConstants.LAUNCH_CONFIG_TYPE);
-				String project = resource.getProject().getName();
-				String script = (resource instanceof IFile ? resource.getFullPath().toString() : null);
-				try {
-					if(script != null) {
-						ILaunchConfigurationWorkingCopy copy = type.newInstance(null, NLS.bind(Messages.config_name, new String[]{project, resource.getName()}));
-						copy.setAttribute(ILaunchConstants.ATTR_SCRIPT, script);
-						copy.setAttribute(ILaunchConstants.ATTR_LOG_INTERPRETER_EXCEPTIONS, true);
-						copy.setAttribute(ILaunchConstants.ATTR_ECMA_VERSION, ILaunchConstants.ECMA_170);
-						copy.setAttribute(ILaunchConstants.ATTR_OPT_LEVEL, -1);
-						copy.setAttribute(ILaunchConstants.ATTR_STRICT_MODE, false);
-						copy.setMappedResources(new IResource[] {resource});
-						config = copy.doSave();
-					}
-				}
-				catch (CoreException ce) {
-					RhinoUIPlugin.log(ce);
-				}
-			}
-			if(config != null) {
-				DebugUITools.launch(config, mode);
-			}
-		}
-	}
-	
-	/**
-	 * Finds an existing configuration to launch, returns <code>null</code> if none found, prompts for selection if
-	 * more than one found.
-	 * 
-	 * @param resource the resource to find the configuration for
-	 * @return
-	 */
-	ILaunchConfiguration findConfig(IResource resource) {
-		List candidates = Collections.EMPTY_LIST;
-		try {
-			ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
-			ILaunchConfigurationType type = lm.getLaunchConfigurationType(ILaunchConstants.LAUNCH_CONFIG_TYPE);
-			ILaunchConfiguration[] configs = lm.getLaunchConfigurations(type);
-			candidates = new ArrayList(configs.length);
-			for (int i = 0; i < configs.length; i++) {
-				ILaunchConfiguration config = configs[i];
-				if(config.hasAttribute(ILaunchConstants.ATTR_SCRIPT)) {
-					if (config.getAttribute(ILaunchConstants.ATTR_SCRIPT, ILaunchConstants.EMPTY_STRING).equals(resource.getFullPath().toString())) {
-						candidates.add(config);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			RhinoUIPlugin.log(e);
-		}
-		int candidateCount = candidates.size();
-		if (candidateCount == 1) {
-			return (ILaunchConfiguration) candidates.get(0);
-		} else if (candidateCount > 1) {
-			return chooseConfiguration(candidates);
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns a configuration from the given collection of configurations that should be launched,
-	 * or <code>null</code> to cancel. Default implementation opens a selection dialog that allows
-	 * the user to choose one of the specified launch configurations.  Returns the chosen configuration,
-	 * or <code>null</code> if the user cancels.
-	 * 
-	 * @param configList list of configurations to choose from
-	 * @return configuration to launch or <code>null</code> to cancel
-	 */
-	protected ILaunchConfiguration chooseConfiguration(List configList) {
-		IDebugModelPresentation labelProvider = DebugUITools.newDebugModelPresentation();
-		ElementListSelectionDialog dialog= new ElementListSelectionDialog(RhinoUIPlugin.getActiveWorkbenchWindow().getShell(), labelProvider);
-		dialog.setElements(configList.toArray());
-		dialog.setTitle(Messages.select_rhino_config);  
-		dialog.setMessage(Messages.select_existing_config);
-		dialog.setMultipleSelection(false);
-		int result = dialog.open();
-		labelProvider.dispose();
-		if (result == Window.OK) {
-			return (ILaunchConfiguration) dialog.getFirstResult();
-		}
-		return null;		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchConfigurations(org.eclipse.jface.viewers.ISelection)
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(ISelection selection) {
-		//framework will resolve based on resource mappings
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchConfigurations(org.eclipse.ui.IEditorPart)
-	 */
-	public ILaunchConfiguration[] getLaunchConfigurations(IEditorPart editorpart) {
-		//framework will resolve based on resource mappings
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchableResource(org.eclipse.jface.viewers.ISelection)
-	 */
-	public IResource getLaunchableResource(ISelection selection) {
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ss = (IStructuredSelection)selection;
-			Object obj = ss.getFirstElement();
-			if (obj instanceof IAdaptable) {
-				return getResource((IAdaptable) obj);
-			}
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchableResource(org.eclipse.ui.IEditorPart)
-	 */
-	public IResource getLaunchableResource(IEditorPart editorpart) {
-		return getResource(editorpart.getEditorInput());
-	}
-	
-	/**
-	 * Returns the resource backing the {@link IAdaptable} providing it has an {@link IJavaScriptElement}
-	 * adapter.
-	 * 
-	 * @param adaptable
-	 * @return the backing {@link IResource} or <code>null</code>
-	 */
-	IResource getResource(IAdaptable adaptable) {
-		IJavaScriptElement element = (IJavaScriptElement) adaptable.getAdapter(IJavaScriptElement.class);
-		if(element != null) {
-			return element.getResource();
-		}
-		return (IResource) adaptable.getAdapter(IResource.class);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoLocalLaunchDelegate.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoLocalLaunchDelegate.java
deleted file mode 100644
index 2fb1c23..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoLocalLaunchDelegate.java
+++ /dev/null
@@ -1,657 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.IOException;
-import java.text.CharacterIterator;
-import java.text.DateFormat;
-import java.text.StringCharacterIterator;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.core.runtime.URIUtil;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate2;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.jdt.internal.launching.StandardVMType;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.jsdt.core.IJavaScriptModelMarker;
-import org.eclipse.wst.jsdt.core.ITypeRoot;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.AttachingConnector;
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptDebugTarget;
-import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.connect.HostArgument;
-import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.connect.PortArgument;
-import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.connect.RhinoAttachingConnector;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.Refactoring;
-import org.mozilla.javascript.JavaScriptException;
-import org.osgi.framework.Bundle;
-
-/**
- * A launch delegate to support launching scripts in a single configuration launch
- * 
- * @since 1.0
- */
-public class RhinoLocalLaunchDelegate implements ILaunchConfigurationDelegate2 {
-
-	/**
-	 * Polls for connecting to the Rhino interpreter
-	 */
-	class ConnectRunnable implements Runnable {
-
-		VirtualMachine vm = null;
-		Exception exception = null;
-		private AttachingConnector connector = null;
-		private Map args = null;
-		
-		ConnectRunnable(AttachingConnector connector, Map args) {
-			this.connector = connector;
-			this.args = args;
-		}
-		/* (non-Javadoc)
-		 * @see java.lang.Runnable#run()
-		 */
-		public void run() {
-			try {
-				long start = System.currentTimeMillis();
-				Exception inner = null;
-				do {
-					try {
-						vm = connector.attach(args);
-					}
-					catch(Exception e) {
-						inner = e;
-					}
-				} while(vm == null && System.currentTimeMillis() < start + 15000);
-				if(vm == null) {
-					throw inner;
-				}
-			}
-			catch(Exception e) {
-				exception = e;
-			}
-		}
-	}
-	
-	class Filter implements FileFilter {
-		public boolean accept(File pathname) {
-			return pathname.isDirectory() || JavaScriptCore.isJavaScriptLikeFileName(pathname.getName());
-		}
-	}
-	
-	/**
-	 * The name of the main class to run
-	 * <br><br>
-	 * Value is: <code>"org.eclipse.wst.jsdt.debug.rhino.debugger.shell.DebugShell"</code>
-	 */
-	public static final String DEBUG_SHELL_CLASS = "org.eclipse.wst.jsdt.debug.rhino.debugger.shell.DebugMain"; //$NON-NLS-1$
-	/**
-	 * The name of the main class to run
-	 * <br><br>
-	 * Value is: <code>"org.mozilla.javascript.tools.shell.Main"</code>
-	 */
-	public static final String RHINO_MAIN_CLASS = "org.mozilla.javascript.tools.shell.Main"; //$NON-NLS-1$
-	/**
-	 * The symbolic name of the Mozilla Rhino bundle
-	 * <br><br>
-	 * Value is: <code>org.mozilla.javascript</code>
-	 */
-	public static final String MOZILLA_JAVASCRIPT_BUNDLE = "org.mozilla.javascript"; //$NON-NLS-1$
-	/**
-	 * The symbolic name of the debug transport bundle
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.transport</code>
-	 */
-	public static final String DEBUG_TRANSPORT_BUNDLE = "org.eclipse.wst.jsdt.debug.transport"; //$NON-NLS-1$
-	/**
-	 * The symbolic name of the Rhino debug interface bundle
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.rhino.debugger</code>
-	 */
-	private static final String RHINO_DEBUGGER_BUNDLE = "org.eclipse.wst.jsdt.debug.rhino.debugger"; //$NON-NLS-1$
-	
-	/**
-	 * Array of the bundles required to launch
-	 */
-	public static final String[] REQUIRED_BUNDLES = {MOZILLA_JAVASCRIPT_BUNDLE, DEBUG_TRANSPORT_BUNDLE, RHINO_DEBUGGER_BUNDLE};
-	
-	private ArrayList scope = null;
-	private ITypeRoot script = null;
-	
-	synchronized ITypeRoot getScript(ILaunchConfiguration configuration) throws CoreException {
-		if(this.script == null) {
-			IResource resource = Refactoring.getScript(configuration);
-			if(resource != null) {
-				this.script = (ITypeRoot) JavaScriptCore.create((IFile)resource);
-			}
-		}
-		return this.script;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate#launch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.debug.core.ILaunch, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void launch(ILaunchConfiguration configuration, String mode,	ILaunch launch, IProgressMonitor monitor) throws CoreException {
-		SubMonitor localmonitor = SubMonitor.convert(monitor, NLS.bind(Messages.launching__, configuration.getName()), 8);
-		int port = SocketUtil.findFreePort();
-		localmonitor.subTask(Messages.starting_rhino_interpreter);
-		//launch the interpreter
-		if(localmonitor.isCanceled()) {
-			return;
-		}
-		localmonitor.worked(1);
-		VirtualMachine vm = null;
-		Process p = null;
-		try {
-			localmonitor.subTask(Messages.configuring_rhino_debugger);
-			if(localmonitor.isCanceled()) {
-				return;
-			}
-			localmonitor.worked(1);
-			//compute commandline args
-			ArrayList cmdargs = new ArrayList();
-			addVMArgs(configuration, launch, cmdargs);
-			addConnectionArgs(port, cmdargs);
-			addECMAVersion(configuration, cmdargs);
-			addEncoding(launch, cmdargs);
-			addOptLevel(configuration, cmdargs);
-			addStrictMode(configuration, cmdargs);
-			addFArg(cmdargs);
-			
-			p = DebugPlugin.exec((String[]) cmdargs.toArray(new String[cmdargs.size()]), null);
-			HashMap args = new HashMap();
-			args.put(HostArgument.HOST, "localhost"); //$NON-NLS-1$
-			args.put(PortArgument.PORT, Integer.toString(port));
-			
-			localmonitor.subTask(Messages.creating_rhino_vm);
-			if(localmonitor.isCanceled()) {
-				cancel(vm, p);
-				return;
-			}
-			localmonitor.worked(1);
-			RhinoAttachingConnector connector = new RhinoAttachingConnector();
-			ConnectRunnable runnable = new ConnectRunnable(connector, args);
-			Thread thread = new Thread(runnable, Messages.connect_thread);
-			thread.setDaemon(true);
-			thread.start();
-			while(thread.isAlive()) {
-				if(localmonitor.isCanceled()) {
-					cancel(vm, p);
-					thread.interrupt();
-				}
-				try {
-					Thread.sleep(100);
-				}
-				catch (Exception e) {
-				}
-			}
-			if(runnable.exception != null) {
-				throw runnable.exception;
-			}
-			if(runnable.vm == null) {
-				throw new IOException("Failed to connect to Rhino interpreter."); //$NON-NLS-1$
-			}
-			vm = runnable.vm;
-			localmonitor.subTask(Messages.starting_rhino_process);
-			if(localmonitor.isCanceled()) {
-				cancel(vm, p);
-				return;
-			}
-			localmonitor.worked(1);
-			RhinoProcess process = new RhinoProcess(launch, p, computeProcessName(connector, args));
-			process.setAttribute(IProcess.ATTR_CMDLINE, formatCommandlineArgs(cmdargs));
-			launch.addProcess(process);
-			localmonitor.subTask(Messages.creating_js_debug_target);
-			if(localmonitor.isCanceled()) {
-				cancel(vm, p);
-				return;
-			}
-			localmonitor.worked(1);
-			JavaScriptDebugTarget target = new JavaScriptDebugTarget(vm, process, launch, true, false);
-			launch.addDebugTarget(target);
-			if(localmonitor.isCanceled()) {
-				cancel(vm, p);
-				return;
-			}
-			localmonitor.worked(1);
-			return;
-		}
-		catch(IOException ioe) {
-			cancel(vm, p);
-			RhinoUIPlugin.log(ioe);
-		}
-		catch(Exception e) {
-			if(e instanceof JavaScriptException) {
-				//ignore certain exceptions from code
-				if(configuration.getAttribute(ILaunchConstants.ATTR_LOG_INTERPRETER_EXCEPTIONS, true)) {
-					RhinoUIPlugin.log(e);
-				}
-				return;
-			}
-			cancel(vm, p);
-			RhinoUIPlugin.log(e);
-		}
-		finally {
-			if(scope != null) {
-				scope.clear();
-				scope = null;
-			}
-			script = null;
-		}
-		launch.terminate();
-		return;
-	}
-
-	/**
-	 * Stops + cleans up on cancellation / failure
-	 * 
-	 * @param vm
-	 * @param process
-	 */
-	void cancel(VirtualMachine vm, Process process) {
-		if(process != null) {
-			process.destroy();
-		}
-		if(vm != null) {
-			vm.terminate();
-		}
-	}
-	
-	/**
-	 * Adds the script scope to the args
-	 * 
-	 * @param args
-	 */
-	void addFArg(ArrayList args) {
-		args.add("-f"); //$NON-NLS-1$
-		args.addAll(scope);
-	}
-	
-	/**
-	 * Adds the VM executable location and classpath entries to the given arguments list
-	 * 
-	 * @param configuration
-	 * @param launch
-	 * @param args
-	 * @throws CoreException
-	 * @throws IOException 
-	 */
-	void addVMArgs(ILaunchConfiguration configuration, ILaunch launch, ArrayList args) throws CoreException, IOException {
-		IVMInstall vm = JavaRuntime.getDefaultVMInstall();
-		File loc = vm.getInstallLocation();
-		if(loc == null) {
-			throw new CoreException(new Status(IStatus.ERROR, RhinoUIPlugin.PLUGIN_ID, "Could not locate the default VM install")); //$NON-NLS-1$
-		}
-		File exe = StandardVMType.findJavaExecutable(vm.getInstallLocation());
-		if(exe == null) {
-			throw new CoreException(new Status(IStatus.ERROR, RhinoUIPlugin.PLUGIN_ID, "Could not find the Java executable for the default VM install")); //$NON-NLS-1$
-		}
-		args.add(exe.getAbsolutePath());
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < REQUIRED_BUNDLES.length; i++) {
-			Bundle bundle = Platform.getBundle(REQUIRED_BUNDLES[i]);
-			if(bundle == null) {
-				throw new CoreException(new Status(IStatus.ERROR, RhinoUIPlugin.PLUGIN_ID, NLS.bind("Could not locate the {0} bundle", REQUIRED_BUNDLES[i]))); //$NON-NLS-1$
-			}
-			File file = FileLocator.getBundleFile(bundle);
-			if(file.isDirectory()) {
-				if(MOZILLA_JAVASCRIPT_BUNDLE.equals(REQUIRED_BUNDLES[i])) {
-					buffer.append(escapePath(file, false));
-				}
-				else {
-					//mozilla uses the project as the class file output dir
-					//so we only have to include bin directories for the other ones
-					file = new File(file, "bin"); //$NON-NLS-1$
-					if(file.exists()) {
-						buffer.append(escapePath(file, false));
-					}
-				}
-			}
-			else {
-				buffer.append(escapePath(file, false));
-			}
-			if(i < REQUIRED_BUNDLES.length-1) {
-				appendSep(buffer);
-			}
-		}
-		String encoding = getEncoding(launch);
-		if(encoding != null) {
-			args.add(encoding);
-		}
-		args.add("-cp"); //$NON-NLS-1$
-		args.add(buffer.toString());
-		args.add(DEBUG_SHELL_CLASS);
-	}
-	
-	/**
-	 * Return the <code>-Dfile.encoding</code> VM argument to use or <code>null</code> it no special encoding has been specified
-	 * 
-	 * @param configuration
-	 * @return the file encoding string or <code>null</code>
-	 */
-	String getEncoding(ILaunch launch) {
-		String encoding = launch.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING);
-		if(encoding != null) {
-			StringBuffer buffer = new StringBuffer("-Dfile.encoding="); //$NON-NLS-1$
-			buffer.append(encoding);
-			return buffer.toString();
-		}
-		return null;
-	}
-	
-	/**
-	 * Escapes the path of the given file.
-	 * 
-	 * @param file the file to escape the path for
-	 * @return the escaped path
-	 */
-	String escapePath(File file, boolean singlequote) {
-		String path = file.getAbsolutePath();
-		StringCharacterIterator iter = new StringCharacterIterator(path);
-		StringBuffer buffer = new StringBuffer();
-		boolean hasspace = false;
-		char c = iter.current();
-		while(c != CharacterIterator.DONE) {
-			if(c == '\\') {
-				buffer.append("/"); //$NON-NLS-1$
-			}
-			else if(c == '"') {
-				buffer.append("\""); //$NON-NLS-1$
-			}
-			else if(c == ' ') {
-				hasspace = true;
-				buffer.append(c);
-			}
-			else {
-				buffer.append(c);
-			}
-			c = iter.next();
-		}
-		/*if(singlequote) {
-			buffer.insert(0, '\'');
-			buffer.append('\'');
-			return buffer.toString();
-		}
-		else */if(hasspace && !singlequote){
-			buffer.insert(0, "\""); //$NON-NLS-1$
-			buffer.append("\""); //$NON-NLS-1$
-			return buffer.toString();
-		}
-		return path;
-	}
-	
-	/**
-	 * Appends the correct version of a classpath separator to the given buffer
-	 * 
-	 * @param buffer the buffer to add the separator to
-	 */
-	void appendSep(StringBuffer buffer) {
-		if(Platform.getOS().equals(Platform.OS_WIN32)) {
-			buffer.append(';');
-		}
-		else {
-			buffer.append(':');
-		}
-	}
-	
-	/**
-	 * Adds the default connection string to the command line arguments
-	 * 
-	 * @param port
-	 * @param args
-	 */
-	void addConnectionArgs(int port, ArrayList args) {
-		args.add("-port"); //$NON-NLS-1$
-		args.add(Integer.toString(port));
-		args.add("-suspend"); //$NON-NLS-1$
-		args.add("y"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Adds the -version NNN ECMA version to the interpreter command line options
-	 * 
-	 * @param configuration
-	 * @param args
-	 * @throws CoreException
-	 */
-	void addECMAVersion(ILaunchConfiguration configuration, ArrayList args) throws CoreException {
-		args.add("-version"); //$NON-NLS-1$
-		args.add(configuration.getAttribute(ILaunchConstants.ATTR_ECMA_VERSION, "170")); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Adds the encoding from the launch to the command line for the interpreter
-	 * 
-	 * @param launch
-	 * @param args
-	 */
-	void addEncoding(ILaunch launch, ArrayList args) {
-		String encoding = launch.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING);
-		if(encoding != null) {
-			args.add("-encoding"); //$NON-NLS-1$
-			args.add(encoding);
-		}
-	}
-	
-	/**
-	 * Adds the optimization level to the interpreter
-	 * @param configuration
-	 * @param args
-	 * @throws CoreException
-	 */
-	void addOptLevel(ILaunchConfiguration configuration, ArrayList args) throws CoreException {
-		int opt = configuration.getAttribute(ILaunchConstants.ATTR_OPT_LEVEL, -1);
-		args.add("-opt"); //$NON-NLS-1$
-		args.add(Integer.toString(opt));
-	}
-	
-	/**
-	 * Adds the <code>-strict</code> flag if set in the configuration
-	 * 
-	 * @param configuration
-	 * @param args
-	 * @throws CoreException
-	 */
-	void addStrictMode(ILaunchConfiguration configuration, ArrayList args) throws CoreException {
-		boolean strict = configuration.getAttribute(ILaunchConstants.ATTR_STRICT_MODE, false);
-		if(strict) {
-			args.add("-strict"); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Computes the complete list of scripts to load, with the last loaded script
-	 * being the one desired 
-	 * 
-	 * @param configuration
-	 * @param monitor
-	 * @throws CoreException 
-	 */
-	synchronized void computeScriptScope(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
-		//for now we only load the script you want to debug and the ones reported from the JS project as source containers
-		if(this.scope == null) {
-			this.scope = new ArrayList();
-			List list = configuration.getAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, (List)null);
-			if(list != null) {
-				String entry = null;
-				for (Iterator i = list.iterator(); i.hasNext();) {
-					entry = (String) i.next();
-					int kind = Integer.parseInt(entry.substring(0, 1));
-					switch(kind) {
-						case IncludeEntry.LOCAL_SCRIPT: {
-							String value = entry.substring(1);
-							IFile ifile = (IFile) ResourcesPlugin.getWorkspace().getRoot().findMember(value);
-							if(ifile != null && ifile.exists()) {
-								File file = URIUtil.toFile(ifile.getLocationURI());
-								value = escapePath(file, true);
-								if(!scope.contains(value)) {
-									scope.add(value);
-								}
-							}
-							continue;
-						}
-						case IncludeEntry.EXT_SCRIPT: {
-							String f = entry.substring(1);
-							File file = new File(f);
-							if(file.exists() && !scope.contains(file.getAbsolutePath())) {
-								scope.add(file.getAbsolutePath());
-							}
-							continue;
-						}
-					}
-				}
-			}
-			addScriptAttribute(configuration, scope);
-		}
-	}
-	
-	/**
-	 * Adds the absolute path of the script specified in the launch configuration to the listing of arguments
-	 * 
-	 * @param configuration
-	 * @param args
-	 * @throws CoreException
-	 */
-	void addScriptAttribute(ILaunchConfiguration configuration, ArrayList args) throws CoreException {
-		ITypeRoot root = getScript(configuration);
-		File file = URIUtil.toFile(root.getResource().getLocationURI());
-		String value = escapePath(file, true);
-		args.remove(value);
-		//want to make sure it is interpreted last
-		args.add(value);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#getLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String)
-	 */
-	public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#finalLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
-		monitor.subTask(Messages.computing_script_scope);
-		computeScriptScope(configuration, monitor);
-		if(this.scope.isEmpty()) {
-			this.scope = null;
-			throw new CoreException(new Status(IStatus.ERROR, RhinoUIPlugin.PLUGIN_ID, Messages.failed_to_compute_scope));
-		}
-		return true;
-	}
-	
-	/**
-	 * Returns if the script to launch has any JavaScript problems
-	 * 
-	 * @param configuration
-	 * @return
-	 * @throws CoreException
-	 */
-	boolean hasProblems(ILaunchConfiguration configuration) throws CoreException {
-		//TODO this should be expanded to check the entire script scope
-		String name = configuration.getAttribute(ILaunchConstants.ATTR_SCRIPT, ILaunchConstants.EMPTY_STRING);
-		IResource script = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(name));
-		if(script.isAccessible()) {
-			IMarker[] problems = script.findMarkers(IJavaScriptModelMarker.JAVASCRIPT_MODEL_PROBLEM_MARKER, true, IResource.DEPTH_INFINITE);
-			return problems.length > 0;
-		}
-		return false;
-	}
-	
-	/**
-	 * Turns the command line argument list into a string
-	 * 
-	 * @param args
-	 * @return the command line list as a string
-	 */
-	String formatCommandlineArgs(ArrayList args) {
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < args.size(); i++) {
-			buffer.append(args.get(i));
-			if(i < args.size()-1) {
-				buffer.append(" "); //$NON-NLS-1$
-			}
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Computes the command line to set on the process attribute
-	 * @param args
-	 * @return
-	 */
-	String formatConnectionArguments(Map args) {
-		StringBuffer buffer = new StringBuffer();
-		Map.Entry entry = null;
-		for(Iterator iter = args.entrySet().iterator(); iter.hasNext();) {
-			entry = (Entry) iter.next();
-			buffer.append(entry.getKey()).append(':').append(entry.getValue());
-			if(iter.hasNext()) {
-				buffer.append(',');
-			}
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Computes the display name for the {@link IProcess} given the connector
-	 * @param connector
-	 * @return the name for the process
-	 */
-	String computeProcessName(Connector connector, Map args) {
-		StringBuffer buffer = new StringBuffer(connector.name());
-		String timestamp = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM).format(new Date(System.currentTimeMillis()));
-		return NLS.bind(Messages.process_label, new String[] {buffer.toString(), formatConnectionArguments(args), timestamp});
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoMainTab.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoMainTab.java
deleted file mode 100644
index abebebf..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoMainTab.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.core.IJavaScriptUnit;
-import org.eclipse.wst.jsdt.core.IMember;
-import org.eclipse.wst.jsdt.core.ITypeRoot;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.IHelpConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ISharedImages;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoImageRegistry;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.Refactoring;
-import org.eclipse.wst.jsdt.debug.internal.ui.SWTFactory;
-import org.eclipse.wst.jsdt.debug.internal.ui.dialogs.ScriptSelectionDialog;
-
-/**
- * Rhino specific main tab
- * 
- * @since 1.0
- */
-public class RhinoMainTab extends AbstractLaunchConfigurationTab {
-
-	/**
-	 * The id of the tab
-	 * <br><br>
-	 * Value is: <code>rhino.main.tab</code>
-	 */
-	public static final String TAB_ID = "rhino.main.tab"; //$NON-NLS-1$
-	public static final String[] VERSIONS = {"100", "110", "120", "130", "140", "150", "160", "170"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
-	public static final String[] OPTIMIZATIONS = {"-1 [interpret only]", "0 [no optimizations]", "1 [all optimizations]"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	
-	SelectionAdapter defaultAdapter = new SelectionAdapter() {
-		public void widgetSelected(SelectionEvent e) {
-			updateLaunchConfigurationDialog();
-		};
-	};
-	
-	Text script = null;
-	Button logging = null,
-		   strict = null;
-	Combo ecmaversion = null,
-		  optlevel = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);
-		Group group = SWTFactory.createGroup(comp, Messages._script, 2, 1, GridData.FILL_HORIZONTAL);
-		script = SWTFactory.createSingleText(group, 1);
-		script.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateLaunchConfigurationDialog();
-			}
-		});
-		((GridData) script.getLayoutData()).grabExcessHorizontalSpace = true;
-		Button browse = SWTFactory.createPushButton(group, Messages.bro_wse, null);
-		browse.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				IJavaScriptUnit unit = chooseScript();
-				if(unit != null) {
-					script.setText(unit.getPath().toString());
-				}
-			}
-		});
-		group = SWTFactory.createGroup(comp, Messages.options_group_name, 2, 1, GridData.FILL_HORIZONTAL);
-		Label lbl = SWTFactory.createWrapLabel(group, Messages.ecma_version_to_interpret_with, 1);
-		((GridData)lbl.getLayoutData()).grabExcessHorizontalSpace = true;
-		ecmaversion = SWTFactory.createCombo(group, SWT.READ_ONLY | SWT.SINGLE, 1, VERSIONS);
-		ecmaversion.addSelectionListener(defaultAdapter);
-		GridData data = (GridData) ecmaversion.getLayoutData();
-		data.grabExcessHorizontalSpace = false;
-		data.horizontalAlignment = SWT.END;
-		lbl = SWTFactory.createWrapLabel(group, Messages.rhino_opt_level, 1);
-		((GridData)lbl.getLayoutData()).grabExcessHorizontalSpace = true;
-		optlevel = SWTFactory.createCombo(group, SWT.READ_ONLY | SWT.SINGLE, 1, OPTIMIZATIONS);
-		optlevel.addSelectionListener(defaultAdapter);
-		data = (GridData) optlevel.getLayoutData();
-		data.grabExcessHorizontalSpace = false;
-		data.horizontalAlignment = SWT.END;
-		strict = SWTFactory.createCheckButton(group, Messages.strict_mode, null, false, 2);
-		strict.addSelectionListener(defaultAdapter);
-		logging = SWTFactory.createCheckButton(group, Messages.log_interpreter_exceptions, null, false, 2);
-		logging.addSelectionListener(defaultAdapter);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IHelpConstants.MAIN_TAB_CONTEXT);
-		setControl(comp);
-	}
-	
-	public String getHelpContextId() {
-		return IHelpConstants.MAIN_TAB_CONTEXT;
-	};
-	
-	/**
-	 * Allows users to select a script from either a project context, if there is one or the workspace
-	 * 
-	 * @return the selected script or <code>null</code>
-	 */
-	IJavaScriptUnit chooseScript() {
-		ScriptSelectionDialog dialog = new ScriptSelectionDialog(getShell(), false, ResourcesPlugin.getWorkspace().getRoot());
-		dialog.setTitle(Messages.script_selection);
-		if(dialog.open() == IDialogConstants.OK_ID) {
-			IFile file = (IFile) dialog.getFirstResult();
-			return (IJavaScriptUnit) JavaScriptCore.create(file);
-		}
-		return null;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public boolean isValid(ILaunchConfiguration launchConfig) {
-		String text2 = script.getText().trim();
-		boolean hasscript = text2.length() > 0;
-		if(!hasscript) {
-			setErrorMessage(Messages.provide_script_for_project);
-			return false;
-		}
-		IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(text2));
-		if(resource != null) {
-			if(resource.getType() != IResource.FILE) {
-				setErrorMessage(NLS.bind(Messages.script_not_a_file, text2));
-				return false;
-			}
-			if(!resource.isAccessible()) {
-				setErrorMessage(NLS.bind(Messages.script_not_accessible, text2));
-				return false;
-			}
-		}
-		else {
-			setErrorMessage(NLS.bind(Messages.script_not_in_workspace, text2));
-			return false;
-		}
-		setErrorMessage(null);
-		setMessage(Messages.launch_script);
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
-		IJavaScriptElement element = getContext();
-		if(element != null) {
-			if(element instanceof IMember) {
-				IMember member = (IMember) element;
-				if(member.isBinary()) {
-					element = member.getClassFile();
-				}
-				else {
-					element = member.getJavaScriptUnit();
-				}
-			}
-			String pname = element.getJavaScriptProject().getProject().getName();
-			String name = pname;
-			ITypeRoot root = null;
-			if(element.getElementType() == IJavaScriptElement.CLASS_FILE ||
-					element.getElementType() == IJavaScriptElement.JAVASCRIPT_UNIT) {
-				root = (ITypeRoot) element;
-				String tname = root.getElementName();
-				configuration.setAttribute(ILaunchConstants.ATTR_SCRIPT, root.getPath().toString());
-				name = NLS.bind(Messages.config_name, new String[] {pname, tname});
-			}
-			name = getLaunchConfigurationDialog().generateName(name);
-			configuration.rename(name);
-			Refactoring.mapResources(configuration);
-		}
-		configuration.setAttribute(ILaunchConstants.ATTR_LOG_INTERPRETER_EXCEPTIONS, true);
-		configuration.setAttribute(ILaunchConstants.ATTR_ECMA_VERSION, ILaunchConstants.ECMA_170);
-		configuration.setAttribute(ILaunchConstants.ATTR_OPT_LEVEL, -1);
-		configuration.setAttribute(ILaunchConstants.ATTR_STRICT_MODE, false);
-	}
-
-	/**
-	 * Returns the current JavaScript context - project or script file - from the current workbench
-	 * selection or <code>null</code> if:
-	 * <ol>
-	 * <li>there is no active workbench page or part</li>
-	 * <li>there is nothing selected in the active page</li>
-	 * <li>the selected item cannot be resolved to an {@link IJavaScriptElement}</li>
-	 * </ol>
-	 * 
-	 * @return the {@link IJavaScriptElement} context for the current workbench selection or <code>null</code>
-	 */
-	IJavaScriptElement getContext() {
-		IWorkbenchPage page = RhinoUIPlugin.getActivePage();
-		if (page != null) {
-			ISelection selection = page.getSelection();
-			if (selection instanceof IStructuredSelection) {
-				IStructuredSelection ss = (IStructuredSelection)selection;
-				if (!ss.isEmpty()) {
-					Object obj = ss.getFirstElement();
-					if (obj instanceof IJavaScriptElement) {
-						return (IJavaScriptElement)obj;
-					}
-					if (obj instanceof IResource) {
-						IJavaScriptElement je = JavaScriptCore.create((IResource)obj);
-						if (je == null) {
-							IProject pro = ((IResource)obj).getProject();
-							je = JavaScriptCore.create(pro);
-						}
-						if (je != null) {
-							return je;
-						}
-					}
-				}
-			}
-			IEditorPart part = page.getActiveEditor();
-			if (part != null) {
-				IEditorInput input = part.getEditorInput();
-				return (IJavaScriptElement) input.getAdapter(IJavaScriptElement.class);
-			}
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
-	 */
-	public void initializeFrom(ILaunchConfiguration configuration) {
-		try {
-			String text = configuration.getAttribute(ILaunchConstants.ATTR_SCRIPT, (String)null);
-			if(text != null) {
-				script.setText(text);
-			}
-			boolean value = configuration.getAttribute(ILaunchConstants.ATTR_LOG_INTERPRETER_EXCEPTIONS, true);
-			logging.setSelection(value);
-			value = configuration.getAttribute(ILaunchConstants.ATTR_STRICT_MODE, false);
-			strict.setSelection(value);
-			text = configuration.getAttribute(ILaunchConstants.ATTR_ECMA_VERSION, ILaunchConstants.ECMA_170);
-			int idx = ecmaversion.indexOf(text);
-			if(idx < 0) {
-				idx = 7;
-			}
-			ecmaversion.select(idx);
-			int opt = configuration.getAttribute(ILaunchConstants.ATTR_OPT_LEVEL, -1);
-			optlevel.select(opt+1);
-		}
-		catch(CoreException ce) {}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
-	 */
-	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
-		String scpt = script.getText().trim();
-		if(scpt.length() < 1) {
-			configuration.removeAttribute(ILaunchConstants.ATTR_SCRIPT);
-		}
-		else {
-			configuration.setAttribute(ILaunchConstants.ATTR_SCRIPT, scpt);
-		}
-		configuration.setAttribute(ILaunchConstants.ATTR_LOG_INTERPRETER_EXCEPTIONS, logging.getSelection());
-		configuration.setAttribute(ILaunchConstants.ATTR_STRICT_MODE, strict.getSelection());
-		configuration.setAttribute(ILaunchConstants.ATTR_ECMA_VERSION, ecmaversion.getText());
-		configuration.setAttribute(ILaunchConstants.ATTR_OPT_LEVEL, optlevel.getSelectionIndex()-1);
-		Refactoring.mapResources(configuration);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
-	 */
-	public String getName() {
-		return Messages.main;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getId()
-	 */
-	public String getId() {
-		return TAB_ID;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getImage()
-	 */
-	public Image getImage() {
-		return RhinoImageRegistry.getSharedImage(ISharedImages.IMG_MAIN_TAB);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoProcess.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoProcess.java
deleted file mode 100644
index 115a3bc..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoProcess.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.internal.core.StreamsProxy;
-import org.eclipse.wst.jsdt.debug.internal.core.launching.JavaScriptProcess;
-import org.eclipse.wst.jsdt.debug.rhino.debugger.RhinoDebugger;
-
-/**
- * Specialization to terminate the instantiated {@link RhinoDebugger}
- * 
- * @since 1.0
- */
-public class RhinoProcess extends JavaScriptProcess {
-
-	public static final String TYPE = "rhino"; //$NON-NLS-1$
-	
-	private Process process = null;
-	
-	private StreamsProxy streamproxy = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param launch the {@link ILaunch} this {@link IProcess} is associated with
-	 * @param p the underlying {@link Process}
-	 * @param name the human readable name for the process
-	 */
-	public RhinoProcess(ILaunch launch, Process p, String name) {
-		super(launch, name);
-		this.process = p;
-		String capture = launch.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT);
-		boolean needsstreams = capture == null ? true : Boolean.valueOf(capture).booleanValue();
-		if(needsstreams) {
-			streamproxy = new StreamsProxy(p, launch.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING));
-		}
-		setAttribute(IProcess.ATTR_PROCESS_TYPE, TYPE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.core.launching.JavaScriptProcess#terminate()
-	 */
-	public void terminate() throws DebugException {
-		process.destroy();
-		if(streamproxy != null) {
-			streamproxy.close();
-		}
-		super.terminate();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.core.launching.JavaScriptProcess#getStreamsProxy()
-	 */
-	public IStreamsProxy getStreamsProxy() {
-		return streamproxy;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoTabGroup.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoTabGroup.java
deleted file mode 100644
index 663defc..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/RhinoTabGroup.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.IHelpConstants;
-
-/**
- * Rhino specific tab group
- * 
- * @since 1.0
- */
-public class RhinoTabGroup extends AbstractLaunchConfigurationTabGroup {
-
-	/**
-	 * Constructor
-	 */
-	public RhinoTabGroup() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
-	 */
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		SourceLookupTab stab = new SourceLookupTab();
-		stab.setHelpContextId(IHelpConstants.SOURCE_TAB_CONTEXT);
-		CommonTab ctab = new CommonTab();
-		ctab.setHelpContextId(IHelpConstants.COMMON_TAB_CONTEXT);
-		setTabs(new ILaunchConfigurationTab[] {
-					new RhinoMainTab(),
-					new IncludeTab(),
-					stab,
-					ctab
-				}
-		);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/messages.properties
deleted file mode 100644
index f21195b..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/launching/messages.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-_script=&Script
-add_ext_script_button=Add E&xternal Scripts...
-add_script_button=Add S&cripts...
-bro_wse=Bro&wse
-computing_script_scope=computing script scope
-config_name={0} - {1}
-configuring_rhino_debugger=configuring Rhino debugger
-connect_thread=Connect Thread
-creating_js_debug_target=creating JavaScript debug target
-creating_rhino_vm=creating Rhino virtual machine
-defaults_button=&Defaults
-down_button=Do&wn
-ecma_version_to_interpret_with=EC&MA script version to interpret with:
-failed_to_compute_scope=Failed to compute the script scope
-include_path=&Include path:
-include_tab_name=Include
-launch_script=Launch a JavaScript script file using Rhino
-launching__=Launching {0}
-log_interpreter_exceptions=&Log interpreter exceptions
-main=Main
-options_group_name=&Options
-process_label={0} [{1}] ({2})
-provide_script_for_project=You must provide a script to debug
-remove_button=Remo&ve
-rhino_opt_level=Rhino optimi&zation level:
-script_not_a_file=Script {0} is not a file
-script_not_accessible=Script {0} is not accessible
-script_not_in_workspace=Script {0} is not in the workspace
-script_selection=Script Selection
-select_existing_config=Select e&xisting configuration:
-select_rhino_config=Select Rhino Configuration
-select_scripts_to_add=Select Scripts To Add
-starting_rhino_interpreter=starting Rhino interpreter
-starting_rhino_process=starting Rhino process
-strict_mode=Strict &mode:
-up_button=&Up
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/Messages.java
deleted file mode 100644
index d9d3529..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/Messages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.rhino.ui.preferences.messages"; //$NON-NLS-1$
-	public static String rhino_pref_page_desc;
-	public static String suspend_execution;
-	public static String suspend_for_stdin;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/RhinoDebugPreferencePage.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/RhinoDebugPreferencePage.java
deleted file mode 100644
index 193dc37..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/RhinoDebugPreferencePage.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.debug.internal.rhino.Constants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.IHelpConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.ui.SWTFactory;
-
-/**
- * Default preference page for Rhino preferences
- * 
- * @since 1.0
- */
-public class RhinoDebugPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
-	public static final String PAGE_ID = "org.eclipse.wst.jsdt.debug.rhino.ui.debug.pref.page"; //$NON-NLS-1$
-	
-	/**
-	 * Constructor
-	 */
-	public RhinoDebugPreferencePage() {
-		super(GRID);
-		setDescription(Messages.rhino_pref_page_desc);
-		setPreferenceStore(RhinoUIPlugin.getDefault().getPreferenceStore());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IHelpConstants.RHINO_PREFERENCE_PAGE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_HORIZONTAL, 0, 0);
-		Group group = SWTFactory.createGroup(comp, Messages.suspend_execution, 1, 1, GridData.FILL_HORIZONTAL);
-		BooleanFieldEditor editor = new BooleanFieldEditor(Constants.SUSPEND_ON_STDIN_LOAD, Messages.suspend_for_stdin, group);
-		initEditor(editor, RhinoUIPlugin.getCorePreferenceStore());
-		//reset the group layout after we add the editors, since they toast the padding
-		GridLayout lo = (GridLayout) group.getLayout();
-		lo.marginWidth = 5;
-		lo.marginHeight = 5;
-		return comp;
-	}
-
-	/**
-	 * Initializes and sets up the given editor
-	 * 
-	 * @param editor
-	 * @param store
-	 */
-	void initEditor(FieldEditor editor, IPreferenceStore store) {
-		addField(editor);
-		editor.setPage(this);
-		editor.setPropertyChangeListener(this);
-		editor.setPreferenceStore(store);
-		editor.load();
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/messages.properties
deleted file mode 100644
index d6ebcc2..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/preferences/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-rhino_pref_page_desc=General settings for Rhino JavaScript debugging
-suspend_execution=Suspend Execution
-suspend_for_stdin=Suspend for <s&tdin> script loads
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderChange.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderChange.java
deleted file mode 100644
index 46b2682..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderChange.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-
-/**
- * Change for a folder being renamed
- * 
- * @since 1.0
- */
-public class FolderChange extends RhinoChange {
-
-	/**
-	 * Constructor
-	 * 
-	 * @param configuration
-	 * @param oldname the old folder name
-	 * @param newname the new folder name
-	 */
-	public FolderChange(ILaunchConfiguration configuration, String oldname, String newname) {
-		super(configuration, oldname, newname);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		ILaunchConfigurationWorkingCopy copy = configuration.getWorkingCopy();
-		//move it first
-		if(!configuration.isLocal()) {
-	        IContainer cont = (IContainer) ResourcesPlugin.getWorkspace().getRoot().findMember(newname);
-	        copy.setContainer(cont);
-		}
-		//update the script attribute
-		String script = computeNewScriptName(configuration);
-		if(script != null) {
-			copy.setAttribute(ILaunchConstants.ATTR_SCRIPT, script);
-		}
-		//update the include path
-		updateIncludeEntries(copy);
-		//update resource mappings
-		Refactoring.mapResources(copy);
-		if(copy.isDirty()) {
-			configuration = copy.doSave();
-			return new FolderChange(configuration, newname, oldname);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderMoveParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderMoveParticipant.java
deleted file mode 100644
index e2d45ff..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderMoveParticipant.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.MoveParticipant;
-
-/**
- * Refactoring participant that handles {@link IFolder}s being moved
- * 
- * @since 1.0
- */
-public class FolderMoveParticipant extends MoveParticipant {
-
-	private IFolder folder = null;
-	
-	/**
-	 * Constructor
-	 */
-	public FolderMoveParticipant() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		folder = (IFolder) element;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		return Messages.rhino_lc_participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) throws OperationCanceledException {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		IContainer locale = (IContainer) getArguments().getDestination();
-		return Refactoring.createChangesForFolderRename(folder, locale.getFullPath().append(folder.getName()).makeAbsolute().toOSString());
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderRenameParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderRenameParticipant.java
deleted file mode 100644
index 67a0249..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/FolderRenameParticipant.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Rename participant for {@link IFolder}s
- * 
- * @since 1.0
- */
-public class FolderRenameParticipant extends RenameParticipant {
-
-	private IFolder folder = null;
-	
-	/**
-	 * Constructor
-	 */
-	public FolderRenameParticipant() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		folder = (IFolder) element;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		return Messages.rhino_lc_participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) throws OperationCanceledException {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		IPath name = folder.getFullPath().makeAbsolute();
-		name = name.removeLastSegments(1).append(getArguments().getNewName());
-		return Refactoring.createChangesForFolderRename(folder, name.toOSString());
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/Messages.java
deleted file mode 100644
index 45ce686..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/Messages.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.messages"; //$NON-NLS-1$
-	public static String config_no_longer_exists;
-	public static String multi_updates;
-	public static String rhino_lc_participant;
-	public static String update_attributes;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ProjectChange.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ProjectChange.java
deleted file mode 100644
index ade728e..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ProjectChange.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-
-public class ProjectChange extends RhinoChange {
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param configuration
-	 * @param oldname
-	 * @param newname
-	 */
-	public ProjectChange(ILaunchConfiguration configuration, String oldname, String newname) {
-		super(configuration, oldname, newname);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		ILaunchConfigurationWorkingCopy copy = configuration.getWorkingCopy();
-		//move it first
-		String value = computeNewContainerName(configuration);
-		if(value != null) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-	        IWorkspaceRoot root = workspace.getRoot();
-	        IProject project = root.getProject(newname);
-	        IContainer cont = (IContainer) project.findMember(value);
-	        copy.setContainer(cont);
-		}
-		//update the attributes
-		value = computeNewScriptName(configuration);
-		if(value != null) {
-			copy.setAttribute(ILaunchConstants.ATTR_SCRIPT, value);
-		}
-		//update include entries
-		updateIncludeEntries(copy);
-		//rename it
-		value = computeNewConfigurationName(configuration);
-		if(value != null) {
-			copy.rename(value);
-		}
-		//update resource mappings
-		Refactoring.mapResources(copy);
-		if(copy.isDirty()) {
-			configuration = copy.doSave();
-			return new ProjectChange(configuration, newname, oldname);
-		}
-		return null;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ProjectRenameParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ProjectRenameParticipant.java
deleted file mode 100644
index f6946cd..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ProjectRenameParticipant.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Refactoring participant for a JavaScript project rename
- */
-public class ProjectRenameParticipant extends RenameParticipant {
-	
-	private IProject origproject = null;
-	
-	/**
-	 * Constructor
-	 */
-	public ProjectRenameParticipant() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		origproject = (IProject) element;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		return Messages.rhino_lc_participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) throws OperationCanceledException {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		return Refactoring.createChangesForProjectRename(origproject, getArguments().getNewName());
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/Refactoring.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/Refactoring.java
deleted file mode 100644
index 4e881c9..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/Refactoring.java
+++ /dev/null
@@ -1,316 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.RhinoUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.IncludeEntry;
-
-/**
- * Utilities to help with refactoring
- * 
- * @since 1.0
- */
-public class Refactoring {
-
-	public static ILaunchConfiguration[] NO_CONFIGS = new ILaunchConfiguration[0];
-	public static IncludeEntry[] NO_ENTRIES = new IncludeEntry[0];
-	
-	/**
-	 * Creates one or more {@link Change}s required after an {@link IProject} rename
-	 * 
-	 * @param project the renamed {@link IProject}
-	 * @param newname the new name
-	 * @return a new {@link Change}
-	 */
-	public static Change createChangesForProjectRename(IProject project, String newname) {
-		ILaunchConfiguration[] configs = getConfigurationsScopedTo(project.getFullPath().makeAbsolute().toString());
-		if(configs.length < 1) {
-			return null;
-		}
-		ArrayList changes = new ArrayList(configs.length);
-		for (int i = 0; i < configs.length; i++) {
-			changes.add(new ProjectChange(configs[i], project.getName(), newname));
-		}
-		return createChangeFromList(changes, Messages.multi_updates);
-	}
-	
-	/**
-	 * Create one or more {@link Change}s after a script {@link IFile} rename
-	 * 
-	 * @param script the renamed {@link IFile}
-	 * @param newname the new name
-	 * @return a new {@link Change}
-	 */
-	public static Change createChangesForScriptRename(IFile script, String newname) {
-		String scriptname = script.getFullPath().makeAbsolute().toString();
-		ILaunchConfiguration[] configs = getConfigurationsScopedTo(scriptname);
-		if(configs.length < 1) {
-			return null;
-		}
-		ArrayList changes = new ArrayList(configs.length);
-		for (int i = 0; i < configs.length; i++) {
-			changes.add(new ScriptChange(configs[i], scriptname, newname));
-		}
-		return createChangeFromList(changes, Messages.multi_updates);
-	}
-	
-	/**
-	 * Create one or more {@link Change}s after an {@link IFolder} rename
-	 * 
-	 * @param folder the renamed {@link IFolder}
-	 * @param newname the new name
-	 * @return a new {@link Change}
-	 */
-	public static Change createChangesForFolderRename(IFolder folder, String newname) {
-		String foldername = folder.getFullPath().makeAbsolute().toString();
-		ILaunchConfiguration[] configs = getConfigurationsScopedTo(foldername);
-		if(configs.length < 1) {
-			return null;
-		}
-		ArrayList changes = new ArrayList(configs.length);
-		for (int i = 0; i < configs.length; i++) {
-			changes.add(new FolderChange(configs[i], foldername, newname));
-		}
-		return createChangeFromList(changes, Messages.multi_updates);
-	}
-	
-	/**
-	 * Collects the {@link IResource}s associated with the given Rhino launch configuration
-	 * 
-	 * @param configuration
-	 * @return the array of associated {@link IResource}s or an empty array, never <code>null</code>
-	 * @throws CoreException
-	 */
-	public static IResource[] getResources(ILaunchConfiguration configuration) {
-		ArrayList resources = new ArrayList(2);
-		try {
-			IFile script = getScript(configuration);
-			if(script != null) {
-				resources.add(script);
-			}
-		}
-		catch(CoreException ce) {
-			RhinoUIPlugin.log(ce);
-		}
-		return (IResource[]) resources.toArray(new IResource[resources.size()]);
-	}
-	
-	/**
-	 * Fetches the script attribute as an {@link IFile} or returns <code>null</code> if it could not be found
-	 * 
-	 * @param configuration
-	 * @return the {@link IFile} backing the script attribute or <code>null</code> if not found
-	 * @throws CoreException
-	 */
-	public static IFile getScript(ILaunchConfiguration configuration) throws CoreException {
-		String name = configuration.getAttribute(ILaunchConstants.ATTR_SCRIPT, ILaunchConstants.EMPTY_STRING);
-		if(!ILaunchConstants.EMPTY_STRING.equals(name)) {
-			IPath spath = new Path(name); 
-			IResource script = ResourcesPlugin.getWorkspace().getRoot().findMember(spath);
-			if(script != null && script.getType() == IResource.FILE) {
-				return (IFile) script;
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Delegate method to map {@link IResource}s in the given working copy. This method does not save the 
-	 * working and if no resources can be computed any existing resource mapping will be removed
-	 * 
-	 * @param configuration
-	 * @throws CoreException
-	 */
-	public static void mapResources(ILaunchConfigurationWorkingCopy configuration) {
-		IResource[] resources = getResources(configuration);
-		if(resources.length < 1) {
-			configuration.setMappedResources(null);
-		}
-		else {
-			configuration.setMappedResources(resources);
-		}
-	}
-	
-	/**
-	 * Take a list of Changes, and return a unique Change, a CompositeChange, or null.
-	 */
-	public static Change createChangeFromList(List changes, String changeLabel) {
-		int count = changes.size();
-		if (count == 0) {
-			return null;
-		} 
-		else if (count == 1) {
-			return (Change) changes.get(0);
-		} 
-		else {
-			return new CompositeChange(changeLabel, (Change[])changes.toArray(new Change[changes.size()]));
-		}
-	}
-	
-	/**
-	 * Returns the complete known listing of Rhino launch configurations
-	 * 
-	 * @return the complete listing of Rhino launch configurations or an empty array, never <code>null</code>
-	 */
-	public static ILaunchConfiguration[] getRhinoConfigurations() {
-		ILaunchManager lm = DebugPlugin.getDefault().getLaunchManager();
-		ILaunchConfigurationType type = lm.getLaunchConfigurationType(ILaunchConstants.LAUNCH_CONFIG_TYPE);
-		if(type != null) {
-			try {
-				return lm.getLaunchConfigurations(type);
-			} catch (CoreException e) {
-				//ignore just return an empty array
-			}
-		}
-		return NO_CONFIGS;
-	}
-	
-	/**
-	 * Returns the complete listing of Rhino {@link ILaunchConfiguration}s that reference the given path in some way.
-	 * The supported reference kinds are (1) via the script attribute, and (2) via the include path where it could be an exact
-	 * match for a workspace script or a partial match for a local file system script
-	 *  
-	 * @param elementpath the absolute path of the element to find configuration for
-	 * @return the complete listing of Rhino configurations that reference the given path or an empty array, never <code>null</code>
-	 */
-	public static ILaunchConfiguration[] getConfigurationsScopedTo(String elementpath) {
-		if(elementpath == null) {
-			return NO_CONFIGS;
-		}
-		ILaunchConfiguration[] configs = getRhinoConfigurations();
-		ArrayList scoped = new ArrayList(4);
-		List includes = null;
-		String script = null;
-		for (int i = 0; i < configs.length; i++) {
-			try {
-				script = configs[i].getAttribute(ILaunchConstants.ATTR_SCRIPT, ILaunchConstants.EMPTY_STRING);
-				if(elementpath.equals(script) || script.indexOf(elementpath) > -1) {
-					scoped.add(configs[i]);
-				}
-				else {
-					includes = configs[i].getAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, (List)null);
-					if(includes != null && hasIncludeEntryFor(includes, elementpath)) {
-						scoped.add(configs[i]);
-					}
-				}
-			}
-			catch(CoreException ce) {
-				//ignore, just don't report the configuration
-			}
-		}
-		return (ILaunchConfiguration[]) scoped.toArray(new ILaunchConfiguration[scoped.size()]);
-	}
-	
-	/**
-	 * Returns <code>true</code> if the given set of include path entries contains an entry that matches
-	 * the given script path.
-	 * 
-	 * @param includes
-	 * @param elementpath
-	 * @return <code>true</code> if a matching include path entry is found
-	 */
-	public static boolean hasIncludeEntryFor(List includes, String elementpath) {
-		if(includes == null || elementpath == null) {
-			return false;
-		}
-		String entry = null;
-		String path = null;
-		for (int i = 0; i < includes.size(); i++) {
-			entry = (String) includes.get(i);
-			path = entry.substring(1);
-			if(elementpath.equals(path) || path.indexOf(elementpath) > -1) {
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns the {@link IncludeEntry}'s for the given absolute script path or an empty array.
-	 * <br><br>
-	 * This method avoids creating {@link IncludeEntry} objects unless potential matches are found.
-	 * 
-	 * @param includes the current list of includes to search
-	 * @param elementpath the absolute path of the element to check for
-	 * @return the {@link IncludeEntry}'s of the given script in the include path listing or an empty array, never <code>null</code>
-	 */
-	public static final IncludeEntry[] findIncludeEntries(List includes, String elementpath) {
-		if(includes == null || elementpath == null) {
-			return NO_ENTRIES;
-		}
-		String entry = null;
-		String path = null;
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < includes.size(); i++) {
-			entry = (String) includes.get(i);
-			path = entry.substring(1);
-			if(elementpath.equals(path) || path.indexOf(elementpath) > -1) {
-				try {
-					list.add(new IncludeEntry(Integer.parseInt(entry.substring(0, 1)), path));
-				}
-				catch(NumberFormatException nfe) {
-					//ignore but keep looking
-				}
-			}
-		}
-		return (IncludeEntry[]) list.toArray(new IncludeEntry[list.size()]);
-	}
-	
-	/**
-	 * Returns the complete include path from the given {@link ILaunchConfiguration} as a list of {@link IncludeEntry}s
-	 * in the order they are defined in the configuration.
-	 * 
-	 * @param configuration
-	 * @return the ordered listing of {@link IncludeEntry}s or an empty array, never <code>null</code>
-	 */
-	public static final IncludeEntry[] getIncludeEntries(ILaunchConfiguration configuration) {
-		try {
-			List includes = configuration.getAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, (List)null);
-			if(includes != null) {
-				ArrayList entries = new ArrayList(includes.size());
-				String entry = null;
-				for (int i = 0; i < includes.size(); i++) {
-					entry = (String) includes.get(i);
-					try {
-						entries.add(new IncludeEntry(Integer.parseInt(entry.substring(0, 1)), entry.substring(1)));
-					}
-					catch(NumberFormatException nfe) {
-						//ignore, keep going
-					}
-				}
-				return (IncludeEntry[]) entries.toArray(new IncludeEntry[entries.size()]);
-			}
-		}
-		catch(CoreException ce) {
-			//do nothing return none
-		}
-		return NO_ENTRIES;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/RhinoChange.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/RhinoChange.java
deleted file mode 100644
index d97a07f..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/RhinoChange.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.IncludeEntry;
-
-/**
- * Abstract {@link Change} for Rhino configurations.
- * <br><br>
- * By default this change returns the backing {@link ILaunchConfiguration} from the {@link #getModifiedElement()}
- * method and considers the {@link Change} to be valid if the backing {@link ILaunchConfiguration} exists.
- * 
- * @since 1.0
- */
-public abstract class RhinoChange extends Change {
-
-	protected String oldname = null;
-	protected String newname = null;
-	protected ILaunchConfiguration configuration = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param configuration the backing {@link ILaunchConfiguration}
-	 * @param oldname the existing name of the element being refactored
-	 * @param newname the computed new name of the element being refactored
-	 */
-	public RhinoChange(ILaunchConfiguration configuration, String oldname, String newname) {
-		this.configuration = configuration;
-		this.oldname = oldname;
-		this.newname = newname;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#getName()
-	 */
-	public String getName() {
-		return NLS.bind(Messages.update_attributes, new String[] {configuration.getName(), newname});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#initializeValidationData(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void initializeValidationData(IProgressMonitor pm) {
-		//do nothing
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#isValid(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public RefactoringStatus isValid(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		if(!configuration.exists()) {
-			return RefactoringStatus.createErrorStatus(NLS.bind(Messages.config_no_longer_exists, configuration.getName()));
-		}
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#getModifiedElement()
-	 */
-	public Object getModifiedElement() {
-		return configuration;
-	}
-	
-	/**
-	 * Computes a new container name for the configuration or <code>null</code>
-	 * 
-	 * @param configuration
-	 * @return the new container name for the configuration or <code>null</code>
-	 */
-	protected String computeNewContainerName(ILaunchConfiguration configuration) {
-		IFile file = configuration.getFile();
-		if(file != null) {
-			return file.getParent().getProjectRelativePath().toString();
-		}
-		return null;
-	}
-	
-	/**
-	 * Computes a new name for the configuration or <code>null</code> if the name does not need updating
-	 * 
-	 * @param configuration
-	 * @return the new name for the configuration or <code>null</code>
-	 */
-	protected String computeNewConfigurationName(ILaunchConfiguration configuration) {
-		String name = configuration.getName();
-		IPath old = new Path(oldname);
-		String nametofind = (old.segmentCount() > 1 ? old.lastSegment() : oldname);
-		int idx = name.indexOf(nametofind);
-		if(idx > -1) {
-			IPath neww = new Path(newname);
-			String replacement = (neww.segmentCount() > 1 ? neww.lastSegment() : newname);
-			return name.replaceAll(nametofind, replacement);
-		}
-		return null;
-	}
-	
-	/**
-	 * Computes the new name for the script attribute or <code>null</code> if an update is not needed
-	 * 
-	 * @param configuration
-	 * @return the new name or <code>null</code>
-	 */
-	protected String computeNewScriptName(ILaunchConfiguration configuration) {
-		try {
-			String attr = configuration.getAttribute(ILaunchConstants.ATTR_SCRIPT, ILaunchConstants.EMPTY_STRING);
-			return computeNewName(attr);
-		}
-		catch(CoreException ce) {
-			//ignore
-		}
-		return null;
-	}
-	
-	/**
-	 * Updates any include entries with matching elements to the {@link #oldname}
-	 * 
-	 * @param copy
-	 * @throws CoreException
-	 */
-	protected void updateIncludeEntries(ILaunchConfigurationWorkingCopy copy) throws CoreException {
-		//update the include path
-		List includes = copy.getAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, (List)null);
-		if(includes != null) {
-			IncludeEntry[] entries = Refactoring.findIncludeEntries(includes, oldname);
-			String sname = null;
-			for (int i = 0; i < entries.length; i++) {
-				sname = computeNewName(entries[i].getPath());
-				if(sname != null && !oldname.equals(sname)) {
-					int idx = includes.indexOf(entries[i].string());
-					if(idx > -1) {
-						includes.remove(idx);
-						includes.add(idx, new IncludeEntry(entries[i].getKind(), sname).string());
-					}
-				}
-			}
-			copy.setAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, includes);
-		}
-	}
-	
-	/**
-	 * Computes a new element name using {@link #newname} iff: (1) the given name
-	 * has the {@link #oldname} as a prefix or (2) the old name appears in the given name.
-	 * <br><br>
-	 * The computed new name is not guaranteed to exist in any way.
-	 * 
-	 * @param name
-	 * @return the new name to use or <code>null</code>
-	 */
-	protected String computeNewName(String name) {
-		IPath path = new Path(name);
-		IPath old = new Path(oldname);
-		if(old.isPrefixOf(path)) {
-			path = path.removeFirstSegments(old.segmentCount());
-			path = new Path(newname).append(path);
-			return path.makeAbsolute().toString();
-		}
-		return path.toString().replaceAll(oldname, newname);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptChange.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptChange.java
deleted file mode 100644
index 8a4ebc4..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptChange.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-
-/**
- * Change for a script being renamed / moved
- * 
- * @since 1.0
- */
-public class ScriptChange extends RhinoChange {
-	
-	/**
-	 * Constructor
-	 */
-	public ScriptChange(ILaunchConfiguration configuration, String oldname, String newname) {
-		super(configuration, oldname, newname);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change perform(IProgressMonitor pm) throws CoreException {
-		ILaunchConfigurationWorkingCopy copy = configuration.getWorkingCopy();
-		//update the script only if matches
-		//this check is in case the configuration has include path-only updates
-		String oldscript = copy.getAttribute(ILaunchConstants.ATTR_SCRIPT, (String)null);
-		if(oldname.equals(oldscript)) {
-			copy.setAttribute(ILaunchConstants.ATTR_SCRIPT, newname);
-		}
-		//update include entries
-		updateIncludeEntries(copy);
-		//rename it
-		String value = computeNewConfigurationName(configuration);
-		if(value != null) {
-			copy.rename(value);
-		}
-		//update resource mappings
-		Refactoring.mapResources(copy);
-		if(copy.isDirty()) {
-			configuration = copy.doSave();
-			return new ScriptChange(configuration, newname, oldname);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptMoveParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptMoveParticipant.java
deleted file mode 100644
index b3d3fa4..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptMoveParticipant.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.MoveParticipant;
-
-/**
- * Refactoring participant to rename launch configurations when a project or script is moved
- * 
- * @since 1.0
- */
-public class ScriptMoveParticipant extends MoveParticipant {
-
-	private IFile script = null;
-	
-	/**
-	 * Constructor
-	 */
-	public ScriptMoveParticipant() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		script = (IFile) element;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		return Messages.rhino_lc_participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) throws OperationCanceledException {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		IContainer locale = (IContainer) getArguments().getDestination();
-		return Refactoring.createChangesForScriptRename(script, locale.getFullPath().append(script.getName()).makeAbsolute().toOSString());
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptRenameParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptRenameParticipant.java
deleted file mode 100644
index 02b9731..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/ScriptRenameParticipant.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;
-import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;
-
-/**
- * Refactoring participant to rename projects or scripts in Rhino launch configurations
- * 
- * @since 1.0
- */
-public class ScriptRenameParticipant extends RenameParticipant {
-
-	private IFile script = null;
-	
-	/**
-	 * Constructor
-	 */
-	public ScriptRenameParticipant() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#initialize(java.lang.Object)
-	 */
-	protected boolean initialize(Object element) {
-		script = (IFile) element;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#getName()
-	 */
-	public String getName() {
-		return Messages.rhino_lc_participant;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#checkConditions(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)
-	 */
-	public RefactoringStatus checkConditions(IProgressMonitor pm, CheckConditionsContext context) throws OperationCanceledException {
-		return new RefactoringStatus();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringParticipant#createChange(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public Change createChange(IProgressMonitor pm) throws CoreException, OperationCanceledException {
-		IPath name = script.getFullPath().makeAbsolute();
-		name = name.removeLastSegments(1).append(getArguments().getNewName());
-		return Refactoring.createChangesForScriptRename(script, name.toOSString());
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/messages.properties
deleted file mode 100644
index e98db42..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/refactoring/messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-config_no_longer_exists=Launch configuration {0} no longer exists
-multi_updates=Launch configuration updates
-rhino_lc_participant=Rhino launch configuration participant
-update_attributes=update attributes of configuration {0} to {1}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourceDirector.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourceDirector.java
deleted file mode 100644
index 4cca5a0..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourceDirector.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.source;
-
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
-
-/**
- * Rhino specific source lookup director
- * 
- * @since 1.0
- */
-public class RhinoSourceDirector extends AbstractSourceLookupDirector {
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#initializeParticipants()
-	 */
-	public void initializeParticipants() {
-		addParticipants(new ISourceLookupParticipant[] {new RhinoSourceLookupParticipant()});
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector#isFindDuplicates()
-	 */
-	public boolean isFindDuplicates() {
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourceLookupParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourceLookupParticipant.java
deleted file mode 100644
index 26b99ea..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourceLookupParticipant.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.source;
-
-import java.net.URI;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant;
-import org.eclipse.wst.jsdt.debug.internal.core.launching.SourceLookup;
-
-/**
- * Rhino specific source lookup participant
- * 
- * @since 1.0
- */
-public class RhinoSourceLookupParticipant extends AbstractSourceLookupParticipant {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#getSourceName(java.lang.Object)
-	 */
-	public String getSourceName(Object object) throws CoreException {
-		return SourceLookup.getSourceName(object);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant#findSourceElements(java.lang.Object)
-	 */
-	public Object[] findSourceElements(Object object) throws CoreException {
-		Object[] source = super.findSourceElements(object);
-		if(source.length < 1) {
-			URI uri = SourceLookup.getSourceURI(object);
-			if(uri != null) {
-				IFile file = SourceLookup.getExternalSource(uri, object);
-				if(file != null) {
-					return new Object[] {file};
-				}
-			} 
-		}
-		else {
-			return source;
-		}
-		return EMPTY;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant#isFindDuplicates()
-	 */
-	public boolean isFindDuplicates() {
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourcePathComputer.java b/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourcePathComputer.java
deleted file mode 100644
index 19dd470..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino.ui/src/org/eclipse/wst/jsdt/debug/internal/rhino/ui/source/RhinoSourcePathComputer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.ui.source;
-
-import java.io.File;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.ILaunchConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.launching.IncludeEntry;
-import org.eclipse.wst.jsdt.debug.internal.rhino.ui.refactoring.Refactoring;
-
-/**
- * Source computer delegate for Rhino
- * 
- * @since 1.0
- */
-public class RhinoSourcePathComputer implements ISourcePathComputerDelegate {
-
-	static final ISourceContainer[] NO_CONTAINERS = new ISourceContainer[0];
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor)	throws CoreException {
-		HashSet containers = new HashSet();
-		List includes = configuration.getAttribute(ILaunchConstants.ATTR_INCLUDE_PATH, (List)null); 
-		if(includes != null) {
-			String entry = null, name = null;
-			for (Iterator i = includes.iterator(); i.hasNext();) {
-				entry = (String) i.next();
-				int kind = Integer.parseInt(entry.substring(0, 1));
-				name = entry.substring(1);
-				switch(kind) {
-					case IncludeEntry.LOCAL_SCRIPT: {
-						IFile file = (IFile) ResourcesPlugin.getWorkspace().getRoot().findMember(name);
-						if(file != null) {
-							containers.add(new FolderSourceContainer(file.getParent(), false));
-						}
-						continue;
-					}
-					case IncludeEntry.EXT_SCRIPT: {
-						File file = new File(name);
-						if(file.exists()) {
-							containers.add(new DirectorySourceContainer(file.getParentFile(), false));
-						}
-						continue;
-					}
-				}
-			}
-		}
-		//make sure the folder containing the original script is included
-		IFile script = Refactoring.getScript(configuration);
-		if(script != null) {
-			containers.add(new FolderSourceContainer(script.getParent(), false));
-		}
-		return (ISourceContainer[]) containers.toArray(new ISourceContainer[containers.size()]);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.debug.rhino/META-INF/MANIFEST.MF
index 77e1078..634d196 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/META-INF/MANIFEST.MF
@@ -1,19 +1,17 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name
-Bundle-Vendor: %providerName
+Bundle-Vendor: %Bundle-Vendor
 Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.rhino;singleton:=true
-Bundle-Version: 1.0.100.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin
 Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.4
 Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.wst.jsdt.debug.internal.rhino;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.rhino.breakpoints;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.rhino.jsdi;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.connect;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.event;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui"
+Export-Package: org.eclipse.wst.jsdt.debug.internal.rhino.jsdi;x-internal:=true,
+ org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.connect;x-internal:=true,
+ org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.event;x-internal:=true,
+ org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request;x-internal:=true
 Import-Package: org.eclipse.debug.core.model,
  org.eclipse.wst.jsdt.debug.core.breakpoints,
  org.eclipse.wst.jsdt.debug.core.jsdi,
@@ -21,8 +19,4 @@
  org.eclipse.wst.jsdt.debug.core.jsdi.event,
  org.eclipse.wst.jsdt.debug.core.jsdi.request,
  org.eclipse.wst.jsdt.debug.core.model,
- org.eclipse.wst.jsdt.debug.internal.rhino.transport,
- org.eclipse.wst.jsdt.debug.transport,
- org.eclipse.wst.jsdt.debug.transport.exception,
- org.eclipse.wst.jsdt.debug.transport.packet,
- org.eclipse.wst.jsdt.debug.transport.socket
+ org.eclipse.wst.jsdt.debug.internal.rhino.transport
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino/OSGI-INF/l10n/bundle.properties
index c787bbd..f4cd190 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/OSGI-INF/l10n/bundle.properties
@@ -8,5 +8,5 @@
 # Contributors:
 #     IBM Corporation - initial API and implementation
 ###############################################################################
-providerName = Eclipse Web Tools Platform
+Bundle-Vendor = Eclipse Web Tools Platform
 Bundle-Name = Rhino JavaScript Debug
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/build.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino/build.properties
index 599286f..c1711a9 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/build.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/build.properties
@@ -1,19 +1,8 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
                about.html,\
-               OSGI-INF/l10n/bundle.properties,\
-               OSGI-INF/
+               OSGI-INF/l10n/bundle.properties
 src.includes = about.html
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferenceInitializer.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferenceInitializer.java
index 36992a7..af9a967 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferenceInitializer.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferenceInitializer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -31,7 +31,7 @@
 	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
 	 */
 	public void initializeDefaultPreferences() {
-		IEclipsePreferences defaultscope = DefaultScope.INSTANCE.getNode(RhinoDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences defaultscope = new DefaultScope().getNode(RhinoDebugPlugin.PLUGIN_ID);
 		defaultscope.putBoolean(Constants.SUSPEND_ON_STDIN_LOAD, false);
 		try {
 			defaultscope.flush();
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferencesManager.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferencesManager.java
index e79b9b2..8589683 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferencesManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/RhinoPreferencesManager.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -28,7 +28,7 @@
 	 * Starts the manager
 	 */
 	public void start() {
-		IEclipsePreferences node = InstanceScope.INSTANCE.getNode(RhinoDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences node = new InstanceScope().getNode(RhinoDebugPlugin.PLUGIN_ID);
 		if(node != null) {
 			node.addPreferenceChangeListener(this);
 		}
@@ -42,7 +42,7 @@
 	 * Stops the manager and frees any resources held
 	 */
 	public void stop() {
-		IEclipsePreferences node = InstanceScope.INSTANCE.getNode(RhinoDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences node = new InstanceScope().getNode(RhinoDebugPlugin.PLUGIN_ID);
 		if(node != null) {
 			node.removePreferenceChangeListener(this);
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/breakpoints/RhinoBreakpointParticipant.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/breakpoints/RhinoBreakpointParticipant.java
index f11f18a..5daa371 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/breakpoints/RhinoBreakpointParticipant.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/breakpoints/RhinoBreakpointParticipant.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -73,8 +73,8 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptBreakpointParticipant#scriptLoaded(org.eclipse.wst.jsdt.debug.core.model.IJavaScriptThread, org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference, org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptBreakpoint)
 	 */
 	public int scriptLoaded(IJavaScriptThread thread, ScriptReference script, IJavaScriptBreakpoint breakpoint) {
-		String seg = URIUtil.lastSegment(script.sourceURI());
-		if(seg != null && seg.equals(Constants.STD_IN) && !RhinoPreferencesManager.suspendOnStdinLoad()) {
+		if(URIUtil.lastSegment(script.sourceURI()).equals(Constants.STD_IN) &&
+				!RhinoPreferencesManager.suspendOnStdinLoad()) {
 			return DONT_SUSPEND;
 		}
 		return SUSPEND;
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ObjectReferenceImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ObjectReferenceImpl.java
index d1f49ef..6deb115 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ObjectReferenceImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ObjectReferenceImpl.java
@@ -76,9 +76,9 @@
 		super(vm);
 		this.frame = frame;
 		this.className = (String) body.get(JSONConstants.CLASS_NAME);
-		this.id = (Number) body.get(JSONConstants.REF);
-		this.constructorRef = (Number) body.get(JSONConstants.CONSTRUCTOR_FUNCTION);
-		this.prototypeRef = (Number) body.get(JSONConstants.PROTOTYPE_OBJECT);
+		this.id = (Number) body.get(JSONConstants.HANDLE);
+		this.constructorRef = (Number) ((Map) body.get(JSONConstants.CONSTRUCTOR_FUNCTION)).get(JSONConstants.REF);
+		this.prototypeRef = (Number) ((Map) body.get(JSONConstants.PROTOTYPE_OBJECT)).get(JSONConstants.REF);
 		List proplist = (List) body.get(JSONConstants.PROPERTIES);
 		if (proplist != null) {
 			this.properties = new ArrayList(proplist.size());
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ScriptReferenceImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ScriptReferenceImpl.java
index 286c435..315e945 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ScriptReferenceImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ScriptReferenceImpl.java
@@ -20,7 +20,6 @@
 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.URIUtil;
 import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
 import org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin;
@@ -146,14 +145,9 @@
 					IPath path = new Path((String) this.sourceProperties.get(Constants.BUNDLE_SYMBOLICNAME));
 					path = path.append((String) this.sourceProperties.get(JSONConstants.PATH));
 					path = path.append((String) this.sourceProperties.get(JSONConstants.NAME));
-					this.sourceuri = URIUtil.fromString(path.toString());
+					this.sourceuri = URI.create(path.toString());
 				} else if (this.sourcePath != null) {
-					try {
-						this.sourceuri = new URI(this.sourcePath);
-					}
-					catch(URISyntaxException use) {
-						this.sourceuri = URIUtil.fromString(sourcePath);
-					}
+					this.sourceuri = URI.create(sourcePath);
 				} else {
 					this.sourceuri = RhinoDebugPlugin.fileURI(new Path("script")); //$NON-NLS-1$
 				}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/StackFrameImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/StackFrameImpl.java
index 3144064..4044e8c 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/StackFrameImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/StackFrameImpl.java
@@ -11,7 +11,6 @@
 package org.eclipse.wst.jsdt.debug.internal.rhino.jsdi;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -22,11 +21,11 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
 import org.eclipse.wst.jsdt.debug.core.jsdi.Variable;
 import org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DisconnectedException;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoResponse;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Request;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Response;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TimeoutException;
 
 /**
  * Rhino implementation of {@link StackFrame}
@@ -77,12 +76,12 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame#evaluate(java.lang.String)
 	 */
 	public Value evaluate(String expression) {
-		RhinoRequest request = new RhinoRequest(JSONConstants.EVALUATE);
+		Request request = new Request(JSONConstants.EVALUATE);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		request.getArguments().put(JSONConstants.FRAME_ID, frameId);
 		request.getArguments().put(JSONConstants.EXPRESSION, expression);
 		try {
-			RhinoResponse response = vm.sendRequest(request, 30000);
+			Response response = vm.sendRequest(request, 30000);
 			return createValue(response.getBody(), true);
 		} catch (DisconnectedException e) {
 			handleException(e.getMessage(), e);
@@ -102,12 +101,12 @@
 	public Value lookupValue(Number ref) {
 		Value value = (Value) this.cache.get(ref);
 		if (value == null) {
-			RhinoRequest request = new RhinoRequest(JSONConstants.LOOKUP);
+			Request request = new Request(JSONConstants.LOOKUP);
 			request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 			request.getArguments().put(JSONConstants.FRAME_ID, frameId);
-			request.getArguments().put(JSONConstants.REF, ref);
+			request.getArguments().put(JSONConstants.HANDLE, ref);
 			try {
-				RhinoResponse response = vm.sendRequest(request, 30000);
+				Response response = vm.sendRequest(request, 30000);
 				value = createValue(response.getBody(), false);
 				this.cache.put(ref, value);
 				return value;
@@ -181,10 +180,6 @@
 	 */
 	public synchronized List variables() {
 		initializeVariables();
-		if(variables == null) {
-			//return this to maintain the API contract, and to allow variable initialization happen again
-			return Collections.EMPTY_LIST;
-		}
 		return variables;
 	}
 
@@ -195,26 +190,24 @@
 		if (variables != null) {
 			return;
 		}
-		RhinoRequest request = new RhinoRequest(JSONConstants.LOOKUP);
+		Request request = new Request(JSONConstants.LOOKUP);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		request.getArguments().put(JSONConstants.FRAME_ID, frameId);
-		request.getArguments().put(JSONConstants.REF, ref);
+		request.getArguments().put(JSONConstants.HANDLE, ref);
 		try {
-			RhinoResponse response = vm.sendRequest(request, 30000);
-			if(response.isSuccess()) {
-				Map lookup = (Map) response.getBody().get(JSONConstants.LOOKUP);
-				List properties = (List) lookup.get(JSONConstants.PROPERTIES);
-				variables = new ArrayList();
-				for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
-					Map property = (Map) iterator.next();
-					String name = (String) property.get(JSONConstants.NAME);
-					Number ref = (Number) property.get(JSONConstants.REF);
-					VariableImpl variable = new VariableImpl(vm, this, name, ref);
-					if (name.equals(JSONConstants.THIS))
-						thisVariable = variable;
-					else
-						variables.add(variable);
-				}
+			Response response = vm.sendRequest(request, 30000);
+			Map lookup = (Map) response.getBody().get(JSONConstants.LOOKUP);
+			List properties = (List) lookup.get(JSONConstants.PROPERTIES);
+			variables = new ArrayList();
+			for (Iterator iterator = properties.iterator(); iterator.hasNext();) {
+				Map property = (Map) iterator.next();
+				String name = (String) property.get(JSONConstants.NAME);
+				Number ref = (Number) property.get(JSONConstants.REF);
+				VariableImpl variable = new VariableImpl(vm, this, name, ref);
+				if (name.equals(JSONConstants.THIS))
+					thisVariable = variable;
+				else
+					variables.add(variable);
 			}
 		} catch (DisconnectedException e) {
 			handleException(e.getMessage(), e);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ThreadReferenceImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ThreadReferenceImpl.java
index a7b717b..c2d92f1 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ThreadReferenceImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/ThreadReferenceImpl.java
@@ -19,11 +19,11 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
 import org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DisconnectedException;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoResponse;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Request;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Response;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TimeoutException;
 
 /**
  * Rhino implementation of {@link ThreadReference}
@@ -83,10 +83,10 @@
 		if (frames != null) {
 			return frames;
 		}
-		RhinoRequest request = new RhinoRequest(JSONConstants.FRAMES);
+		Request request = new Request(JSONConstants.FRAMES);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		try {
-			RhinoResponse response = vm.sendRequest(request, 30000);
+			Response response = vm.sendRequest(request, 30000);
 			List frameIds = (List) response.getBody().get(JSONConstants.FRAMES);
 			if (frameIds.isEmpty()) {
 				return Collections.EMPTY_LIST;
@@ -116,11 +116,11 @@
 	 * @return a new {@link StackFrameReference} or <code>null</code>
 	 */
 	private StackFrameImpl createStackFrame(Long frameId) {
-		RhinoRequest request = new RhinoRequest(JSONConstants.FRAME);
+		Request request = new Request(JSONConstants.FRAME);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		request.getArguments().put(JSONConstants.FRAME_ID, frameId);
 		try {
-			RhinoResponse response = vm.sendRequest(request);
+			Response response = vm.sendRequest(request);
 			Map jsonFrame = (Map) response.getBody().get(JSONConstants.FRAME);
 			return new StackFrameImpl(vm, jsonFrame);
 		} catch (DisconnectedException e) {
@@ -169,13 +169,13 @@
 		if (status == THREAD_STATUS_ZOMBIE) {
 			return;
 		}
-		RhinoRequest request = new RhinoRequest(JSONConstants.CONTINUE);
+		Request request = new Request(JSONConstants.CONTINUE);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		if (step != null) {
 			request.getArguments().put(JSONConstants.STEP, step);
 		}
 		try {
-			RhinoResponse response = vm.sendRequest(request);
+			Response response = vm.sendRequest(request);
 			if (response.isSuccess()) {
 				step = null;
 				frames = null;
@@ -196,10 +196,10 @@
 		if (status == THREAD_STATUS_ZOMBIE) {
 			return;
 		}
-		RhinoRequest request = new RhinoRequest(JSONConstants.SUSPEND);
+		Request request = new Request(JSONConstants.SUSPEND);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		try {
-			RhinoResponse response = vm.sendRequest(request);
+			Response response = vm.sendRequest(request);
 			if(response.isSuccess()) {
 				markSuspended(false);
 			}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/VirtualMachineImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/VirtualMachineImpl.java
index 1f5a437..c25dfb7 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/VirtualMachineImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/VirtualMachineImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -28,13 +28,13 @@
 import org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.event.EventQueueImpl;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request.EventRequestManagerImpl;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DebugSession;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DisconnectedException;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.EventPacket;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoResponse;
-import org.eclipse.wst.jsdt.debug.transport.DebugSession;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Request;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Response;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TimeoutException;
 
 /**
  * Rhino implementation of {@link VirtualMachine}
@@ -52,9 +52,6 @@
 	private final EventQueue eventQueue = new EventQueueImpl(this, eventRequestManager);
 	private Map threads = new HashMap();
 	private boolean disconnected = false;
-	private String name = null;
-	private String version = null;
-	Object lock = new Object();
 
 	/**
 	 * Constructor
@@ -71,9 +68,9 @@
 	 * loads the scripts
 	 */
 	private void initalizeScripts() {
-		RhinoRequest request = new RhinoRequest(JSONConstants.SCRIPTS);
+		Request request = new Request(JSONConstants.SCRIPTS);
 		try {
-			RhinoResponse response = sendRequest(request);
+			Response response = sendRequest(request);
 			List scriptIds = (List) response.getBody().get(JSONConstants.SCRIPTS);
 			for (Iterator iterator = scriptIds.iterator(); iterator.hasNext();) {
 				Long scriptId = new Long(((Number) iterator.next()).longValue());
@@ -96,10 +93,10 @@
 	 * @return the new {@link ScriptReferenceImpl} or <code>null</code>
 	 */
 	private ScriptReferenceImpl createScriptReference(Long scriptId) {
-		RhinoRequest request = new RhinoRequest(JSONConstants.SCRIPT);
+		Request request = new Request(JSONConstants.SCRIPT);
 		request.getArguments().put(JSONConstants.SCRIPT_ID, scriptId);
 		try {
-			RhinoResponse response = sendRequest(request, DEFAULT_TIMEOUT);
+			Response response = sendRequest(request, DEFAULT_TIMEOUT);
 			Map jsonScript = (Map) response.getBody().get(JSONConstants.SCRIPT);
 			return new ScriptReferenceImpl(this, jsonScript);
 		} catch (DisconnectedException e) {
@@ -125,7 +122,11 @@
 	 * @param script
 	 */
 	public synchronized ScriptReferenceImpl addScript(Long scriptId) {
-		ScriptReferenceImpl script = createScriptReference(scriptId);
+		ScriptReferenceImpl script = (ScriptReferenceImpl) scripts.get(scriptId);
+		if (script != null) {
+			return script;
+		}
+		script = createScriptReference(scriptId);
 		if (script != null) {
 			scripts.put(scriptId, script);
 		}
@@ -149,7 +150,7 @@
 	 * @throws DisconnectedException
 	 */
 	public EventPacket receiveEvent(int timeout) throws TimeoutException, DisconnectedException {
-		return (EventPacket) session.receive(EventPacket.TYPE, timeout);
+		return session.receiveEvent(timeout);
 	}
 
 	/**
@@ -157,23 +158,23 @@
 	 * 
 	 * @param request
 	 * @param timeout
-	 * @return the {@link RhinoResponse} for the request
+	 * @return the {@link Response} for the request
 	 * @throws TimeoutException
 	 * @throws DisconnectedException
 	 */
-	public RhinoResponse sendRequest(RhinoRequest request, int timeout) throws TimeoutException, DisconnectedException {
-		session.send(request);
-		return (RhinoResponse) session.receiveResponse(request.getSequence(), timeout);
+	public Response sendRequest(Request request, int timeout) throws TimeoutException, DisconnectedException {
+		session.sendRequest(request);
+		return session.receiveResponse(request.getSequence(), timeout);
 	}
 
 	/**
-	 * Sends the given {@link RhinoRequest} using the default timeout
+	 * Sends the given {@link Request} using the default timeout
 	 * @param request
-	 * @return the {@link RhinoResponse} from the request
+	 * @return the {@link Response} from the request
 	 * @throws TimeoutException
 	 * @throws DisconnectedException
 	 */
-	public RhinoResponse sendRequest(RhinoRequest request) throws TimeoutException, DisconnectedException {
+	public Response sendRequest(Request request) throws TimeoutException, DisconnectedException {
 		return sendRequest(request, DEFAULT_TIMEOUT);
 	}
 
@@ -181,9 +182,9 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#allThreads()
 	 */
 	public synchronized List allThreads() {
-		RhinoRequest request = new RhinoRequest(JSONConstants.THREADS);
+		Request request = new Request(JSONConstants.THREADS);
 		try {
-			RhinoResponse response = sendRequest(request);
+			Response response = sendRequest(request);
 			List threadIds = (List) response.getBody().get(JSONConstants.THREADS);
 			HashMap allThreads = new HashMap(threadIds.size());
 			for (Iterator iterator = threadIds.iterator(); iterator.hasNext();) {
@@ -221,10 +222,10 @@
 	 * @return the new {@link ThreadReferenceImpl} or <code>null</code>
 	 */
 	private ThreadReferenceImpl createThreadReference(Long threadId) {
-		RhinoRequest request = new RhinoRequest(JSONConstants.THREAD);
+		Request request = new Request(JSONConstants.THREAD);
 		request.getArguments().put(JSONConstants.THREAD_ID, threadId);
 		try {
-			RhinoResponse response = sendRequest(request, DEFAULT_TIMEOUT);
+			Response response = sendRequest(request, DEFAULT_TIMEOUT);
 			Map jsonThread = (Map) response.getBody().get(JSONConstants.THREAD);
 			if (jsonThread == null) {
 				return null;
@@ -261,9 +262,9 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#description()
 	 */
 	public String description() {
-		RhinoRequest request = new RhinoRequest(JSONConstants.VERSION);
+		Request request = new Request(JSONConstants.VERSION);
 		try {
-			RhinoResponse response = sendRequest(request);
+			Response response = sendRequest(request);
 			StringBuffer buffer = new StringBuffer();
 			buffer.append((String) response.getBody().get(JSONConstants.VM_VENDOR)).append(Constants.SPACE);
 			buffer.append(response.getBody().get(JSONConstants.VM_NAME)).append(Constants.SPACE);
@@ -282,7 +283,7 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#dispose()
 	 */
 	public void dispose() {
-		RhinoRequest request = new RhinoRequest(JSONConstants.DISPOSE);
+		Request request = new Request(JSONConstants.DISPOSE);
 		try {
 			sendRequest(request);
 		} catch (DisconnectedException e) {
@@ -300,28 +301,24 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#name()
 	 */
 	public String name() {
-		synchronized (lock) {
-			if(this.name == null) {
-	 			RhinoRequest request = new RhinoRequest(JSONConstants.VERSION);
-				try {
-					RhinoResponse response = sendRequest(request);
-					name = (String) response.getBody().get(JSONConstants.VM_NAME);
-				} catch (DisconnectedException e) {
-					disconnectVM();
-					handleException(e.getMessage(), e);
-				} catch (TimeoutException e) {
-					RhinoDebugPlugin.log(e);
-				}
-			}
+		Request request = new Request(JSONConstants.VERSION);
+		try {
+			Response response = sendRequest(request);
+			return (String) response.getBody().get(JSONConstants.VM_NAME);
+		} catch (DisconnectedException e) {
+			disconnectVM();
+			handleException(e.getMessage(), e);
+		} catch (TimeoutException e) {
+			RhinoDebugPlugin.log(e);
 		}
-		return this.name;
+		return null;
 	}
 
 	/* (non-Javadoc)
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#resume()
 	 */
 	public void resume() {
-		RhinoRequest request = new RhinoRequest(JSONConstants.CONTINUE);
+		Request request = new Request(JSONConstants.CONTINUE);
 		try {
 			sendRequest(request);
 		} catch (DisconnectedException e) {
@@ -336,7 +333,7 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#suspend()
 	 */
 	public void suspend() {
-		RhinoRequest request = new RhinoRequest(JSONConstants.SUSPEND);
+		Request request = new Request(JSONConstants.SUSPEND);
 		try {
 			sendRequest(request);
 		} catch (DisconnectedException e) {
@@ -358,21 +355,17 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#version()
 	 */
 	public String version() {
-		synchronized (lock) {
-			if(this.version == null) {
-				RhinoRequest request = new RhinoRequest(JSONConstants.VERSION);
-				try {
-					RhinoResponse response = sendRequest(request);
-					this.version = (String) response.getBody().get(JSONConstants.VM_VERSION);
-				} catch (DisconnectedException e) {
-					disconnectVM();
-					handleException(e.getMessage(), e);
-				} catch (TimeoutException e) {
-					RhinoDebugPlugin.log(e);
-				}
-			}
+		Request request = new Request(JSONConstants.VERSION);
+		try {
+			Response response = sendRequest(request);
+			return (String) response.getBody().get(JSONConstants.VM_VERSION);
+		} catch (DisconnectedException e) {
+			disconnectVM();
+			handleException(e.getMessage(), e);
+		} catch (TimeoutException e) {
+			RhinoDebugPlugin.log(e);
 		}
-		return this.version;
+		return null;
 	}
 
 	/**
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/RhinoAttachingConnector.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/RhinoAttachingConnector.java
index 406690c..cda758b 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/RhinoAttachingConnector.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/RhinoAttachingConnector.java
@@ -18,10 +18,7 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.connect.AttachingConnector;
 import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.VirtualMachineImpl;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoTransportService;
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.DebugSession;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.*;
 
 /**
  * Rhino {@link Connector} implementation that attaches to a running debug process
@@ -41,7 +38,7 @@
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.AttachingConnector#attach(java.util.Map)
 	 */
 	public VirtualMachine attach(Map arguments) throws IOException {
-		TransportService service = new RhinoTransportService();
+		TransportService service = new SocketTransportService();
 		String host = (String) arguments.get(HostArgument.HOST);
 		String port = (String) arguments.get(PortArgument.PORT);
 		Connection c = service.attach(host + ":" + Integer.parseInt(port), 10000, 10000); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/messages.properties
index 9c67d26..9a85cd8 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/messages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/connect/messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2009, 2010 IBM Corporation and others.
+# Copyright (c) 2009 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/EventQueueImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/EventQueueImpl.java
index fb9e31a..d09acc2 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/EventQueueImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/EventQueueImpl.java
@@ -32,10 +32,10 @@
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request.EventRequestManagerImpl;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request.StepRequestImpl;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request.SuspendRequestImpl;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DisconnectedException;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.EventPacket;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TimeoutException;
 
 /**
  * Default implementation of {@link EventQueue}
@@ -106,7 +106,7 @@
 					Long scriptId = new Long(((Number) event.getBody().get(JSONConstants.SCRIPT_ID)).longValue());
 					ScriptReferenceImpl script = vm.getScript(scriptId);
 					if(script != null) {
-						int lineNumber = ((Number) event.getBody().get(JSONConstants.LINE)).intValue();
+						int lineNumber = ((Number) event.getBody().get(JSONConstants.LINE_NUMBER)).intValue();
 						Location location = script.lineLocation(lineNumber);
 						boolean atBreakpoint = false;
 						Number breakpointId = (Number) event.getBody().get(JSONConstants.BREAKPOINT);
@@ -163,7 +163,7 @@
 						eventSet.setThread(thread);
 						Long scriptId = new Long(((Number) event.getBody().get(JSONConstants.SCRIPT_ID)).longValue());
 						ScriptReferenceImpl script = vm.getScript(scriptId);
-						int lineNumber = ((Number) event.getBody().get(JSONConstants.LINE)).intValue();
+						int lineNumber = ((Number) event.getBody().get(JSONConstants.LINE_NUMBER)).intValue();
 						Location location = script.lineLocation(lineNumber);
 						String message = (String) event.getBody().get(JSONConstants.MESSAGE);
 						List exceptionRequests = eventRequestManager.exceptionRequests();
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/ResumeEventImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/ResumeEventImpl.java
deleted file mode 100644
index d87d0f3..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/ResumeEventImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ResumeEvent;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.VirtualMachineImpl;
-
-/**
- * Rhino implementation of {@link ResumeEvent}
- * @since 1.1
- */
-public class ResumeEventImpl extends LocatableEventImpl implements ResumeEvent {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param thread
-	 * @param location
-	 * @param request
-	 */
-	public ResumeEventImpl(VirtualMachineImpl vm, ThreadReference thread, Location location, EventRequest request) {
-		super(vm, thread, location, request);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/SuspendEventImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/SuspendEventImpl.java
index 2524a70..937f685 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/SuspendEventImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/event/SuspendEventImpl.java
@@ -12,16 +12,16 @@
 
 import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
 import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.SuspendEvent;
+import org.eclipse.wst.jsdt.debug.core.jsdi.event.BreakpointEvent;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.VirtualMachineImpl;
 
 /**
- * Rhino implementation of {@link SuspendEvent}
+ * Rhino implementation of {@link BreakpointEvent}
  * 
  * @since 1.0
  */
-public final class SuspendEventImpl extends LocatableEventImpl implements SuspendEvent {
+public final class SuspendEventImpl extends LocatableEventImpl implements BreakpointEvent {
 
 	/**
 	 * Constructor
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/messages.properties
index 0e4579a..ec56f59 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/messages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/messages.properties
@@ -1,11 +1 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
 ArrayReferenceImpl_array_count_=Array [{0}]
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/BreakpointRequestImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/BreakpointRequestImpl.java
index 7f11c0e..6704d8b 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/BreakpointRequestImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/BreakpointRequestImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -19,11 +19,11 @@
 import org.eclipse.wst.jsdt.debug.internal.rhino.RhinoDebugPlugin;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.ScriptReferenceImpl;
 import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.VirtualMachineImpl;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.DisconnectedException;
 import org.eclipse.wst.jsdt.debug.internal.rhino.transport.JSONConstants;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.transport.RhinoResponse;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Request;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.Response;
+import org.eclipse.wst.jsdt.debug.internal.rhino.transport.TimeoutException;
 
 /**
  * Rhino implementation of {@link BreakpointRequest}
@@ -118,7 +118,7 @@
 		if (enabled) {
 			ScriptReferenceImpl scriptReferenceImpl = (ScriptReferenceImpl) this.location.scriptReference();
 			Long scriptId = scriptReferenceImpl.getScriptId();
-			RhinoRequest request = new RhinoRequest(JSONConstants.SETBREAKPOINT);
+			Request request = new Request(JSONConstants.SETBREAKPOINT);
 			request.getArguments().put(JSONConstants.SCRIPT_ID, scriptId);
 			request.getArguments().put(JSONConstants.CONDITION, this.condition);
 			if (this.location.functionName() != null) {
@@ -128,19 +128,17 @@
 				request.getArguments().put(JSONConstants.LINE, new Integer(this.location.lineNumber()));
 			}
 			try {
-				RhinoResponse response = this.vm.sendRequest(request);
-				if(response.isSuccess()) {
-					Map body = (Map) response.getBody().get(JSONConstants.BREAKPOINT);
-					Number id = (Number) body.get(JSONConstants.BREAKPOINT_ID);
-					this.breakpointId = new Long(id.longValue());
-				}
+				Response response = this.vm.sendRequest(request);
+				Map body = (Map) response.getBody().get(JSONConstants.BREAKPOINT);
+				Number id = (Number) body.get(JSONConstants.BREAKPOINT_ID);
+				this.breakpointId = new Long(id.longValue());
 			} catch (TimeoutException e) {
 				RhinoDebugPlugin.log(e);
 			} catch (DisconnectedException e) {
 				handleException(e.getMessage(), e);
 			}
 		} else {
-			RhinoRequest request = new RhinoRequest(JSONConstants.CLEARBREAKPOINT);
+			Request request = new Request(JSONConstants.CLEARBREAKPOINT);
 			request.getArguments().put(JSONConstants.BREAKPOINT_ID, breakpointId);
 			try {
 				vm.sendRequest(request);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/EventRequestManagerImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/EventRequestManagerImpl.java
index 83252f2..050e6b5 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/EventRequestManagerImpl.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/EventRequestManagerImpl.java
@@ -24,7 +24,6 @@
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.ScriptLoadRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest;
 import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
@@ -48,7 +47,6 @@
 	private final List scriptLoadRequests = new ArrayList();
 	private final List stepRequests = new ArrayList();
 	private final List suspendRequests = new ArrayList();
-	private final List resumeRequests = new ArrayList();
 	private final List threadEnterRequests = new ArrayList();
 	private final List threadExitRequests = new ArrayList();
 	private final List vmDeathRequests = new ArrayList();
@@ -68,7 +66,6 @@
 		eventsMap.put(ScriptLoadRequestImpl.class, scriptLoadRequests);
 		eventsMap.put(StepRequestImpl.class, stepRequests);
 		eventsMap.put(SuspendRequestImpl.class, suspendRequests);
-		eventsMap.put(ResumeRequestImpl.class, resumeRequests);
 		eventsMap.put(ThreadEnterRequestImpl.class, threadEnterRequests);
 		eventsMap.put(ThreadExitRequestImpl.class, threadExitRequests);
 		eventsMap.put(VMDeathRequestImpl.class, vmDeathRequests);
@@ -172,22 +169,6 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createResumeRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public ResumeRequest createResumeRequest(ThreadReference thread) {
-		ResumeRequestImpl request = new ResumeRequestImpl(vm, thread);
-		resumeRequests.add(request);
-		return request;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#resumeRequests()
-	 */
-	public List resumeRequests() {
-		return Collections.unmodifiableList(resumeRequests);
-	}
-	
-	/* (non-Javadoc)
 	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createThreadEnterRequest()
 	 */
 	public synchronized ThreadEnterRequest createThreadEnterRequest() {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/ResumeRequestImpl.java b/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/ResumeRequestImpl.java
deleted file mode 100644
index a7fdee0..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.rhino/src/org/eclipse/wst/jsdt/debug/internal/rhino/jsdi/request/ResumeRequestImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
-import org.eclipse.wst.jsdt.debug.internal.rhino.jsdi.VirtualMachineImpl;
-
-/**
- * Rhino implementation of {@link ResumeRequest}
- * 
- * @since 1.1
- */
-public class ResumeRequestImpl extends EventRequestImpl implements ResumeRequest {
-
-	private final ThreadReference thread;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param thread
-	 */
-	public ResumeRequestImpl(VirtualMachineImpl vm, ThreadReference thread) {
-		super(vm);
-		this.thread = thread;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/.classpath b/bundles/org.eclipse.wst.jsdt.debug.transport/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/.project b/bundles/org.eclipse.wst.jsdt.debug.transport/.project
deleted file mode 100644
index e37a4fc..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.jsdt.debug.transport</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.jsdt.debug.transport/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index de9eac3..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,90 +0,0 @@
-#Fri Apr 30 10:04:28 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.debug.transport/META-INF/MANIFEST.MF
deleted file mode 100644
index 3727843..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.transport
-Bundle-Version: 1.0.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Vendor: %providerName
-Export-Package: org.eclipse.wst.jsdt.debug.transport,
- org.eclipse.wst.jsdt.debug.transport.exception,
- org.eclipse.wst.jsdt.debug.transport.packet,
- org.eclipse.wst.jsdt.debug.transport.socket
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/about.html b/bundles/org.eclipse.wst.jsdt.debug.transport/about.html
deleted file mode 100644
index b3906a9..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/about.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>April 20, 2007</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-<h3>Third Party Content</h3>
-
-<p>The Content includes items that have been sourced from third parties as set out below. If you 
-did not receive this Content directly from the Eclipse Foundation, the following is provided 
-for informational purposes only, and you should look to the Redistributor&rsquo;s license for 
-terms and conditions of use.</p>
-
-<h4>Ispell 3.1.20</h4>
-
-<p>The plug-in is accompanied by software developed by Geoff Kuenning.  The following files:</p>
-<ul>
-	<li>dictionaries/en_US.dictionary</li>
-	<li>dictionaries/en_GB.dictionary</li>
-</ul>
-
-<p>are based on Ispell 3.1.20.  The home page for Ispell is located at <a href="http://lasr.cs.ucla.edu/geoff/ispell.html" target="_blank">http://lasr.cs.ucla.edu/geoff/ispell.html</a>.</p>
-
-<p>Your use of Ispell 3.1.20 in the plug-in is subject to the terms and conditions of the Ispell license.  A copy of the Ispell license is included in
-<a href="about_files/ispell-license.txt" target="_blank">about_files/ispell-license.txt</a> and is also reproduced below:</p>
-
-<blockquote>
-  Copyright 1993, Geoff Kuenning, Granada Hills, CA<br />
-  All rights reserved.<br />
-<br />
-  Redistribution and use in source and binary forms, with or without<br />
-  modification, are permitted provided that the following conditions<br />
-  are met:<br />
-<br />
-  1. Redistributions of source code must retain the above copyright<br />
-     notice, this list of conditions and the following disclaimer.<br />
-  2. Redistributions in binary form must reproduce the above copyright<br />
-     notice, this list of conditions and the following disclaimer in the<br />
-     documentation and/or other materials provided with the distribution.<br />
-  3. All modifications to the source code must be clearly marked as<br />
-     such.  Binary redistributions based on modified source code<br />
-     must be clearly marked as modified versions in the documentation<br />
-     and/or other materials provided with the distribution.<br />
-  4. All advertising materials mentioning features or use of this software<br />
-     must display the following acknowledgment:<br />
-     This product includes software developed by Geoff Kuenning and<br />
-     other unpaid contributors.<br />
-  5. The name of Geoff Kuenning may not be used to endorse or promote<br />
-     products derived from this software without specific prior<br />
-     written permission.<br />
-<br />
-  THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS<br />
-  IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br />
-  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS<br />
-  FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL GEOFF<br />
-  KUENNING OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,<br />
-  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,<br />
-  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;<br />
-  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER<br />
-  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT<br />
-  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN<br />
-  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE<br />
-  POSSIBILITY OF SUCH DAMAGE.<br />
-</blockquote>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/build.properties b/bundles/org.eclipse.wst.jsdt.debug.transport/build.properties
deleted file mode 100644
index 2c4cfe7..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/l10n/bundle.properties,\
-               about.html,\
-               OSGI-INF/,\
-               OSGI-INF/l10n/
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/Constants.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/Constants.java
deleted file mode 100644
index 08810a7..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/Constants.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport;
-
-/**
- * Common constants
- * 
- * @since 1.0
- * 
- * @noextend This interface is not intended to be extended by clients.
- * @noimplement This interface is not intended to be implemented by clients.
- */
-public interface Constants {
-	/**
-	 * Constant representing a colon<br>
-	 * <br>
-	 * Value is: <code>:</code>
-	 */
-	public static final String COLON = ":"; //$NON-NLS-1$
-	/**
-	 * Constant for the text representation of localhost<br>
-	 * <br>
-	 * Value is: <code>localhost</code>
-	 */
-	public static final String LOCALHOST = "localhost"; //$NON-NLS-1$
-	/**
-	 * Constant for the IP address representation of localhost<br>
-	 * <br>
-	 * Value is: <code>127.0.0.1</code> 
-	 */
-	public static final String LOCALHOST_IP = "127.0.0.1"; //$NON-NLS-1$
-	/**
-	 * "port" constant<br>
-	 * <br>
-	 * Value is: <code>port</code>
-	 */
-	public static final String PORT = "port"; //$NON-NLS-1$
-	/**
-	 * UTF-8 encoding constant<br>
-	 * <br>
-	 * Value is: <code>UTF-8</code>
-	 */
-	public static final String UTF_8 = "UTF-8"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/DebugSession.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/DebugSession.java
deleted file mode 100644
index dab4f85..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/DebugSession.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport;
-
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-import org.eclipse.wst.jsdt.debug.transport.packet.PacketReceiveManager;
-import org.eclipse.wst.jsdt.debug.transport.packet.PacketSendManager;
-import org.eclipse.wst.jsdt.debug.transport.packet.Response;
-
-/**
- * A {@link DebugSession} controls a {@link PacketSendManager} and {@link PacketReceiveManager}
- * that is used to communicate to a debug target using the underlying {@link Connection}
- * 
- * @since 1.0
- */
-public class DebugSession {
-	
-	/**
-	 * The default receive manager
-	 */
-	private final PacketReceiveManager packetReceiveManager;
-	/**
-	 * The default send manager
-	 */
-	private final PacketSendManager packetSendManager;
-
-	/**
-	 * Constructor
-	 * 
-	 * Starts the send / receive managers on the given {@link Connection}.
-	 * 
-	 * @param connection
-	 */
-	public DebugSession(Connection connection) {
-		packetReceiveManager = new PacketReceiveManager(connection);
-		Thread receiveThread = new Thread(packetReceiveManager, "Debug Session - Receive Manager"); //$NON-NLS-1$
-		receiveThread.setDaemon(true);
-
-		packetSendManager = new PacketSendManager(connection);
-		Thread sendThread = new Thread(packetSendManager, "Debug Session - Send Manager"); //$NON-NLS-1$
-		sendThread.setDaemon(true);
-
-		packetReceiveManager.setPartnerThread(sendThread);
-		packetSendManager.setPartnerThread(receiveThread);
-
-		receiveThread.start();
-		sendThread.start();
-	}
-
-	/**
-	 * Stops the debug sessions and disconnects the send / receive managers
-	 */
-	public void dispose() {
-		packetReceiveManager.disconnect();
-		packetSendManager.disconnect();
-	}
-
-	/**
-	 * Sends the given {@link Packet} using the underlying {@link PacketSendManager}.
-	 * 
-	 * @param packet the {@link Packet} to send, <code>null</code> is not accepted
-	 * @throws DisconnectedException if the {@link PacketSendManager} has been disconnected
-	 */
-	public void send(Packet packet) throws DisconnectedException {
-		if(packet == null) {
-			throw new IllegalArgumentException("You cannot send a null request"); //$NON-NLS-1$
-		}
-		packetSendManager.sendPacket(packet);
-	}
-	
-	/**
-	 * Waits for the given timeout for a {@link Response} response in the given sequence 
-	 * from the {@link PacketReceiveManager}.<br>
-	 * <br>
-	 * This method does not return <code>null</code> - one of the listed exceptions will be thrown 
-	 * if a {@link Response} cannot be returned.
-	 * 
-	 * @param timeout the amount of time in milliseconds to wait to a {@link Response}
-	 * @return a new {@link Response} from the {@link PacketReceiveManager} never <code>null</code>
-	 * @throws TimeoutException if the timeout lapses with no {@link Response} returned
-	 * @throws DisconnectedException if the {@link PacketReceiveManager} has been disconnected
-	 */
-	public Response receiveResponse(int requestSequence, int timeout) throws TimeoutException, DisconnectedException {
-		return packetReceiveManager.getResponse(requestSequence, timeout);
-	}
-
-	/**
-	 * Waits for the given timeout for a {@link Packet} from the {@link PacketReceiveManager}.
-	 * If a {@link Packet} is returned it is guaranteed it can be cast to the type asked for.
-	 * <br><br>
-	 * This method does not return <code>null</code> - one of the listed exceptions will be thrown 
-	 * if a {@link Packet} cannot be returned.
-	 * 
-	 * @param type the type of the packet to get
-	 * @param timeout the amount of time in milliseconds to wait for a {@link Packet}
-	 * 
-	 * @return a new {@link Packet} from the {@link PacketReceiveManager} never <code>null</code>
-	 * @throws TimeoutException if the timeout lapses with no {@link Packet} returned
-	 * @throws DisconnectedException if the {@link PacketReceiveManager} has been disconnected
-	 */
-	public Packet receive(String type, int timeout) throws TimeoutException, DisconnectedException {
-		return packetReceiveManager.getCommand(type, timeout);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/ListenerKey.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/ListenerKey.java
deleted file mode 100644
index 10c03d0..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/ListenerKey.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport;
-
-import java.net.Socket;
-
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketListenerKey;
-
-/**
- * Describes a key for a {@link TransportService} that uniquely identifies an address to communicate with.
- * <br><br>
- * This interface is intended to be implemented by clients. A default
- * implementation for {@link Socket} communication is provided in the class
- * {@link SocketListenerKey}.
- * 
- * @since 1.0
- */
-public interface ListenerKey {
-	/**
-	 * Returns the address string for the listener.
-	 * <br><br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @return the address to try and communicate with, never <code>null</code>
-	 */
-	public String address();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Event.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Event.java
deleted file mode 100644
index 61d9194..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Event.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
-
-import java.util.Map;
-
-/**
- * Describes the general form of an event {@link Packet}
- * 
- * @since 1.0
- */
-public interface Event extends Packet {
-	/**
-	 * Returns the name of the event.
-	 * <br><br>
-	 * This method cannot return <code>null</code>.
-	 * 
-	 * @return the name of the event
-	 */
-	public String getEvent();
-
-	/**
-	 * Returns the body of the {@link Event}.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>, if there is no body
-	 * an empty {@link Map} is returned.
-	 *  
-	 * @return the body of the {@link Event} or an empty {@link Map} never <code>null</code>
-	 */
-	public Map getBody();
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Packet.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Packet.java
deleted file mode 100644
index 87e7d3a..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Packet.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
-
-import java.util.Map;
-
-/**
- * Describes the general form of a packet
- * 
- * @since 1.0
- */
-public interface Packet {
-
-	/**
-	 * Returns the type of this packet. Where a <code>type</code> can be any string describing the type of
-	 * packet this is. For example a type could be <code>request</code> or <code>response</code>.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @return the type, never <code>null</code>
-	 */
-	public String getType();
-	
-	/**
-	 * Returns the JSON representation of this packet. 
-	 * Implementors are free to compose the JSON however they wish.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * @return the composed JSON map
-	 */
-	public Map toJSON();
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Request.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Request.java
deleted file mode 100644
index 91a6e9a..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Request.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
-
-import java.util.Map;
-
-/**
- * Describes the general form of a request {@link Packet}
- * 
- * @since 1.0
- */
-public interface Request extends Packet {
-
-	/**
-	 * Returns the command that this {@link Request} was created for.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @return the underlying command, never <code>null</code>
-	 */
-	public String getCommand();
-
-	/**
-	 * Returns the sequence for this request.
-	 * 
-	 * @return the request sequence
-	 */
-	public int getSequence();
-	
-	/**
-	 * Returns the complete collection of JSON arguments in the {@link Request}.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>, an empty map will be returned
-	 * if there are no arguments.
-	 * 
-	 * @return the arguments or an empty map never <code>null</code>
-	 */
-	public Map getArguments();
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Response.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Response.java
deleted file mode 100644
index d4340a2..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/packet/Response.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.packet;
-
-import java.util.Map;
-
-/**
- * Describes the general form of a response {@link Packet}
- * 
- * @since 1.0
- */
-public interface Response extends Packet {
-
-	/**
-	 * Returns the name of the original issued command.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>
-	 * 
-	 * @return the name of the original issued command, never <code>null</code>
-	 */
-	public String getCommand();
-	
-	/**
-	 * Returns the request sequence
-	 * 
-	 * @return the request sequence
-	 */
-	public int getRequestSequence();
-	
-	/**
-	 * Returns the body of the {@link Response}.<br>
-	 * <br>
-	 * This method cannot return <code>null</code>, if there is no body
-	 * an empty {@link Map} is returned.
-	 *  
-	 * @return the body of the {@link Response} or an empty {@link Map} never <code>null</code>
-	 */
-	public Map getBody();
-
-	/**
-	 * Returns <code>true</code> if the original {@link Request} was successful
-	 * 
-	 * @return <code>true</code> if the original {@link Request} was successful, <code>false</code> otherwise
-	 */
-	public boolean isSuccess();
-	
-	/**
-	 * Returns <code>true</code> if the issued command left the connected VM in a running state.
-	 * 
-	 * @return <code>true</code> if the underlying command is running, <code>false</code> otherwise
-	 */
-	public boolean isRunning();
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketConnection.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketConnection.java
deleted file mode 100644
index c26c3b8..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketConnection.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.socket;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.Socket;
-
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.Constants;
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-
-/**
- * A specialized {@link Connection} that communicates using {@link Socket}s
- * 
- * @since 1.0
- */
-public abstract class SocketConnection implements Connection {
-
-	private Writer writer;
-	private Reader reader;
-	private Socket socket;
-
-	/**
-	 * Constructor
-	 * 
-	 * @param socket the underlying {@link Socket}, <code>null</code> is not accepted
-	 * 
-	 * @throws IOException
-	 */
-	public SocketConnection(Socket socket) throws IOException {
-		if(socket == null) {
-			throw new IllegalArgumentException("You cannot create a new SocketConnection on a null Socket"); //$NON-NLS-1$
-		}
-		this.socket = socket;
-		writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), Constants.UTF_8));
-		reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), Constants.UTF_8));
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#isOpen()
-	 */
-	public boolean isOpen() {
-		return !socket.isClosed();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#close()
-	 */
-	public void close() throws IOException {
-		socket.close();
-	}
-	
-	/**
-	 * Returns the {@link Writer} used to write to the underlying {@link Socket}.
-	 * <br><br>
-	 * This method will never return <code>null</code> 
-	 * 
-	 * @return the writer for the socket, never <code>null</code>
-	 */
-	public Writer getWriter() {
-		return writer;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#writePacket(org.eclipse.wst.jsdt.debug.transport.packet.Packet)
-	 */
-	public abstract void writePacket(Packet packet) throws IOException;
-
-	/**
-	 * Returns the {@link Reader} used to read from the underlying {@link Socket}.
-	 * <br><br>
-	 * This method will never return <code>null</code> 
-	 * 
-	 * @return the reader for the socket, never <code>null</code>
-	 */
-	public Reader getReader() {
-		return reader;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.Connection#readPacket()
-	 */
-	public abstract Packet readPacket() throws IOException;
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketListenerKey.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketListenerKey.java
deleted file mode 100644
index 81c242d..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketListenerKey.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.socket;
-
-import org.eclipse.wst.jsdt.debug.transport.ListenerKey;
-
-/**
- * Key implementation for a {@link SocketTransportService}
- * 
- * @since 1.0
- */
-public final class SocketListenerKey implements ListenerKey {
-
-	private String address;
-
-	/**
-	 * Constructor
-	 * @param address
-	 */
-	public SocketListenerKey(String address) {
-		this.address = address;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService.ListenerKey#address()
-	 */
-	public String address() {
-		return address;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketTransportService.java b/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketTransportService.java
deleted file mode 100644
index 66c029e..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.transport/src/org/eclipse/wst/jsdt/debug/transport/socket/SocketTransportService.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.transport.socket;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.Constants;
-import org.eclipse.wst.jsdt.debug.transport.ListenerKey;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
-
-/**
- * Implementation of a {@link TransportService} that using a {@link Socket} for communication
- * 
- * @since 1.0
- */
-public abstract class SocketTransportService implements TransportService {
-
-	/**
-	 * Map of {@link ListenerKey} to {@link ServerSocket}s
-	 */
-	private Map listeners = new HashMap();
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#startListening(java.lang.String)
-	 */
-	public synchronized ListenerKey startListening(String address) throws IOException {
-		String host = null;
-		int port = 0;
-		if (address != null) {
-			String[] strings = address.split(Constants.COLON);
-			if (strings.length == 2) {
-				host = strings[0];
-				port = Integer.parseInt(strings[1]);
-			} else {
-				port = Integer.parseInt(strings[0]);
-			}
-		}
-		if (host == null) {
-			host = Constants.LOCALHOST;
-		}
-		ListenerKey key = new SocketListenerKey(host + Constants.COLON + port);
-		ServerSocket serverSocket = new ServerSocket(port);
-		listeners.put(key, serverSocket);
-		return key;
-
-	};
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#stopListening(org.eclipse.wst.jsdt.debug.transport.TransportService.ListenerKey)
-	 */
-	public void stopListening(ListenerKey key) throws IOException {
-		ServerSocket serverSocket = (ServerSocket) listeners.remove(key);
-		if (serverSocket != null) {
-			serverSocket.close();
-		}
-	}
-
-	/**
-	 * Returns the {@link ServerSocket} mapped to the given {@link ListenerKey} or 
-	 * <code>null</code> if the mapping does not exist
-	 * 
-	 * @param key the {@link ListenerKey} to get the {@link ServerSocket} for
-	 * @return the mapped {@link ServerSocket} or <code>null</code>
-	 */
-	public final ServerSocket getServerSocket(ListenerKey key) {
-		synchronized (listeners) {
-			return (ServerSocket) listeners.get(key);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#accept(org.eclipse.wst.jsdt.debug.transport.TransportService.ListenerKey, long, long)
-	 */
-	public Connection accept(ListenerKey key, long attachTimeout, long handshakeTimeout) throws IOException {
-		ServerSocket serverSocket = getServerSocket(key);
-		if (serverSocket == null) {
-			throw new IllegalStateException("Accept failed. Not listening for address: key.address()"); //$NON-NLS-1$
-		}
-		int timeout = (int) attachTimeout;
-		if (timeout > 0) {
-			if (timeout > Integer.MAX_VALUE) {
-				timeout = Integer.MAX_VALUE; // approximately 25 days!
-			}
-			serverSocket.setSoTimeout(timeout);
-		}
-		Connection connection = getConnection(serverSocket.accept());
-		handleAccept(connection);
-		return connection;
-	}
-
-	/**
-	 * This method allows implementors to perform specific actions immediately following
-	 * a successful accept for {@link Socket} communication (the socket has been successfully opened).
-	 * 
-	 * @param connection the connection that just opened
-	 * @throws IOException
-	 */
-	public abstract void handleAccept(Connection connection) throws IOException;
-	
-	/**
-	 * Returns the {@link SocketConnection} for the given {@link Socket}.
-	 * <br><br>
-	 * This method cannot return <code>null</code>, if a connection cannot be created
-	 * an {@link IOException} must be thrown.
-	 * 
-	 * @param socket the socket to get the connection for
-	 * @return the {@link SocketConnection} for the given {@link Socket}, never <code>null</code>
-	 * @throws IOException
-	 */
-	public abstract SocketConnection getConnection(Socket socket) throws IOException;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.TransportService#attach(java.lang.String, long, long)
-	 */
-	public Connection attach(String address, long attachTimeout, long handshakeTimeout) throws IOException {
-		String host = null;
-		int port = 0;
-		if (address != null) {
-			String[] strings = address.split(Constants.COLON);
-			if (strings.length == 2) {
-				host = strings[0];
-				port = Integer.parseInt(strings[1]);
-			} else {
-				port = Integer.parseInt(strings[0]);
-			}
-		}
-		if (host == null) {
-			host = Constants.LOCALHOST;
-		}
-		Connection connection = getConnection(new Socket(host, port));
-		handleAttach(connection);
-		return connection;
-	}
-	
-	/**
-	 * This method allows implementors to perform specific actions immediately following
-	 * a successful attach for {@link Socket} communication (the socket has been successfully opened).
-	 * 
-	 * @param connection the connection that just opened
-	 * @throws IOException
-	 */
-	public abstract void handleAttach(Connection connection) throws IOException;
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.jsdt.debug.ui/META-INF/MANIFEST.MF
index c395e33..0da1298 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %bundleName.name
 Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.ui;singleton:=true
-Bundle-Version: 1.0.200.qualifier
+Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin
-Bundle-Vendor: %providerName
+Bundle-Vendor: %vendor.name
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
  org.eclipse.debug.ui,
@@ -18,17 +18,10 @@
  org.eclipse.ui.editors,
  org.eclipse.core.expressions
 Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ActivationPolicy: lazy;exclude:="org.eclipse.wst.jsdt.debug.internal.ui.filters"
-Export-Package: org.eclipse.wst.jsdt.debug.internal.ui;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.wst.jsdt.debug.internal.ui;x-internal:=true,
  org.eclipse.wst.jsdt.debug.internal.ui.actions;x-internal:=true,
  org.eclipse.wst.jsdt.debug.internal.ui.adapters;x-internal:=true,
  org.eclipse.wst.jsdt.debug.internal.ui.breakpoints;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.breakpoints.details;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.breakpoints.editors;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.dialogs;x-friends:="org.eclipse.wst.jsdt.debug.rhino.ui",
- org.eclipse.wst.jsdt.debug.internal.ui.display;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.eval;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.launching;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.preferences;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.source;x-internal:=true,
- org.eclipse.wst.jsdt.debug.internal.ui.source.contentassist;x-internal:=true
+ org.eclipse.wst.jsdt.debug.internal.ui.dialogs;x-internal:=true,
+ org.eclipse.wst.jsdt.debug.internal.ui.launching;x-internal:=true
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.wst.jsdt.debug.ui/OSGI-INF/l10n/bundle.properties
index 5b06d59..54753be 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/OSGI-INF/l10n/bundle.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/OSGI-INF/l10n/bundle.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
+# Copyright (c) 2010 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -24,7 +24,7 @@
 hitCount.label=&Hit Count...
 exitAction.label=E&xit
 entryAction.label=Entr&y
-providerName = Eclipse Web Tools Platform
+vendor.name = Eclipse Web Tools Platform
 bundleName.name = JavaScript Debug UI
 breakpointPropertiesAction.name = Breakpoint P&roperties
 toggleFunctionBreakpointAction.name = Toggle Function Breakpoint
@@ -41,21 +41,4 @@
 openSourceObjectAction.name = Open Source
 openSourceObjectAction.tooltip = Shows the JavaScript source for the selected script element
 commandCategory.description = Tooling for debugging JavaScript
-commandCategory.name = JavaScript Debug
-
-showFunctionVarAction.label = Show function variables
-showFunctionVarAction.tooltip = Show or hide function variables
-showThisVarAction.label = Show 'this' variable
-showThisVarAction.tooltip = Show or hide the this variable
-showProtoVarAction.label = Show proto variables
-showProtoVarAction.tooltip = Show or hide proto variables
-
-evaluateAction.label = E&valuate
-evaluateCommand.label = Evaluate
-evaluateAction.description = Evaluates the selected text in the JavaScript editor
-hyperlinkDetector.description = Allows for quickly stepping into functions in JavaScript source using hyper-links
-hyperlinkDetector.name = Step Into Selection
-debugPrefPage.name = Debug
-debugPrefPageKeyword.label = debug,jsdt,javascript,wst,breakpoint,launch,suspend,scripts
-hover.description = Shows the value of the selected variable while debugging
-hover.label = JavaScript Variable Hover
\ No newline at end of file
+commandCategory.name = JavaScript Debug
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/build.properties b/bundles/org.eclipse.wst.jsdt.debug.ui/build.properties
index 1e63ff6..e39e51d 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/build.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/build.properties
@@ -1,13 +1,3 @@
-###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
 source.. = src/
 output.. = bin/
 bin.includes = META-INF/,\
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/jsbook_obj.gif b/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/jsbook_obj.gif
deleted file mode 100644
index bfb267e..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/jsbook_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/source.gif b/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/source.gif
index 782d5a3..94eedf6 100755
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/source.gif
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/icons/elcl16/source.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/plugin.xml b/bundles/org.eclipse.wst.jsdt.debug.ui/plugin.xml
index 375e858..8b9af7e 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/plugin.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?><!--
-    Copyright (c) 2010, 2011 IBM Corporation and others.
+    Copyright (c) 2010 IBM Corporation and others.
     All rights reserved. This program and the accompanying materials
     are made available under the terms of the Eclipse Public License v1.0
     which accompanies this distribution, and is available at
@@ -37,9 +37,6 @@
          <adapter
                type="org.eclipse.debug.ui.actions.IToggleBreakpointsTarget">
          </adapter>
-         <adapter
-               type="org.eclipse.debug.ui.actions.IRunToLineTarget">
-         </adapter>
       </factory>
       <factory
             adaptableType="org.eclipse.wst.jsdt.core.IFunction"
@@ -176,7 +173,7 @@
                class="org.eclipse.wst.jsdt.debug.internal.ui.breakpoints.ToggleFunctionBreakpointActionDelegate"
                enablesFor="+"
                helpContextId="toggle_function_bp_outline"
-               icon="$nl$/icons/elcl16/brkp_obj.gif"
+               icon="icons/elcl16/brkp_obj.gif"
                id="org.eclipse.wst.jsdt.debug.ui.outline.function.toggle.breakpoint.action"
                label="%toggleFunctionBreakpointAction.name"
                menubarPath="additions"
@@ -223,73 +220,11 @@
                tooltip="%openSourceObjectAction.tooltip">
          </action>
       </objectContribution>
-      <viewerContribution
-            id="org.eclipse.wst.jsdt.debug.ui.classfile.editor.actions"
-            targetID="#ClassFileEditorContext">
-         <visibility>
-            <and>
-               <objectClass
-                     name="org.eclipse.jface.text.ITextSelection">
-               </objectClass>
-               <systemProperty
-                     name="org.eclipse.wst.jsdt.debug.ui.jsdebuggerActive"
-                     value="true">
-               </systemProperty>
-            </and>
-         </visibility>
-         <action
-               class="org.eclipse.wst.jsdt.debug.internal.ui.actions.EvaluateEditorPopupAction"
-               definitionId="org.eclipse.wst.jsdt.debug.ui.evaluate.command"
-               helpContextId="evaluate_jsunit_snippet_action_context"
-               icon="$nl$/icons/elcl16/jsbook_obj.gif"
-               id="org.eclipse.wst.jsdt.debug.ui.jsunit.popup.evaluate"
-               label="%evaluateAction.label"
-               menubarPath="jsdebug"
-               tooltip="%evaluateAction.description">
-         </action>
-      </viewerContribution>
-      <viewerContribution
-            id="org.eclipse.wst.jsdt.debug.ui.jsunit.editor.actions"
-            targetID="#JavaScriptEditorContext">
-         <visibility>
-            <and>
-               <objectClass
-                     name="org.eclipse.jface.text.ITextSelection">
-               </objectClass>
-               <systemProperty
-                     name="org.eclipse.wst.jsdt.debug.ui.jsdebuggerActive"
-                     value="true">
-               </systemProperty>
-            </and>
-         </visibility>
-         <action
-               class="org.eclipse.wst.jsdt.debug.internal.ui.actions.EvaluateEditorPopupAction"
-               definitionId="org.eclipse.wst.jsdt.debug.ui.evaluate.command"
-               helpContextId="evaluate_jsunit_snippet_action_context"
-               icon="$nl$/icons/elcl16/jsbook_obj.gif"
-               id="org.eclipse.wst.jsdt.debug.ui.jsunit.popup.evaluate"
-               label="%evaluateAction.label"
-               menubarPath="jsdebug"
-               tooltip="%evaluateAction.description">
-         </action>
-         <menu
-               id="org.eclipse.wst.jsdt.debug.ui.jsdebug.cu.menu"
-               label="%javascriptMenu.name"
-               path="additions">
-            <groupMarker
-                  name="jsdebug">
-            </groupMarker>
-            <separator
-                  name="jsdebug">
-            </separator>
-         </menu>
-      </viewerContribution>
    </extension>
    <extension
          point="org.eclipse.debug.ui.debugModelPresentations">
       <debugModelPresentation
             class="org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptModelPresentation"
-            detailsViewerConfiguration="org.eclipse.wst.jsdt.debug.internal.ui.display.JavaScriptDebugViewerConfiguration"
             id="org.eclipse.wst.jsdt.debug.model">
       </debugModelPresentation>
    </extension>
@@ -323,13 +258,7 @@
             commandId="org.eclipse.wst.jsdt.debug.ui.script.opensource"
             contextId="org.eclipse.debug.ui.debugging"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M1+M2+3">
-      </key>
-      <key
-            commandId="org.eclipse.wst.jsdt.debug.ui.evaluate.command"
-            contextId="org.eclipse.wst.jsdt.ui.javaEditorScope"
-            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
-            sequence="M3+M2+E">
+            sequence="M1+3">
       </key>
    </extension>
    <extension
@@ -353,13 +282,6 @@
             id="org.eclipse.wst.jsdt.debug.ui.category"
             name="%commandCategory.name">
       </category>
-      <command
-            categoryId="org.eclipse.wst.jsdt.debug.ui.category"
-            description="%evaluateAction.description"
-            helpContextId="evaluate_command_help_context"
-            id="org.eclipse.wst.jsdt.debug.ui.evaluate.command"
-            name="%evaluateCommand.label">
-      </command>
    </extension>
    <extension
          point="org.eclipse.ui.viewActions">
@@ -419,46 +341,6 @@
                tooltip="%showAllScripts.tooltip">
          </action>
       </viewContribution>
-      <viewContribution
-            id="variableViewActions"
-            targetID="org.eclipse.debug.ui.VariableView">
-         <menu
-               id="org.eclipse.wst.jsdt.debug.ui.variableview.menu"
-               label="%javascriptMenu.name">
-            <groupMarker
-                  name="js">
-            </groupMarker>
-         </menu>
-         <action
-               class="org.eclipse.wst.jsdt.debug.internal.ui.actions.FunctionFilterAction"
-               helpContextId="show_functions_variable_help_context"
-               id="org.eclipse.wst.jsdt.debug.ui.variableview.show.functions"
-               label="%showFunctionVarAction.label"
-               menubarPath="org.eclipse.wst.jsdt.debug.ui.variableview.menu/js"
-               style="toggle"
-               tooltip="%showFunctionVarAction.tooltip">
-         </action>
-         <action
-               class="org.eclipse.wst.jsdt.debug.internal.ui.actions.ThisFilterAction"
-               helpContextId="show_this_variable_help_context"
-               icon="$nl$/icons/elcl16/this_var.gif"
-               id="org.eclipse.wst.jsdt.debug.ui.variableview.show.this"
-               label="%showThisVarAction.label"
-               menubarPath="org.eclipse.wst.jsdt.debug.ui.variableview.menu/js"
-               style="toggle"
-               tooltip="%showThisVarAction.tooltip">
-         </action>
-         <action
-               class="org.eclipse.wst.jsdt.debug.internal.ui.actions.ProtoFilterAction"
-               helpContextId="show_proto_variables_help_context"
-               icon="$nl$/icons/elcl16/proto_var.gif"
-               id="org.eclipse.wst.jsdt.debug.ui.variableview.show.prototypes"
-               label="%showProtoVarAction.label"
-               menubarPath="org.eclipse.wst.jsdt.debug.ui.variableview.menu/js"
-               style="toggle"
-               tooltip="%showProtoVarAction.tooltip">
-         </action>
-      </viewContribution>
    </extension>
    <extension
          point="org.eclipse.debug.ui.detailPaneFactories">
@@ -488,6 +370,37 @@
       </detailFactories>
    </extension>
    <extension
+         point="org.eclipse.debug.ui.launchShortcuts">
+      <shortcut
+            class="org.eclipse.wst.jsdt.debug.internal.ui.launching.JavaScriptLaunchShortcut"
+            description="%javascriptLaunchShortcut.description"
+            helpContextId="javasript_lanch_shortcut"
+            icon="$nl$/icons/elcl16/script.gif"
+            id="org.eclipse.wst.jsdt.debug.ui.launch.shortcut"
+            label="%javascriptLaunchShortcut.label"
+            modes="debug">
+         <configurationType
+               id="org.eclipse.wst.jsdt.debug.core.launchConfigurationType">
+         </configurationType>
+         <contextualLaunch>
+            <enablement>
+               <with
+                     variable="selection">
+                  <iterate>
+                     <and>
+                        <adapt
+                              type="org.eclipse.wst.jsdt.core.IJavaScriptElement">
+                        </adapt>
+                     </and></iterate>
+                  <count
+                        value="1">
+                  </count>
+               </with>
+            </enablement>
+         </contextualLaunch>
+      </shortcut>
+   </extension>
+   <extension
          point="org.eclipse.ui.ide.markerSupport">
       <markerTypeCategory
             name="%breakpointMarkerCategory.name">
@@ -509,66 +422,24 @@
       </markerTypeCategory>
    </extension>
    <extension
-         point="org.eclipse.core.runtime.preferences">
-      <initializer
-            class="org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPreferenceInitializer">
-      </initializer>
+         point="org.eclipse.wst.jsdt.ui.javaElementFilters">
+      <filter
+            class="org.eclipse.wst.jsdt.debug.internal.ui.ExternalSourceProjectFilter"
+            description="Filters the External JavaScript Source project, which is used in the workspace to hold temporary JavaScript sources"
+            enabled="true"
+            id="jsdt.external.source.project.filter"
+            name="External JavaScript Source">
+      </filter>
    </extension>
    <extension
-         point="org.eclipse.ui.handlers">
-      <handler
-            class="org.eclipse.wst.jsdt.debug.internal.ui.actions.EvaluateEditorPopupAction"
-            commandId="org.eclipse.wst.jsdt.debug.ui.evaluate.command"
-            helpContextId="evaluate_command_help_context">
-      </handler>
-   </extension>
-   <extension
-         point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
-      <hyperlinkDetector
-            activate="true"
-            class="org.eclipse.wst.jsdt.debug.internal.ui.eval.JavaScriptHyperlinkDetector"
-            description="%hyperlinkDetector.description"
-            id="org.eclipse.wst.jsdt.debug.ui.hyperlink.detector"
-            modifierKeys="M1+M3"
-            name="%hyperlinkDetector.name"
-            targetId="org.eclipse.wst.jsdt.ui.javaCode">
-      </hyperlinkDetector>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            category="org.eclipse.wst.jsdt.ui.preferences.JavaBasePreferencePage"
-            class="org.eclipse.wst.jsdt.debug.internal.ui.preferences.JavaScriptDebugPreferencePage"
-            id="org.eclipse.wst.jsdt.debug.ui.debug.page"
-            name="%debugPrefPage.name">
-         <keywordReference
-               id="org.eclipse.wst.jsdt.debug.ui.debug.pref.page.keyword">
-         </keywordReference>
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.ui.keywords">
-      <keyword
-            id="org.eclipse.wst.jsdt.debug.ui.debug.pref.page.keyword"
-            label="%debugPrefPageKeyword.label">
-      </keyword>
-   </extension>
-   <extension
-         point="org.eclipse.wst.jsdt.ui.javaEditorTextHovers">
-      <hover
-            class="org.eclipse.wst.jsdt.debug.internal.ui.eval.JavaScriptDebugHover"
-            description="%hover.description"
-            id="org.eclipse.wst.jsdt.debug.ui.variable.value.hover"
-            label="%hover.label">
-      </hover>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors.markerUpdaters">
-      <updater
-            class="org.eclipse.wst.jsdt.debug.internal.ui.breakpoints.JavaScriptBreakpointUpdater"
-            id="org.eclipse.wst.jsdt.debug.ui.breakpoint.updater"
-            markerType="org.eclipse.wst.jsdt.debug.core.breakpoint.marker">
-      </updater>
+         point="org.eclipse.jdt.ui.javaElementFilters">
+      <filter
+            class="org.eclipse.wst.jsdt.debug.internal.ui.ExternalSourceProjectFilter"
+            description="Filters the External JavaScript Source project, which is used in the workspace to hold temporary JavaScript sources"
+            enabled="true"
+            id="jdt.external.source.project.filter"
+            name="External JavaScript Source">
+      </filter>
    </extension>
 
 </plugin>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Constants.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Constants.java
deleted file mode 100644
index d493978..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Constants.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui;
-
-/**
- * Constants for the {@link JavaScriptDebugUIPlugin}
- * 
- * @since 1.1
- */
-public interface Constants {
-
-	/**
-	 * Constant for the preference for showing / hiding functions from the variables view
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.ui.show_functions</code>
-	 */
-	public static final String SHOW_FUNCTIONS = JavaScriptDebugUIPlugin.PLUGIN_ID + ".show_functions"; //$NON-NLS-1$
-	/**
-	 * Constant for the preference for showing / hiding prototypes from the variables view
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.ui.show_protoypes</code>
-	 */
-	public static final String SHOW_PROTOTYPES = JavaScriptDebugUIPlugin.PLUGIN_ID + ".show_prototypes"; //$NON-NLS-1$
-	/**
-	 * Constant for the preference for showing / hiding the <code>this</code> variable from the variables view
-	 * <br><br>
-	 * Value is: <code>org.eclipse.wst.jsdt.debug.ui.show_this</code>
-	 */
-	public static final String SHOW_THIS = JavaScriptDebugUIPlugin.PLUGIN_ID + "show_this"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/ExternalSourceProjectFilter.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/ExternalSourceProjectFilter.java
new file mode 100644
index 0000000..5aa5015
--- /dev/null
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/ExternalSourceProjectFilter.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.jsdt.debug.internal.ui;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ViewerFilter;
+
+/**
+ * Viewer filter for the 'JavaScript External Source' project
+ * 
+ * @since 1.1
+ */
+public class ExternalSourceProjectFilter extends ViewerFilter {
+
+	/**
+	 * Constructor
+	 */
+	public ExternalSourceProjectFilter() {
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
+	 */
+	public boolean select(Viewer viewer, Object parentElement, Object element) {
+		if(element instanceof IProject) {
+			return !((IProject)element).getName().equals(Messages.external_javascript_source);
+		}
+		return true;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/IHelpContextIds.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/IHelpContextIds.java
index 060e291..21ad30a 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/IHelpContextIds.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/IHelpContextIds.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -29,24 +29,4 @@
 	 * Help constant for the connect tab
 	 */
 	public static final String CONNECT_TAB = JavaScriptDebugUIPlugin.PLUGIN_ID + ".connect_tab"; //$NON-NLS-1$
-	/**
-	 * Help constant for the Debug root preference page
-	 * @since 1.1
-	 */
-	public static final String DEBUG_PREFERENCE_PAGE = JavaScriptDebugUIPlugin.PLUGIN_ID + ".debug_pref_page"; //$NON-NLS-1$
-	/**
-	 * Help constant for the Source tab
-	 * @since 1.2
-	 */
-	public static final String SOURCE_LOOKUP_TAB = JavaScriptDebugUIPlugin.PLUGIN_ID + ".source_lookup_tab"; //$NON-NLS-1$
-	/**
-	 * Help constant for the Environment tab
-	 * @since 1.2
-	 */
-	public static final String ENVIRONMENT_TAB = JavaScriptDebugUIPlugin.PLUGIN_ID + ".environment_tab"; //$NON-NLS-1$
-	/**
-	 * Help constant for the Common tab
-	 * @since 1.2
-	 */
-	public static final String COMMON_TAB = JavaScriptDebugUIPlugin.PLUGIN_ID + ".common_tab"; //$NON-NLS-1$
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPlugin.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPlugin.java
index a7b43d6..9f4d403 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPlugin.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPlugin.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -16,9 +16,6 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IEditorReference;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchListener;
@@ -28,9 +25,7 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.ide.ResourceUtil;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.preferences.ScopedPreferenceStore;
 import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
-import org.eclipse.wst.jsdt.debug.internal.ui.eval.EvaluationManager;
 import org.osgi.framework.BundleContext;
 
 /**
@@ -53,7 +48,6 @@
 
 	// The shared instance
 	private static JavaScriptDebugUIPlugin plugin;
-	private static ScopedPreferenceStore corestore = new ScopedPreferenceStore(InstanceScope.INSTANCE, JavaScriptDebugPlugin.PLUGIN_ID);
 	
 	/*
 	 * (non-Javadoc)
@@ -63,7 +57,6 @@
 		super.start(context);
 		plugin = this;
 		PlatformUI.getWorkbench().addWorkbenchListener(this);
-		EvaluationManager.getManager().start();
 	}
 
 	/*
@@ -74,7 +67,6 @@
 		try {
 			plugin = null;
 			PlatformUI.getWorkbench().removeWorkbenchListener(this);
-			EvaluationManager.getManager().stop();
 			super.stop(context);
 		}
 		finally {
@@ -181,27 +173,4 @@
 	 */
 	public void postShutdown(IWorkbench workbench) {
 	}
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated display. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-		return display;		
-	}
-	
-	/**
-	 * Returns an {@link IPreferenceStore} wrapper for the {@link JavaScriptDebugPlugin} core preferences
-	 * 
-	 * @return an {@link IPreferenceStore} for the core preferences
-	 */
-	public static IPreferenceStore getCorePreferenceStore() {
-		return corestore;
-	}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPreferenceInitializer.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPreferenceInitializer.java
deleted file mode 100644
index b3e2e45..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptDebugUIPreferenceInitializer.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-/**
- * Initialize common preferences for {@link JavaScriptDebugUIPlugin}
- * 
- * @since 1.1
- */
-public class JavaScriptDebugUIPreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/**
-	 * Constructor
-	 */
-	public JavaScriptDebugUIPreferenceInitializer() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = JavaScriptDebugUIPlugin.getDefault().getPreferenceStore();
-		store.setDefault(Constants.SHOW_FUNCTIONS, true);
-		store.setDefault(Constants.SHOW_PROTOTYPES, true);
-		store.setDefault(Constants.SHOW_THIS, true);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptModelPresentation.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptModelPresentation.java
index ef96a8e..d732a49 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptModelPresentation.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/JavaScriptModelPresentation.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2011 IBM Corporation and others.
+ * Copyright (c) 2009 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,9 +11,7 @@
 package org.eclipse.wst.jsdt.debug.internal.ui;
 
 import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.net.URISyntaxException;
-import java.net.URLDecoder;
+import java.net.URI;
 import java.util.HashMap;
 
 import org.eclipse.core.filesystem.EFS;
@@ -21,20 +19,14 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.URIUtil;
 import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugElement;
 import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
 import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.ITerminate;
 import org.eclipse.debug.core.model.IThread;
 import org.eclipse.debug.core.model.IValue;
 import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.core.sourcelookup.containers.LocalFileStorage;
 import org.eclipse.debug.ui.IDebugModelPresentationExtension;
 import org.eclipse.debug.ui.IValueDetailListener;
 import org.eclipse.jface.viewers.LabelProvider;
@@ -51,17 +43,10 @@
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptFunctionBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptLineBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptLoadBreakpoint;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptThread;
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
 import org.eclipse.wst.jsdt.debug.core.model.IScript;
 import org.eclipse.wst.jsdt.debug.core.model.IScriptGroup;
-import org.eclipse.wst.jsdt.debug.internal.core.Constants;
-import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
-import org.eclipse.wst.jsdt.debug.internal.core.TextUtils;
-import org.eclipse.wst.jsdt.debug.internal.core.breakpoints.JavaScriptExceptionBreakpoint;
 import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptValue;
-import org.eclipse.wst.jsdt.debug.internal.ui.eval.JavaScriptInspectExpression;
 
 /**
  * Default model presentation for JSDI model elements
@@ -140,188 +125,56 @@
 	 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
 	 */
 	public String getText(Object element) {
-		StringBuffer buffer = new StringBuffer();
 		try {
-			if(element instanceof IDebugElement) {
-				if(element instanceof IDebugTarget) {
-					buffer.append(((IDebugTarget)element).getName());
-				}
-				else if(element instanceof IStackFrame) {
-					buffer.append(getStackframeText((IJavaScriptStackFrame) element));
-				}
-				else if(element instanceof IThread) {
-					buffer.append(getThreadText((IJavaScriptThread) element));
-				}
-				else if(element instanceof IVariable) {
-					buffer.append(((IVariable)element).getName());
-				}
-				else if(element instanceof IValue) {
-					buffer.append(((IValue)element).getValueString());
-				}
-				else if(element instanceof IScriptGroup) {
-					buffer.append(Messages.scripts);
-				}
-				else if(element instanceof IScript) {
-					buffer.append(getScriptText((IScript) element));
-				}
+			if(element instanceof IDebugTarget) {
+				return ((IDebugTarget)element).getName();
 			}
-			if(element instanceof JavaScriptInspectExpression) {
-				JavaScriptInspectExpression exp = (JavaScriptInspectExpression) element;
-				return exp.getValue().getReferenceTypeName();
+			if(element instanceof IStackFrame) {
+				return ((IStackFrame)element).getName();
 			}
-			if(element instanceof ITerminate) {
-				if(((ITerminate)element).isTerminated()) {
-					buffer.insert(0, Messages.terminated);
-				}
-				else if(element instanceof IDisconnect) {
-					if(((IDisconnect)element).isDisconnected()) {
-						buffer.insert(0, Messages.disconnected);
-					}
-				}
+			if(element instanceof IThread) {
+				return ((IThread)element).getName();
 			}
-			else if(element instanceof IDisconnect) {
-				if(((IDisconnect)element).isDisconnected()) {
-					buffer.insert(0, Messages.disconnected);
-				}
+			if(element instanceof IVariable) {
+				return ((IVariable)element).getName();
 			}
-			else if(element instanceof IJavaScriptFunctionBreakpoint) {
-				buffer.append(getFunctionBreakpointText((IJavaScriptFunctionBreakpoint) element));
+			if(element instanceof IValue) {
+				return ((IValue)element).getValueString();
 			}
-			else if(element instanceof IJavaScriptLoadBreakpoint) {
-				buffer.append(getScriptLoadBreakpointText((IJavaScriptLoadBreakpoint) element));
+			if(element instanceof IJavaScriptFunctionBreakpoint) {
+				return getFunctionBreakpointText((IJavaScriptFunctionBreakpoint) element);
 			}
-			else if(element instanceof IJavaScriptLineBreakpoint) {
-				buffer.append(getLineBreakpointText((IJavaScriptLineBreakpoint) element));
+			if(element instanceof IJavaScriptLoadBreakpoint) {
+				return getScriptLoadBreakpointText((IJavaScriptLoadBreakpoint) element);
+			}
+			if(element instanceof IJavaScriptLineBreakpoint) {
+				return getLineBreakpointText((IJavaScriptLineBreakpoint) element);
+			}
+			if(element instanceof IScriptGroup) {
+				return Messages.scripts;
+			}
+			if(element instanceof IScript) {
+				return getScriptText((IScript) element);
 			}
 		}
 		catch(CoreException ce) {
 			JavaScriptDebugUIPlugin.log(ce);
-			buffer.append(Messages.unknown);
 		}
-		if(buffer.length() < 1) {
-			return Messages.unknown;
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Computes the thread name + adornment
-	 * 
-	 * @param thread
-	 * @return
-	 * @throws DebugException
-	 */
-	String getThreadText(IJavaScriptThread thread) throws DebugException {
-		String adornment = Messages.unknown_state;
-		if(thread.isSuspended()) {
-			IBreakpoint[] bps = thread.getBreakpoints();
-			if(bps.length > 0) {
-				try {
-					IJavaScriptBreakpoint breakpoint = (IJavaScriptBreakpoint) bps[0];
-					if (breakpoint instanceof IJavaScriptLoadBreakpoint) {
-						String name = breakpoint.getScriptPath();
-						if (Constants.EMPTY_STRING.equals(name)) {
-							name = getSourceName(thread);
-						}
-						else {
-							//decode it
-							try {
-								name = URLDecoder.decode(name, Constants.UTF_8);
-							}
-							catch(UnsupportedEncodingException uee) {
-								//ignore
-							}
-						}
-						adornment = NLS.bind(Messages.suspend_loading_script, name);
-					}
-					else if(breakpoint instanceof JavaScriptExceptionBreakpoint) {
-						adornment = NLS.bind(Messages.suspended_on_exception, breakpoint.getMarker().getAttribute(JavaScriptExceptionBreakpoint.MESSAGE));
-					}
-					else if (breakpoint instanceof IJavaScriptLineBreakpoint) {
-						IJavaScriptLineBreakpoint bp = (IJavaScriptLineBreakpoint) breakpoint;
-						adornment = NLS.bind(Messages.suspended_on_line_breakpoint, new String[] { Integer.toString(bp.getLineNumber()), getSourceName(thread) });
-					}
-					else if(breakpoint instanceof IJavaScriptFunctionBreakpoint) {
-						IJavaScriptFunctionBreakpoint bp = (IJavaScriptFunctionBreakpoint) breakpoint;
-						adornment = NLS.bind(Messages.suspended_on_func_breakpoint, new String[] {bp.getFunctionName(), getSourceName(thread)});
-					}
-					// TODO also need to report stopped at debugger; statement
-				} catch (CoreException ce) {
-					JavaScriptDebugPlugin.log(ce);
-				}
-			}
-			else {
-				adornment = Messages.suspended_state;
-			}
-		}
-		else if(thread.isStepping()) {
-			adornment = Messages.stepping_state;
-		}
-		else if(thread.isTerminated()) {
-			adornment = Messages.terminated_state;
-		}
-		else {
-			adornment = Messages.running_state;
-		}
-		return NLS.bind(Messages.thread_name, new String[] {thread.getName(), adornment});
-	}
-	
-	/**
-	 * Returns the name of the source from the top stackframe or a default name
-	 * <code>&lt;evaluated_source&gt;</code>
-	 * 
-	 * @return the name for the source
-	 * @throws DebugException
-	 */
-	String getSourceName(IJavaScriptThread thread) throws DebugException {
-		IJavaScriptStackFrame frame = (IJavaScriptStackFrame) thread.getTopStackFrame();
-		if (frame != null) {
-			try {
-				String uri = URLDecoder.decode(frame.getSourceName(), Constants.UTF_8);
-				return TextUtils.shortenText(uri, 100);
-			}
-			catch (UnsupportedEncodingException uee) {
-				//ignore
-			}
-		}
-		// all else failed say "evaluated_script"
-		return Messages.evald_script;
-	}
-	
-	/**
-	 * Returns the display name of the given {@link IJavaScriptStackFrame}
-	 * 
-	 * @param frame
-	 * @return the display text or {@link Messages#unknown}
-	 * @throws DebugException
-	 */
-	String getStackframeText(IJavaScriptStackFrame frame) throws DebugException {
-		try {
-			return TextUtils.shortenText(NLS.bind(Messages.stackframe_name, new String[] {
-					URLDecoder.decode(frame.getName(), Constants.UTF_8),
-					Integer.toString(frame.getLineNumber())}), 100);
-		}
-		catch (UnsupportedEncodingException uee) {
-			//ignore
-		}
-		return Messages.unknown;
+		return element.toString();
 	}
 	
 	/**
 	 * Returns the display text for the given script element
-	 * 
 	 * @param script
-	 * @return the display text for the given script or {@link Messages#unknown}
+	 * @return the display text for the given script
 	 */
 	String getScriptText(IScript script) {
-		String uri;
-		try {
-			uri = URLDecoder.decode(script.sourceURI().toString(), Constants.UTF_8);
-			return TextUtils.shortenText(uri, 100);
-		} catch (UnsupportedEncodingException e) {
-			//do nothing
-		}
-		return Messages.unknown;
+		StringBuffer buffer = new StringBuffer();
+		buffer.append(URIUtil.lastSegment(script.sourceURI()));
+		buffer.append(" ("); //$NON-NLS-1$
+		buffer.append(script.sourceURI().toString());
+		buffer.append(")"); //$NON-NLS-1$
+		return buffer.toString();
 	}
 
 	/**
@@ -332,8 +185,8 @@
 	 */
 	String getLineBreakpointText(IJavaScriptLineBreakpoint breakpoint) throws CoreException {
 		String path = getElementPath(breakpoint.getScriptPath());
-		StringBuffer buffer = new StringBuffer(path);
-		buffer.append(NLS.bind(Messages.bp_line_number, new String[] {Integer.toString(breakpoint.getLineNumber())}));
+		StringBuffer buffer = new StringBuffer();
+		buffer.append(path).append(NLS.bind(Messages.bp_line_number, new String[] {Integer.toString(breakpoint.getLineNumber())}));
 		int hitcount = breakpoint.getHitCount();
 		if(hitcount > 0) {
 			buffer.append(NLS.bind(Messages.bp_hit_count, new String[] {Integer.toString(hitcount)}));
@@ -355,7 +208,8 @@
 	 */
 	String getFunctionBreakpointText(IJavaScriptFunctionBreakpoint breakpoint) throws CoreException {
 		String path = getElementPath(breakpoint.getScriptPath());
-		StringBuffer buffer = new StringBuffer(path);
+		StringBuffer buffer = new StringBuffer();
+		buffer.append(path);
 		if(breakpoint.isEntry()) {
 			if(breakpoint.isExit()) {
 				buffer.append(Messages.bp_entry_and_exit);
@@ -390,7 +244,8 @@
 	 */
 	String getScriptLoadBreakpointText(IJavaScriptLoadBreakpoint breakpoint) throws CoreException {
 		String path = getElementPath(breakpoint.getScriptPath());
-		StringBuffer buffer = new StringBuffer(path);
+		StringBuffer buffer = new StringBuffer();
+		buffer.append(path);
 		int hitcount = breakpoint.getHitCount();
 		if(hitcount > 0) {
 			buffer.append(NLS.bind(Messages.bp_hit_count, new String[] {Integer.toString(hitcount)}));
@@ -407,13 +262,8 @@
 	 * @return
 	 */
 	String getElementPath(String path) {
-		if(!showQualifiedNames()) {
-			try {
-				return URIUtil.lastSegment(URIUtil.fromString(path));
-			}
-			catch(URISyntaxException urise) {
-				JavaScriptDebugUIPlugin.log(urise);
-			}
+		if(! showQualifiedNames()) {
+			return URIUtil.lastSegment(URI.create(path));
 		}
 		return path;
 	}
@@ -518,9 +368,6 @@
 	 * @see org.eclipse.debug.ui.ISourcePresentation#getEditorInput(java.lang.Object)
 	 */
 	public IEditorInput getEditorInput(Object element) {
-		if(element instanceof LocalFileStorage) {
-			return getEditorInput(((LocalFileStorage)element).getFile());
-		}
 		if(element instanceof File) {
 			return new FileStoreEditorInput(EFS.getLocalFileSystem().fromLocalFile((File) element));
 		}
@@ -530,9 +377,8 @@
 		if(element instanceof IJavaScriptLoadBreakpoint) {
 			try {
 				IJavaScriptLoadBreakpoint bp = (IJavaScriptLoadBreakpoint) element;
-				IPath path = new Path(bp.getScriptPath());
-				IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-				if(resource != null && resource.getType() == IResource.FILE) {
+				IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(bp.getScriptPath()));
+				if(resource.getType() == IResource.FILE) {
 					return new FileEditorInput((IFile) resource);
 				}
 			}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Messages.java
index ffa621b..e2b4a56 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Messages.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/Messages.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -31,33 +31,18 @@
 	public static String connector;
 	public static String connector_properties;
 	public static String creating_script_load_bp;
-	public static String disconnected;
 	public static String enable_hit_count;
 	public static String enter_new_hit_count;
-	public static String evald_script;
 	public static String exception_occurred_setting_bp_properties;
+	public static String external_javascript_source;
 	public static String hit_count_must_be_positive;
 	public static String no_description_provided;
-	public static String opening_source__0;
-	public static String running_state;
 	public static String scripts;
 	public static String select_javascript_file;
 	public static String set_bp_hit_count;
-	public static String stackframe_name;
-	public static String stepping_state;
-	public static String suspend_loading_script;
 	public static String suspend_target;
 	public static String suspend_thread;
-	public static String suspended_on_exception;
-	public static String suspended_on_func_breakpoint;
-	public static String suspended_on_line_breakpoint;
-	public static String suspended_state;
-	public static String terminated;
-	public static String terminated_state;
 	public static String the_argument_0_is_not_valid;
-	public static String thread_name;
-	public static String unknown;
-	public static String unknown_state;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/PreferencesManager.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/PreferencesManager.java
index 174fc47..3c9aa28 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/PreferencesManager.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/PreferencesManager.java
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.ui;
 
 import org.eclipse.jface.util.IPropertyChangeListener;
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/AddScriptLoadBreakpointAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/AddScriptLoadBreakpointAction.java
index 15aa38b..ea9d6cf 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/AddScriptLoadBreakpointAction.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/AddScriptLoadBreakpointAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -54,7 +54,7 @@
 			if(dialog.open() == IDialogConstants.OK_ID) {
 				final IFile file = (IFile) dialog.getFirstResult();
 				final String scriptname = file.getName();
-				final String scriptpath = file.getProjectRelativePath().makeAbsolute().toString();
+				final String scriptpath = file.getFullPath().makeRelative().toString();
 				
 				IJavaScriptLoadBreakpoint breakpoint = findBreakpoint(scriptpath, scriptname);
 				if(breakpoint != null) {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/EvaluateAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/EvaluateAction.java
deleted file mode 100644
index cdda503..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/EvaluateAction.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.actions;
-
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.ui.IActionDelegate2;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IViewActionDelegate;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchSite;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
-import org.eclipse.wst.jsdt.debug.internal.ui.eval.EvaluationManager;
-import org.eclipse.wst.jsdt.internal.ui.text.JavaWordFinder;
-
-/**
- * Action for evaluating selected source
- * 
- * @since 1.1
- */
-public abstract class EvaluateAction implements IEditorActionDelegate, IObjectActionDelegate, IActionDelegate2, IViewActionDelegate, IWorkbenchWindowActionDelegate, IHandler {
-
-	private IRegion region = null;
-	private IWorkbenchPart targetpart = null;
-	private IWorkbenchWindow window = null;
-	private IAction action = null;
-	private Object selection = null;
-	private IJavaScriptValue value = null;
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#dispose()
-	 */
-	public void dispose() {
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-	 */
-	public void runWithEvent(IAction action, Event event) {
-		run(action);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IJavaScriptStackFrame frame = getStackFrameContext();
-		if(frame != null) {
-			resolveSelection();
-			//XXX hack, if we want to support evaluations from the variables view this will not work
-			setValue(frame.evaluate(getSelection().toString()));
-			showResult(getValue());
-		}
-	}
-	
-	/**
-	 * Shows the result of the evaluation to the user. Sub-classes must implement. 
-	 * 
-	 * @param value the {@link IJavaScriptValue} to show to the user
-	 */
-	protected abstract void showResult(IJavaScriptValue value);
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-		setAction(action);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate2#init(org.eclipse.jface.action.IAction)
-	 */
-	public void init(IAction action) {
-		setAction(action);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
-	 */
-	public void init(IViewPart view) {
-		setTargetpart(view);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		IWorkbenchPage page = window.getActivePage();
-		if(page != null) {
-			setTargetpart(window.getActivePage().getActivePart());
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)
-	 */
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		setTargetpart(targetPart);
-		setAction(action);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		setTargetpart(targetEditor);
-		setAction(action);
-	}
-	
-	/**
-	 * Resolves the selected object from the target part
-	 */
-	protected void resolveSelection() {
-		ISelection sel = getTargetSelection();
-		setRegion(null);
-		if(sel instanceof ITextSelection) {
-			ITextSelection ts = (ITextSelection)sel;
-			String text= ts.getText();
-			if (text.trim().length() > 0) {
-				setSelection(text);
-				setRegion(new Region(ts.getOffset(), ts.getLength()));
-			} else if (getTargetPart() instanceof IEditorPart) {
-				IEditorPart editor= (IEditorPart)getTargetPart();
-				if (editor instanceof ITextEditor) {
-					setSelection(resolveText(null, ts, editor));
-				}
-			}
-		}
-		else if(sel instanceof IStructuredSelection) {
-			
-		}
-	}
-	
-	/**
-	 * Resolve the word from the given text selection. If no new word infos can be resolved 
-	 * the original string is returned.
-	 * @param text the text
-	 * @param ts the current text selection
-	 * @param editor the current editor
-	 * @return the new resolved text for the whole word of the selection
-	 */
-	String resolveText(String text, ITextSelection ts, IEditorPart editor) {
-		ITextEditor textEditor= (ITextEditor) editor;
-		IDocument doc= textEditor.getDocumentProvider().getDocument(editor.getEditorInput());
-		region = JavaWordFinder.findWord(doc, ts.getOffset());
-		if (region != null) {
-			try {
-				return doc.get(region.getOffset(), region.getLength());
-			} 
-			catch (BadLocationException e) {
-				//ignore
-			}
-		}
-		return text;
-	}
-	
-	/**
-	 * Returns the select from the {@link IWorkbenchSite} of the {@link #getTargetPart()} {@link IWorkbenchPart}
-	 * @return the selection or <code>null</code>
-	 */
-	protected ISelection getTargetSelection() {
-		IWorkbenchPart part = getTargetPart();
-		if(part != null) {
-			ISelectionProvider provider = part.getSite().getSelectionProvider();
-			if (provider != null) {
-				return provider.getSelection();
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Finds the currently selected {@link IJavaScriptStackFrame} in the UI.
-	 */
-	protected IJavaScriptStackFrame getStackFrameContext() {
-		IWorkbenchPart part = getTargetPart();
-		IJavaScriptStackFrame frame = null;
-		if (part == null) {
-			frame = EvaluationManager.getManager().getEvaluationContext(getWindow());
-		} else {
-			frame = EvaluationManager.getManager().getEvaluationContext(part);
-		}		
-		return frame;
-	}
-	
-	/**
-	 * Allows the result of the evaluation to be set
-	 * 
-	 * @param value the {@link IJavaScriptValue} of the evaluation
-	 */
-	protected void setValue(IJavaScriptValue value) {
-		this.value = value;
-	}
-	
-	/**
-	 * Returns the {@link IJavaScriptValue} result of the evaluation
-	 * 
-	 * @return the {@link IJavaScriptValue} result or <code>null</code>
-	 */
-	protected IJavaScriptValue getValue() {
-		return value;
-	}
-	
-	/**
-	 * Allows the resolved selection to be set
-	 * 
-	 * @param obj
-	 */
-	protected void setSelection(Object obj) {
-		selection = obj;
-	}
-	
-	/**
-	 * Returns the resolved selection or <code>null</code>. If <code>null</code>
-	 * is returned attempts can be made to re-resolve the selection using {@link #resolveSelection()}
-	 * 
-	 * @return the resolved selection or <code>null</code>
-	 */
-	protected Object getSelection() {
-		return selection;
-	}
-	
-	/**
-	 * Returns the current target {@link IWorkbenchPart}
-	 * @return the {@link IWorkbenchPart} target or <code>null</code>
-	 */
-	protected IWorkbenchPart getTargetPart() {
-		return targetpart;
-	}
-	
-	/**
-	 * Allows the target {@link IWorkbenchPart} to be set
-	 * @param targetpart the targetpart to set
-	 */
-	protected void setTargetpart(IWorkbenchPart targetpart) {
-		this.targetpart = targetpart;
-	}
-	
-	/**
-	 * Returns the current active {@link IWorkbenchWindow}
-	 * 
-	 * @return the current active {@link IWorkbenchWindow}
-	 */
-	protected IWorkbenchWindow getWindow() {
-		return window;
-	}
-	
-	/**
-	 * Allows the current {@link IWorkbenchWindow} context to be set
-	 * 
-	 * @param window the {@link IWorkbenchWindow} context
-	 */
-	protected void setWindow(IWorkbenchWindow window) {
-		this.window = window;
-	}
-	
-	/**
-	 * Returns the selected text {@link IRegion}, or <code>null</code> if none.
-	 * 
-	 * @return the selected text {@link IRegion} or <code>null</code>
-	 */
-	protected IRegion getRegion() {
-		return region;
-	}
-	
-	/**
-	 * Allows the selected {@link IRegion} to be set
-	 * 
-	 * @param region the {@link IRegion} to set
-	 */
-	protected void setRegion(IRegion region) {
-		this.region = region;
-	}
-	
-	/**
-	 * Returns the {@link IAction} context or <code>null</code>
-	 * 
-	 * @return the backing {@link IAction} or <code>null</code>
-	 */
-	protected IAction getAction() {
-		return action;
-	}
-	
-	/**
-	 * Allows the backing {@link IAction} to be set
-	 * 
-	 * @param action the action to set
-	 */
-	protected void setAction(IAction action) {
-		this.action = action;
-	}
-	
-	/**
-	 * Returns the styled text widget associated with the given part
-	 * or <code>null</code> if none.
-	 * 
-	 * @param part workbench part
-	 * @return associated style text widget or <code>null</code>
-	 */
-	protected StyledText getStyledText(IWorkbenchPart part) {
-		ITextViewer viewer = (ITextViewer)part.getAdapter(ITextViewer.class);
-		StyledText textWidget = null;
-		if (viewer == null) {
-			Control control = (Control) part.getAdapter(Control.class);
-			if (control instanceof StyledText) {
-				textWidget = (StyledText) control;
-			}
-		} else {
-			textWidget = viewer.getTextWidget();
-		}
-		return textWidget;
-	}
-	
-	/**
-	 * Returns an anchor point for a popup dialog on top of a styled text
-	 * or <code>null</code> if none.
-	 * 
-	 * @param part or <code>null</code>
-	 * @return anchor point or <code>null</code>
-	 */
-	protected Point getPopupAnchor(StyledText textWidget) {
-		if (textWidget != null) {
-	        Point docRange = textWidget.getSelectionRange();
-	        int midOffset = docRange.x + (docRange.y / 2);
-	        Point point = textWidget.getLocationAtOffset(midOffset);
-	        point = textWidget.toDisplay(point);
-	
-	        GC gc = new GC(textWidget);
-	        gc.setFont(textWidget.getFont());
-	        int height = gc.getFontMetrics().getHeight();
-	        gc.dispose();
-	        point.y += height;
-	        return point;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/EvaluateEditorPopupAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/EvaluateEditorPopupAction.java
deleted file mode 100644
index 3a2321a..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/EvaluateEditorPopupAction.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.actions;
-
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandlerListener;
-import org.eclipse.debug.ui.InspectPopupDialog;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
-import org.eclipse.wst.jsdt.debug.internal.ui.eval.JavaScriptInspectExpression;
-
-
-/**
- * Default handler for the {@link EvaluateAction}
- * 
- * @since 1.0
- */
-public class EvaluateEditorPopupAction extends EvaluateAction {
-
-	/**
-	 * Constructor
-	 */
-	public EvaluateEditorPopupAction() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
-	 */
-	public Object execute(ExecutionEvent event) throws ExecutionException {
-		run(null);
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.EvaluateAction#showResult(org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue)
-	 */
-	protected void showResult(IJavaScriptValue value) {
-		InspectPopupDialog dialog = new InspectPopupDialog(
-				PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), 
-				getPopupAnchor(getStyledText(getTargetPart())), 
-				null, 
-				new JavaScriptInspectExpression(getValue()));
-		dialog.open();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.IHandler#isEnabled()
-	 */
-	public boolean isEnabled() {
-		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		setWindow(window);
-		if(window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if(page != null) {
-				setTargetpart(page.getActivePart());
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.IHandler#isHandled()
-	 */
-	public boolean isHandled() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.IHandler#removeHandlerListener(org.eclipse.core.commands.IHandlerListener)
-	 */
-	public void removeHandlerListener(IHandlerListener handlerListener) {}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.commands.IHandler#addHandlerListener(org.eclipse.core.commands.IHandlerListener)
-	 */
-	public void addHandlerListener(IHandlerListener handlerListener) {}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/FunctionFilterAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/FunctionFilterAction.java
deleted file mode 100644
index 761a7d2..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/FunctionFilterAction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.actions;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptProperty;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptVariable;
-import org.eclipse.wst.jsdt.debug.internal.ui.Constants;
-
-
-/**
- * Viewer filter action for filtering functions
- * 
- * @since 1.1
- */
-public class FunctionFilterAction extends ViewFilterAction {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return Constants.SHOW_FUNCTIONS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		if(element instanceof JavaScriptVariable){
-			JavaScriptVariable var = (JavaScriptVariable) element;
-			try {
-				if(IJavaScriptValue.FUNCTION.equals(var.getReferenceTypeName())) {
-					return getValue();
-				}
-			} catch (DebugException e) {
-			}
-		}
-		if(element instanceof JavaScriptProperty){
-			JavaScriptProperty prop = (JavaScriptProperty) element;
-			try {
-				if(IJavaScriptValue.FUNCTION.equals(prop.getReferenceTypeName())) {
-					return getValue();
-				}
-			} catch (DebugException e) {
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/OpenSourceAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/OpenSourceAction.java
index 49bd7ea..32d8711 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/OpenSourceAction.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/OpenSourceAction.java
@@ -17,26 +17,19 @@
 import org.eclipse.core.commands.IHandler2;
 import org.eclipse.core.commands.IHandlerListener;
 import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.debug.ui.DebugUITools;
 import org.eclipse.debug.ui.sourcelookup.ISourceLookupResult;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.ui.IActionDelegate2;
 import org.eclipse.ui.IObjectActionDelegate;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.progress.UIJob;
 import org.eclipse.wst.jsdt.debug.core.model.IScript;
 import org.eclipse.wst.jsdt.debug.internal.core.model.Script;
-import org.eclipse.wst.jsdt.debug.internal.ui.Messages;
 
 /**
  * Context menu action to show the source for a selected {@link IScript}
@@ -57,17 +50,9 @@
 	 */
 	public void run(IAction action) {
 		if(script != null) {
-			UIJob job = new UIJob(PlatformUI.getWorkbench().getDisplay(), NLS.bind(Messages.opening_source__0, script.sourceURI())) {
-				public IStatus runInUIThread(IProgressMonitor monitor) {
-					IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-					ISourceLookupResult result = DebugUITools.lookupSource(script, script.getDebugTarget().getLaunch().getSourceLocator());
-					DebugUITools.displaySource(result, page);
-					return Status.OK_STATUS;
-				}
-			};
-			job.setPriority(Job.INTERACTIVE);
-			job.setUser(true);
-			job.schedule();
+			IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+			ISourceLookupResult result = DebugUITools.lookupSource(script, script.getDebugTarget().getLaunch().getSourceLocator());
+			DebugUITools.displaySource(result, page);
 		}
 	}
 
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ProtoFilterAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ProtoFilterAction.java
deleted file mode 100644
index 02d5543..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ProtoFilterAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.actions;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptProperty;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptValue;
-import org.eclipse.wst.jsdt.debug.internal.ui.Constants;
-
-/**
- * Viewer filter action for <code>proto</code> variables
- * 
- * @since 1.1
- */
-public class ProtoFilterAction extends ViewFilterAction {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return Constants.SHOW_PROTOTYPES;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		if(element instanceof JavaScriptProperty){
-			JavaScriptProperty var = (JavaScriptProperty) element;
-			if(JavaScriptValue.PROTO.equals(var.getName())) {
-				return getValue();
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ShowLoadedScriptsAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ShowLoadedScriptsAction.java
index 7292da3..c5b604e 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ShowLoadedScriptsAction.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ShowLoadedScriptsAction.java
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.ui.actions;
 
 import org.eclipse.debug.ui.IDebugView;
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnAllScriptLoadsAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnAllScriptLoadsAction.java
index 1361935..30738a9 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnAllScriptLoadsAction.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnAllScriptLoadsAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -15,7 +15,6 @@
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
 import org.eclipse.core.runtime.preferences.InstanceScope;
 import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.wst.jsdt.debug.internal.core.Constants;
 import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
@@ -29,6 +28,7 @@
  */
 public class SuspendOnAllScriptLoadsAction extends ViewFilterAction {
 	
+	
 	/* (non-Javadoc)
 	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceKey()
 	 */
@@ -47,7 +47,7 @@
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
 	public void run(IAction action) {
-		IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(JavaScriptDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences prefs = new InstanceScope().getNode(JavaScriptDebugPlugin.PLUGIN_ID);
 		if(prefs != null) {
 			prefs.putBoolean(Constants.SUSPEND_ON_ALL_SCRIPT_LOADS, getValue());
 			try {
@@ -59,13 +59,6 @@
 	}
 	
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceStore()
-	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return JavaScriptDebugUIPlugin.getCorePreferenceStore();
-	}
-	
-	/* (non-Javadoc)
 	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceValue()
 	 */
 	protected boolean getPreferenceValue() {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnExceptionsAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnExceptionsAction.java
index 799bb8f..710b910 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnExceptionsAction.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/SuspendOnExceptionsAction.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -14,8 +14,9 @@
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
 import org.eclipse.core.runtime.preferences.InstanceScope;
 import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
 import org.eclipse.wst.jsdt.debug.internal.core.Constants;
 import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
 import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
@@ -26,15 +27,17 @@
  * 
  * @since 1.1
  */
-public class SuspendOnExceptionsAction extends ViewFilterAction {
+public class SuspendOnExceptionsAction implements IViewActionDelegate {
+	
+	boolean initialized = false;
 	
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
 	 */
 	public void run(IAction action) {
-		IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(JavaScriptDebugPlugin.PLUGIN_ID);
+		IEclipsePreferences prefs = new InstanceScope().getNode(JavaScriptDebugPlugin.PLUGIN_ID);
 		if(prefs != null) {
-			prefs.putBoolean(Constants.SUSPEND_ON_THROWN_EXCEPTION, action.isChecked());
+			prefs.putBoolean(Constants.SUSPEN_ON_THROWN_EXCEPTION, action.isChecked());
 			try {
 				prefs.flush();
 			} catch (BackingStoreException e) {
@@ -44,34 +47,22 @@
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceStore()
+	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
 	 */
-	protected IPreferenceStore getPreferenceStore() {
-		return JavaScriptDebugUIPlugin.getCorePreferenceStore();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceValue()
-	 */
-	protected boolean getPreferenceValue() {
-		return Platform.getPreferencesService().getBoolean(
-				JavaScriptDebugPlugin.PLUGIN_ID,
-				Constants.SUSPEND_ON_THROWN_EXCEPTION, 
-				false, 
-				null);
+	public void selectionChanged(IAction action, ISelection selection) {
+		if(!initialized) {
+			boolean checked = Platform.getPreferencesService().getBoolean(
+								JavaScriptDebugPlugin.PLUGIN_ID,
+								Constants.SUSPEN_ON_THROWN_EXCEPTION, 
+								false, 
+								null);
+			action.setChecked(checked);
+			initialized = true;
+		}
 	}
 
 	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceKey()
+	 * @see org.eclipse.ui.IViewActionDelegate#init(org.eclipse.ui.IViewPart)
 	 */
-	protected String getPreferenceKey() {
-		return Constants.SUSPEND_ON_THROWN_EXCEPTION;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return false;
-	}
+	public void init(IViewPart view) {}
 }
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ThisFilterAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ThisFilterAction.java
deleted file mode 100644
index 7f19799..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ThisFilterAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.actions;
-
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptValue;
-import org.eclipse.wst.jsdt.debug.internal.core.model.JavaScriptVariable;
-import org.eclipse.wst.jsdt.debug.internal.ui.Constants;
-
-/**
- * Viewer filter action for the <code>this</code> variable
- * 
- * @since 1.1
- */
-public class ThisFilterAction extends ViewFilterAction {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.ui.actions.ViewFilterAction#getPreferenceKey()
-	 */
-	protected String getPreferenceKey() {
-		return Constants.SHOW_THIS;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
-	 */
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		if(element instanceof JavaScriptVariable){
-			JavaScriptVariable var = (JavaScriptVariable) element;
-			if(JavaScriptValue.THIS.equals(var.getName())) {
-				return getValue();
-			}
-		}
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ViewFilterAction.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ViewFilterAction.java
index c6906b2..837b5e3 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ViewFilterAction.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/actions/ViewFilterAction.java
@@ -107,7 +107,8 @@
 			viewer.refresh();
 		}
 		IPreferenceStore store = getPreferenceStore();
-		store.setValue(getPreferenceKey(), action.isChecked());
+		String key = getView().getSite().getId() + "." + getPreferenceKey(); //$NON-NLS-1$
+		store.setValue(key, action.isChecked());
 	}
 
 	/* (non-Javadoc)
@@ -131,8 +132,15 @@
 	 * @return boolean
 	 */
 	protected boolean getPreferenceValue() {
+		String key = getCompositeKey();
 		IPreferenceStore store = getPreferenceStore();
-		return store.getBoolean(getPreferenceKey());		
+		boolean value = false;
+		if (store.contains(key)) {
+			value = store.getBoolean(key);
+		} else {
+			value = store.getBoolean(getPreferenceKey());
+		}
+		return value;		
 	}
 	
 	/**
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAdapterFactory.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAdapterFactory.java
index 213a929..97e630d 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAdapterFactory.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAdapterFactory.java
@@ -14,7 +14,6 @@
 import org.eclipse.core.runtime.IAdapterFactory;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelProxyFactory2;
-import org.eclipse.debug.ui.actions.IRunToLineTarget;
 import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.model.IWorkbenchAdapter;
@@ -23,7 +22,6 @@
 import org.eclipse.wst.jsdt.debug.core.model.IScriptGroup;
 import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
 import org.eclipse.wst.jsdt.debug.internal.ui.breakpoints.ToggleBreakpointAdapter;
-import org.eclipse.wst.jsdt.debug.internal.ui.eval.RunToLineAdapter;
 
 /**
  * Adapter factory
@@ -75,7 +73,6 @@
 	static ToggleBreakpointAdapter tbadapter = null;
 	static JavaScriptAsyncContentProvider jscontent = null;
 	static JavaScriptModelProxyFactory jsproxyfactory = null;
-	static RunToLineAdapter runtoline = null;
 	
 	/*
 	 * (non-Javadoc)
@@ -89,9 +86,6 @@
 		if(adapterType.equals(IWorkbenchAdapter.class) && adaptableObject instanceof IJavaScriptBreakpoint) {
 			return getWorkbenchAdapter();
 		}
-		if(adapterType.equals(IRunToLineTarget.class)) {
-			return getRunToLine();
-		}
 		if (adapterType.equals(IElementContentProvider.class)) {
 			if (adaptableObject instanceof IJavaScriptDebugTarget ||
 					adaptableObject instanceof IScriptGroup) {
@@ -111,23 +105,12 @@
 	 */
 	public Class[] getAdapterList() {
 		return new Class[] {IToggleBreakpointsTarget.class, 
-				IWorkbenchAdapter.class,
-				IRunToLineTarget.class,
+				IWorkbenchAdapter.class, 
 				IElementContentProvider.class,
 				IModelProxyFactory2.class};
 	}
 	
 	/**
-	 * @return the singleton {@link RunToLineAdapter}
-	 */
-	synchronized RunToLineAdapter getRunToLine() {
-		if(runtoline == null) {
-			runtoline = new RunToLineAdapter();
-		}
-		return runtoline;
-	}
-	
-	/**
 	 * @return the singleton {@link JavaScriptModelProxyFactory}
 	 */
 	synchronized JavaScriptModelProxyFactory getJSProxyFactory() {
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAsyncContentProvider.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAsyncContentProvider.java
index 4ff6fb8..3ee9149 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAsyncContentProvider.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptAsyncContentProvider.java
@@ -1,13 +1,3 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.ui.adapters;
 
 import java.util.List;
@@ -45,7 +35,7 @@
 				System.arraycopy(threads, 0, children, 1, threads.length);
 				return getElements(children, index, length);
 			}
-			return getElements(threads, index, length);
+			return threads;
 		}
 		if(parent instanceof IScriptGroup) {
 			IScriptGroup group = (IScriptGroup) parent;
@@ -78,7 +68,7 @@
 		}
 		return 0;
 	}
-		
+	
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.model.elements.ElementContentProvider#supportsContext(org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext)
 	 */
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptDebugTargetEventHandler.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptDebugTargetEventHandler.java
index f4abec0..6db6c70 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptDebugTargetEventHandler.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/adapters/JavaScriptDebugTargetEventHandler.java
@@ -20,7 +20,6 @@
 import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptDebugTarget;
 import org.eclipse.wst.jsdt.debug.core.model.IScriptGroup;
 import org.eclipse.wst.jsdt.debug.internal.core.model.ScriptGroup;
-import org.eclipse.wst.jsdt.debug.internal.ui.PreferencesManager;
 
 /**
  * Custom handler for JavaScript debug target model proxy events
@@ -46,81 +45,6 @@
 	}
 	
 	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugTargetEventHandler#handleChange(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void handleChange(DebugEvent event) {
-		Object source = event.getSource();
-		if(source instanceof IDebugTarget) {
-			super.handleChange(event);
-		}
-		else if(source instanceof IScriptGroup) {
-			if(PreferencesManager.getManager().showLoadedScripts()) {
-				fireScriptGroupDelta((IScriptGroup) source);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugTargetEventHandler#handleCreate(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void handleCreate(DebugEvent event) {
-		Object source = event.getSource();
-		if(source instanceof IDebugTarget) {
-			super.handleCreate(event);
-		}
-		else if(source instanceof IScriptGroup) {
-			if(PreferencesManager.getManager().showLoadedScripts()) {
-				fireScriptGroupDelta((IScriptGroup) source);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugTargetEventHandler#handleResume(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void handleResume(DebugEvent event) {
-		Object source = event.getSource();
-		if(source instanceof IDebugTarget) {
-			super.handleResume(event);
-		}
-		else if(source instanceof IScriptGroup) {
-			if(PreferencesManager.getManager().showLoadedScripts()) {
-				fireScriptGroupDelta((IScriptGroup) source);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugTargetEventHandler#handleSuspend(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void handleSuspend(DebugEvent event) {
-		Object source = event.getSource();
-		if(source instanceof IDebugTarget) {
-			super.handleSuspend(event);
-		}
-		else if(source instanceof IScriptGroup) {
-			if(PreferencesManager.getManager().showLoadedScripts()) {
-				fireScriptGroupDelta((IScriptGroup) source);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugTargetEventHandler#handleTerminate(org.eclipse.debug.core.DebugEvent)
-	 */
-	protected void handleTerminate(DebugEvent event) {
-		Object source = event.getSource();
-		if(source instanceof IDebugTarget) {
-			super.handleTerminate(event);
-		}
-		else if(source instanceof IScriptGroup){
-			if(PreferencesManager.getManager().showLoadedScripts()) {
-				fireScriptGroupDelta((IScriptGroup) source);
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
 	 * @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#handleOther(org.eclipse.debug.core.DebugEvent)
 	 */
 	protected void handleOther(DebugEvent event) {
@@ -129,9 +53,7 @@
 			super.handleOther(event);
 		}
 		else if(source instanceof IScriptGroup){
-			if(PreferencesManager.getManager().showLoadedScripts()) {
-				fireScriptGroupDelta((IScriptGroup) source);
-			}
+			fireScriptGroupDelta((IScriptGroup) source);
 		}
 	}
 	
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java
index 64aeb7d..90d466f 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java
@@ -246,6 +246,13 @@
 	}
 	
 	/* (non-Javadoc)
+	 * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#preVisit(org.eclipse.wst.jsdt.core.dom.ASTNode)
+	 */
+	public void preVisit(ASTNode node) {
+		super.preVisit(node);
+	}
+	
+	/* (non-Javadoc)
 	 * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration)
 	 */
 	public boolean visit(AnonymousClassDeclaration node) {
@@ -308,8 +315,8 @@
 	public boolean visit(Block node) {
 		if(visit(node, false)) {
 			if(node.statements().isEmpty() && node.getParent().getNodeType() == ASTNode.FUNCTION_DECLARATION) {
-				int offset = node.getStartPosition() + node.getLength() - 1;
-				this.linenumber = lineNumber(offset);
+				int offset = node.getStartPosition();
+				this.linenumber = lineNumber(offset + node.getLength() - 1);
 				this.found = true;
 				this.location = LINE;
 				this.offset = offset;
@@ -887,7 +894,7 @@
 	 * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.VariableDeclarationStatement)
 	 */
 	public boolean visit(VariableDeclarationStatement node) {
-		return visit(node, node.getParent().getNodeType() == ASTNode.BLOCK);
+		return visit(node, false);
 	}
 
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointPropertyPage.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointPropertyPage.java
index 342f690..b2b6166 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointPropertyPage.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointPropertyPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -190,15 +190,14 @@
 	protected void createLabels(Composite parent) {
 		Composite labelComposite = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_HORIZONTAL);
 		try {
-			IJavaScriptBreakpoint bp = getBreakpoint();
-			String name = bp.getTypeName();
+			String name = getBreakpoint().getTypeName();
 			if (name != null) {
 				SWTFactory.createLabel(labelComposite, Messages.type_name, 1); 
 				Text text = SWTFactory.createText(labelComposite, SWT.READ_ONLY | SWT.SINGLE, 1, GridData.FILL_HORIZONTAL);
 				text.setText(name);
 				text.setBackground(parent.getBackground());
 			}
-			name = bp.getScriptPath();
+			name = getBreakpoint().getScriptPath();
 			if(name != null) {
 				SWTFactory.createLabel(labelComposite, Messages.script_path, 1);
 				Text text = SWTFactory.createText(labelComposite, SWT.READ_ONLY, 1, GridData.FILL_HORIZONTAL);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointUpdater.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointUpdater.java
deleted file mode 100644
index 275f7c3..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/JavaScriptBreakpointUpdater.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.breakpoints;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.texteditor.IMarkerUpdater;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-import org.eclipse.wst.jsdt.core.IJavaScriptUnit;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit;
-import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptBreakpoint;
-import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptLineBreakpoint;
-import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
-import org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider;
-
-/**
- * A marker updater for {@link IJavaScriptBreakpoint}s
- * 
- * @since 1.1
- */
-public class JavaScriptBreakpointUpdater implements IMarkerUpdater {
-
-	/**
-	 * Constructor
-	 */
-	public JavaScriptBreakpointUpdater() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IMarkerUpdater#getMarkerType()
-	 */
-	public String getMarkerType() {
-		return IJavaScriptBreakpoint.MARKER_ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IMarkerUpdater#getAttribute()
-	 */
-	public String[] getAttribute() {
-		return new String[] {IMarker.LINE_NUMBER};
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.texteditor.IMarkerUpdater#updateMarker(org.eclipse.core.resources.IMarker, org.eclipse.jface.text.IDocument, org.eclipse.jface.text.Position)
-	 */
-	public boolean updateMarker(IMarker marker, IDocument document, Position position) {
-		if(position.isDeleted()) {
-			return false;
-		}
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint breakpoint = manager.getBreakpoint(marker);
-		if(breakpoint == null) {
-			return false;
-		}
-		IJavaScriptUnit unit = JavaScriptCore.createCompilationUnitFrom((IFile) marker.getResource());
-		if(unit == null) {
-			return false;
-		}
-		JavaScriptUnit jsunit = JavaScriptPlugin.getDefault().getASTProvider().getAST(unit, ASTProvider.WAIT_YES, null);
-		try {
-			BreakpointLocationFinder finder = new BreakpointLocationFinder(jsunit, document.getLineOfOffset(position.getOffset())+1, true);
-			jsunit.accept(finder);
-			if(finder.getLocation() == BreakpointLocationFinder.UNKNOWN) {
-				return false;
-			}
-			int line = finder.getLineNumber();
-			if(MarkerUtilities.getLineNumber(marker) == line) {
-				//if there exists a breakpoint on the line remove this one
-				if(isLineBreakpoint(marker)) {
-					ensureRanges(document, marker, line);
-					return lineBreakpointExists(marker.getResource(), ((IJavaScriptLineBreakpoint)breakpoint).getScriptPath(), line, marker, true) == null;
-				}
-				return true;
-			}
-			if(isLineBreakpoint(marker) & line == -1) {
-				return false;
-			}
-			if(lineBreakpointExists(marker.getResource(), ((IJavaScriptLineBreakpoint)breakpoint).getScriptPath(), line, marker, false) != null) {
-				return false;
-			}
-			MarkerUtilities.setLineNumber(marker, line);
-			if(isLineBreakpoint(marker)) {
-				ensureRanges(document, marker, line);
-			}
-			return true;
-		}
-		catch(BadLocationException ble) {
-			JavaScriptDebugUIPlugin.log(ble);
-		} catch (CoreException e) {
-			JavaScriptDebugUIPlugin.log(e);
-		}
-		return false;
-	}
-	
-	/**
-	 * Returns if the given marker is of the type {@link IJavaScriptLineBreakpoint#MARKER_ID}
-	 * @param marker
-	 * @return true if the marker is a {@link IJavaScriptLineBreakpoint} marker
-	 */
-	boolean isLineBreakpoint(IMarker marker) {
-		return MarkerUtilities.isMarkerType(marker, IJavaScriptLineBreakpoint.MARKER_ID);
-	}
-	
-	/**
-	 * Corrects the {@link IMarker#CHAR_START} and {@link IMarker#CHAR_END} values as needed
-	 * 
-	 * @param document
-	 * @param marker
-	 * @param line
-	 * @throws BadLocationException
-	 */
-	void ensureRanges(IDocument document, IMarker marker, int line) throws BadLocationException {
-		if(line < 0 || line > document.getNumberOfLines()) {
-			return;
-		}
-		IRegion region = document.getLineInformation(line - 1);
-		int charstart = region.getOffset();
-		int charend = charstart + region.getLength();
-		MarkerUtilities.setCharStart(marker, charstart);
-		MarkerUtilities.setCharEnd(marker, charend);
-	}
-	
-	/**
-	 * Looks up the {@link IJavaScriptLineBreakpoint} that is associated with the given marker. Returns <code>null</code> if one 
-	 * does not exist
-	 * 
-	 * @param resource
-	 * @param typeName
-	 * @param lineNumber
-	 * @param currentmarker
-	 * @param useid if the id of the markers should be compared
-	 * @return the {@link IJavaScriptLineBreakpoint} for the given marker or <code>null</code> if one does not exist
-	 * @throws CoreException
-	 */
-	IJavaScriptLineBreakpoint lineBreakpointExists(IResource resource, String typeName, int lineNumber, IMarker currentmarker, boolean useid) throws CoreException {
-		String modelId = JavaScriptDebugModel.MODEL_ID;
-		IBreakpointManager manager = DebugPlugin.getDefault().getBreakpointManager();
-		IBreakpoint[] breakpoints = manager.getBreakpoints(modelId);
-		for (int i = 0; i < breakpoints.length; i++) {
-			if ((breakpoints[i] instanceof IJavaScriptLineBreakpoint)) {
-				IJavaScriptLineBreakpoint breakpoint = (IJavaScriptLineBreakpoint) breakpoints[i];
-				if(breakpoint.getLineNumber() == lineNumber) {
-					IMarker marker = breakpoint.getMarker();
-					if (marker != null && 
-							marker.exists() && 
-							marker.getType().equals(IJavaScriptLineBreakpoint.MARKER_ID) && 
-							pathsEqual(breakpoint.getScriptPath(), typeName) &&
-							resource.equals(marker.getResource())) {
-						if(useid) {
-							if(currentmarker.getId() != marker.getId()) {
-								return breakpoint;
-							}
-							return null;
-						}
-						return breakpoint;
-					}
-				}
-				
-			}
-		}
-		return null;
-	}
-	
-	/**
-	 * Returns if n1 equals n2, where both being <code>null</code> is also considered equal
-	 * @param n1
-	 * @param n2
-	 * @return 
-	 */
-	boolean pathsEqual(String n1, String n2) {
-		if(n1 == null) {
-			return n2 == null;
-		}
-		return n1.equals(n2);
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/Messages.java
index e8598b5..274eea5 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/Messages.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/Messages.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,13 +27,10 @@
 	public static String enter_condition;
 	public static String entry;
 	public static String exit;
-	public static String failed_function_bp_no_element;
-	public static String failed_function_bp_no_resource;
-	public static String failed_line_bp_no_element;
-	public static String failed_line_bp_no_resource;
 	public static String failed_to_create_function_bp;
 	public static String failed_to_create_line_bp;
 	public static String fuction;
+	public static String function_bp;
 	public static String function_breakpoint;
 	public static String function_breakpoint_settings;
 	public static String hit_count;
@@ -41,18 +38,21 @@
 	public static String line_breakpoint;
 	public static String line_breakpoint_settings;
 	public static String line_number;
+	public static String line_number_bp;
 	public static String member;
-	public static String no_editor_could_be_found;
 	public static String no_valid_location;
 	public static String script_load_bp;
 	public static String script_load_breakpoint;
 	public static String script_path;
+	public static String suspend_policy;
+	public static String suspend_thread_option;
 	public static String suspend_thread;
 	public static String suspend_target;
 	public static String suspend_when_changed;
+	public static String suspend_when_entering;
+	public static String suspend_when_exiting;
 	public static String suspend_when_true;
 	public static String type_name;
-	public static String type_root_could_not_be_computed;
 	static {
 		// initialize resource bundle
 		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java
index 2248c26..72468cd 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -13,7 +13,6 @@
 import java.util.HashMap;
 
 import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
@@ -32,7 +31,6 @@
 import org.eclipse.jface.text.TextSelection;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
@@ -48,17 +46,18 @@
 import org.eclipse.wst.jsdt.core.ISourceRange;
 import org.eclipse.wst.jsdt.core.IType;
 import org.eclipse.wst.jsdt.core.ITypeRoot;
+import org.eclipse.wst.jsdt.core.dom.AST;
+import org.eclipse.wst.jsdt.core.dom.ASTParser;
 import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptFunctionBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.breakpoints.IJavaScriptLineBreakpoint;
 import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
+import org.eclipse.wst.jsdt.debug.internal.core.JavaScriptDebugPlugin;
 import org.eclipse.wst.jsdt.debug.internal.ui.DebugWCManager;
-import org.eclipse.wst.jsdt.internal.ui.JavaScriptPlugin;
-import org.eclipse.wst.jsdt.internal.ui.javaeditor.ASTProvider;
 
 /**
- * JavaScript adapter for toggling breakpoints in the JSDT editor
+ * Javascript adapter for toggling breakpoints in the JSDT editor
  * 
  * @since 1.0
  */
@@ -91,14 +90,10 @@
             		ITextEditor editor = getTextEditor(part);
 					if(editor != null && part instanceof IEditorPart) {
 						if(element == null) {
-							reportToStatusLine(part, Messages.failed_line_bp_no_element);
+							reportToStatusLine(part, Messages.failed_to_create_line_bp);
 							return Status.CANCEL_STATUS;
 						}
-						IResource resource = element.getResource();
-						if(resource == null) {
-							reportToStatusLine(part, NLS.bind(Messages.failed_line_bp_no_resource, element.getElementName()));
-							return Status.CANCEL_STATUS;
-						}
+						IResource resource = getBreakpointResource(element);
 						IBreakpoint bp = lineBreakpointExists(resource, linenumber);
 						if(bp != null) {
 							DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(bp, true);
@@ -140,8 +135,44 @@
 	 * @return the path to the script 
 	 */
 	String getScriptPath(IJavaScriptElement element) {
-		IPath path = element.getPath();
-		return path.makeAbsolute().toString();
+		IPath path  = getElementScriptPath(element).makeRelative();
+		if(JavaScriptDebugPlugin.isExternalSource(path)) {
+			String extpath = (JavaScriptDebugPlugin.getExternalScriptPath(path.removeFirstSegments(1)));
+			if(extpath != null) {
+				return extpath;
+			}
+		}
+		return path.toString();
+	}
+
+	private IPath getElementScriptPath(IJavaScriptElement element) {
+		switch (element.getElementType()) {
+		case IJavaScriptElement.TYPE: {
+			return ((IType) element).getPath();
+		}
+		case IJavaScriptElement.METHOD:
+		case IJavaScriptElement.FIELD: {
+			IMember member = (IMember) element;
+			IType type = member.getDeclaringType();
+			if (type == null) {
+				IJavaScriptElement parent = element.getParent();
+				switch (parent.getElementType()) {
+				case IJavaScriptElement.TYPE: {
+					return ((IType) parent).getPath();
+				}
+				case IJavaScriptElement.JAVASCRIPT_UNIT:
+				case IJavaScriptElement.CLASS_FILE: {
+					return ((ITypeRoot) parent).getPath();
+				}
+				}
+				return element.getParent().getPath();
+			}
+			return type.getPath();
+		}
+		default: {
+			return element.getPath();
+		}
+		}
 	}
 	
 	/**
@@ -251,23 +282,18 @@
 	 * Delegate for toggling a method breakpoint
 	 * @param part
 	 * @param element
-	 * @param line
 	 */
-	void toggleMethodBreakpoint(final IWorkbenchPart part, final IJavaScriptElement element, final int line) {
+	void toggleMethodBreakpoint(final IWorkbenchPart part, final IJavaScriptElement element) {
 		Job job = new Job("Toggle Function Breakpoints") { //$NON-NLS-1$
             protected IStatus run(IProgressMonitor monitor) {
             	try {
 					if(element == null) {
-						reportToStatusLine(part, Messages.failed_function_bp_no_element);
+						reportToStatusLine(part, Messages.failed_to_create_function_bp);
 						return Status.CANCEL_STATUS;
 					}
 					if(element.getElementType() == IJavaScriptElement.METHOD) {
 						IFunction method = (IFunction) element;
-						IResource resource = element.getResource();
-						if(resource == null) {
-							reportToStatusLine(part, NLS.bind(Messages.failed_function_bp_no_resource, element.getElementName()));
-							return Status.CANCEL_STATUS;
-						}
+						IResource resource = getBreakpointResource(element);
 						IBreakpoint bp = methodBreakpointExists(resource, method.getElementName(), method.getSignature());
 						if(bp != null) {
 							DebugPlugin.getDefault().getBreakpointManager().removeBreakpoint(bp, true);
@@ -284,7 +310,6 @@
 						//nothing else we can do
 						attributes.put(IJavaScriptBreakpoint.TYPE_NAME, getTypeName(element));
 						attributes.put(IJavaScriptBreakpoint.SCRIPT_PATH, getScriptPath(element));
-						attributes.put(IMarker.LINE_NUMBER, new Integer(line));
 						IJavaScriptFunctionBreakpoint breakpoint = JavaScriptDebugModel.createFunctionBreakpoint(resource, method.getElementName(), method.getSignature(), start, end, attributes, true);
 						breakpoint.setJavaScriptElementHandle(element.getHandleIdentifier());
 						return Status.OK_STATUS;
@@ -348,7 +373,7 @@
 		if(selection instanceof ITextSelection) {
 			ITextEditor textEditor = getTextEditor(part);
 			if(textEditor == null) {
-				reportToStatusLine(part, Messages.no_editor_could_be_found);
+				reportToStatusLine(part, Messages.no_valid_location);
 				return;
 			}
 			ITypeRoot root = getTypeRoot(textEditor.getEditorInput());
@@ -359,10 +384,12 @@
                 }
             }
             if(root == null) {
-            	reportToStatusLine(part, Messages.type_root_could_not_be_computed);
+            	reportToStatusLine(part, Messages.no_valid_location);
             	return;
             }
-			JavaScriptUnit jsunit = JavaScriptPlugin.getDefault().getASTProvider().getAST(root, ASTProvider.WAIT_YES, null);
+			ASTParser parser = ASTParser.newParser(AST.JLS3);
+			parser.setSource(root);
+			JavaScriptUnit jsunit = (JavaScriptUnit) parser.createAST(null);
 			BreakpointLocationFinder finder = new BreakpointLocationFinder(jsunit, ((TextSelection)selection).getStartLine()+1, false);
 			jsunit.accept(finder);
 			switch(finder.getLocation()) {
@@ -371,15 +398,11 @@
 					return;
 				}
 				case BreakpointLocationFinder.LINE: {
-					IJavaScriptElement element = root.getElementAt(finder.getOffset());
-					if(element == null) {
-						element = root;
-					}
-					toggleLineBreakpoint(part, (ITextSelection) selection, element, finder.getLineNumber());
+					toggleLineBreakpoint(part, (ITextSelection) selection, root.getElementAt(finder.getOffset()), finder.getLineNumber());
 					return;
 				}
 				case BreakpointLocationFinder.FUNCTION: {
-					toggleMethodBreakpoint(part, root.getElementAt(finder.getOffset()), finder.getLineNumber());
+					toggleMethodBreakpoint(part, root.getElementAt(finder.getOffset()));
 					return;
 				}
 			}
@@ -390,7 +413,7 @@
         	if(o instanceof IMember) {
         		IMember member = (IMember) o;
         		if(member.getElementType() == IJavaScriptElement.METHOD) {
-    				toggleMethodBreakpoint(part, member, -1);
+    				toggleMethodBreakpoint(part, member);
     			}
         	}
 		}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/messages.properties
index 405039e..b7ac5e5 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/messages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
+# Copyright (c) 2010 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -18,13 +18,10 @@
 enter_condition=Enter a condition
 entry=E&ntry
 exit=E&xit
-failed_function_bp_no_element=Failed to create Javascript function breakpoint - the JavaScript element could not be computed
-failed_function_bp_no_resource=Failed to create Javascript function breakpoint - the resource could no be computed for {0}
-failed_line_bp_no_element=Failed to create Javascript line breakpoint - the JavaScript element could not be computed
-failed_line_bp_no_resource=Failed to create Javascript line breakpoint - the resource could no be computed for {0}
 failed_to_create_function_bp=Failed to create Javascript function breakpoint
 failed_to_create_line_bp=Failed to create Javascript line breakpoint
 fuction=F&unction
+function_bp=Function Breakpoint
 function_breakpoint=Function Breakpoint
 function_breakpoint_settings=Function Breakpoint Settings
 hit_count=&Hit Count:
@@ -32,15 +29,18 @@
 line_breakpoint=Line Breakpoint
 line_breakpoint_settings=Line Breakpoint Settings
 line_number=&Line Number:
+line_number_bp=Line Breakpoint
 member=&Member:
-no_editor_could_be_found=No editor could be found for the associated part
 no_valid_location=A valid location could not be found for the breakpoint
 script_load_bp=Script Load Breakpoint
 script_load_breakpoint=Script Load Breakpoint
 script_path=&Script Path:
+suspend_policy=Suspend &Policy:
+suspend_thread_option=Suspend Thread
 suspend_thread=Suspend &Thread
 suspend_target=Suspend Ta&rget
 suspend_when_changed=Suspend &when value changes
+suspend_when_entering=Suspend when execution e&nters the function.
+suspend_when_exiting=Suspend when execution e&xits the function.
 suspend_when_true=Suspend when 'tr&ue'
 type_name=&Type Name:
-type_root_could_not_be_computed=The type root could not be computed for the editor
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/EvaluationManager.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/EvaluationManager.java
deleted file mode 100644
index 48aad62..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/EvaluationManager.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.contexts.DebugContextEvent;
-import org.eclipse.debug.ui.contexts.IDebugContextListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-
-/**
- * Manager to handle contexts for evaluations
- * 
- * @since 1.0
- */
-public class EvaluationManager implements IDebugContextListener, IWindowListener {
-
-	/**
-	 * System property used to know if the debugger is active or not
-	 */
-	public static final String DEBUGGER_ACTIVE = JavaScriptDebugUIPlugin.PLUGIN_ID + ".jsdebuggerActive"; //$NON-NLS-1$
-	
-	private static EvaluationManager instance = null;
-	
-	private IWorkbenchWindow activewindow = null;
-	private HashMap contextmap = null;
-	
-	/**
-	 * Constructor
-	 */
-	private EvaluationManager() {
-		//no instantiation
-		DebugUITools.getDebugContextManager().addDebugContextListener(this);
-	}
-	
-	/**
-	 * Returns the singleton instance
-	 * 
-	 * @return the instance
-	 */
-	public static synchronized EvaluationManager getManager() {
-		if(instance == null) {
-			instance = new EvaluationManager();
-		}
-		return instance;
-	}
-	
-	/**
-	 * Start the manager
-	 */
-	public void start() {
-		IWorkbench workbench = PlatformUI.getWorkbench();
-		IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
-		for (int i = 0; i < windows.length; i++) {
-			instance.windowOpened(windows[i]);	
-		}
-		workbench.addWindowListener(this);
-		instance.activewindow = workbench.getActiveWorkbenchWindow();
-	}
-	
-	/**
-	 * Stop the manager and un-hook it as listeners
-	 */
-	public void stop() {
-		DebugUITools.getDebugContextManager().removeDebugContextListener(this);
-		PlatformUI.getWorkbench().removeWindowListener(this);
-	}
-	
-	/**
-	 * Returns the evaluation context for the given window, or <code>null</code> if none.
-	 * The evaluation context corresponds to the selected stack frame in the following
-	 * priority order:<ol>
-	 * <li>stack frame in active page of the window</li>
-	 * <li>stack frame in another page of the window</li>
-	 * <li>stack frame in active page of another window</li>
-	 * <li>stack frame in a page of another window</li>
-	 * </ol>
-	 * 
-	 * @param window the window that the evaluation action was invoked from, or
-	 *  <code>null</code> if the current window should be consulted
-	 * @return the stack frame that supplies an evaluation context, or <code>null</code>
-	 *   if none
-	 * @return IJavaStackFrame
-	 */
-	public IJavaScriptStackFrame getEvaluationContext(IWorkbenchWindow window) {
-		List otherwindows = new ArrayList();
-		if (window == null) {
-			return getEvaluationContext(activewindow, otherwindows);
-		}
-		return getEvaluationContext(window, otherwindows);
-	}
-	
-	/**
-	 * Returns the evaluation context for the given part, or <code>null</code> if none.
-	 * The evaluation context corresponds to the selected stack frame in the following
-	 * priority order:<ol>
-	 * <li>stack frame in the same page</li>
-	 * <li>stack frame in the same window</li>
-	 * <li>stack frame in active page of other window</li>
-	 * <li>stack frame in page of other windows</li>
-	 * </ol>
-	 * 
-	 * @param part the part that the evaluation action was invoked from
-	 * @return the stack frame that supplies an evaluation context, or <code>null</code>
-	 *   if none
-	 */
-	public IJavaScriptStackFrame getEvaluationContext(IWorkbenchPart part) {
-		IWorkbenchPage page = part.getSite().getPage();
-		IJavaScriptStackFrame frame = getContext(page);
-		if (frame == null) {
-			return getEvaluationContext(page.getWorkbenchWindow());
-		}
-		return frame;
-	}
-	
-	/**
-	 * Looks up the current evaluation context for the given window. Tries all workbench windows
-	 * if the active window does not have a context
-	 * 
-	 * @param window the window to look in
-	 * @param otherwindows a listing of all other windows to try if the given window does not have a context
-	 * @return the evaluation context or <code>null</code>
-	 */
-	IJavaScriptStackFrame getEvaluationContext(IWorkbenchWindow window, List otherwindows) {
-		IWorkbenchPage activePage = window.getActivePage();
-		IJavaScriptStackFrame frame = null;
-		if (activePage != null) {
-			frame = getContext(activePage);
-		}
-		if (frame == null) {
-			IWorkbenchPage[] pages = window.getPages();
-			for (int i = 0; i < pages.length; i++) {
-				if (activePage != pages[i]) {
-					frame = getContext(pages[i]);
-					if (frame != null) {
-						return frame;
-					}
-				}
-			}
-			otherwindows.add(window);
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			for (int i = 0; i < windows.length; i++) {
-				if (!otherwindows.contains(windows[i])) {
-					frame = getEvaluationContext(windows[i], otherwindows);
-					if (frame != null) {
-						return frame;
-					}
-				}
-			}
-			return null;
-		}
-		return frame;
-	}
-	
-	/**
-	 * Looks up a context for the given page. Returns <code>null</code> if no mapping is found
-	 * or if the context map has not been initialized
-	 * 
-	 * @param page the page to look up a context for
-	 * 
-	 * @return the {@link IJavaScriptStackFrame} context for the given page or <code>null</code>
-	 */
-	IJavaScriptStackFrame getContext(IWorkbenchPage page) {
-		if (contextmap != null) {
-			return (IJavaScriptStackFrame)contextmap.get(page);
-		}
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.contexts.IDebugContextListener#debugContextChanged(org.eclipse.debug.ui.contexts.DebugContextEvent)
-	 */
-	public void debugContextChanged(DebugContextEvent event) {
-		if ((event.getFlags() & DebugContextEvent.ACTIVATED) > 0) {
-			IWorkbenchPart part = event.getDebugContextProvider().getPart();
-			if (part != null) {
-				IWorkbenchPage page = part.getSite().getPage();
-				ISelection selection = event.getContext();
-				if (selection instanceof IStructuredSelection) {
-					IStructuredSelection ss = (IStructuredSelection)selection;
-					if (ss.size() == 1) {
-						Object element = ss.getFirstElement();
-						if (element instanceof IAdaptable) {
-							IJavaScriptStackFrame frame = (IJavaScriptStackFrame)((IAdaptable)element).getAdapter(IJavaScriptStackFrame.class);
-							if (frame != null) {
-								setContext(page, frame);
-								return;
-							}
-						}
-					}
-				}
-				// no context in the given view
-				removeContext(page);
-			}
-		}
-	}
-
-	/**
-	 * Sets the evaluation context for the given page, and notes that
-	 * a valid execution context exists.
-	 * 
-	 * @param page
-	 * @param frame
-	 */
-	private synchronized void setContext(IWorkbenchPage page, IJavaScriptStackFrame frame) {
-		if (contextmap == null) {
-			contextmap = new HashMap();
-		}
-		contextmap.put(page, frame);
-		System.setProperty(DEBUGGER_ACTIVE, "true"); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Removes an evaluation context for the given page, and determines if
-	 * any valid execution context remain.
-	 * 
-	 * @param page
-	 */
-	private void removeContext(IWorkbenchPage page) {
-		if (contextmap != null) {
-			contextmap.remove(page);
-			if (contextmap.isEmpty()) {
-				System.setProperty(DEBUGGER_ACTIVE, "false"); //$NON-NLS-1$
-			}
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowActivated(IWorkbenchWindow window) {
-		activewindow = window;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowDeactivated(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowClosed(IWorkbenchWindow window) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void windowOpened(IWorkbenchWindow window) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/ExpressionInformationControlCreator.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/ExpressionInformationControlCreator.java
deleted file mode 100644
index 20b4980..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/ExpressionInformationControlCreator.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.internal.ui.SWTFactory;
-import org.eclipse.debug.internal.ui.model.elements.ElementContentProvider;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.PresentationContext;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.TreeModelViewer;
-import org.eclipse.debug.internal.ui.views.variables.details.DefaultDetailPane;
-import org.eclipse.debug.internal.ui.views.variables.details.DetailPaneProxy;
-import org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer;
-import org.eclipse.debug.ui.AbstractDebugView;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.text.AbstractInformationControl;
-import org.eclipse.jface.text.IInformationControl;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IInformationControlExtension2;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.SashForm;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Layout;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-
-/**
- * Creates an information control to display an expression in a hover control.
- * 
- * @since 1.1
- */
-public class ExpressionInformationControlCreator implements IInformationControlCreator {
-
-	class ExpressionInformationControl extends AbstractInformationControl implements IInformationControlExtension2 {
-
-		/**
-		 * Dialog setting key for height
-		 */
-		private static final String HEIGHT = "HEIGHT"; //$NON-NLS-1$
-
-		/**
-		 * Dialog setting key for width. 
-		 */
-		private static final String WIDTH = "WIDTH"; //$NON-NLS-1$
-
-		/**
-		 * Dialog setting key for tree sash weight
-		 */
-		private static final String SASH_WEIGHT_TREE = "SashWeightTree"; //$NON-NLS-1$
-		
-		/**
-		 * Dialog setting key for details sash weight
-		 */
-		private static final String SASH_WEIGHT_DETAILS = "SashWeightDetails"; //$NON-NLS-1$		
-		
-		/**
-		 * Variable to display.
-		 */
-		private IVariable fVariable;
-		
-		private IPresentationContext fContext;
-	    private TreeModelViewer fViewer;
-	    private SashForm fSashForm;
-	    private Composite fDetailPaneComposite;
-	    private DetailPaneProxy fDetailPane;
-	    private Tree fTree;
-		    
-		/**
-	     * Creates the content for the root element of the tree viewer in the hover
-	     */
-	    private class TreeRoot extends ElementContentProvider {
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#getChildCount(java.lang.Object, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-			 */
-			protected int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
-				return 1;
-			}
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#getChildren(java.lang.Object, int, int, org.eclipse.debug.internal.ui.viewers.provisional.IPresentationContext)
-			 */
-			protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException {
-				return new Object[] { fVariable };
-			}
-			
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.viewers.model.provisional.elements.ElementContentProvider#supportsContextId(java.lang.String)
-			 */
-			protected boolean supportsContextId(String id) {
-				return true;
-			}
-	    }
-	    
-		/**
-		 * Inner class implementing IDetailPaneContainer methods.  Handles changes to detail
-		 * pane and provides limited access to the detail pane proxy.
-		 */
-		private class DetailPaneContainer implements IDetailPaneContainer{
-		
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getCurrentPaneID()
-			 */
-			public String getCurrentPaneID() {
-				return fDetailPane.getCurrentPaneID();
-			}
-		
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getCurrentSelection()
-			 */
-			public IStructuredSelection getCurrentSelection() {
-				return (IStructuredSelection)fViewer.getSelection();
-			}
-		
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#refreshDetailPaneContents()
-			 */
-			public void refreshDetailPaneContents() {		
-				fDetailPane.display(getCurrentSelection());
-			}
-		
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getParentComposite()
-			 */
-			public Composite getParentComposite() {
-				return fDetailPaneComposite;
-			}
-		
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#getWorkbenchPartSite()
-			 */
-			public IWorkbenchPartSite getWorkbenchPartSite() {
-				return null;
-			}
-		
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.internal.ui.views.variables.details.IDetailPaneContainer#paneChanged(java.lang.String)
-			 */
-			public void paneChanged(String newPaneID) {
-				if (newPaneID.equals(DefaultDetailPane.ID)){
-					fDetailPane.getCurrentControl().setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-				}
-			}
-		
-		}	    
-
-		/**
-		 * Constructs a new control in the given shell.
-		 * 
-		 * @param parentShell shell
-		 * @param resize whether resize is supported
-		 */
-		ExpressionInformationControl(Shell parentShell, boolean resize) {
-			super(parentShell, resize);
-			create();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#computeSizeHint()
-		 */
-		public Point computeSizeHint() {
-			IDialogSettings settings = getDialogSettings(false);
-			if (settings != null) {
-				int x = getIntSetting(settings, WIDTH);
-				if (x > 0) {
-					int y = getIntSetting(settings, HEIGHT);
-					if (y > 0) {
-						return new Point(x,y);
-					}
-				}
-			}
-			return super.computeSizeHint();
-		}
-
-		/**
-		 * Returns the dialog settings for this hover or <code>null</code> if none
-		 * 
-		 * @param create whether to create the settings
-		 */
-		private IDialogSettings getDialogSettings(boolean create) {
-			IDialogSettings settings = JavaScriptDebugUIPlugin.getDefault().getDialogSettings();
-			IDialogSettings section = settings.getSection(this.getClass().getName());
-			if (section == null & create) {
-				section = settings.addNewSection(this.getClass().getName());
-			}
-			return section;
-		}
-		
-		/**
-		 * Returns an integer value in the given dialog settings or -1 if none.
-		 * 
-		 * @param settings dialog settings
-		 * @param key key
-		 * @return value or -1 if not present
-		 */
-		private int getIntSetting(IDialogSettings settings, String key) {
-			try {
-				return settings.getInt(key);
-			} catch (NumberFormatException e) {
-				return -1;
-			}
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#dispose()
-		 */
-		public void dispose() {
-			persistSettings(getShell());
-            fContext.dispose();
-			super.dispose();
-		}
-
-		/**
-		 * Persists dialog settings.
-		 * 
-		 * @param shell
-		 */
-		private void persistSettings(Shell shell) {
-			if (shell != null && !shell.isDisposed()) {
-				if (isResizable()) {
-					IDialogSettings settings = getDialogSettings(true);
-					Point size = shell.getSize();
-					settings.put(WIDTH, size.x);
-					settings.put(HEIGHT, size.y);
-					int[] weights = fSashForm.getWeights();
-					settings.put(SASH_WEIGHT_TREE, weights[0]);
-					settings.put(SASH_WEIGHT_DETAILS, weights[1]);
-				}
-			}
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#setVisible(boolean)
-		 */
-		public void setVisible(boolean visible) {
-			if (!visible) {		
-				persistSettings(getShell());
-			}
-			super.setVisible(visible);
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#createContent(org.eclipse.swt.widgets.Composite)
-		 */
-		protected void createContent(Composite parent) {
-
-	        fSashForm = new SashForm(parent, parent.getStyle());
-	        fSashForm.setOrientation(SWT.VERTICAL);
-
-		    // update presentation context
-	        AbstractDebugView view = getViewToEmulate();
-	        fContext = new PresentationContext(IDebugUIConstants.ID_VARIABLE_VIEW);
-	        if (view != null) {
-	        	// copy over properties
-	        	IPresentationContext copy = ((TreeModelViewer)view.getViewer()).getPresentationContext();
-	        	String[] properties = copy.getProperties();
-	        	for (int i = 0; i < properties.length; i++) {
-					String key = properties[i];
-					fContext.setProperty(key, copy.getProperty(key));
-				}
-	        }
-	       
-	        fViewer = new TreeModelViewer(fSashForm, SWT.NO_TRIM | SWT.MULTI | SWT.VIRTUAL, fContext);
-	        fViewer.setAutoExpandLevel(1);
-	        
-	        if (view != null) {
-	        	// copy over filters
-	        	StructuredViewer structuredViewer = (StructuredViewer) view.getViewer();
-	            if (structuredViewer != null) {
-	                ViewerFilter[] filters = structuredViewer.getFilters();
-	                for (int i = 0; i < filters.length; i++) {
-	                    fViewer.addFilter(filters[i]);
-	                }
-	            }
-	        }
-
-	        fDetailPaneComposite = SWTFactory.createComposite(fSashForm, 1, 1, GridData.FILL_BOTH);
-	        Layout layout = fDetailPaneComposite.getLayout();
-	        if (layout instanceof GridLayout) {
-				GridLayout gl = (GridLayout) layout;
-				gl.marginHeight = 0;
-				gl.marginWidth = 0;
-			}
-	        
-	        fDetailPane = new DetailPaneProxy(new DetailPaneContainer());
-	        fDetailPane.display(null); // Bring up the default pane so the user doesn't see an empty composite
-	      
-	        fTree = fViewer.getTree();
-	        fTree.addSelectionListener(new SelectionListener() {
-	            public void widgetSelected(SelectionEvent e) {
-	            	fDetailPane.display((IStructuredSelection)fViewer.getSelection());
-	            }
-	            public void widgetDefaultSelected(SelectionEvent e) {}
-	        });
-
-	        initSashWeights();
-	              
-	        // add update listener to auto-select and display details of root expression
-	        fViewer.addViewerUpdateListener(new IViewerUpdateListener() {
-				public void viewerUpdatesComplete() {
-				}		
-				public void viewerUpdatesBegin() {
-				}
-				public void updateStarted(IViewerUpdate update) {
-				}
-				public void updateComplete(IViewerUpdate update) {
-					if (update instanceof IChildrenUpdate) {
-						TreeSelection selection = new TreeSelection(new TreePath(new Object[]{fVariable}));
-						fViewer.setSelection(selection);
-						fDetailPane.display(selection);
-						fViewer.removeViewerUpdateListener(this);
-					}
-				}
-			});        
-	        
-	        setBackgroundColor(getShell().getDisplay().getSystemColor(SWT.COLOR_INFO_BACKGROUND));
-		}
-		
-
-		/**
-	     * Attempts to find an appropriate view to emulate, this will either be the
-	     * variables view or the expressions view.
-	     * @return a view to emulate or <code>null</code>
-	     */
-	    private AbstractDebugView getViewToEmulate() {
-	        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-	        AbstractDebugView expressionsView = (AbstractDebugView) page.findView(IDebugUIConstants.ID_EXPRESSION_VIEW);
-	        if (expressionsView != null && expressionsView.isVisible()) {
-	            return expressionsView;
-	        }
-	        AbstractDebugView variablesView = (AbstractDebugView) page.findView(IDebugUIConstants.ID_VARIABLE_VIEW);
-	        if (variablesView != null && variablesView.isVisible()) {
-	            return variablesView;
-	        }
-	        if (expressionsView != null) {
-	            return expressionsView;
-	        }
-	        return variablesView;
-	    }	
-
-		/**
-	     * Initializes the sash form weights from the preference store (using default values if 
-	     * no sash weights were stored previously).
-	     */
-	    protected void initSashWeights(){
-	    	IDialogSettings settings = getDialogSettings(false);
-	    	if (settings != null) {
-		    	int tree = getIntSetting(settings, SASH_WEIGHT_TREE);
-		    	if (tree > 0) {
-		    		int details = getIntSetting(settings, SASH_WEIGHT_DETAILS);
-		    		if (details > 0) {
-		    			fSashForm.setWeights(new int[]{tree, details});
-		    		}
-		    	}
-	    	}
-	    }
-	    		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#setBackgroundColor(org.eclipse.swt.graphics.Color)
-		 */
-		public void setBackgroundColor(Color background) {
-			super.setBackgroundColor(background);
-			fDetailPaneComposite.setBackground(background);
-			fTree.setBackground(background);
-		}
-	
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#setFocus()
-		 */
-		public void setFocus() {
-			super.setFocus();
-			fTree.setFocus();
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IInformationControlExtension#hasContents()
-		 */
-		public boolean hasContents() {
-			return fVariable != null;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.IInformationControlExtension2#setInput(java.lang.Object)
-		 */
-		public void setInput(Object input) {
-			if (input instanceof IVariable) {	        
-				fVariable = (IVariable) input;
-		        fViewer.setInput(new TreeRoot());
-			}
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.AbstractInformationControl#getInformationPresenterControlCreator()
-		 */
-		public IInformationControlCreator getInformationPresenterControlCreator() {
-			return new ExpressionInformationControlCreator() {
-				/* (non-Javadoc)
-				 * @see org.eclipse.jdt.internal.debug.ui.ExpressionInformationControlCreator#createInformationControl(org.eclipse.swt.widgets.Shell)
-				 */
-				public IInformationControl createInformationControl(Shell shell) {
-					return new ExpressionInformationControl(shell, true);
-				}
-			};
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.IInformationControlCreator#createInformationControl(org.eclipse.swt.widgets.Shell)
-	 */
-	public IInformationControl createInformationControl(Shell parent) {
-		return new ExpressionInformationControl(parent, false);
-	}
-
-
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptDebugHover.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptDebugHover.java
deleted file mode 100644
index 7904dd1..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptDebugHover.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IInformationControlCreator;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHoverExtension;
-import org.eclipse.jface.text.ITextHoverExtension2;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptModelPresentation;
-import org.eclipse.wst.jsdt.internal.ui.text.JavaWordFinder;
-import org.eclipse.wst.jsdt.ui.text.java.hover.IJavaEditorTextHover;
-
-/**
- * JavaScript hover to show variables
- * 
- * @since 1.1
- */
-public class JavaScriptDebugHover implements IJavaEditorTextHover, ITextHoverExtension, ITextHoverExtension2 {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverInfo(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-		Object object = getHoverInfo2(textViewer, hoverRegion);
-		if (object instanceof IVariable) {	
-			IVariable var = (IVariable) object;
-			return getVariableText(var);
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHover#getHoverRegion(org.eclipse.jface.text.ITextViewer, int)
-	 */
-	public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-		return JavaWordFinder.findWord(textViewer.getDocument(), offset);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHoverExtension2#getHoverInfo2(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion)
-	 */
-	public Object getHoverInfo2(ITextViewer textViewer, IRegion hoverRegion) {
-		IJavaScriptStackFrame frame = getFrame();
-	    if (frame != null) {
-	        IDocument document = textViewer.getDocument();
-			if (document != null) {
-			    try {
-                    String variableName = document.get(hoverRegion.getOffset(), hoverRegion.getLength());
-                    IVariable var = findLocalVariable(frame, variableName);
-                    if(var != null) {
-                    	return var;
-                    }
-                    //might be in 'this'
-                    var = frame.getThisObject();
-                    try {
-	                    IValue val = var.getValue();
-	                    if(val != null) {
-	                    	IVariable[] vars = val.getVariables();
-	                    	for (int i = 0; i < vars.length; i++) {
-	                    		if(vars[i].getName().equals(variableName)) {
-	                    			return vars[i];
-	                    		}
-							}
-	                    }
-                    }
-                    catch(DebugException de) {
-                    	return null;
-                    }
-                    	
-                } catch (BadLocationException e) {
-                    return null;
-                }
-			}
-	    }
-	    return null;
-	}
-
-	/**
-	 * Returns a local variable in the given frame based on the the given name
-	 * or <code>null</code> if none.
-	 * 
-	 * @return local variable or <code>null</code>
-	 */
-	private IVariable findLocalVariable(IJavaScriptStackFrame frame, String variableName) {
-		if (frame != null) {
-			try {
-				IVariable[] vars = frame.getVariables();
-            	for (int i = 0; i < vars.length; i++) {
-					if(vars[i].getName().equals(variableName)) {
-						return vars[i];
-					}
-				}
-			} catch (DebugException x) {
-				JavaScriptDebugUIPlugin.log(x);
-			}
-		}
-		return null;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.ITextHoverExtension#getHoverControlCreator()
-	 */
-	public IInformationControlCreator getHoverControlCreator() {
-		return new ExpressionInformationControlCreator();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.ui.text.java.hover.IJavaEditorTextHover#setEditor(org.eclipse.ui.IEditorPart)
-	 */
-	public void setEditor(IEditorPart editor) {
-	}
-	
-	/**
-	 * Returns HTML text for the given variable
-	 */
-	private static String getVariableText(IVariable variable) {
-	    StringBuffer buffer= new StringBuffer();
-		JavaScriptModelPresentation modelPresentation = new JavaScriptModelPresentation();
-		buffer.append("<p><pre>"); //$NON-NLS-1$
-		String variableText= modelPresentation.getText(variable);
-		buffer.append(replaceHTMLChars(variableText));
-		buffer.append("</pre></p>"); //$NON-NLS-1$
-		modelPresentation.dispose();
-		if (buffer.length() > 0) {
-			return buffer.toString();
-		}
-		return null;
-	}
-	
-	/**
-	 * Replaces reserved HTML characters in the given string with
-	 * their escaped equivalents. This is to ensure that variable
-	 * values containing reserved characters are correctly displayed.
-     */
-    private static String replaceHTMLChars(String variableText) {
-        StringBuffer buffer = new StringBuffer(variableText.length());
-        char[] characters = variableText.toCharArray();
-        for (int i = 0; i < characters.length; i++) {
-            char character = characters[i];
-            switch (character) {
-            	case '<':
-            	    buffer.append("&lt;"); //$NON-NLS-1$
-            	    break;
-            	case '>':
-            	    buffer.append("&gt;"); //$NON-NLS-1$
-            	    break;
-            	case '&':
-            	    buffer.append("&amp;"); //$NON-NLS-1$
-            	    break;
-            	case '"':
-            	    buffer.append("&quot;"); //$NON-NLS-1$
-            	    break;
-            	default:
-            	    buffer.append(character);
-            }
-        }
-        return buffer.toString();
-    }
-	
-	/**
-	 * Returns the stack frame in which to search for variables, or <code>null</code>
-	 * if none.
-	 * 
-	 * @return the stack frame in which to search for variables, or <code>null</code>
-	 * if none
-	 */
-	protected IJavaScriptStackFrame getFrame() {
-	    IAdaptable adaptable = DebugUITools.getDebugContext();
-		if (adaptable != null) {
-			return (IJavaScriptStackFrame)adaptable.getAdapter(IJavaScriptStackFrame.class);
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptHyperlinkDetector.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptHyperlinkDetector.java
deleted file mode 100644
index 7478ffa..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptHyperlinkDetector.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.hyperlink.AbstractHyperlinkDetector;
-import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.jsdt.core.IFunction;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.core.JavaScriptModelException;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-import org.eclipse.wst.jsdt.internal.ui.text.JavaWordFinder;
-
-/**
- * Hyper-link detector for stepping into selections in the JavaScript editor
- * 
- * @since 1.0
- */
-public class JavaScriptHyperlinkDetector extends AbstractHyperlinkDetector {
-
-	/**
-	 * Hyper-link for stepping into the selection
-	 */
-	class StepIntoSelectionHyperlink implements IHyperlink {
-		
-		private IRegion fRegion = null;
-		
-		/**
-		 * Constructor
-		 * @param region
-		 */
-		public StepIntoSelectionHyperlink(IRegion region) {
-			fRegion = region;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkRegion()
-		 */
-		public IRegion getHyperlinkRegion() {
-			return fRegion;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getHyperlinkText()
-		 */
-		public String getHyperlinkText() {
-			return Messages.hyperlink_step_into;
-		}
-
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.hyperlink.IHyperlink#getTypeLabel()
-		 */
-		public String getTypeLabel() {
-			return null;
-		}
-		
-		/* (non-Javadoc)
-		 * @see org.eclipse.jface.text.hyperlink.IHyperlink#open()
-		 */
-		public void open() {
-			StepIntoSelectionActionDelegate delegate = new StepIntoSelectionActionDelegate(fRegion);
-			delegate.init(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-			delegate.run(null);
-		}
-	}
-	
-	/**
-	 * Constructor
-	 */
-	public JavaScriptHyperlinkDetector() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks(org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion, boolean)
-	 */
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		ITextEditor editor = (ITextEditor) getAdapter(ITextEditor.class);
-		if(editor != null) {
-			IJavaScriptStackFrame frame = EvaluationManager.getManager().getEvaluationContext(PlatformUI.getWorkbench().getActiveWorkbenchWindow());
-			if (frame == null) {
-				return null;
-			}
-			IEditorInput input = editor.getEditorInput();
-			IJavaScriptElement element = StepIntoSelectionUtils.getJavaElement(input);
-			int offset = region.getOffset();
-			if(element != null) {
-				try {
-					IDocument document = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-					if(document != null) {
-						IRegion wregion = JavaWordFinder.findWord(document, offset);
-						if(wregion != null) {
-							IFunction method = StepIntoSelectionUtils.getFunction(new TextSelection(document, wregion.getOffset(), wregion.getLength()), element);
-							if (method != null) {
-								return new IHyperlink[] {new StepIntoSelectionHyperlink(wregion)};
-							}
-						}
-					}
-				}
-				catch(JavaScriptModelException jme) {
-					JavaScriptDebugUIPlugin.log(jme);
-				}
-			}
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptInspectExpression.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptInspectExpression.java
deleted file mode 100644
index 42dcd66..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/JavaScriptInspectExpression.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptDebugTarget;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptValue;
-import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-
-/**
- * Inspect expression for a JavaScript evaluation result
- * 
- * @since 1.0
- */
-public class JavaScriptInspectExpression implements IWatchExpression {
-
-	private IJavaScriptValue value = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param value the value to show
-	 */
-	public JavaScriptInspectExpression(IJavaScriptValue value) {
-		this.value = value;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
-	 */
-	public String getModelIdentifier() {
-		return JavaScriptDebugModel.MODEL_ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
-	 */
-	public ILaunch getLaunch() {
-		return value.getLaunch();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if(IJavaScriptValue.class.equals(adapter)) {
-			return value;
-		}
-		if(IExpression.class.equals(adapter)) {
-			return this;
-		}
-		if(IJavaScriptDebugTarget.class.equals(adapter)) {
-			return value.getDebugTarget();
-		}
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IExpression#getExpressionText()
-	 */
-	public String getExpressionText() {
-		try {
-			return value.getValueString();
-		}
-		catch(DebugException de) {
-			JavaScriptDebugUIPlugin.log(de);
-			return null;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IExpression#getValue()
-	 */
-	public IValue getValue() {
-		return value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IExpression#getDebugTarget()
-	 */
-	public IDebugTarget getDebugTarget() {
-		return value.getDebugTarget();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IExpression#dispose()
-	 */
-	public void dispose() {
-		value = null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#hasErrors()
-	 */
-	public boolean hasErrors() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IErrorReportingExpression#getErrorMessages()
-	 */
-	public String[] getErrorMessages() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#evaluate()
-	 */
-	public void evaluate() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#setExpressionContext(org.eclipse.debug.core.model.IDebugElement)
-	 */
-	public void setExpressionContext(IDebugElement context) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#setExpressionText(java.lang.String)
-	 */
-	public void setExpressionText(String expressionText) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#isPending()
-	 */
-	public boolean isPending() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return value != null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.model.IWatchExpression#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/Messages.java
deleted file mode 100644
index 5651331..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- * 
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.ui.eval.messages"; //$NON-NLS-1$
-	public static String cannot_find_debug_target;
-	public static String cursor_position_not_valid;
-	public static String empty_editor;
-	public static String exception_running_to_line;
-	public static String exe_did_not_enter__0__before_returning;
-	public static String hyperlink_step_into;
-	public static String missing_doc;
-	public static String only_in_the_js_editor;
-	public static String selected_line_not_valid;
-	public static String step_into_only_top_frame;
-	public static String step_into_selection;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/RunToLineAdapter.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/RunToLineAdapter.java
deleted file mode 100644
index d2af35c..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/RunToLineAdapter.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- *  Copyright (c) 2010 IBM Corporation and others.
- *  All rights reserved. This program and the accompanying materials
- *  are made available under the terms of the Eclipse Public License v1.0
- *  which accompanies this distribution, and is available at
- *  http://www.eclipse.org/legal/epl-v10.html
- * 
- *  Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.ui.actions.IRunToLineTarget;
-import org.eclipse.debug.ui.actions.RunToLineHandler;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.jsdt.core.dom.AST;
-import org.eclipse.wst.jsdt.core.dom.ASTParser;
-import org.eclipse.wst.jsdt.core.dom.JavaScriptUnit;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptDebugTarget;
-import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.ui.breakpoints.BreakpointLocationFinder;
-
-/**
- * Run to line target for the JavaScript debugger
- * 
- * @since 1.0
- */
-public class RunToLineAdapter implements IRunToLineTarget {
-	
-	/**
-	 * Marker attribute used to denote a run to line breakpoint
-	 */
-	private static final String RUN_TO_LINE =  JavaScriptDebugUIPlugin.PLUGIN_ID + ".run_to_line"; //$NON-NLS-1$
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IRunToLineTarget#runToLine(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection, org.eclipse.debug.core.model.ISuspendResume)
-	 */
-	public void runToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target) throws CoreException {
-		ITextEditor textEditor = StepIntoSelectionUtils.getTextEditor(part);
-		if (textEditor == null) {
-			throw new CoreException(new Status(IStatus.ERROR, JavaScriptDebugUIPlugin.PLUGIN_ID, Messages.missing_doc, null));
-		} 
-		IEditorInput input = textEditor.getEditorInput();
-		if (input == null) {
-			throw new CoreException(new Status(IStatus.ERROR, JavaScriptDebugUIPlugin.PLUGIN_ID, Messages.empty_editor, null));
-		} 
-		final IDocument document= textEditor.getDocumentProvider().getDocument(input);
-		if (document == null) {
-			throw new CoreException(new Status(IStatus.ERROR, JavaScriptDebugUIPlugin.PLUGIN_ID, Messages.missing_doc, null));
-		} 
-		final int[] validLine = new int[1];
-		final String[] typeName = new String[1];
-		final int[] lineNumber = new int[1];
-		final ITextSelection textSelection = (ITextSelection) selection;
-		Runnable r = new Runnable() {
-			public void run() {
-				lineNumber[0] = textSelection.getStartLine() + 1;
-				ASTParser parser = ASTParser.newParser(AST.JLS3);
-				parser.setSource(document.get().toCharArray());
-				JavaScriptUnit compilationUnit = (JavaScriptUnit)parser.createAST(null);
-				BreakpointLocationFinder locator = new BreakpointLocationFinder(compilationUnit, lineNumber[0], false);
-				compilationUnit.accept(locator);
-				validLine[0] = locator.getLineNumber();		
-				typeName[0] = locator.getFunctionName();
-			}
-		};
-		BusyIndicator.showWhile(JavaScriptDebugUIPlugin.getStandardDisplay(), r);
-		if (validLine[0] == lineNumber[0]) {
-			IBreakpoint breakpoint= null;
-			Map attributes = new HashMap(4);
-			attributes.put(IBreakpoint.PERSISTED, Boolean.FALSE);
-			attributes.put(RUN_TO_LINE, Boolean.TRUE);
-			breakpoint = JavaScriptDebugModel.createLineBreakpoint(ResourcesPlugin.getWorkspace().getRoot(), lineNumber[0], -1, -1, attributes, false);
-			if (target instanceof IAdaptable) {
-				IDebugTarget debugTarget = (IDebugTarget) ((IAdaptable)target).getAdapter(IDebugTarget.class);
-				if (debugTarget == null) {
-					throw new CoreException(new Status(IStatus.ERROR, JavaScriptDebugUIPlugin.PLUGIN_ID, Messages.cannot_find_debug_target, null));
-				}
-                RunToLineHandler handler = new RunToLineHandler(debugTarget, target, breakpoint);
-                handler.run(new NullProgressMonitor());
-				return;
-			}
-		} else {
-			// invalid line
-			if (textSelection.getLength() > 0) {
-				throw new CoreException(new Status(IStatus.ERROR, JavaScriptDebugUIPlugin.PLUGIN_ID, Messages.selected_line_not_valid, null));
-			} 
-			throw new CoreException(new Status(IStatus.ERROR, JavaScriptDebugUIPlugin.PLUGIN_ID, Messages.cursor_position_not_valid, null));
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.actions.IRunToLineTarget#canRunToLine(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection, org.eclipse.debug.core.model.ISuspendResume)
-	 */
-	public boolean canRunToLine(IWorkbenchPart part, ISelection selection, ISuspendResume target) {
-	    if (target instanceof IDebugElement) {
-            IDebugElement element = (IDebugElement) target;
-            IJavaScriptDebugTarget adapter = (IJavaScriptDebugTarget) element.getDebugTarget().getAdapter(IJavaScriptDebugTarget.class);
-            return adapter != null;
-        }
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionActionDelegate.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionActionDelegate.java
deleted file mode 100644
index 52f1778..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionActionDelegate.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdapterManager;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.ui.actions.IRunToLineTarget;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IEditorActionDelegate;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-import org.eclipse.ui.texteditor.IEditorStatusLine;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.jsdt.core.IFunction;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.core.JavaScriptModelException;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptThread;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-
-/**
- * Steps into the selected function.
- * 
- * @since 1.0
- */
-public class StepIntoSelectionActionDelegate implements IEditorActionDelegate, IWorkbenchWindowActionDelegate {
-	
-	private IEditorPart editor = null;
-	private IWorkbenchWindow window = null;
-	private IRegion region = null;
-	
-	/**
-	 * Default constructor
-	 */
-	public StepIntoSelectionActionDelegate() {}
-	
-	/**
-	 * Constructor
-	 * @param region
-	 */
-	public StepIntoSelectionActionDelegate(IRegion region) {
-		this.region = region;
-	}
-
-	/**
-	 * The line number being "run to."
-	 */
-	private int line = -1;
-	
-	/**
-	 * The debug event list listener used to know when a run to line has finished.
-	 * @see StepIntoSelectionActionDelegate#runToLineBeforeStepIn(ITextSelection, IJavaScriptStackFrame, IFunction)
-	 */
-	private IDebugEventSetListener listener = null;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
-	 */
-	public void run(IAction action) {
-		IJavaScriptStackFrame frame = getStackFrame();
-		if (frame == null || !frame.isSuspended()) {
-			// no longer suspended - unexpected
-			return;
-		}
-		ITextSelection textSelection = getTextSelection();
-		try {
-			IEditorPart activeEditor = getActiveEditor();
-			IJavaScriptElement javaElement= StepIntoSelectionUtils.getJavaElement(activeEditor.getEditorInput());
-			IFunction function = StepIntoSelectionUtils.getFunction(textSelection, javaElement);
-			if (function == null) {
-				function = StepIntoSelectionUtils.getFirstFunctionOnLine(textSelection.getOffset(), activeEditor, javaElement);
-			}
-			int lineNumber = frame.getLineNumber();
-			if (textSelection.getStartLine() == (lineNumber - 1)) {
-                doStepIn(frame, function);
-			} else {
-				runToLineBeforeStepIn(textSelection, frame.getThread(), function);
-				return;
-			}
-		} 
-		catch (DebugException e) {
-			showErrorMessage(e.getStatus().getMessage());
-			return;
-		}
-		catch(JavaScriptModelException jme) {
-			showErrorMessage(jme.getStatus().getMessage());
-			return;
-		}
-	}
-	
-	/**
-	 * Steps into the given function in the given stack frame
-	 * @param frame the frame in which the step should begin
-	 * @param function the function to step into
-	 * @throws DebugException
-	 */
-	private void doStepIn(IJavaScriptStackFrame frame, IFunction function) throws DebugException {
-		// ensure top stack frame
-		IStackFrame tos = frame.getThread().getTopStackFrame();
-		if (tos == null) {
-			return; 
-		}		
-		if (!tos.equals(frame)) {
-			showErrorMessage(Messages.step_into_only_top_frame); 
-			return;
-		}
-		StepIntoSelectionHandler handler = new StepIntoSelectionHandler((IJavaScriptThread)frame.getThread(), frame, function);
-		handler.step();
-	}
-	
-	/**
-	 * When the user chooses to "step into selection" on a line other than
-	 * the currently executing one, first perform a "run to line" to get to
-	 * the desired location, then perform a "step into selection."
-	 */
-	private void runToLineBeforeStepIn(ITextSelection textSelection, final IThread thread, final IFunction function) {
-		line = textSelection.getStartLine() + 1;
-		if (line == -1) {
-			return;
-		}
-		// see bug 65489 - get the run-to-line adapter from the editor
-		IRunToLineTarget runToLineAction = null;
-		IEditorPart ed = getActiveEditor();
-		if (ed != null) {
-			runToLineAction  = (IRunToLineTarget) ed.getAdapter(IRunToLineTarget.class);
-			if (runToLineAction == null) {
-				IAdapterManager adapterManager = Platform.getAdapterManager();
-				if (adapterManager.hasAdapter(ed, IRunToLineTarget.class.getName())) { 
-					runToLineAction = (IRunToLineTarget) adapterManager.loadAdapter(ed,IRunToLineTarget.class.getName()); 
-				}
-			}
-		}	
-		// if no adapter exists, use the Java adapter
-		if (runToLineAction == null) {
-		  runToLineAction = new RunToLineAdapter();
-		}
-		listener = new IDebugEventSetListener() {
-
-			/* (non-Javadoc)
-			 * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
-			 */
-			public void handleDebugEvents(DebugEvent[] events) {
-				for (int i = 0; i < events.length; i++) {
-					DebugEvent event = events[i];
-					switch (event.getKind()) {
-						case DebugEvent.SUSPEND :
-							handleSuspendEvent(event);
-							break;
-						case DebugEvent.TERMINATE :
-							handleTerminateEvent(event);
-							break;
-						default :
-							break;
-					}
-				}
-			}
-			/**
-			 * Listen for the completion of the "run to line." When the thread
-			 * suspends at the correct location, perform a "step into selection"
-			 * 
-			 * @param event the debug event
-			 */
-			private void handleSuspendEvent(DebugEvent event) {
-				Object source = event.getSource();
-				if (source instanceof IJavaScriptThread) {
-					try {
-						final IJavaScriptStackFrame frame= (IJavaScriptStackFrame) ((IJavaScriptThread) source).getTopStackFrame();
-						if (isExpectedFrame(frame)) {
-							DebugPlugin plugin = DebugPlugin.getDefault();
-							plugin.removeDebugEventListener(listener);
-							plugin.asyncExec(new Runnable() {
-								public void run() {
-									try {
-										doStepIn(frame, function);
-									} catch (DebugException e) {
-										showErrorMessage(e.getStatus().getMessage());
-									}
-								}
-							});
-						}
-					} catch (DebugException e) {
-						return;
-					}
-				}
-			}
-			/**
-			 * Returns whether the given frame is the frame that this action is expecting.
-			 * This frame is expecting a stack frame for the suspension of the "run to line".
-			 * @param frame the given stack frame or <code>null</code>
-			 * @return whether the given stack frame is the expected frame
-			 * @throws DebugException
-			 */
-			private boolean isExpectedFrame(IJavaScriptStackFrame frame) throws DebugException {
-				return frame != null && line == frame.getLineNumber();
-			}
-			/**
-			 * When the debug target we're listening for terminates, stop listening
-			 * to debug events.
-			 * @param event the debug event
-			 */
-			private void handleTerminateEvent(DebugEvent event) {
-				Object source = event.getSource();
-				if (thread.getDebugTarget() == source) {
-					DebugPlugin.getDefault().removeDebugEventListener(listener);
-				}
-			}
-		};
-		DebugPlugin.getDefault().addDebugEventListener(listener);
-		try {
-			runToLineAction.runToLine(getActiveEditor(), textSelection, thread);
-		} catch (CoreException e) {
-			DebugPlugin.getDefault().removeDebugEventListener(listener);
-			showErrorMessage(Messages.exception_running_to_line); 
-			JavaScriptDebugUIPlugin.log(e.getStatus());
-		}
-	}
-	
-	/**
-	 * Gets the current text selection from the currently active editor
-	 * @return the current text selection
-	 */
-	private ITextSelection getTextSelection() {
-		IEditorPart part = getActiveEditor();
-		if (part instanceof ITextEditor) { 
-			ITextEditor editor = (ITextEditor)part;
-			if(region != null) {
-				IDocument document = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-				if(document != null) {
-					return new TextSelection(document, region.getOffset(), region.getLength());
-				}
-			}
-			else {
-				return (ITextSelection)editor.getSelectionProvider().getSelection();
-			}
-		}
-		showErrorMessage(Messages.only_in_the_js_editor); 
-		return null;
-	}
-	
-	/**
-	 * Displays an error message in the status area
-	 * 
-	 * @param message
-	 */
-	protected void showErrorMessage(String message) {	
-		if (getActiveEditor() != null) {
-			IEditorStatusLine statusLine= (IEditorStatusLine) getActiveEditor().getAdapter(IEditorStatusLine.class);
-			if (statusLine != null) {
-				statusLine.setMessage(true, message, null);
-			}
-		}		
-		JavaScriptDebugUIPlugin.getStandardDisplay().beep();		
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorActionDelegate#setActiveEditor(org.eclipse.jface.action.IAction, org.eclipse.ui.IEditorPart)
-	 */
-	public void setActiveEditor(IAction action, IEditorPart targetEditor) {
-		editor = targetEditor;
-	}
-	
-	/**
-	 * Returns the active editor or <code>null</code>.
-	 * 
-	 * @return active editor or <code>null</code>
-	 */
-	protected IEditorPart getActiveEditor() {
-		if (window != null) {
-			// global action
-			return window.getActivePage().getActiveEditor();
-		}
-		// pop-up action
-		return editor;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * Returns the current stack frame context, or <code>null</code> if none.
-	 * 
-	 * @return the current stack frame context, or <code>null</code> if none
-	 */
-	protected IJavaScriptStackFrame getStackFrame() {
-		return EvaluationManager.getManager().getEvaluationContext(getActiveEditor());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
-	 */
-	public void dispose() {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionHandler.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionHandler.java
deleted file mode 100644
index f40eda8..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionHandler.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventFilter;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.core.IFunction;
-import org.eclipse.wst.jsdt.core.JavaScriptModelException;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptDebugTarget;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptStackFrame;
-import org.eclipse.wst.jsdt.debug.core.model.IJavaScriptThread;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-
-/**
- * Handles stepping into a selected function, for a specific thread.
- * 
- * @since 1.0
- */
-public class StepIntoSelectionHandler implements IDebugEventFilter {
-	
-	/**
-	 * The function to step into
-	 */
-	private IFunction function;
-	
-	/**
-	 * Resolved signature of the function to step into
-	 */
-	private String signature;
-	
-	/**
-	 * The thread in which to step
-	 */
-	private IJavaScriptThread thread;
-
-	/**
-	 * The initial stack frame
-	 */
-	private String origname;
-	private int origdepth;
-	
-	/**
-	 * Whether this is the first step into.
-	 */
-	private boolean firststep = true;
-	
-	/**
-	 * Expected event kind
-	 */
-	private int eventkind = -1;
-	
-	/**
-	 * Expected event detail
-	 */
-	private int eventdetail = -1;
-
-	/**
-	 * Constructs a step handler to step into the given function in the given thread
-	 * starting from the given stack frame.
-	 * 
-	 * @param thread
-	 * @param frame
-	 * @param func
-	 */
-	public StepIntoSelectionHandler(IJavaScriptThread thread, IJavaScriptStackFrame frame, IFunction func) {
-		function = func;
-		this.thread = thread;
-		try {
-			origname = frame.getName();
-			signature = func.getSignature();
-		} catch (CoreException e) {
-			JavaScriptDebugUIPlugin.log(e);
-		}
-	}
-	
-	/**
-	 * Returns the target thread for the step.
-	 * 
-	 * @return the target thread for the step
-	 */
-	protected IJavaScriptThread getThread() {
-		return thread;
-	}
-	
-	protected IJavaScriptDebugTarget getDebugTarget() {
-		return (IJavaScriptDebugTarget)getThread().getDebugTarget();
-	}
-	
-	/**
-	 * Returns the function to step into
-	 * 
-	 * @return the function to step into
-	 */
-	protected IFunction getMethod() {
-		return function;
-	}
-	
-	/**
-	 * Returns the resolved signature of the function to step into
-	 * 
-	 * @return the resolved signature of the function to step into
-	 */
-	protected String getSignature() {
-		return signature;
-	}	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.core.IDebugEventFilter#filterDebugEvents(org.eclipse.debug.core.DebugEvent[])
-	 */
-	public DebugEvent[] filterDebugEvents(DebugEvent[] events) {
-		// we only expect one event from our thread - find the event
-		DebugEvent event = null;
-		int index = -1;
-		int threadEvents = 0;
-		for (int i = 0; i < events.length; i++) {
-			DebugEvent e = events[i];
-			if (isExpectedEvent(e)) {
-				event = e;
-				index = i;
-				threadEvents++;
-			} else if (e.getSource() == getThread()) {
-				threadEvents++;
-			} 
-		}
-		if (event == null) {
-			// nothing to process in this event set
-			return events;
-		}
-		// create filtered event set
-		DebugEvent[] filtered = new DebugEvent[events.length - 1];
-		if (filtered.length > 0) {
-			int j = 0;
-			for (int i = 0; i < events.length; i++) {
-				if (i != index) {
-					filtered[j] = events[i];
-					j++;
-				}
-			}
-		}
-		// if more than one event in our thread, abort (filtering our event)
-		if (threadEvents > 1) {
-			cleanup();
-			return filtered;
-		}
-		// we have the one expected event - process it
-		switch (event.getKind()) {
-			case DebugEvent.RESUME:
-				// next, we expect a step end
-				setExpectedEvent(DebugEvent.SUSPEND, DebugEvent.STEP_END);
-				if (firststep) {
-					firststep = false;
-					return events; // include the first resume event
-				}
-				// secondary step - filter the event
-				return filtered;			
-			case DebugEvent.SUSPEND:
-				// compare location to desired location
-				try {
-					final IJavaScriptStackFrame frame = (IJavaScriptStackFrame)getThread().getTopStackFrame();
-					int stackDepth = frame.getThread().getStackFrames().length;
-					String name = frame.getName();
-					if (name.equals(getMethod().getElementName())) {
-						// hit
-						cleanup();
-						return events;
-					}
-					// step again
-					Runnable r = null;
-					if (stackDepth > origdepth) {
-						r = new Runnable() {
-							public void run() {
-								try {
-									setExpectedEvent(DebugEvent.RESUME, DebugEvent.STEP_RETURN);
-									frame.stepReturn();
-								} catch (DebugException e) {
-									JavaScriptDebugUIPlugin.log(e);
-									cleanup();
-									DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(getDebugTarget(), DebugEvent.CHANGE)});
-								}
-							}
-						};
-					} else if (stackDepth == origdepth){
-						// we should be back in the original stack frame - if not, abort
-						if (!frame.getName().equals(origname)) {
-							missed();
-							return events;
-						}
-						r = new Runnable() {
-							public void run() {
-								try {
-									setExpectedEvent(DebugEvent.RESUME, DebugEvent.STEP_INTO);
-									frame.stepInto();	
-								} catch (DebugException e) {
-									JavaScriptDebugUIPlugin.log(e);
-									cleanup();
-									DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(getDebugTarget(), DebugEvent.CHANGE)});
-								}
-							}
-						};																
-					} else {
-						// we returned from the original frame - never hit the desired method
-						missed();
-						return events;								
-					}
-					DebugPlugin.getDefault().asyncExec(r);
-					// filter the events
-						return filtered;
-				} catch (CoreException e) {
-					// abort
-					JavaScriptDebugUIPlugin.log(e);
-					cleanup();
-					return events;
-				}			
-		}
-		// execution should not reach here
-		return events;
-		 
-	}
-	
-	/** 
-	 * Called when stepping returned from the original frame without entering the desired method.
-	 */
-	protected void missed() {
-		cleanup();
-		Runnable r = new Runnable() {
-			public void run() {
-				String methodName = null;
-				try {
-					methodName = org.eclipse.wst.jsdt.core.Signature.toString(getMethod().getSignature(), getMethod().getElementName(), getMethod().getParameterNames(), false, false);
-				} catch (JavaScriptModelException e) {
-					methodName = getMethod().getElementName();
-				}
-				new MessageDialog(
-						PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),  
-						Messages.step_into_selection, 
-						null, 
-						NLS.bind(Messages.exe_did_not_enter__0__before_returning, new String[]{methodName}), 
-						MessageDialog.INFORMATION, new String[] {IDialogConstants.OK_LABEL}, 0).open();    
-			}
-		};
-		JavaScriptDebugUIPlugin.getStandardDisplay().asyncExec(r);		
-	}
-
-	/**
-	 * Performs the step.
-	 */
-	public void step() {
-		// add event filter and turn off step filters
-		DebugPlugin.getDefault().addDebugEventFilter(this);
-		try {
-			origdepth = getThread().getStackFrames().length;
-			setExpectedEvent(DebugEvent.RESUME, DebugEvent.STEP_INTO);
-			getThread().stepInto();
-		} catch (DebugException e) {
-			JavaScriptDebugUIPlugin.log(e);
-			cleanup();
-			DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]{new DebugEvent(getDebugTarget(), DebugEvent.CHANGE)});			
-		}
-	}
-	
-	/**
-	 * Cleans up when the step is complete/aborted.
-	 */
-	protected void cleanup() {
-		DebugPlugin.getDefault().removeDebugEventFilter(this);
-	}
-	
-	/**
-	 * Sets the expected debug event kind and detail we are waiting for next.
-	 * 
-	 * @param kind event kind
-	 * @param detail event detail
-	 */
-	private void setExpectedEvent(int kind, int detail) {
-		eventkind = kind;
-		eventdetail = detail;
-	}
-	
-	/**
-	 * Returns whether the given event is what we expected.
-	 * 
-	 * @param event fire event
-	 * @return whether the event is what we expected
-	 */
-	protected boolean isExpectedEvent(DebugEvent event) {
-		return event.getSource().equals(getThread()) &&
-			event.getKind() == eventkind &&
-			event.getDetail() == eventdetail;
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionUtils.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionUtils.java
deleted file mode 100644
index ee8ebb5..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/StepIntoSelectionUtils.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.eval;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.jsdt.core.ICodeAssist;
-import org.eclipse.wst.jsdt.core.IFunction;
-import org.eclipse.wst.jsdt.core.IJavaScriptElement;
-import org.eclipse.wst.jsdt.core.JavaScriptCore;
-import org.eclipse.wst.jsdt.core.JavaScriptModelException;
-import org.eclipse.wst.jsdt.core.ToolFactory;
-import org.eclipse.wst.jsdt.core.compiler.IScanner;
-import org.eclipse.wst.jsdt.core.compiler.ITerminalSymbols;
-import org.eclipse.wst.jsdt.core.compiler.InvalidInputException;
-import org.eclipse.wst.jsdt.ui.JavaScriptUI;
-
-/**
- * Utility class for aiding step into selection actions and hyper-linking
- * 
- * @since 1.1
- */
-public class StepIntoSelectionUtils {
-
-	/**
-     * Returns the text editor associated with the given part or <code>null</code>
-     * if none. In case of a multi-page editor, this method should be used to retrieve
-     * the correct editor to perform the operation on.
-     * 
-     * @param part workbench part
-     * @return text editor part or <code>null</code>
-     */
-    public static ITextEditor getTextEditor(IWorkbenchPart part) {
-    	if (part instanceof ITextEditor) {
-    		return (ITextEditor) part;
-    	}
-    	return (ITextEditor) part.getAdapter(ITextEditor.class);
-    }	
-	
-	/**
-     * gets the <code>IJavaScriptElement</code> from the editor input
-     * @param input the current editor input
-     * @return the corresponding <code>IJavaScriptElement</code>
-     */
-    public static IJavaScriptElement getJavaElement(IEditorInput input) {
-    	IJavaScriptElement je = JavaScriptUI.getEditorInputJavaElement(input);
-    	if(je != null) {
-    		return je;
-    	}
-    	return JavaScriptUI.getWorkingCopyManager().getWorkingCopy(input);
-    }
-    
-    /**
-     * Returns the <code>IFuntion</code> from the given selection within the given <code>IJavaScriptElement</code>, 
-     * or <code>null</code> if the selection does not container or is not an <code>IFunction</code>
-     * @param selection
-     * @param element
-     * @return the corresponding <code>IFunction</code> from the selection within the provided <code>IJavaScriptElement</code>
-     * @throws JavaScriptModelException
-     */
-    public static IFunction getFunction(ITextSelection selection, IJavaScriptElement element) throws JavaScriptModelException {
-    	if(element != null && element instanceof ICodeAssist) {
-    		return resolveFunction(selection.getOffset(), selection.getLength(), (ICodeAssist)element);
-    	}
-    	return null;
-    }
-
-	/**
-	 * @param offset selection offset
-	 * @param length selection length
-	 * @param codeAssist context
-	 * @return the function at the given position, or <code>null</code> if no function could be resolved 
-	 * @throws JavaScriptModelException
-	 */
-	private static IFunction resolveFunction(int offset, int length, ICodeAssist codeAssist) throws JavaScriptModelException {
-		IJavaScriptElement[] elements = codeAssist.codeSelect(offset, length);
-		for (int i = 0; i < elements.length; i++) {
-			if (elements[i] instanceof IFunction) {
-				return (IFunction)elements[i];
-			}
-		}
-		return null;
-	}
-    
-	/**
-	 * @param offset
-	 * @param activeEditor
-	 * @param element
-	 * @return the first function found at or after <code>offset</code> on the same line
-	 * @throws JavaScriptModelException
-	 */
-	public static IFunction getFirstFunctionOnLine(int offset, IEditorPart activeEditor, IJavaScriptElement element) throws JavaScriptModelException {
-		if (! (activeEditor instanceof ITextEditor) || ! (element instanceof ICodeAssist)) {
-			return null;
-		}
-		ITextEditor editor = (ITextEditor)activeEditor;
-		IDocumentProvider documentProvider = editor.getDocumentProvider();
-		if (documentProvider == null) {
-			return null;
-		}
-		IDocument document = documentProvider.getDocument(editor.getEditorInput());
-		if (document == null) {
-			return null;
-		}
-		try {
-			IRegion lineInfo = document.getLineInformationOfOffset(offset);
-			String line = document.get(lineInfo.getOffset(), lineInfo.getLength());
-			IScanner scanner = ToolFactory.createScanner(false, false, false, null, JavaScriptCore.VERSION_1_5);
-			scanner.setSource(line.toCharArray());
-			scanner.resetTo(offset - lineInfo.getOffset(), lineInfo.getLength());
-			int token = scanner.getNextToken();
-			while (token != ITerminalSymbols.TokenNameEOF) {
-				if (token == ITerminalSymbols.TokenNameIdentifier) {
-					int methodStart = scanner.getCurrentTokenStartPosition();
-					token = scanner.getNextToken();
-					if (token == ITerminalSymbols.TokenNameLPAREN) {
-						return resolveFunction(lineInfo.getOffset() + methodStart, 0, (ICodeAssist)element);
-					}
-				} 
-				else {
-					token = scanner.getNextToken();
-				}
-			}
-		} 
-		catch (BadLocationException e) {
-			return null;
-		} 
-		catch (InvalidInputException e) {
-			return null;
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/messages.properties
deleted file mode 100644
index b1bf88f..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/eval/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 201o IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-cannot_find_debug_target=Unable to locate debug target
-cursor_position_not_valid=Cursor position is not a valid location to run to
-empty_editor=Empty editor
-exception_running_to_line=An exception occurred attempting to run to the selected line.
-exe_did_not_enter__0__before_returning=Execution did not enter "{0}" before the current function returned.
-hyperlink_step_into=Step Into
-missing_doc=Missing document
-only_in_the_js_editor=Step into selection only available in JavaScript editor.
-selected_line_not_valid=Selected line is not a valid location to run to
-step_into_only_top_frame=Step into selection only available in top stack frame.
-step_into_selection=Step into selection
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptConnectTab.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptConnectTab.java
index 0acad6b..9a43c71 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptConnectTab.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptConnectTab.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,9 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.jsdt.debug.internal.ui.launching;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -65,72 +62,19 @@
  */
 public class JavaScriptConnectTab extends AbstractLaunchConfigurationTab implements IPropertyChangeListener {
 	
-	class ArgComparator implements Comparator {
-		/* (non-Javadoc)
-		 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
-		 */
-		public int compare(Object o1, Object o2) {
-			if(o1 instanceof Entry && o2 instanceof Entry) {
-				//String > Integer > List > Boolean 
-				//sort by kind and by label
-				Object val1 = ((Entry)o1).getValue();
-				Object val2 = ((Entry)o2).getValue();
-				if(val1 instanceof StringArgument) {
-					if(val2 instanceof StringArgument) {
-						return stripAccel(((Argument)val1).label()).compareTo(stripAccel(((Argument)val2).label()));
-					}
-					return -1;
-				}
-				else if(val1 instanceof IntegerArgument) {
-					if(val2 instanceof IntegerArgument) {
-						return stripAccel(((Argument)val1).label()).compareTo(stripAccel(((Argument)val2).label()));
-					}
-					else if(val2 instanceof StringArgument) {
-						return 1;
-					}
-					return -1;
-				}
-				else if(val1 instanceof SelectedArgument) {
-					if(val2 instanceof SelectedArgument) {
-						return stripAccel(((Argument)val1).label()).compareTo(stripAccel(((Argument)val2).label()));
-					}
-					else if(val2 instanceof StringArgument || val2 instanceof IntegerArgument) {
-						return 1;
-					}
-					return -1;
-				}
-				else if(val1 instanceof BooleanArgument) {
-					if(val2 instanceof BooleanArgument) {
-						return stripAccel(((Argument)val1).label()).compareTo(stripAccel(((Argument)val2).label()));
-					}
-					else if(val2 instanceof StringArgument || val2 instanceof IntegerArgument || val2 instanceof SelectedArgument) {
-						return 1;
-					}
-					return -1;
-				}
-			}
-			return o1.equals(o2) ? 0 : -1;
-		}
-		
-		String stripAccel(String text) {
-			return text.replaceAll("\\&", ""); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-	}
-	
 	Text description = null;
 	Combo connectorcombo = null;
 	Connector selectedconnector = null;
 	Group argumentsgroup = null;
 	HashMap editormap = new HashMap();
-	Comparator comparator = new ArgComparator();
 	
 	/* (non-Javadoc)
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
 	 */
 	public void createControl(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL);
+		Composite comp = SWTFactory.createComposite(parent, 2, 1, GridData.FILL_HORIZONTAL);
 		//connectors combo
-		Group group = SWTFactory.createGroup(comp, Messages.connector, 1, 1, GridData.FILL_HORIZONTAL);
+		Group group = SWTFactory.createGroup(comp, Messages.connector, 1, 2, GridData.FILL_HORIZONTAL);
 		this.connectorcombo = SWTFactory.createCombo(group, SWT.FLAT | SWT.BORDER | SWT.READ_ONLY, 1, null);
 		GridData gd = (GridData) this.connectorcombo.getLayoutData();
 		gd.grabExcessHorizontalSpace = true;
@@ -142,8 +86,6 @@
 		this.description = SWTFactory.createText(group, SWT.WRAP | SWT.READ_ONLY, 1);
 		gd = (GridData) this.description.getLayoutData();
 		gd.heightHint = 30;
-		//hack to make sure the disabled colour is propagated on *Nix's 
-		this.description.setBackground(group.getBackground());
 		List connectors = JavaScriptDebugPlugin.getConnectionsManager().getConnectors();
 		Connector connector = null;
 		for (int i = 0; i < connectors.size(); i++) {
@@ -152,19 +94,12 @@
 			this.connectorcombo.setData(connector.name(), connector);
 		}
 		
-		this.argumentsgroup = SWTFactory.createGroup(comp, Messages.connector_properties, 2, 1, GridData.FILL_HORIZONTAL);
+		this.argumentsgroup = SWTFactory.createGroup(comp, Messages.connector_properties, 2, 2, GridData.FILL_HORIZONTAL);
 		this.argumentsgroup.setVisible(false);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IHelpContextIds.CONNECT_TAB);
 		setControl(comp);
+		PlatformUI.getWorkbench().getHelpSystem().setHelp(comp, IHelpContextIds.CONNECT_TAB);
 	}
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.debug.ui.AbstractLaunchConfigurationTab#getHelpContextId()
-	 */
-	public String getHelpContextId() {
-		return IHelpContextIds.CONNECT_TAB;
-	};
-	
 	/**
 	 * Returns the {@link Connector} based on the selection of the combo
 	 * @return the selected combo
@@ -207,9 +142,7 @@
 		Argument argument = null;
 		FieldEditor editor = null;
 		String key = null;
-		ArrayList entries = new ArrayList(this.selectedconnector.defaultArguments().entrySet());
-		Collections.sort(entries, comparator);
-		for (Iterator iter = entries.iterator(); iter.hasNext();) {
+		for (Iterator iter = this.selectedconnector.defaultArguments().entrySet().iterator(); iter.hasNext();) {
 			entry = (Entry) iter.next();
 			key = (String) entry.getKey();
 			argument = (Argument) entry.getValue();
@@ -221,8 +154,7 @@
 			else if(argument instanceof BooleanArgument) {
 				//create boolean editor
 				store.setDefault(argument.name(), ((BooleanArgument)argument).booleanValue());
-				editor = new BooleanFieldEditor(argument.name(), argument.label(), this.argumentsgroup);
-				editor.fillIntoGrid(argumentsgroup, 2);
+				editor = new BooleanFieldEditor(argument.name(), argument.label(), this.argumentsgroup);	
 			}
 			else if(argument instanceof StringArgument) {
 				//create String editor
@@ -255,11 +187,9 @@
 		GridLayout gd = (GridLayout) this.argumentsgroup.getLayout();
 		gd.marginHeight = 5;
 		gd.marginWidth = 5;
-		gd.numColumns = 2;
 		this.argumentsgroup.getParent().layout(true);
 		this.argumentsgroup.setVisible(true);
 		this.argumentsgroup.layout(true);
-		updateLaunchConfigurationDialog();
 	}
 	
 	/* (non-Javadoc)
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptLaunchShortcut.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptLaunchShortcut.java
new file mode 100644
index 0000000..bc82c18
--- /dev/null
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavaScriptLaunchShortcut.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.jsdt.debug.internal.ui.launching;
+
+import java.util.Arrays;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.internal.ui.DebugUIPlugin;
+import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationManager;
+import org.eclipse.debug.ui.DebugUITools;
+import org.eclipse.debug.ui.IDebugUIConstants;
+import org.eclipse.debug.ui.ILaunchGroup;
+import org.eclipse.debug.ui.ILaunchShortcut2;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.jsdt.debug.internal.core.Constants;
+
+/**
+ * Default reusable launch shortcut for JavaScript debug consumers
+ * @since 1.0
+ */
+public class JavaScriptLaunchShortcut implements ILaunchShortcut2 {
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchConfigurations(org.eclipse.jface.viewers.ISelection)
+	 */
+	public ILaunchConfiguration[] getLaunchConfigurations(ISelection selection) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchConfigurations(org.eclipse.ui.IEditorPart)
+	 */
+	public ILaunchConfiguration[] getLaunchConfigurations(IEditorPart editorpart) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchableResource(org.eclipse.jface.viewers.ISelection)
+	 */
+	public IResource getLaunchableResource(ISelection selection) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.debug.ui.ILaunchShortcut2#getLaunchableResource(org.eclipse.ui.IEditorPart)
+	 */
+	public IResource getLaunchableResource(IEditorPart editorpart) {
+		return null;
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.jface.viewers.ISelection, java.lang.String)
+	 */
+	public void launch(ISelection selection, String mode) {
+		openLaunchDialogOnSelection();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.debug.ui.ILaunchShortcut#launch(org.eclipse.ui.IEditorPart, java.lang.String)
+	 */
+	public void launch(IEditorPart editor, String mode) {
+		openLaunchDialogOnSelection();
+	}
+
+	/**
+	 * Default behavior to open the launch configuration dialog on the {@link ILaunchConfigurationType}
+	 * for JavaScript
+	 */
+	void openLaunchDialogOnSelection() {
+		DebugUITools.openLaunchConfigurationDialogOnGroup(
+				PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), 
+				new StructuredSelection(getSelection()), 
+				IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
+	}
+	
+	/**
+	 * Returns the type of the default launch configuration
+	 * @return the default item to select when opening the dialog
+	 */
+	Object getSelection() {
+		ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
+		ILaunchConfigurationType type = manager.getLaunchConfigurationType(Constants.LAUNCH_CONFIG_ID);
+		if(type != null) {
+			try {
+				ILaunchConfiguration[] configs = manager.getLaunchConfigurations(type);
+				if(configs != null && configs.length > 0) {
+					LaunchConfigurationManager cmanager = DebugUIPlugin.getDefault().getLaunchConfigurationManager();
+					ILaunchGroup group = cmanager.getLaunchGroup(IDebugUIConstants.ID_DEBUG_LAUNCH_GROUP);
+					if(group != null) {
+						ILaunchConfiguration config = cmanager.getMRUConfiguration(
+								Arrays.asList(configs), 
+								group, 
+								null);
+						if(config != null) {
+							return config;
+						}
+					}
+				}
+			}
+			catch (CoreException ce) {
+				//do nothing, just return type
+			}
+			return type;
+		}
+		return null;
+	}
+	
+}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavascriptTabGroup.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavascriptTabGroup.java
index e2de0d1..abae74c 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavascriptTabGroup.java
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/launching/JavascriptTabGroup.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
+ * Copyright (c) 2010 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -16,10 +16,9 @@
 import org.eclipse.debug.ui.ILaunchConfigurationDialog;
 import org.eclipse.debug.ui.ILaunchConfigurationTab;
 import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.wst.jsdt.debug.internal.ui.IHelpContextIds;
 
 /**
- * Default tab group for JavaScript debugging
+ * Default tab group for Javascript debugging
  * 
  * @since 1.0
  */
@@ -29,17 +28,11 @@
 	 * @see org.eclipse.debug.ui.ILaunchConfigurationTabGroup#createTabs(org.eclipse.debug.ui.ILaunchConfigurationDialog, java.lang.String)
 	 */
 	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		SourceLookupTab slt = new SourceLookupTab();
-		slt.setHelpContextId(IHelpContextIds.SOURCE_LOOKUP_TAB);
-		EnvironmentTab et = new EnvironmentTab();
-		et.setHelpContextId(IHelpContextIds.ENVIRONMENT_TAB);
-		CommonTab ct = new CommonTab();
-		ct.setHelpContextId(IHelpContextIds.COMMON_TAB);
 		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] {
 				new JavaScriptConnectTab(),
-				slt,
-				et,
-				ct
+				new SourceLookupTab(),
+				new EnvironmentTab(),
+				new CommonTab()
 		};
 		setTabs(tabs);
 	}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/messages.properties
index 93f48a8..1b32903 100644
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/messages.properties
+++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/messages.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2010, 2011 IBM Corporation and others.
+# Copyright (c) 2010 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -22,30 +22,15 @@
 connector=Connector
 connector_properties=Connector Properties
 creating_script_load_bp=Creating Script Load Breakpoint...
-disconnected=<disconnected>
 enable_hit_count=Enable &Hit Count
 enter_new_hit_count=&Enter the new hit count for the breakpoint:
-evald_script=<evaluated script>
 exception_occurred_setting_bp_properties=Exceptions occurred attempting to modify breakpoint.
+external_javascript_source=External JavaScript Source
 hit_count_must_be_positive=Hit count must be a positive integer
 no_description_provided=No description provided.
-opening_source__0=Opening Source: {0}
-running_state=running
 scripts=Scripts
 select_javascript_file=Select a JavaScript script file
 set_bp_hit_count=Set Breakpoint Hit Count
-stackframe_name={0} - line: {1}
-stepping_state=stepping
-suspend_loading_script=suspended loading script: {0}
 suspend_target=&Suspend Target
 suspend_thread=&Suspend Thread
-suspended_on_exception=suspended on exception: {0}
-suspended_on_func_breakpoint=suspended at breakpoint on function {0} in {1}
-suspended_on_line_breakpoint=suspended at breakpoint on line {0} in {1}
-suspended_state=suspended
-terminated=<terminated>
-terminated_state=terminated
 the_argument_0_is_not_valid=The specified argument: {0} is not valid
-thread_name=Thread [{0}] ({1})
-unknown=<unknown>
-unknown_state=<unknown state>
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/JavaScriptDebugPreferencePage.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/JavaScriptDebugPreferencePage.java
deleted file mode 100644
index 59d128d..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/JavaScriptDebugPreferencePage.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.preferences;
-
-import org.eclipse.jface.preference.BooleanFieldEditor;
-import org.eclipse.jface.preference.FieldEditor;
-import org.eclipse.jface.preference.FieldEditorPreferencePage;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.jsdt.debug.internal.core.Constants;
-import org.eclipse.wst.jsdt.debug.internal.ui.IHelpContextIds;
-import org.eclipse.wst.jsdt.debug.internal.ui.JavaScriptDebugUIPlugin;
-import org.eclipse.wst.jsdt.debug.internal.ui.SWTFactory;
-
-/**
- * Default preference page for JavaScript debugging
- * @since 1.1
- */
-public class JavaScriptDebugPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
-
-	public static final String PAGE_ID = "org.eclipse.wst.jsdt.debug.ui.debug.page"; //$NON-NLS-1$
-	
-	/**
-	 * Constructor
-	 */
-	public JavaScriptDebugPreferencePage() {
-		super(GRID);
-		setPreferenceStore(JavaScriptDebugUIPlugin.getDefault().getPreferenceStore());
-		setDescription(Messages.js_debug_pref_page_desc);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, IHelpContextIds.DEBUG_PREFERENCE_PAGE);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite comp = SWTFactory.createComposite(parent, parent.getFont(), 1, 1, GridData.FILL_HORIZONTAL, 0, 0);
-		//General
-		Group group = SWTFactory.createGroup(comp, Messages.general, 1, 1, GridData.FILL_HORIZONTAL);
-		BooleanFieldEditor editor = new BooleanFieldEditor(Constants.DELETE_EXT_PROJECT_ON_EXIT, Messages.delete_ext_project_on_exit, group);
-		initEditor(editor, JavaScriptDebugUIPlugin.getCorePreferenceStore());
-		initGroup(group);
-		//Suspend Execution
-		group = SWTFactory.createGroup(comp, Messages.suspend_execution, 1, 1, GridData.FILL_HORIZONTAL);
-		editor = new BooleanFieldEditor(Constants.SUSPEND_ON_ALL_SCRIPT_LOADS, Messages.suspend_for_all_script_loads, group);
-		initEditor(editor, JavaScriptDebugUIPlugin.getCorePreferenceStore());
-		editor = new BooleanFieldEditor(Constants.SUSPEND_ON_THROWN_EXCEPTION, Messages.suspend_on_exceptions, group);
-		initEditor(editor, JavaScriptDebugUIPlugin.getCorePreferenceStore());
-		initGroup(group);
-		return comp;
-	}
-
-	/**
-	 * Refreshes the specified group to re-set the default spacings that have been 
-	 * trashed by the field editors
-	 * 
-	 * @param group
-	 */
-	void initGroup(Group group) {
-		GridData gd = (GridData) group.getLayoutData();
-		gd.grabExcessHorizontalSpace = true;
-		GridLayout lo = (GridLayout) group.getLayout();
-		lo.marginWidth = 5;
-		lo.marginHeight = 5;
-	}
-	
-	/**
-	 * Initializes and sets up the given editor
-	 * 
-	 * @param editor
-	 * @param store
-	 */
-	void initEditor(FieldEditor editor, IPreferenceStore store) {
-		addField(editor);
-		editor.setPage(this);
-		editor.setPropertyChangeListener(this);
-		editor.setPreferenceStore(store);
-		editor.load();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()
-	 */
-	protected void createFieldEditors() {}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/Messages.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/Messages.java
deleted file mode 100644
index fb9025c..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/Messages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.ui.preferences;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.ui.preferences.messages"; //$NON-NLS-1$
-	public static String delete_ext_project_on_exit;
-	public static String general;
-	public static String js_debug_pref_page_desc;
-	public static String suspend_execution;
-	public static String suspend_for_all_script_loads;
-	public static String suspend_on_exceptions;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/messages.properties b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/messages.properties
deleted file mode 100644
index ee00014..0000000
--- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/preferences/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-general=General
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-delete_ext_project_on_exit=Delete the 'E&xternal JavaScript Source' project on workbench shutdown
-js_debug_pref_page_desc=General settings for JavaScript debugging
-suspend_execution=Suspend Execution
-suspend_for_all_script_loads=Suspend for all script &loads
-suspend_on_exceptions=Suspend on JavaScript e&xceptions
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/.classpath b/development/org.eclipse.wst.jsdt.debug.chrome/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/.options b/development/org.eclipse.wst.jsdt.debug.chrome/.options
deleted file mode 100644
index d69be5d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/.options
+++ /dev/null
@@ -1,25 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-
-#option file for tracing options for Google Chrome debugger port
-org.eclipse.wst.jsdt.debug.chrome/debug=true
-
-#option to trace packets being sent / received
-org.eclipse.wst.jsdt.debug.chrome/packets=false
-
-#option to trace the event queue
-org.eclipse.wst.jsdt.debug.chrome/eventqueue=false
-
-#option to trace the jsdi impl* elements
-org.eclipse.wst.jsdt.debug.chrome/jsdi=false
-
-#option to trace the JSON parser
-org.eclipse.wst.jsdt.debug.chrome/json=false
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/.project b/development/org.eclipse.wst.jsdt.debug.chrome/.project
deleted file mode 100644
index 53bcdb0..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.jsdt.debug.internal.chrome</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/.settings/org.eclipse.jdt.core.prefs b/development/org.eclipse.wst.jsdt.debug.chrome/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index de9eac3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,90 +0,0 @@
-#Fri Apr 30 10:04:28 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/META-INF/MANIFEST.MF b/development/org.eclipse.wst.jsdt.debug.chrome/META-INF/MANIFEST.MF
deleted file mode 100644
index f703984..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.chrome;singleton:=true
-Bundle-Version: 1.0.100.qualifier
-Bundle-Activator: org.eclipse.wst.jsdt.debug.internal.chrome.ChromePlugin
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.wst.jsdt.debug.core;bundle-version="1.0.100",
- org.eclipse.wst.jsdt.debug.transport;bundle-version="1.0.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ActivationPolicy: lazy
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/OSGI-INF/l10n/bundle.properties b/development/org.eclipse.wst.jsdt.debug.chrome/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index 41f01af..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################
-# Copyright (c) 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-Bundle-Vendor = Eclipse Web Tools Platform
-Bundle-Name = v8 JavaScript Debug
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/build.properties b/development/org.eclipse.wst.jsdt.debug.chrome/build.properties
deleted file mode 100644
index 4d46c90..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/l10n/bundle.properties,\
-               plugin.xml,\
-               OSGI-INF/
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/plugin.xml b/development/org.eclipse.wst.jsdt.debug.chrome/plugin.xml
deleted file mode 100644
index 8f3fd54..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.eclipse.wst.jsdt.debug.core.launchingConnectors">
-      <connector
-            class="org.eclipse.wst.jsdt.debug.internal.chrome.connect.ChromeAttachingConnector"
-            id="org.eclipse.wst.jsdt.debug.chrome.connector.attach">
-      </connector>
-   </extension>
-
-</plugin>
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/ChromePlugin.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/ChromePlugin.java
deleted file mode 100644
index b0b4d9b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/ChromePlugin.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.jsdt.debug.internal.chrome.event.EventQueueImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.MirrorImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.PacketImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.JSON;
-import org.osgi.framework.BundleContext;
-
-public class ChromePlugin extends Plugin {
-
-	/**
-	 * Id of the bundle
-	 */
-	public static final String PLUGIN_ID = "org.eclipse.wst.jsdt.debug.chrome"; //$NON-NLS-1$
-	/**
-	 * PacketImpl tracing option name
-	 */
-	public static final String TRC_PACKETS = PLUGIN_ID + "/packets"; //$NON-NLS-1$
-	/**
-	 * ChromeEvent queue tracing option name
-	 */
-	public static final String TRC_EVENTQUEUE = PLUGIN_ID + "/eventqueue"; //$NON-NLS-1$
-	/**
-	 * JSDI implementation tracing option name
-	 */
-	public static final String TRC_JSDI = PLUGIN_ID + "/jsdi"; //$NON-NLS-1$
-	/**
-	 * JSON parser tracing option
-	 */
-	public static final String TRC_JSON = PLUGIN_ID + "/json"; //$NON-NLS-1$
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-	
-	/**
-	 * Singleton instance
-	 */
-	private static ChromePlugin plugin = null;
-	
-	/**
-	 * @return the singleton plugin instance
-	 */
-	public static ChromePlugin getDefault() {
-		return plugin;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		super.start(bundleContext);
-		plugin = this;
-		configureTracing();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext bundleContext) throws Exception {
-		try {
-			plugin = null;
-		}
-		finally {
-			super.stop(bundleContext);
-		}
-	}
-
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		if (plugin != null) {
-			plugin.getLog().log(status);
-		}
-	}
-
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(newErrorStatus("Error logged from Google Chrome Debug: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		log(newErrorStatus("Internal message logged from Google Chrome Debug: " + message, null)); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, INTERNAL_ERROR, message, exception);
-	}
-
-	/**
-	 * Turns on / off any tracing options
-	 */
-	public void configureTracing() {
-		if(ChromePlugin.getDefault().isDebugging()) {
-			String option = Platform.getDebugOption(TRC_PACKETS);
-			if(option != null) {
-				PacketImpl.setTracing(Boolean.valueOf(option).booleanValue());
-			}
-			option = Platform.getDebugOption(TRC_EVENTQUEUE);
-			if(option != null) {
-				EventQueueImpl.setTracing(Boolean.valueOf(option).booleanValue());
-			}
-			option = Platform.getDebugOption(TRC_JSDI);
-			if(option != null) {
-				MirrorImpl.setTracing(Boolean.valueOf(option).booleanValue());
-			}
-			option = Platform.getDebugOption(TRC_JSON);
-			if(option != null) {
-				JSON.setTracing(Boolean.valueOf(option).booleanValue());
-			}
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/Tracing.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/Tracing.java
deleted file mode 100644
index efe751a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/Tracing.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome;
-
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.JSON;
-
-/**
- * Helper class for common tracing functions
- * 
- * @since 1.0
- */
-public class Tracing {
-
-	public static final String PRINTABLE_LINE_FEED = "\\\\r\\\\n"; //$NON-NLS-1$
-	
-	/**
-	 * Writes the string to system out cleaning it of control chars before printing it
-	 * 
-	 * @param string
-	 */
-	public static void writeString(String string) {
-		System.out.println("[CHROME] " +string.replaceAll(JSON.LINE_FEED, PRINTABLE_LINE_FEED)); //$NON-NLS-1$
-	}
-	
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/BrowserArgument.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/BrowserArgument.java
deleted file mode 100644
index 00924a4..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/BrowserArgument.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.connect;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.BooleanArgument;
-
-/**
- * Option to automatically launch the browser and connect to it
- * 
- * @since 1.0
- */
-public class BrowserArgument implements BooleanArgument {
-
-	/**
-	 * name of the argument
-	 */
-	public static final String BROWSER = "browser"; //$NON-NLS-1$
-	
-	private boolean doit = false; 
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#description()
-	 */
-	public String description() {
-		return Messages.browser_arg_desc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#label()
-	 */
-	public String label() {
-		return Messages.browser_arg_label;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#mustSpecify()
-	 */
-	public boolean mustSpecify() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#name()
-	 */
-	public String name() {
-		return BROWSER;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		doit = Boolean.valueOf(value).booleanValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#value()
-	 */
-	public String value() {
-		return Boolean.toString(doit);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.BooleanArgument#booleanValue()
-	 */
-	public boolean booleanValue() {
-		return doit;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.BooleanArgument#isValid(java.lang.String)
-	 */
-	public boolean isValid(String value) {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.BooleanArgument#setValue(boolean)
-	 */
-	public void setValue(boolean booleanValue) {
-		doit = booleanValue;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/ChromeAttachingConnector.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/ChromeAttachingConnector.java
deleted file mode 100644
index 3d355a2..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/ChromeAttachingConnector.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.connect;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.AttachingConnector;
-import org.eclipse.wst.jsdt.debug.internal.chrome.ChromePlugin;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.ChromeTransportService;
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.DebugSession;
-import org.eclipse.wst.jsdt.debug.transport.TransportService;
-
-
-/**
- * Default attaching connector
- * 
- * @since 1.0
- */
-public class ChromeAttachingConnector implements AttachingConnector {
-
-	public static final String ID = "org.eclipse.wst.jsdt.debug.chrome.connector.attach"; //$NON-NLS-1$
-	
-	/**
-	 * Constructor
-	 */
-	public ChromeAttachingConnector() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#defaultArguments()
-	 */
-	public Map defaultArguments() {
-		Map args = new HashMap();
-		args.put(HostArgument.HOST, new HostArgument(null));
-		args.put(PortArgument.PORT, new PortArgument(9222));
-		args.put(TimeoutArgument.TIMEOUT, new TimeoutArgument());
-		args.put(BrowserArgument.BROWSER, new BrowserArgument());
-		return args;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#description()
-	 */
-	public String description() {
-		return Messages.attach_to_google_chrome;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#name()
-	 */
-	public String name() {
-		return Messages.google_chrome_attach;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#id()
-	 */
-	public String id() {
-		return ID;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.AttachingConnector#attach(java.util.Map)
-	 */
-	public VirtualMachine attach(Map arguments) throws IOException {
-		String str = (String)arguments.get(BrowserArgument.BROWSER);
-		Connection c = null;
-		if(Boolean.valueOf(str).booleanValue()) {
-			c = launchForBrowser(arguments);
-		}
-		else {
-			c = launch(arguments);
-		}
-		DebugSession session = new DebugSession(c);
-		return new VMImpl(session);
-	}
-	
-	/**
-	 * Launches the browser and connects to it. This method will poll for the browser to be launched
-	 * but only for a fixed timeout. 
-	 * @param arguments
-	 * @return the created connection or <code>null</code> if the attempt to connect times out, the browser process
-	 * terminates before we can connect  
-	 * @throws IOException 
-	 */
-	Connection launchForBrowser(Map arguments) throws IOException {
-		TransportService service = new ChromeTransportService();
-		String host = (String) arguments.get(HostArgument.HOST);
-		String port = (String) arguments.get(PortArgument.PORT);
-		StringBuffer buffer = new StringBuffer("/opt/google/chrome/chrome --remote-shell-port="); //$NON-NLS-1$
-		buffer.append(port);
-		Process proc = null;
-		try {
-			proc = Runtime.getRuntime().exec(buffer.toString());
-		} catch (IOException e) {
-			ChromePlugin.log(e);
-		}
-		String timeoutstr = (String) arguments.get(TimeoutArgument.TIMEOUT);
-		int timeout = Integer.parseInt(timeoutstr);
-		buffer = new StringBuffer();
-		buffer.append(host).append(':').append(Integer.parseInt(port));
-		Connection c = null;
-		long timer = System.currentTimeMillis() + 60000;
-		while(proc != null && System.currentTimeMillis() < timer && c == null) {
-			try {
-				c = service.attach(buffer.toString(), timeout, timeout);
-			}
-			catch(IOException ioe) {
-				//ignore while pinging to connect
-				try {
-					Thread.sleep(200);
-				} catch (InterruptedException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-		if(c == null) {
-			throw new IOException(NLS.bind("Failed to attach to debugger at {0} on port {1}", new String[] {host, port})); //$NON-NLS-1$
-		}
-		return c;
-	}
-	
-	/**
-	 * Tries to connect to the given 
-	 * @param arguments
-	 * @return the {@link Connection} or throws an exception
-	 * @throws IOException
-	 */
-	Connection launch(Map arguments) throws IOException {
-		TransportService service = new ChromeTransportService();
-		String host = (String) arguments.get(HostArgument.HOST);
-		String port = (String) arguments.get(PortArgument.PORT);
-		String timeoutstr = (String) arguments.get(TimeoutArgument.TIMEOUT);
-		int timeout = Integer.parseInt(timeoutstr);
-		StringBuffer buffer = new StringBuffer();
-		buffer.append(host).append(':').append(Integer.parseInt(port));
-		return service.attach(buffer.toString(), timeout, timeout);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/HostArgument.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/HostArgument.java
deleted file mode 100644
index 607ba3d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/HostArgument.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.connect;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.StringArgument;
-import org.eclipse.wst.jsdt.debug.transport.Constants;
-
-/**
- * Implementation of a string argument that describes the host argument
- * 
- * @since 1.0
- */
-public class HostArgument implements StringArgument {
-
-	private static final long serialVersionUID = 3057403815318177030L;
-	private String host;
-
-	/**
-	 * Host attribute name
-	 */
-	public static final String HOST = "host"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 * 
-	 * @param host
-	 */
-	public HostArgument(String host) {
-		setValue(host);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#description()
-	 */
-	public String description() {
-		return Messages.host_arg_desc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.StringArgument#isValid(java.lang.String)
-	 */
-	public boolean isValid(String value) {
-		return value != null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#label()
-	 */
-	public String label() {
-		return Messages.host_arg_label;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#mustSpecify()
-	 */
-	public boolean mustSpecify() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#name()
-	 */
-	public String name() {
-		return HOST;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#setValue(java.lang.String)
-	 */
-	public void setValue(String host) {
-		if(host == null) {
-			this.host = Constants.LOCALHOST;
-		}
-		else {
-			if (!isValid(host)) {
-				throw new IllegalArgumentException();
-			}
-			this.host = host;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#value()
-	 */
-	public String value() {
-		return host;
-	}
-
-	/**
-	 * Returns if the given host is <code>localhost</code> or <code>127.0.0.1</code>
-	 * @param host
-	 * @return true if the given host it localhost (127.0.0.1) false otherwise
-	 */
-	public static boolean isLocalhost(String host) {
-		return host.equals(Constants.LOCALHOST) || host.equals(Constants.LOCALHOST_IP);
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/Messages.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/Messages.java
deleted file mode 100644
index e68037e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/Messages.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.connect;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.chrome.connect.messages"; //$NON-NLS-1$
-	public static String attach_to_google_chrome;
-	public static String browser_arg_desc;
-	public static String browser_arg_label;
-	public static String google_chrome_attach;
-	public static String host_arg_desc;
-	public static String host_arg_label;
-	public static String port_arg_desc;
-	public static String port_arg_label;
-	public static String timeout_arg_desc;
-	public static String timeout_arg_label;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/PortArgument.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/PortArgument.java
deleted file mode 100644
index 7e6fe05..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/PortArgument.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.connect;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument;
-
-/**
- * Implementation of an {@link IntegerArgument} that describes the port to try connecting to
- * 
- * @since 1.0
- */
-public class PortArgument implements IntegerArgument {
-
-	private static final long serialVersionUID = -1954469572907116388L;
-	private int port;
-
-	/**
-	 * The port attribute name
-	 */
-	public static final String PORT = "port"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 * 
-	 * @param port
-	 */
-	public PortArgument(int port) {
-		setValue(port);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#intValue()
-	 */
-	public int intValue() {
-		return port;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#isValid(int)
-	 */
-	public boolean isValid(int intValue) {
-		return intValue > 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#max()
-	 */
-	public int max() {
-		return Integer.MAX_VALUE;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#min()
-	 */
-	public int min() {
-		return 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#setValue(int)
-	 */
-	public void setValue(int port) {
-		this.port = port;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#description()
-	 */
-	public String description() {
-		return Messages.port_arg_desc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#isValid(java.lang.String)
-	 */
-	public boolean isValid(String value) {
-		try {
-			int intValue = Integer.parseInt(value);
-			return isValid(intValue);
-		} catch (NumberFormatException e) {
-			return false;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#label()
-	 */
-	public String label() {
-		return Messages.port_arg_label;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#mustSpecify()
-	 */
-	public boolean mustSpecify() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#name()
-	 */
-	public String name() {
-		return PORT;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		try {
-			int intValue = Integer.parseInt(value);
-			setValue(intValue);
-		} catch (NumberFormatException nfe) {
-			// re-throw IllegalArgumentException
-			throw new IllegalArgumentException(nfe.getMessage());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#value()
-	 */
-	public String value() {
-		return Integer.toString(port);
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/TimeoutArgument.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/TimeoutArgument.java
deleted file mode 100644
index 2d84a7a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/TimeoutArgument.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.connect;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument;
-
-/**
- * Argument used to specify a timeout (in ms)
- * 
- * @since 1.1
- */
-public class TimeoutArgument implements IntegerArgument {
-	
-	/**
-	 * Argument to specify a timeout
-	 */
-	public static final String TIMEOUT = "timeout"; //$NON-NLS-1$
-	/**
-	 * default connecting timeout
-	 */
-	public static final Integer CONNECT_TIMEOUT = new Integer(30000);
-	
-	/**
-	 * The timeout
-	 */
-	private int timeout = 0;
-	
-	/**
-	 * Constructor
-	 */
-	public TimeoutArgument() {
-		setValue(CONNECT_TIMEOUT.intValue());
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#description()
-	 */
-	public String description() {
-		return Messages.timeout_arg_desc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#label()
-	 */
-	public String label() {
-		return Messages.timeout_arg_label;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#mustSpecify()
-	 */
-	public boolean mustSpecify() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#name()
-	 */
-	public String name() {
-		return TIMEOUT;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		try {
-			timeout = Integer.parseInt(value);
-		}
-		catch(NumberFormatException nfe) {
-			//do nothing the new value will not be set
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#value()
-	 */
-	public String value() {
-		return Integer.toString(timeout);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#intValue()
-	 */
-	public int intValue() {
-		return timeout;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#isValid(int)
-	 */
-	public boolean isValid(int intValue) {
-		return intValue > 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#isValid(java.lang.String)
-	 */
-	public boolean isValid(String value) {
-		try {
-			return Integer.parseInt(value) > 0;
-		}
-		catch(NumberFormatException bfe) {
-			//do nothing, just not valid
-		}
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#max()
-	 */
-	public int max() {
-		return Integer.MAX_VALUE;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#min()
-	 */
-	public int min() {
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#setValue(int)
-	 */
-	public void setValue(int intValue) {
-		timeout = intValue;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/messages.properties b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/messages.properties
deleted file mode 100644
index 385f3b4..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/connect/messages.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-attach_to_google_chrome=Allows you to connect to the Google Chrome browser
-browser_arg_desc=Automatically launch Chrome and attach to it
-browser_arg_label=Auto&matically launch Chrome and attach to it (extremely experimental)
-google_chrome_attach=Google Chrome - Attach
-host_arg_desc=The name of the host address to try and attach to
-host_arg_label=&Host:
-port_arg_desc=The port on the host machine to try connecting on
-port_arg_label=&Port:
-timeout_arg_desc=A timeout value in milliseconds to wait for the debugger to connect
-timeout_arg_label=&Timeout:
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/BreakpointEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/BreakpointEventImpl.java
deleted file mode 100644
index 51fb72a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/BreakpointEventImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.BreakpointEvent;
-
-/**
- *
- */
-public class BreakpointEventImpl extends LocatableEventImpl implements BreakpointEvent {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.LocatableEvent#thread()
-	 */
-	public ThreadReference thread() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Locatable#location()
-	 */
-	public Location location() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/DebuggerStatementEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/DebuggerStatementEventImpl.java
deleted file mode 100644
index 6cec32b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/DebuggerStatementEventImpl.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.DebuggerStatementEvent;
-
-/**
- *
- */
-public class DebuggerStatementEventImpl extends LocatableEventImpl implements
-		DebuggerStatementEvent {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.LocatableEvent#thread()
-	 */
-	public ThreadReference thread() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Locatable#location()
-	 */
-	public Location location() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventImpl.java
deleted file mode 100644
index 1381fbb..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.Event;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
-
-/**
- *
- */
-public class EventImpl implements Event {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Mirror#virtualMachine()
-	 */
-	public VirtualMachine virtualMachine() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.Event#request()
-	 */
-	public EventRequest request() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventQueueImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventQueueImpl.java
deleted file mode 100644
index 71911ef..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventQueueImpl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
-import org.eclipse.wst.jsdt.debug.internal.chrome.Tracing;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.MirrorImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.Commands;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
-import org.eclipse.wst.jsdt.debug.transport.packet.Event;
-
-/**
- * EVent queue for Chrome
- * 
- * @since 1.0
- */
-public class EventQueueImpl extends MirrorImpl implements EventQueue {
-
-	private EventRequestManager ermanager = null;
-	
-	static boolean TRACE = false;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying {@link VirtualMachine}
-	 * @param manager the {@link EventRequestManager} to ask about pending requests
-	 */
-	public EventQueueImpl(VirtualMachine vm, EventRequestManager manager) {
-		super(vm);
-		this.ermanager = manager;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue#remove()
-	 */
-	public EventSet remove() {
-		return remove(-1);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue#remove(int)
-	 */
-	public EventSet remove(int timeout) {
-		try {
-			//loop until disconnected - exception breaks loop
-			while(true) {
-				Event event = chromeVM().receiveEvent();
-				if(event != null) {
-					//TODO
-					if(event.getEvent().equals(Commands.NAVIGATED)) {
-						if(TRACE) {
-							Tracing.writeString("got navigated event"); //$NON-NLS-1$
-						}
-					}
-					else if(event.getEvent().equals(Commands.CLOSED)) {
-						List requests = ermanager.threadExitRequests();
-						for(Iterator i = requests.iterator(); i.hasNext();) {
-							//TODO
-						}
-						if(TRACE) {
-							Tracing.writeString("got closed event"); //$NON-NLS-1$
-						}
-					}
-				}
-			}
-		}
-		catch(DisconnectedException de) {
-			
-		}
-		catch(TimeoutException te) {
-			
-		}
-		return null;
-	}
-	
-	/**
-	 * Enables / Disables tracing in the all of the JSDI implementations
-	 * 
-	 * @param trace
-	 */
-	public static void setTracing(boolean trace) {
-		TRACE = trace;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventSetImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventSetImpl.java
deleted file mode 100644
index fe6bb54..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/EventSetImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import java.util.HashSet;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet;
-
-/**
- *
- */
-public class EventSetImpl extends HashSet implements EventSet {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Mirror#virtualMachine()
-	 */
-	public VirtualMachine virtualMachine() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet#suspended()
-	 */
-	public boolean suspended() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet#resume()
-	 */
-	public void resume() {
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ExceptionEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ExceptionEventImpl.java
deleted file mode 100644
index 9e5122e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ExceptionEventImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ExceptionEvent;
-
-/**
- *
- */
-public class ExceptionEventImpl extends LocatableEventImpl implements ExceptionEvent {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.LocatableEvent#thread()
-	 */
-	public ThreadReference thread() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Locatable#location()
-	 */
-	public Location location() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.ExceptionEvent#message()
-	 */
-	public String message() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/LocatableEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/LocatableEventImpl.java
deleted file mode 100644
index 03aa31e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/LocatableEventImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.LocatableEvent;
-
-/**
- *
- */
-public class LocatableEventImpl extends EventImpl implements LocatableEvent {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Locatable#location()
-	 */
-	public Location location() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.LocatableEvent#thread()
-	 */
-	public ThreadReference thread() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ResumeEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ResumeEventImpl.java
deleted file mode 100644
index 03df2d7..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ResumeEventImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ResumeEvent;
-
-/**
- *
- */
-public class ResumeEventImpl extends LocatableEventImpl implements ResumeEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ScriptEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ScriptEventImpl.java
deleted file mode 100644
index f024602..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ScriptEventImpl.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ScriptLoadEvent;
-
-/**
- *
- */
-public class ScriptEventImpl extends LocatableEventImpl implements
-		ScriptLoadEvent {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.ScriptLoadEvent#script()
-	 */
-	public ScriptReference script() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/StepEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/StepEventImpl.java
deleted file mode 100644
index aa6e37e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/StepEventImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.StepEvent;
-
-/**
- *
- */
-public class StepEventImpl extends LocatableEventImpl implements StepEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/SuspendEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/SuspendEventImpl.java
deleted file mode 100644
index bfffd29..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/SuspendEventImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.SuspendEvent;
-
-/**
- *
- */
-public class SuspendEventImpl extends LocatableEventImpl implements SuspendEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ThreadEnterEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ThreadEnterEventImpl.java
deleted file mode 100644
index 018db56..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ThreadEnterEventImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ThreadEnterEvent;
-
-/**
- *
- */
-public class ThreadEnterEventImpl extends LocatableEventImpl implements ThreadEnterEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ThreadExitEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ThreadExitEventImpl.java
deleted file mode 100644
index 4719d44..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/ThreadExitEventImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.ThreadExitEvent;
-
-/**
- *
- */
-public class ThreadExitEventImpl extends LocatableEventImpl implements
-		ThreadExitEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/VMDeathEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/VMDeathEventImpl.java
deleted file mode 100644
index 034bef6..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/VMDeathEventImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.VMDeathEvent;
-
-/**
- *
- */
-public class VMDeathEventImpl extends LocatableEventImpl implements
-		VMDeathEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/VMDisconnectEventImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/VMDisconnectEventImpl.java
deleted file mode 100644
index c433cac..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/event/VMDisconnectEventImpl.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.event;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.VMDisconnectEvent;
-
-/**
- *
- */
-public class VMDisconnectEventImpl extends LocatableEventImpl implements
-		VMDisconnectEvent {
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ArrayImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ArrayImpl.java
deleted file mode 100644
index af907e9..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ArrayImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ArrayReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
-
-/**
- *
- */
-public class ArrayImpl extends ObjectImpl implements ArrayReference {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ArrayReference#length()
-	 */
-	public int length() {
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ArrayReference#getValue(int)
-	 */
-	public Value getValue(int index) throws IndexOutOfBoundsException {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ArrayReference#getValues()
-	 */
-	public List getValues() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/BooleanImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/BooleanImpl.java
deleted file mode 100644
index 4294644..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/BooleanImpl.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.BooleanValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- * Default implementation of {@link BooleanValue} for Chrome
- * 
- * @since 1.0
- */
-public class BooleanImpl extends MirrorImpl implements BooleanValue {
-
-	private boolean value = false;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying {@link VirtualMachine}
-	 * @param bool the boolean value
-	 */
-	public BooleanImpl(VirtualMachine vm, boolean bool) {
-		super(vm);
-		value = bool;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#intValue()
-	 */
-	public int intValue() {
-		if(value) {
-			return 1;
-		}
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#doubleValue()
-	 */
-	public double doubleValue() {
-		return intValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#booleanValue()
-	 */
-	public boolean booleanValue() {
-		return value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#stringValue()
-	 */
-	public String stringValue() {
-		return Boolean.toString(value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return stringValue();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/FunctionImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/FunctionImpl.java
deleted file mode 100644
index 076e97a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/FunctionImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.FunctionReference;
-
-/**
- *
- */
-public class FunctionImpl extends ObjectImpl implements FunctionReference {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.FunctionReference#functionName()
-	 */
-	public String functionName() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.FunctionReference#functionBody()
-	 */
-	public String functionBody() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/MirrorImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/MirrorImpl.java
deleted file mode 100644
index 4ebc132..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/MirrorImpl.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Mirror;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- * Default impl for Chrome v8.
- * 
- * @since 1.0
- */
-public class MirrorImpl implements Mirror {
-
-	/**
-	 * Flag for tracing
-	 */
-	static boolean TRACE = false;
-	
-	private VirtualMachine vm = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying {@link VirtualMachine}
-	 */
-	public MirrorImpl(VirtualMachine vm) {
-		this.vm = vm;
-	}
-	
-	/**
-	 * Constructor
-	 * 
-	 * Used for the {@link VMImpl} instantiation case
-	 */
-	protected MirrorImpl() {
-		this.vm = (VirtualMachine) this;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Mirror#virtualMachine()
-	 */
-	public VirtualMachine virtualMachine() {
-		return vm;
-	}
-
-	/**
-	 * Returns the {@link VMImpl} backing this {@link Mirror} object
-	 * 
-	 * @return the backing {@link VMImpl}
-	 */
-	protected VMImpl chromeVM() {
-		return (VMImpl)vm;
-	}
-	
-	/**
-	 * Re-throws the given exception as a {@link RuntimeException} with the given message
-	 * @param message
-	 * @param t
-	 */
-	protected void handleException(String message, Throwable t) {
-		throw new RuntimeException(message, t);
-	}
-	
-	/**
-	 * Enables / Disables tracing in the all of the JSDI implementations
-	 * 
-	 * @param trace
-	 */
-	public static void setTracing(boolean trace) {
-		TRACE = trace;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/NullImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/NullImpl.java
deleted file mode 100644
index 8bfc9d7..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/NullImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.NullValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- * Chrome impl of {@link NullValue}
- * 
- * @since 1.0
- */
-public class NullImpl extends MirrorImpl implements NullValue {
-
-	/**
-	 * String representation of the value<br><br>
-	 * Value is: <code>null</code>
-	 */
-	public static final String NULL = "null"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying {@link VirtualMachine}
-	 */
-	public NullImpl(VirtualMachine vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return NULL;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return valueString();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/NumberImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/NumberImpl.java
deleted file mode 100644
index 13f9794..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/NumberImpl.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- * Default implementation of {@link NumberValue} for Chrome
- * 
- * @since 1.0
- */
-public class NumberImpl extends MirrorImpl implements NumberValue {
-
-	private Number number = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying {@link VirtualMachine}
-	 * @param number the number
-	 */
-	public NumberImpl(VirtualMachine vm, Number number) {
-		super(vm);
-		if(number == null) {
-			throw new IllegalArgumentException(Messages.cannot_mirror_null_number);
-		}
-		this.number = number;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#intValue()
-	 */
-	public int intValue() {
-		return number.intValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#doubleValue()
-	 */
-	public double doubleValue() {
-		return number.doubleValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#booleanValue()
-	 */
-	public boolean booleanValue() {
-		if(number.intValue() < 1) {
-			return false;
-		}
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#stringValue()
-	 */
-	public String stringValue() {
-		return number.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return stringValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue#value()
-	 */
-	public Number value() {
-		return number;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue#isNaN()
-	 */
-	public boolean isNaN() {
-		return false;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return valueString();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ObjectImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ObjectImpl.java
deleted file mode 100644
index 393a6e3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ObjectImpl.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ObjectReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
-
-/**
- *
- */
-public class ObjectImpl extends MirrorImpl implements ObjectReference {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ObjectReference#className()
-	 */
-	public String className() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ObjectReference#constructor()
-	 */
-	public Value constructor() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ObjectReference#prototype()
-	 */
-	public Value prototype() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ObjectReference#properties()
-	 */
-	public List properties() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ObjectReference#id()
-	 */
-	public Number id() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/PropertyImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/PropertyImpl.java
deleted file mode 100644
index 05625a8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/PropertyImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Property;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
-
-/**
- *
- */
-public class PropertyImpl extends MirrorImpl implements Property {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Property#name()
-	 */
-	public String name() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Property#value()
-	 */
-	public Value value() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ScriptImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ScriptImpl.java
deleted file mode 100644
index ca48acf..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ScriptImpl.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import java.net.URI;
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
-
-/**
- *
- */
-public class ScriptImpl extends MirrorImpl implements ScriptReference {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference#allLineLocations()
-	 */
-	public List allLineLocations() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference#lineLocation(int)
-	 */
-	public Location lineLocation(int lineNumber) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference#allFunctionLocations()
-	 */
-	public List allFunctionLocations() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference#functionLocation(java.lang.String)
-	 */
-	public Location functionLocation(String functionName) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference#source()
-	 */
-	public String source() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference#sourceURI()
-	 */
-	public URI sourceURI() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/StackFrameImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/StackFrameImpl.java
deleted file mode 100644
index c9dbcb9..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/StackFrameImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Variable;
-
-/**
- *
- */
-public class StackFrameImpl extends MirrorImpl implements StackFrame {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame#thisObject()
-	 */
-	public Variable thisObject() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame#variables()
-	 */
-	public List variables() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame#location()
-	 */
-	public Location location() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame#evaluate(java.lang.String)
-	 */
-	public Value evaluate(String expression) {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/StringImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/StringImpl.java
deleted file mode 100644
index dfbe67e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/StringImpl.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.StringValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- *
- */
-public class StringImpl extends MirrorImpl implements StringValue {
-
-	private String string = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm
-	 * @param string
-	 */
-	StringImpl(VirtualMachine vm, String string) {
-		super(vm);
-		this.string = string;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return string;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StringValue#value()
-	 */
-	public String value() {
-		return string;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ThreadImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ThreadImpl.java
deleted file mode 100644
index 989caa9..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ThreadImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-
-/**
- *
- */
-public class ThreadImpl extends MirrorImpl implements ThreadReference {
-
-	Number id = null;
-	String url = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param id
-	 * @param url
-	 */
-	public ThreadImpl(VMImpl vm, Number id, String url) {
-		super(vm);
-		this.id = id;
-		this.url = url;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#frameCount()
-	 */
-	public int frameCount() {
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#frame(int)
-	 */
-	public StackFrame frame(int index) {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#frames()
-	 */
-	public List frames() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#interrupt()
-	 */
-	public void interrupt() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#resume()
-	 */
-	public void resume() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#suspend()
-	 */
-	public void suspend() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#status()
-	 */
-	public int status() {
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#isAtBreakpoint()
-	 */
-	public boolean isAtBreakpoint() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#isSuspended()
-	 */
-	public boolean isSuspended() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference#name()
-	 */
-	public String name() {
-		return url;
-	}
-	
-	public Number id() {
-		return id;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/UndefinedImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/UndefinedImpl.java
deleted file mode 100644
index 99d5044..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/UndefinedImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.UndefinedValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- * Default implementation of {@link UndefinedValue} for Chrome.
- * 
- * @since 1.0
- */
-public class UndefinedImpl extends MirrorImpl implements UndefinedValue {
-
-	/**
-	 * Textual representation of undefined<br><br>
-	 * value is: <code>undefined</code>
-	 */
-	public static final String UNDEFINED = "undefined"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying {@link VirtualMachine}
-	 */
-	public UndefinedImpl(VirtualMachine vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return UNDEFINED;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return valueString();
-	}	
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/VMImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/VMImpl.java
deleted file mode 100644
index a0bef24..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/VMImpl.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.wst.jsdt.debug.core.jsdi.BooleanValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.NullValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.StringValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.UndefinedValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
-import org.eclipse.wst.jsdt.debug.internal.chrome.ChromePlugin;
-import org.eclipse.wst.jsdt.debug.internal.chrome.Tracing;
-import org.eclipse.wst.jsdt.debug.internal.chrome.event.EventQueueImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.request.EventReqManager;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.Attributes;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.EventPacketImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.RequestPacketImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.Commands;
-import org.eclipse.wst.jsdt.debug.internal.chrome.transport.JSON;
-import org.eclipse.wst.jsdt.debug.transport.DebugSession;
-import org.eclipse.wst.jsdt.debug.transport.exception.DisconnectedException;
-import org.eclipse.wst.jsdt.debug.transport.exception.TimeoutException;
-import org.eclipse.wst.jsdt.debug.transport.packet.Event;
-import org.eclipse.wst.jsdt.debug.transport.packet.Request;
-import org.eclipse.wst.jsdt.debug.transport.packet.Response;
-
-/**
- * Default implementation of a {@link VirtualMachine} for Chrome
- * 
- * @since 1.0
- */
-public class VMImpl extends MirrorImpl implements VirtualMachine {
-
-	public static int RUNNING = 1;
-	public static int SUSPENDED = 2;
-	public static int TERMINATED = 3;
-	public static int DISPOSED = 4;
-	public static int DISCONNECTED = 5;
-	
-	/**
-	 * The current state
-	 */
-	private int state = 0;
-	/**
-	 * The singleton {@link NullValue}
-	 */
-	private static NullValue nullValue = null;
-	/**
-	 * The singleton {@link UndefinedValue}
-	 */
-	private static UndefinedValue undefinedValue = null;
-	
-	private EventRequestManager ermanager = new EventReqManager(this);
-	private EventQueue queue = new EventQueueImpl(this, ermanager);
-	private final DebugSession session;
-	
-	private Map threads = null;
-	private Map scripts = null;
-	private String version = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param session the backing {@link DebugSession}
-	 */
-	public VMImpl(DebugSession session) {
-		super();
-		this.session = session;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#resume()
-	 */
-	public synchronized void resume() {
-		if(state == SUSPENDED) {
-			//TODO
-			state = RUNNING;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#suspend()
-	 */
-	public synchronized void suspend() {
-		if(state == RUNNING) {
-			//TODO
-			state = SUSPENDED;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#terminate()
-	 */
-	public synchronized void terminate() {
-		if(state != TERMINATED) {
-			//TODO
-			state = TERMINATED;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#name()
-	 */
-	public String name() {
-		return NLS.bind(Messages.chrome_vm, version());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#description()
-	 */
-	public String description() {
-		return Messages.vm_description;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#version()
-	 */
-	public synchronized String version() {
-		if(version == null) {
-			RequestPacketImpl request = new RequestPacketImpl(Commands.VERSION, Attributes.TOOL_DEVTOOLSRVC, null);
-			Response response = sendRequest(request);
-			if(response.isSuccess()) {
-				version = (String) response.getBody().get(Attributes.DATA);
-			}
-			else if(TRACE) {
-				Tracing.writeString("VM [failed version request]" + JSON.serialize(request)); //$NON-NLS-1$
-			}
-		}
-		return version;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#allThreads()
-	 */
-	public synchronized List allThreads() {
-		if(threads == null) {
-			threads = Collections.synchronizedMap(new HashMap(4));
-			RequestPacketImpl request = new RequestPacketImpl(Commands.LIST_TABS, Attributes.TOOL_DEVTOOLSRVC, null);
-			Response response = sendRequest(request);
-			if(response.isSuccess()) {
-				List tabs = (List) response.getBody().get(Attributes.DATA);
-				if(tabs != null) {
-					ArrayList values = null;
-					for(Iterator i = tabs.iterator(); i.hasNext();) {
-						values = (ArrayList) i.next();
-						String url = (String)values.get(1);
-						Number id = (Number)values.get(0);
-						ThreadImpl thread = new ThreadImpl(this, id, url);
-						threads.put(id, thread);
-						attach(thread);
-					}
-				}
-			}
-			else if(TRACE) {
-				Tracing.writeString("VM [failed all_tabs request]" + JSON.serialize(request)); //$NON-NLS-1$
-			}
-		}
-		return new ArrayList(threads.values());
-	}
-
-	/**
-	 * Try to attach the debugger to the v8 debugger service for the given thread (tab)
-	 * 
-	 * @param thread
-	 */
-	void attach(ThreadImpl thread) {
-		RequestPacketImpl request = new RequestPacketImpl(Commands.ATTACH, Attributes.TOOL_DEVTOOLSRVC, thread.id());
-		Response response = sendRequest(request);
-		if(response.isSuccess()) {
-			
-		}
-		else if(TRACE) {
-			Tracing.writeString("VM [failed attach request] " + JSON.serialize(request)); //$NON-NLS-1$
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#allScripts()
-	 */
-	public synchronized List allScripts() {
-		if(this.scripts == null) {
-			this.scripts = Collections.synchronizedMap(new HashMap(4));
-		}
-		return new ArrayList(scripts.values());
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#dispose()
-	 */
-	public synchronized void dispose() {
-		if(state != DISPOSED) {
-			//TODO
-			try {
-				if(threads != null) {
-					threads.clear();
-					threads = null;
-				}
-				if(scripts != null) {
-					scripts.clear();
-					scripts = null;
-				}
-			}
-			finally {
-				state = DISPOSED;
-			}
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOfUndefined()
-	 */
-	public UndefinedValue mirrorOfUndefined() {
-		synchronized (this) {
-			if(undefinedValue == null) {
-				undefinedValue = new UndefinedImpl(this);
-			}
-		}
-		return undefinedValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOfNull()
-	 */
-	public NullValue mirrorOfNull() {
-		synchronized (this) {
-			if(nullValue == null) {
-				nullValue = new NullImpl(this);
-			}
-		}
-		return nullValue;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOf(boolean)
-	 */
-	public BooleanValue mirrorOf(boolean bool) {
-		return new BooleanImpl(this, bool);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOf(java.lang.Number)
-	 */
-	public NumberValue mirrorOf(Number number) {
-		return new NumberImpl(this, number);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOf(java.lang.String)
-	 */
-	public StringValue mirrorOf(String string) {
-		return new StringImpl(this, string);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#eventRequestManager()
-	 */
-	public EventRequestManager eventRequestManager() {
-		return ermanager;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#eventQueue()
-	 */
-	public EventQueue eventQueue() {
-		return queue;
-	}
-	
-	/**
-	 * Sends a request to the underlying {@link DebugSession}, waiting
-	 * for the {@link VirtualMachine#DEFAULT_TIMEOUT}.
-	 * 
-	 * @param request
-	 * @return the {@link CFResponse} for the request
-	 */
-	public Response sendRequest(Request request) {
-		try {
-			session.send(request);
-			return session.receiveResponse(request.getSequence(), 3000);
-		}
-		catch(DisconnectedException de) {
-			disconnectVM();
-			handleException(de.getMessage(), de.getCause());
-		}
-		catch(TimeoutException te) {
-			ChromePlugin.log(te);
-		}
-		return null;
-	}
-	
-	/**
-	 * Receives an {@link EventPacket} from the underlying {@link DebugSession}, 
-	 * waiting for the {@link VirtualMachine#DEFAULT_TIMEOUT}.
-	 * 
-	 * @return the next {@link EventPacket} never <code>null</code>
-	 * @throws TimeoutException
-	 * @throws DisconnectedException
-	 */
-	public Event receiveEvent() throws TimeoutException, DisconnectedException {
-		return (Event) session.receive(EventPacketImpl.EVENT, DEFAULT_TIMEOUT);
-	}
-
-	/**
-	 * Receives an {@link EventPacket} from the underlying {@link DebugSession}, 
-	 * waiting for the {@link VirtualMachine#DEFAULT_TIMEOUT}.
-	 * @param timeout
-	 * @return the next {@link EventPacket} never <code>null</code>
-	 * @throws TimeoutException
-	 * @throws DisconnectedException
-	 */
-	public Event receiveEvent(int timeout) throws TimeoutException, DisconnectedException {
-		return (Event) session.receive(EventPacketImpl.EVENT, timeout);
-	}
-	
-	/**
-	 * disconnects the VM
-	 */
-	public synchronized void disconnectVM() {
-		if (state == DISCONNECTED) {
-			if(TRACE) {
-				Tracing.writeString("VM [already disconnected]"); //$NON-NLS-1$
-			}
-			return;
-		}
-		if(TRACE) {
-			Tracing.writeString("VM [disconnecting]"); //$NON-NLS-1$
-		}
-		try {
-			if(threads != null) {
-				threads.clear();
-			}
-			if(scripts != null) {
-				scripts.clear();
-			}
-			this.session.dispose();
-		} finally {
-			state = DISCONNECTED;
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ValueImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ValueImpl.java
deleted file mode 100644
index 37350fc..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/ValueImpl.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
-
-/**
- *
- */
-public class ValueImpl extends MirrorImpl implements Value {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/VarImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/VarImpl.java
deleted file mode 100644
index 958297e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/VarImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Value;
-import org.eclipse.wst.jsdt.debug.core.jsdi.Variable;
-
-/**
- *
- */
-public class VarImpl extends MirrorImpl implements Variable {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Property#name()
-	 */
-	public String name() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Property#value()
-	 */
-	public Value value() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Variable#isArgument()
-	 */
-	public boolean isArgument() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Variable#isVisible(org.eclipse.wst.jsdt.debug.core.jsdi.StackFrame)
-	 */
-	public boolean isVisible(StackFrame frame) {
-		return false;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/messages.properties b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/messages.properties
deleted file mode 100644
index 5f55961..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/jsdi/messages.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-cannot_mirror_null_number=You cannot mirror a null Number
-chrome_vm=Chrome VM
-vm_description=The virtual machine for communication with Google Chrome for debugging JavaScript in v8
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/BreakpointReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/BreakpointReqImpl.java
deleted file mode 100644
index 39636b3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/BreakpointReqImpl.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link BreakpointRequest} impl
- * 
- * @since 1.0
- */
-public class BreakpointReqImpl extends EventReqImpl implements BreakpointRequest {
-
-	private Location location = null;
-	private ThreadReference thread = null;
-	private int hitcount = 0;
-	private String condition = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm
-	 * @param location 
-	 * @param enabled
-	 */
-	public BreakpointReqImpl(VMImpl vm, Location location, boolean enabled) {
-		super(vm, enabled);
-		this.location = location;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Locatable#location()
-	 */
-	public Location location() {
-		return location;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-
-	/**
-	 * Returns the underlying {@link ThreadReference} this request applies to
-	 * 
-	 * @return the underlying {@link ThreadReference}
-	 */
-	public synchronized ThreadReference thread() {
-		return this.thread;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest#addConditionFilter(java.lang.String)
-	 */
-	public void addConditionFilter(String condition) {
-		this.condition = condition;
-	}
-
-	/**
-	 * Returns the condition for this breakpoint
-	 * 
-	 * @return the condition
-	 */
-	public synchronized String condition() {
-		return condition;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest#addHitCountFilter(int)
-	 */
-	public void addHitCountFilter(int hitcount) {
-		this.hitcount = hitcount;
-	}
-	
-	/**
-	 * Returns the hit count for the breakpoint
-	 * 
-	 * @return the hit count for the breakpoint
-	 */
-	public synchronized int hitcount() {
-		return this.hitcount;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/DebuggerStatementReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/DebuggerStatementReqImpl.java
deleted file mode 100644
index 430ad69..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/DebuggerStatementReqImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.DebuggerStatementRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link DebuggerStatementRequest} impl
- * 
- * @since 1.0
- */
-public class DebuggerStatementReqImpl extends EventReqImpl implements DebuggerStatementRequest {
-
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm
-	 * @param enabled
-	 */
-	public DebuggerStatementReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.DebuggerStatementRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-	
-	/**
-	 * Returns the underlying {@link ThreadReference} this request applies to
-	 * 
-	 * @return the underlying {@link ThreadReference}
-	 */
-	public synchronized ThreadReference thread() {
-		return this.thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/EventReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/EventReqImpl.java
deleted file mode 100644
index a753210..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/EventReqImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.MirrorImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * Impl of {@link EventRequest}
- * 
- * @since 1.0
- */
-public class EventReqImpl extends MirrorImpl implements EventRequest {
-
-	private boolean enabled = false;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm
-	 * @param enabled
-	 */
-	public EventReqImpl(VMImpl vm, boolean enabled) {
-		super(vm);
-		this.enabled = enabled;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return enabled;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-		this.enabled = enabled;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/EventReqManager.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/EventReqManager.java
deleted file mode 100644
index a35a371..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/EventReqManager.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.DebuggerStatementRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ScriptLoadRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDeathRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDisconnectRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.MirrorImpl;
-
-/**
- * {@link EventRequestManager} for Chrome
- * 
- * @since 1.0
- */
-public class EventReqManager extends MirrorImpl implements EventRequestManager {
-
-	private List threadexits = Collections.synchronizedList(new ArrayList(4));
-	private List threadenters = Collections.synchronizedList(new ArrayList(4));
-	private List breakpoints = Collections.synchronizedList(new ArrayList(4));
-	private List debuggers = Collections.synchronizedList(new ArrayList(4));
-	private List exceptions = Collections.synchronizedList(new ArrayList(4));
-	private List loads = Collections.synchronizedList(new ArrayList(4));
-	private List steps = Collections.synchronizedList(new ArrayList(4));
-	private List suspends = Collections.synchronizedList(new ArrayList(4));
-	private List resumes = Collections.synchronizedList(new ArrayList(4));
-	private List disconnects = Collections.synchronizedList(new ArrayList(4));
-	private List deaths = Collections.synchronizedList(new ArrayList(4));
-	
-	private HashMap kind = new HashMap(10);
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm the underlying virtual machine
-	 */
-	public EventReqManager(VirtualMachine vm) {
-		super(vm);
-		kind.put(BreakpointReqImpl.class, breakpoints);
-		kind.put(DebuggerStatementReqImpl.class, debuggers);
-		kind.put(ExceptionReqImpl.class, exceptions);
-		kind.put(ScriptLoadReqImpl.class, loads);
-		kind.put(StepReqImpl.class, steps);
-		kind.put(SuspendReqImpl.class, suspends);
-		kind.put(ResumeReqImpl.class, resumes);
-		kind.put(ThreadEnterReqImpl.class, threadenters);
-		kind.put(ThreadExitReqImpl.class, threadexits);
-		kind.put(VMDisconnectReqImpl.class, disconnects);
-		kind.put(VMDeathReqImpl.class, deaths);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createBreakpointRequest(org.eclipse.wst.jsdt.debug.core.jsdi.Location)
-	 */
-	public BreakpointRequest createBreakpointRequest(Location location) {
-		BreakpointReqImpl req = new BreakpointReqImpl(chromeVM(), location, true);
-		breakpoints.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#breakpointRequests()
-	 */
-	public List breakpointRequests() {
-		return Collections.unmodifiableList(breakpoints);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createDebuggerStatementRequest()
-	 */
-	public DebuggerStatementRequest createDebuggerStatementRequest() {
-		DebuggerStatementReqImpl req = new DebuggerStatementReqImpl(chromeVM(), true);
-		debuggers.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#debuggerStatementRequests()
-	 */
-	public List debuggerStatementRequests() {
-		return Collections.unmodifiableList(debuggers);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createExceptionRequest()
-	 */
-	public ExceptionRequest createExceptionRequest() {
-		ExceptionReqImpl req = new ExceptionReqImpl(chromeVM(), true);
-		exceptions.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#exceptionRequests()
-	 */
-	public List exceptionRequests() {
-		return Collections.unmodifiableList(exceptions);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createScriptLoadRequest()
-	 */
-	public ScriptLoadRequest createScriptLoadRequest() {
-		ScriptLoadReqImpl req = new ScriptLoadReqImpl(chromeVM(), true);
-		loads.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#scriptLoadRequests()
-	 */
-	public List scriptLoadRequests() {
-		return Collections.unmodifiableList(loads);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createStepRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference, int)
-	 */
-	public StepRequest createStepRequest(ThreadReference thread, int step) {
-		StepReqImpl req = new StepReqImpl(chromeVM(), thread, step, true);
-		steps.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#stepRequests()
-	 */
-	public List stepRequests() {
-		return Collections.unmodifiableList(steps);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createSuspendRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public SuspendRequest createSuspendRequest(ThreadReference thread) {
-		SuspendReqImpl req = new SuspendReqImpl(chromeVM(), thread, true);
-		suspends.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#suspendRequests()
-	 */
-	public List suspendRequests() {
-		return Collections.unmodifiableList(suspends);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createResumeRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public ResumeRequest createResumeRequest(ThreadReference thread) {
-		ResumeReqImpl req = new ResumeReqImpl(chromeVM(), thread, true);
-		resumes.add(req);
-		return req;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#resumeRequests()
-	 */
-	public List resumeRequests() {
-		return Collections.unmodifiableList(resumes);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createThreadEnterRequest()
-	 */
-	public ThreadEnterRequest createThreadEnterRequest() {
-		ThreadEnterReqImpl req = new ThreadEnterReqImpl(chromeVM(), true);
-		threadenters.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#threadEnterRequests()
-	 */
-	public List threadEnterRequests() {
-		return Collections.unmodifiableList(threadenters);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createThreadExitRequest()
-	 */
-	public ThreadExitRequest createThreadExitRequest() {
-		ThreadExitReqImpl req = new ThreadExitReqImpl(chromeVM(), true);
-		threadexits.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#threadExitRequests()
-	 */
-	public List threadExitRequests() {
-		return Collections.unmodifiableList(threadexits);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#deleteEventRequest(org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest)
-	 */
-	public void deleteEventRequest(EventRequest eventRequest) {
-		List requests = (List) kind.get(eventRequest.getClass());
-		if(requests != null) {
-			requests.remove(eventRequest);
-			eventRequest.setEnabled(false);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#deleteEventRequest(java.util.List)
-	 */
-	public void deleteEventRequest(List eventRequests) {
-		for (Iterator iter = eventRequests.iterator(); iter.hasNext();) {
-			deleteEventRequest((EventRequest) iter.next());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createVMDeathRequest()
-	 */
-	public VMDeathRequest createVMDeathRequest() {
-		VMDeathReqImpl req = new VMDeathReqImpl(chromeVM(), true);
-		deaths.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#vmDeathRequests()
-	 */
-	public List vmDeathRequests() {
-		return Collections.unmodifiableList(deaths);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createVMDisconnectRequest()
-	 */
-	public VMDisconnectRequest createVMDisconnectRequest() {
-		VMDisconnectReqImpl req = new VMDisconnectReqImpl(chromeVM(), true);
-		disconnects.add(req);
-		return req;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#vmDisconnectRequests()
-	 */
-	public List vmDisconnectRequests() {
-		return Collections.unmodifiableList(disconnects);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ExceptionReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ExceptionReqImpl.java
deleted file mode 100644
index d80f388..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ExceptionReqImpl.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link ExceptionRequest} impl
- * 
- * @since 1.0
- */
-public class ExceptionReqImpl extends EventReqImpl implements ExceptionRequest {
-
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param vm
-	 * @param enabled
-	 */
-	public ExceptionReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-
-	/**
-	 * Returns the underlying {@link ThreadReference} this request applies to
-	 * 
-	 * @return the underlying {@link ThreadReference}
-	 */
-	public synchronized ThreadReference thread() {
-		return this.thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ResumeReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ResumeReqImpl.java
deleted file mode 100644
index 3c01b73..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ResumeReqImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link ResumeRequest} impl
- * 
- * @since 1.0
- */
-public class ResumeReqImpl extends EventReqImpl implements ResumeRequest {
-
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param enabled
-	 */
-	public ResumeReqImpl(VMImpl vm,ThreadReference thread, boolean enabled) {
-		super(vm, enabled);
-		this.thread = thread;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ScriptLoadReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ScriptLoadReqImpl.java
deleted file mode 100644
index 72871dd..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ScriptLoadReqImpl.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ScriptLoadRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link ScriptLoadRequest} impl
- * 
- * @since 1.0
- */
-public class ScriptLoadReqImpl extends EventReqImpl implements ScriptLoadRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param enabled
-	 */
-	public ScriptLoadReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/StepReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/StepReqImpl.java
deleted file mode 100644
index 119f69b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/StepReqImpl.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link StepRequest} impl
- * 
- * @since 1.0
- */
-public class StepReqImpl extends EventReqImpl implements StepRequest {
-
-	private int stepkind = 0;
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param thread
-	 * @param step
-	 * @param enabled
-	 */
-	public StepReqImpl(VMImpl vm, ThreadReference thread, int step, boolean enabled) {
-		super(vm, enabled);
-		this.thread = thread;
-		this.stepkind = step;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest#step()
-	 */
-	public int step() {
-		return stepkind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/SuspendReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/SuspendReqImpl.java
deleted file mode 100644
index 5886faa..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/SuspendReqImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link SuspendRequest} impl
- * 
- * @since 1.0
- */
-public class SuspendReqImpl extends EventReqImpl implements SuspendRequest {
-
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param thread
-	 * @param enabled
-	 */
-	public SuspendReqImpl(VMImpl vm, ThreadReference thread, boolean enabled) {
-		super(vm, enabled);
-		this.thread = thread;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ThreadEnterReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ThreadEnterReqImpl.java
deleted file mode 100644
index 2a2fba4..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ThreadEnterReqImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link ThreadEnterRequest} impl
- * 
- * @since 1.0
- */
-public class ThreadEnterReqImpl extends EventReqImpl implements ThreadEnterRequest {
-
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param enabled
-	 */
-	public ThreadEnterReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-
-	/**
-	 * Returns the underlying {@link ThreadReference} this request applies to
-	 * 
-	 * @return the underlying {@link ThreadReference}
-	 */
-	public synchronized ThreadReference thread() {
-		return this.thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ThreadExitReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ThreadExitReqImpl.java
deleted file mode 100644
index 77617bf..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/ThreadExitReqImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link ThreadExitRequest} impl
- * 
- * @since 1.0
- */
-public class ThreadExitReqImpl extends EventReqImpl implements ThreadExitRequest {
-
-	private ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param enabled
-	 */
-	public ThreadExitReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-
-	/**
-	 * Returns the underlying {@link ThreadReference} this request applies to
-	 * 
-	 * @return the underlying {@link ThreadReference}
-	 */
-	public synchronized ThreadReference thread() {
-		return this.thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/VMDeathReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/VMDeathReqImpl.java
deleted file mode 100644
index b39d3b2..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/VMDeathReqImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDeathRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link VMDeathRequest} impl
- * 
- * @since 1.0
- */
-public class VMDeathReqImpl extends EventReqImpl implements VMDeathRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param enabled
-	 */
-	public VMDeathReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/VMDisconnectReqImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/VMDisconnectReqImpl.java
deleted file mode 100644
index 1bba98d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/request/VMDisconnectReqImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDisconnectRequest;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.VMImpl;
-
-/**
- * {@link VMDisconnectRequest} impl
- * 
- * @since 1.0
- */
-public class VMDisconnectReqImpl extends EventReqImpl implements VMDisconnectRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param enabled
-	 */
-	public VMDisconnectReqImpl(VMImpl vm, boolean enabled) {
-		super(vm, enabled);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Attributes.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Attributes.java
deleted file mode 100644
index 5cf9557..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Attributes.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-/**
- * Interface for all the attribute constants
- * 
- * @since 1.0
- */
-public interface Attributes {
-
-	/**
-	 * Result meaning everything is OK
-	 */
-	public static final int OK = 0;
-	/**
-	 * Result meaning that tab is in a state that cannot accept the sent request
-	 */
-	public static final int ILLEGAL_TAB_STATE = 1;
-	/**
-	 * Result meaning the given tab id does not exist
-	 */
-	public static final int UNKNOWN_TAB = 2;
-	/**
-	 * Result meaning the debugger encountered an error
-	 */
-	public static final int DEBUGGER_ERROR = 3;
-	/**
-	 * Result meaning the request is unknown
-	 */
-	public static final int UNKNOWN_COMMAND = 4;
-	
-	/**
-	 * The name for the development tools service
-	 * <br><br>
-	 * Value is: <code>DevToolsService</code>
-	 */
-	public static final String TOOL_DEVTOOLSRVC = "DevToolsService"; //$NON-NLS-1$
-	/**
-	 * The name for the V8 debugger service
-	 * <br><br>
-	 * Value is: <code>V8Debugger</code>
-	 */
-	public static final String TOOL_V8DEBUGGER = "V8Debugger"; //$NON-NLS-1$
-	/**
-	 * The "command" attribute
-	 */
-	public static final String COMMAND = "command"; //$NON-NLS-1$
-	/**
-	 * The "data" attribute
-	 */
-	public static final String DATA = "data"; //$NON-NLS-1$
-	/**
-	 * The "dest" attribute
-	 */
-	public static final String DESTINATION = "dest"; //$NON-NLS-1$
-	/**
-	 * The "handshake" attribute
-	 */
-	public static final String HANDSHAKE = "handshake"; //$NON-NLS-1$
-	/**
-	 * The "result" attribute
-	 */
-	public static final String RESULT = "result"; //$NON-NLS-1$
-	/**
-	 * The "type" attribute
-	 */
-	public static final String TYPE = "type"; //$NON-NLS-1$
-	/**
-	 * the "tool" attribute
-	 */
-	public static final String TOOL = "tool"; //$NON-NLS-1$
-	/**
-	 * The "value" attribute
-	 */
-	public static final String VALUE = "value"; //$NON-NLS-1$
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ChromeSocketConnection.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ChromeSocketConnection.java
deleted file mode 100644
index efbb8cf..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ChromeSocketConnection.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-import java.net.Socket;
-import java.util.HashSet;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.internal.chrome.ChromePlugin;
-import org.eclipse.wst.jsdt.debug.internal.chrome.Tracing;
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection;
-
-/**
- * A specialized {@link Connection} that communicates using {@link Socket}s
- * 
- * @since 1.0
- */
-public class ChromeSocketConnection extends SocketConnection {
-
-	public static final String HANDSHAKE = "ChromeDevToolsHandshake\r\n"; //$NON-NLS-1$
-	
-	private static final HashSet EVENTS;
-	
-	static {
-		EVENTS = new HashSet();
-		EVENTS.add(Commands.CLOSED);
-		EVENTS.add(Commands.NAVIGATED);
-	}
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param socket the underlying {@link Socket}, <code>null</code> is not accepted
-	 * 
-	 * @throws IOException
-	 */
-	public ChromeSocketConnection(Socket socket) throws IOException {
-		super(socket);
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection#writePacket(org.eclipse.wst.jsdt.debug.transport.packet.Packet)
-	 */
-	public void writePacket(Packet packet) throws IOException {
-		String serialized = JSON.serialize((PacketImpl) packet);
-		if(PacketImpl.TRACE) {
-			Tracing.writeString("WRITE PACKET: "+serialized); //$NON-NLS-1$
-		}
-		Writer writer = getWriter();
-		writer.write(serialized);
-		writer.flush();
-	}
-
-	/**
-	 * Writes the standard handshake packet to connect
-	 * 
-	 * @param packet
-	 * @throws IOException
-	 */
-	public void writeHandShake() throws IOException {
-		if(PacketImpl.TRACE) {
-			Tracing.writeString("WRITE HANDSHAKE: "+HANDSHAKE); //$NON-NLS-1$
-		}
-		Writer writer = getWriter();
-		writer.write(HANDSHAKE);
-		writer.flush();
-	}
-	
-	/**
-	 * Method to wait for the socket reader to become ready after the handshake
-	 * 
-	 * @throws IOException
-	 */
-	void waitForReadyRead() throws IOException {
-		long timeout = System.currentTimeMillis() + 1000;
-		boolean timedout = System.currentTimeMillis() > timeout;
-		Reader reader = getReader();
-		while(!reader.ready() && !timedout) {
-			try {
-				Thread.sleep(100);
-				timedout = System.currentTimeMillis() > timeout;
-			} catch (InterruptedException e) {
-				ChromePlugin.log(e);
-			}
-		}
-		if(timedout) {
-			if(PacketImpl.TRACE) {
-				Tracing.writeString("HANDSHAKE: Timed out waiting for ready read from handshake"); //$NON-NLS-1$
-			}
-			//throw new IOException("Waiting for the socket to become available after receiving handshake timed out."); //$NON-NLS-1$
-		}
-	}
-	
-	/**
-	 * Reads the {@link HandShakePacket} packet from the the stream
-	 * 
-	 * @return the {@link HandShakePacket}, never <code>null</code>
-	 * @throws IOException
-	 */
-	public boolean readHandShake() throws IOException {
-		StringBuffer buffer = new StringBuffer();
-		//read the header first
-		int c = 0;
-		boolean r = false;
-		Reader reader = getReader();
-		while((c = reader.read()) > -1) {
-			buffer.append((char)c);
-			if(r) {
-				if(c == '\n') {
-					break;
-				}
-			}
-			r = c == '\r';
-		}
-		r = false;
-		while(reader.ready() && (c = reader.read()) > -1) {
-			if(r) {
-				if(c == '\n') {
-					break;
-				}
-			}
-			r = c == '\r';
-		}
-		if(PacketImpl.TRACE) {
-			Tracing.writeString("READ HANDSHAKE: "+buffer.toString()); //$NON-NLS-1$
-		}
-		return buffer.toString().equals(HANDSHAKE);	
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection#readPacket()
-	 */
-	public Packet readPacket() throws IOException {
-		StringBuffer buffer = new StringBuffer();
-		int c = -1;
-		Reader reader = getReader();
-		String dest = null;
-		String tool = null;
-		String len = null;
-		boolean r = false;
-		while((c = reader.read()) > -1) {
-			if(r) {
-				if(c == '\n') {
-					String str = buffer.toString();
-					if(str.startsWith(JSON.DESTINATION_HEADER)) {
-						dest = grabAttrib(str);
-					}
-					else if(str.startsWith(JSON.TOOL_HEADER)) {
-						tool = grabAttrib(str);
-					}
-					else if(str.startsWith(JSON.CONTENT_LENGTH)) {
-						len = grabAttrib(str);
-					}
-					else if(str.equals("\r")) { //$NON-NLS-1$
-						break;
-					}
-					buffer = new StringBuffer();
-					r = false;
-				}
-				continue;
-			}
-			buffer.append((char)c);
-			r = c == '\r';
-		}
-		int length = 0;
-		try {
-			length = Integer.parseInt(len);
-		} catch (NumberFormatException e) {
-			throw new IOException("Failed to parse content length: " + len); //$NON-NLS-1$
-		}
-		char[] message = new char[length];
-		int n = 0;
-		int off = 0;
-		while (n < length) {
-			int count = reader.read(message, off + n, length - n);
-			if (count < 0) {
-				throw new EOFException();
-			}
-			n += count;
-		}
-		if(PacketImpl.TRACE) {
-			Tracing.writeString("READ PACKET: [destination - "+dest+"] [tool - "+tool+"] [length - "+length+"]"+new String(message)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		Map json = (Map) JSON.read(new String(message));
-		json.put(Attributes.TOOL, tool);
-		json.put(Attributes.DESTINATION, dest);
-		if(json.containsKey(Attributes.RESULT)) {
-			if(EVENTS.contains(json.get(Attributes.COMMAND))) {
-				json.put(Attributes.TYPE, EventPacketImpl.EVENT);
-				return new EventPacketImpl(json);
-			}
-			json.put(Attributes.TYPE, ResponsePacketImpl.RESPONSE);
-			return new ResponsePacketImpl(json);
-		}
-		json.put(Attributes.TYPE, RequestPacketImpl.REQUEST);
-		return new RequestPacketImpl(json);
-	}
-	
-	/**
-	 * Grabs the attribute from the RHS of the header. Where all headers
-	 * have the form <code>[name]:[value]</code>.
-	 * 
-	 * @param str the string to parse
-	 * @return the <code>[value]</code> from the header
-	 */
-	String grabAttrib(String str) {
-		if(str != null) {
-			int idx = str.indexOf(':');
-			if(idx > -1) {
-				return str.substring(idx+1, str.length()-1);
-			}
-		}
-		return null;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ChromeTransportService.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ChromeTransportService.java
deleted file mode 100644
index 2b45905..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ChromeTransportService.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.io.IOException;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.transport.Connection;
-import org.eclipse.wst.jsdt.debug.transport.ListenerKey;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketConnection;
-import org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService;
-
-
-/**
- * Implementation of a transport service that using a {@link Socket} for communication
- * 
- * @since 1.0
- */
-public class ChromeTransportService extends SocketTransportService {
-
-	static final Class serverSocketClass = ServerSocket.class; // temporary used to pre-load the ServerSocket.class
-
-	/**
-	 * Map of {@link ListenerKey} to {@link ServerSocket}s
-	 */
-	Map listeners = new HashMap();
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService#getConnection(java.net.Socket)
-	 */
-	public SocketConnection getConnection(Socket socket) throws IOException {
-		return new ChromeSocketConnection(socket);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService#handleAccept(org.eclipse.wst.jsdt.debug.transport.Connection)
-	 */
-	public void handleAccept(Connection connection) throws IOException {
-		if(connection instanceof ChromeSocketConnection) {
-			ChromeSocketConnection cfconn = (ChromeSocketConnection) connection;
-			if (cfconn.readHandShake()) {
-				cfconn.writeHandShake();
-			}
-			return;
-		}
-		throw new IOException("failure establishing connection"); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.socket.SocketTransportService#handleAttach(org.eclipse.wst.jsdt.debug.transport.Connection)
-	 */
-	public void handleAttach(Connection connection) throws IOException {
-		if(connection instanceof ChromeSocketConnection) {
-			ChromeSocketConnection cfconn = (ChromeSocketConnection) connection;
-			cfconn.writeHandShake();
-			if (!cfconn.readHandShake()) {
-				throw new IOException("failure establishing connection"); //$NON-NLS-1$
-			}
-			return;
-		}
-		throw new IOException("failure establishing connection"); //$NON-NLS-1$
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Commands.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Commands.java
deleted file mode 100644
index c975a37..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Commands.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-/**
- * Interface for all the command constants
- * 
- * @since 1.0
- */
-public interface Commands {
-
-	/**
-	 * The "attach" command
-	 */
-	public static final String ATTACH = "attach"; //$NON-NLS-1$
-	/**
-	 * The "closed" command
-	 */
-	public static final String CLOSED = "closed"; //$NON-NLS-1$
-	/**
-	 * The "debugger_command" command
-	 */
-	public static final String DEBUGGER_COMMAND = "debugger_command"; //$NON-NLS-1$
-	/**
-	 * The "detach" command
-	 */
-	public static final String DETACH = "detach"; //$NON-NLS-1$
-	/**
-	 * The "evaluate_javascript" command
-	 */
-	public static final String EVALUATE_JAVASCRIPT = "evaluate_javascript"; //$NON-NLS-1$
-	/**
-	 * The "list_tabs" command
-	 */
-	public static final String LIST_TABS = "list_tabs"; //$NON-NLS-1$
-	/**
-	 * The "navigated" command
-	 */
-	public static final String NAVIGATED = "navigated"; //$NON-NLS-1$
-	/**
-	 * The "ping" command
-	 */
-	public static final String PING = "ping"; //$NON-NLS-1$
-	/**
-	 * The "version" command
-	 */
-	public static final String VERSION = "version"; //$NON-NLS-1$
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/EventPacketImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/EventPacketImpl.java
deleted file mode 100644
index c2f5b02..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/EventPacketImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.transport.packet.Event;
-
-/**
- * Event packet
- * 
- * @since 1.0
- */
-public class EventPacketImpl extends PacketImpl implements Event {
-
-	/**
-	 * The type of this packet
-	 */
-	public static final String EVENT = "event"; //$NON-NLS-1$
-	
-	private String event = null;
-	protected Number result = null;
-	protected Map body = null;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param event
-	 * @param tool the name of the tools service that issued this event
-	 */
-	public EventPacketImpl(String event, String tool) {
-		super(EVENT, tool);
-		if(event == null) {
-			throw new IllegalArgumentException(Messages.cannot_create_packet_with_no_event);
-		}
-		this.event = event;
-	}
-
-	/**
-	 * Constructor
-	 * 
-	 * @param json
-	 */
-	public EventPacketImpl(Map json) {
-		super(json);
-		this.event = (String) json.get(EVENT);
-		if(event == null) {
-			throw new IllegalArgumentException(Messages.no_event_found_in_json);
-		}
-		this.result = (Number) json.get(Attributes.RESULT);
-		Object data = json.get(Attributes.DATA);
-		if(data != null) {
-			this.body = new HashMap();
-			this.body.put(Attributes.DATA, data);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Event#getEvent()
-	 */
-	public String getEvent() {
-		return event;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Event#getBody()
-	 */
-	public Map getBody() {
-		if(this.body == null) {
-			return Collections.EMPTY_MAP;
-		}
-		return this.body;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.chrome.transport.PacketImpl#toJSON()
-	 */
-	public Map toJSON() {
-		Map json = super.toJSON();
-		json.put(Attributes.COMMAND, event);
-		json.put(Attributes.RESULT, this.result);
-		if(this.body != null) {
-			json.put(Attributes.DATA, this.body.get(Attributes.DATA));
-		}
-		return json;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		Object json = toJSON();
-		buffer.append("EventPacketImpl: "); //$NON-NLS-1$
-		JSON.writeValue(json, buffer);
-		return buffer.toString();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/JSON.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/JSON.java
deleted file mode 100644
index 82acc1a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/JSON.java
+++ /dev/null
@@ -1,569 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.math.BigDecimal;
-import java.text.CharacterIterator;
-import java.text.StringCharacterIterator;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.internal.chrome.Tracing;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.NullImpl;
-import org.eclipse.wst.jsdt.debug.internal.chrome.jsdi.UndefinedImpl;
-
-/**
- * Class for reading / writing JSON objects
- * <br><br>
- * Chrome has the following types:
- * <ul>
- * 	<li>object</li>
- * 	<li>function</li>
- * 	<li>boolean</li>
- * 	<li>number</li>
- * 	<li>string</li>
- * 	<li>undefined</li>
- * 	<li>ref</li>
- * </ul> 
- * @since 1.0
- */
-public final class JSON {
-
-	static boolean TRACE = false;
-	
-	/**
-	 * Standard line feed / control feed terminus for Crossfire packets
-	 */
-	public static final String LINE_FEED = "\r\n"; //$NON-NLS-1$
-	/**
-	 * The default <code>Content-Length:</code> pre-amble
-	 */
-	public static final String CONTENT_LENGTH = "Content-Length:"; //$NON-NLS-1$
-	
-	/**
-	 * The default <code>Tool:</code> pre-amble
-	 */
-	public static final String TOOL_HEADER = "Tool:"; //$NON-NLS-1$
-	
-	/**
-	 * The default <code>Destination:</code> pre-amble
-	 */
-	public static final String DESTINATION_HEADER = "Destination:"; //$NON-NLS-1$
-	
-	/**
-	 * Enables / Disables tracing in the all of the JSDI implementations
-	 * 
-	 * @param trace
-	 */
-	public static void setTracing(boolean trace) {
-		TRACE = trace;
-	}
-	
-	/**
-	 * Constructor
-	 * 
-	 * No instantiation
-	 */
-	private JSON() {}
-	
-	/**
-	 * Writes the given key / value pair to the buffer in the form: <code>"key":["]value["]</code>
-	 * 
-	 * @param key
-	 * @param value
-	 * @param buffer
-	 */
-	public static void writeKeyValue(String key, Object value, StringBuffer buffer) {
-		writeString(key, buffer);
-		buffer.append(':');
-		writeValue(value, buffer);
-	}
-	
-	/**
-	 * Writes out the given value to the buffer. <br><br>
-	 * Values are written out as:
-	 * <ul>
-	 * 	<li>Boolean / Number: <code>value.toString()</code></li>
-	 * 	<li>String: <code>"value"</code></li>
-	 * 	<li>null: <code>null</code>
-	 * 	<li>Collection: <code>[{@link #writeValue(Object, StringBuffer)},...]</code></li>
-	 * 	<li>Map: <code>{"key":{@link #writeValue(Object, StringBuffer)},...}</code></li>
-	 * </ul>
-	 * 
-	 * @param value
-	 * @param buffer
-	 */
-	public static void writeValue(Object value, StringBuffer buffer) {
-		if (value == null) {
-			buffer.append(NullImpl.NULL);
-		}
-		else if (value instanceof Boolean || value instanceof Number) {
-			buffer.append(value.toString());
-		}
-		else if (value instanceof String) {
-			writeString((String) value, buffer);
-		}
-		else if(value instanceof Collection) {
-			writeArray((Collection) value, buffer);
-		}
-		else if(value instanceof Map) {
-			writeObject((Map) value, buffer);
-		}
-	}
-	
-	/**
-	 * Writes the given {@link String} into the given {@link StringBuffer} properly escaping
-	 * all control characters
-	 * 
-	 * @param string
-	 * @param buffer
-	 */
-	public static void writeString(String string, StringBuffer buffer) {
-		buffer.append('"');
-		int length = string.length();
-		for (int i = 0; i < length; i++) {
-			char c = string.charAt(i);
-			switch (c) {
-				case '"' :
-				case '\\' :
-				case '/' : {
-					buffer.append('\\');
-					buffer.append(c);
-					break;
-				}
-				case '\b' : {
-					buffer.append("\\b"); //$NON-NLS-1$
-					break;
-				}
-				case '\f' : {
-					buffer.append("\\f"); //$NON-NLS-1$
-					break;
-				}
-				case '\n' : {
-					buffer.append("\\n"); //$NON-NLS-1$
-					break;
-				}
-				case '\r' : {
-					buffer.append("\\r"); //$NON-NLS-1$
-					break;
-				}
-				case '\t' : {
-					buffer.append("\\t"); //$NON-NLS-1$
-					break;
-				}
-				default :
-					if (Character.isISOControl(c)) {
-						buffer.append("\\u"); //$NON-NLS-1$
-						String hexString = Integer.toHexString(c);
-						for (int j = hexString.length(); j < 4; j++) {
-							buffer.append('0');
-						}
-						buffer.append(hexString);
-					} else {
-						buffer.append(c);
-					}
-			}
-		}
-		buffer.append('"');
-	}
-
-	/**
-	 * Writes the given collection into an array string of the form: <code>[{@link #writeValue(Object, StringBuffer)},...]</code>
-	 * 
-	 * @param collection
-	 * @param buffer
-	 */
-	static void writeArray(Collection collection, StringBuffer buffer) {
-		buffer.append('[');
-		for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
-			writeValue(iterator.next(), buffer);
-			if(iterator.hasNext()) {
-				buffer.append(',');
-			}
-		}
-		buffer.append(']');
-	}
-	
-	/**
-	 * Writes an object mapping to the given buffer in the form: <code>{"key":{@link #writeValue(Object, StringBuffer)},...}</code>
-	 * 
-	 * @param map
-	 * @param buffer
-	 */
-	public static void writeObject(Map map, StringBuffer buffer) {
-		buffer.append('{');
-		for (Iterator iterator = map.keySet().iterator(); iterator.hasNext();) {
-			String key = (String) iterator.next();
-			writeString(key, buffer);
-			buffer.append(':');
-			writeValue(map.get(key), buffer);
-			if(iterator.hasNext()) {
-				buffer.append(',');
-			}
-		}
-		buffer.append('}');
-	}
-	
-	/**
-	 * Writes the <code>Content-Length:N</code> pre-amble to the head of the given buffer
-	 * 
-	 * @param buffer
-	 * @param length
-	 */
-	public static void writeContentLength(StringBuffer buffer, int length) {
-		StringBuffer buff = new StringBuffer(18);
-		buff.append(CONTENT_LENGTH).append(length).append(LINE_FEED);
-		buffer.insert(0, buff.toString());
-	}
-	
-	/**
-	 * Writes the <code>Tool:name</code> pre-amble to the head of the given buffer
-	 * 
-	 * @param buffer
-	 * @param tool
-	 */
-	public static void writeToolHeader(StringBuffer buffer, String tool) {
-		StringBuffer buff = new StringBuffer(18);
-		buff.append(TOOL_HEADER).append(tool).append(LINE_FEED).append(LINE_FEED);
-		buffer.insert(0, buff.toString());
-	}
-	
-	public static void writeDestinationHeader(StringBuffer buffer, Number destination) {
-		StringBuffer buff = new StringBuffer();
-		buff.append(DESTINATION_HEADER).append(destination).append(LINE_FEED);
-		buffer.insert(0, buff.toString());
-	}
-	
-	/**
-	 * Serializes the given {@link PacketImpl} to a {@link String}
-	 * 
-	 * @param packet the packet to serialize
-	 * 
-	 * @return the serialized {@link String}, never <code>null</code>
-	 */
-	public static String serialize(PacketImpl packet) {
-		Object json = packet.toJSON();
-		StringBuffer buffer = new StringBuffer();
-		writeValue(json, buffer);
-		int length = buffer.toString().getBytes().length;
-		writeToolHeader(buffer, packet.tool());
-		writeContentLength(buffer, length);
-		if(packet.destination() != null) {
-			writeDestinationHeader(buffer, packet.destination());
-		}
-		if(TRACE) {
-			Tracing.writeString("SERIALIZE: " + packet.getType() +" packet as "+buffer.toString()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return buffer.toString();
-	}
-	
-	/**
-	 * Reads and returns a new object from the given json {@link String}. This method
-	 * will throw an {@link IllegalStateException} if parsing fails.
-	 * 
-	 * @param jsonString
-	 * @return the object, never <code>null</code>
-	 */
-	public static Object read(String jsonString) {
-		return parse(new StringCharacterIterator(jsonString));
-	}
-	
-	/**
-	 * Reads and returns a new object form the given {@link CharacterIterator} that corresponds to
-	 * a properly formatted json string. This method will throw an {@link IllegalStateException} if
-	 * parsing fails.
-	 * 
-	 * @param it the {@link CharacterIterator} to parse
-	 * @return the object, never <code>null</code>
-	 */
-	public static Object parse(CharacterIterator it) {
-		parseWhitespace(it);
-		Object result = parseValue(it);
-		parseWhitespace(it);
-		if (it.current() != CharacterIterator.DONE) {
-			throw error("should be done", it); //$NON-NLS-1$
-		}
-		return result;
-	}
-	
-	/**
-	 * Creates an {@link IllegalStateException} for the given message and iterator
-	 * 
-	 * @param message the message for the exception
-	 * @param it the {@link CharacterIterator} to parse
-	 * 
-	 * @return a new {@link IllegalStateException} 
-	 */
-	private static RuntimeException error(String message, CharacterIterator it) {
-		return new IllegalStateException("[" + it.getIndex() + "] " + message); //$NON-NLS-1$//$NON-NLS-2$
-	}
-	
-	/**
-	 * Chews up whitespace from the iterator
-	 * 
-	 * @param it the {@link CharacterIterator} to parse
-	 */
-	private static void parseWhitespace(CharacterIterator it) {
-		char c = it.current();
-		while (Character.isWhitespace(c)) {
-			c = it.next();
-		}
-	}
-	
-	/**
-	 * Parses the {@link Object} from the {@link CharacterIterator}. This method 
-	 * delegates to the proper parsing method depending on the current iterator context.
-	 * This method will throw an {@link IllegalStateException} if parsing fails.
-	 * 
-	 * @param it the {@link CharacterIterator} to parse
-	 * 
-	 * @return the new object, never <code>null</code>
-	 * @see #parseString(CharacterIterator)
-	 * @see #parseNumber(CharacterIterator)
-	 * @see #parseArray(CharacterIterator)
-	 * @see #parseObject(CharacterIterator)
-	 */
-	private static Object parseValue(CharacterIterator it) {
-		switch (it.current()) {
-			case '{' : {
-				return parseObject(it);
-			}
-			case '[' : {
-				return parseArray(it);
-			}
-			case '"' : {
-				return parseString(it);
-			}
-			case '-' :
-			case '0' :
-			case '1' :
-			case '2' :
-			case '3' :
-			case '4' :
-			case '5' :
-			case '6' :
-			case '7' :
-			case '8' :
-			case '9' : {
-				return parseNumber(it);
-			}
-			case 't' : {
-				parseText(Boolean.TRUE.toString(), it);
-				return Boolean.TRUE;
-			}
-			case 'f' : {
-				parseText(Boolean.FALSE.toString(), it);
-				return Boolean.FALSE;
-			}
-			case 'n' : {
-				parseText(NullImpl.NULL, it);
-				return null;
-			}
-			case 'u': {
-				parseText(UndefinedImpl.UNDEFINED, it);
-				return null;
-			}
-		}
-		throw error("Bad JSON starting character '" + it.current() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$;
-	}
-	
-	/**
-	 * Parses the JSON string from the {@link CharacterIterator}
-	 * 
-	 * @param it the {@link CharacterIterator} to parse
-	 * @return the JSON {@link String}, never <code>null</code>
-	 */
-	private static String parseString(CharacterIterator it) {
-		char c = it.next();
-		if (c == '"') {
-			it.next();
-			return ""; //$NON-NLS-1$
-		}
-		StringBuffer buffer = new StringBuffer();
-		while (c != '"') {
-			if (Character.isISOControl(c)) {
-				throw error("illegal iso control character: '" + Integer.toHexString(c) + "'", it); //$NON-NLS-1$ //$NON-NLS-2$);
-			}
-			if (c == '\\') {
-				c = it.next();
-				switch (c) {
-					case '"' :
-					case '\\' :
-					case '/' : {
-						buffer.append(c);
-						break;
-					}
-					case 'b' : {
-						buffer.append('\b');
-						break;
-					}
-					case 'f' : {
-						buffer.append('\f');
-						break;
-					}
-					case 'n' : {
-						buffer.append('\n');
-						break;
-					}
-					case 'r' : {
-						buffer.append('\r');
-						break;
-					}
-					case 't' : {
-						buffer.append('\t');
-						break;
-					}
-					case 'u' : {
-						StringBuffer unicode = new StringBuffer(4);
-						for (int i = 0; i < 4; i++) {
-							unicode.append(it.next());
-						}
-						try {
-							buffer.append((char) Integer.parseInt(unicode.toString(), 16));
-						} catch (NumberFormatException e) {
-							throw error("expected a unicode hex number but was '" + unicode.toString() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$););
-						}
-						break;
-					}
-					default : {
-						throw error("illegal escape character '" + c + "'", it); //$NON-NLS-1$ //$NON-NLS-2$););
-					}
-				}
-			} else {
-				buffer.append(c);
-			}
-			c = it.next();
-		}
-		c = it.next();
-		return buffer.toString();
-	}
-	
-	/**
-	 * Parses an {@link Map} object from the iterator or throws an
-	 * {@link IllegalStateException} if parsing fails.
-	 * 
-	 * @param it the {@link CharacterIterator} to parse
-	 * @return a new {@link Map} object, never <code>null</code>
-	 */
-	private static Map parseObject(CharacterIterator it) {
-		it.next();
-		parseWhitespace(it);
-		if (it.current() == '}') {
-			it.next();
-			return Collections.EMPTY_MAP;
-		}
-
-		Map map = new HashMap();
-		while (true) {
-			if (it.current() != '"') {
-				throw error("expected a string start '\"' but was '" + it.current() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			String key = parseString(it);
-			if (map.containsKey(key)) {
-				throw error("' already defined" + "key '" + key, it); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			parseWhitespace(it);
-			if (it.current() != ':') {
-				throw error("expected a pair separator ':' but was '" + it.current() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			it.next();
-			parseWhitespace(it);
-			Object value = parseValue(it);
-			map.put(key, value);
-			parseWhitespace(it);
-			if (it.current() == ',') {
-				it.next();
-				parseWhitespace(it);
-				continue;
-			}
-			if (it.current() != '}') {
-				throw error("expected an object close '}' but was '" + it.current() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			break;
-		}
-		it.next();
-		return map;
-	}
-	
-	/**
-	 * Parses an {@link ArrayList} from the given iterator or throws an
-	 * {@link IllegalStateException} if parsing fails
-	 * 
-	 * @param it the {@link CharacterIterator} to parse
-	 * @return a new {@link ArrayList} object never <code>null</code>
-	 */
-	private static List parseArray(CharacterIterator it) {
-		it.next();
-		parseWhitespace(it);
-		if (it.current() == ']') {
-			it.next();
-			return Collections.EMPTY_LIST;
-		}
-
-		List list = new ArrayList();
-		while (true) {
-			Object value = parseValue(it);
-			list.add(value);
-			parseWhitespace(it);
-			if (it.current() == ',') {
-				it.next();
-				parseWhitespace(it);
-				continue;
-			}
-			if (it.current() != ']') {
-				throw error("expected an array close ']' but was '" + it.current() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			break;
-		}
-		it.next();
-		return list;
-	}
-
-	/**
-	 * @param string
-	 * @param it
-	 */
-	private static void parseText(String string, CharacterIterator it) {
-		int length = string.length();
-		char c = it.current();
-		for (int i = 0; i < length; i++) {
-			if (c != string.charAt(i)) {
-				throw error("expected to parse '" + string + "' but character " + (i + 1) + " was '" + c + "'", it); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$;
-			}
-			c = it.next();
-		}
-	}
-
-	/**
-	 * Parses a {@link Number} object from the given {@link CharacterIterator}
-	 * 
-	 * @param it
-	 * @return a new {@link Number}, never <code>null</code>
-	 */
-	private static Object parseNumber(CharacterIterator it) {
-		StringBuffer buffer = new StringBuffer();
-		char c = it.current();
-		while (Character.isDigit(c) || c == '-' || c == '+' || c == '.' || c == 'e' || c == 'E') {
-			buffer.append(c);
-			c = it.next();
-		}
-		try {
-			return new BigDecimal(buffer.toString());
-		} catch (NumberFormatException e) {
-			throw error("expected a number but was '" + buffer.toString() + "'", it); //$NON-NLS-1$ //$NON-NLS-2$;
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Messages.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Messages.java
deleted file mode 100644
index 93ee74b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/Messages.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.internal.chrome.transport.messages"; //$NON-NLS-1$
-	public static String cannot_create_packet_with_no_event;
-	public static String cannot_create_pakcet_null_json;
-	public static String cannot_create_request_null_command;
-	public static String cannot_create_response_null_command;
-	public static String no_command_in_json_response;
-	public static String no_command_in_request_json;
-	public static String no_event_found_in_json;
-	public static String no_packet_type_in_json;
-	public static String no_tool_found_in_packet_json;
-	public static String packet_tools_service_name_cannot_be_null;
-	public static String packet_type_cannot_be_null;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/PacketImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/PacketImpl.java
deleted file mode 100644
index 3ffef9a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/PacketImpl.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.transport.packet.Packet;
-
-/**
- * Basic packet
- * 
- * @since 1.0
- */
-public class PacketImpl implements Packet {
-
-	/**
-	 * Debugging flag
-	 */
-	public static boolean TRACE = false;
-	
-	private final String type;
-	private final String tool;
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param type the type of the packet
-	 * @param tool the tools service expected to handle the packet
-	 */
-	public PacketImpl(String type, String tool) {
-		if(type == null) {
-			throw new IllegalArgumentException(Messages.packet_type_cannot_be_null);
-		}
-		if(tool == null) {
-			throw new IllegalArgumentException(Messages.packet_tools_service_name_cannot_be_null);
-		}
-		this.type = type;
-		this.tool = tool;
-	}
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param existing JSON map to create a packet from
-	 */
-	public PacketImpl(Map json) {
-		if(json == null) {
-			throw new IllegalArgumentException(Messages.cannot_create_pakcet_null_json);
-		}
-		type = (String) json.get(Attributes.TYPE);
-		if(type == null) {
-			throw new IllegalArgumentException(Messages.no_packet_type_in_json);
-		}
-		tool = (String) json.get(Attributes.TOOL);
-		if(tool == null) {
-			throw new IllegalArgumentException(Messages.no_tool_found_in_packet_json);
-		}
-	}
-	
-	/**
-	 * Sets if packet transfer should be traced
-	 * @param tracing
-	 */
-	public static void setTracing(boolean tracing) {
-		TRACE = tracing;
-	}
-	
-	/**
-	 * Returns the name of the tools service expected to handle this packet
-	 * 
-	 * @return the tools service name
-	 */
-	public String tool() {
-		return tool;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Packet#getType()
-	 */
-	public String getType() {
-		return type;
-	}
-
-	/**
-	 * Returns the intended tab destination for the packet, default returns <code>null</code>
-	 * 
-	 * @return the tab id or <code>null</code>
-	 */
-	public Number destination() {
-		return null;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Packet#toJSON()
-	 */
-	public Map toJSON() {
-		Map json = new HashMap();
-		return json;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		Object json = toJSON();
-		buffer.append("PacketImpl: "); //$NON-NLS-1$
-		JSON.writeValue(json, buffer);
-		return buffer.toString();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/RequestPacketImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/RequestPacketImpl.java
deleted file mode 100644
index e9e52bb..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/RequestPacketImpl.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.transport.packet.Request;
-
-/**
- * Request packet
- * 
- * @since 1.0
- */
-public class RequestPacketImpl extends PacketImpl implements Request {
-
-	/**
-	 * The type of this packet
-	 */
-	public static final String REQUEST = "request"; //$NON-NLS-1$
-	private final String command;
-	private final Number destination;
-	private Map args = Collections.synchronizedMap(new HashMap(4));
-	
-	/**
-	 * Constructor
-	 * 
-	 * @param command
-	 * @param tool the name of the tools service expected to handle the request
-	 * @param dest the tab id destination
-	 */
-	public RequestPacketImpl(String command, String tool, Number dest) {
-		super(REQUEST, tool);
-		if(command == null) {
-			throw new IllegalArgumentException(Messages.cannot_create_request_null_command);
-		}
-		this.command = command;
-		this.destination = dest;
-	}
-	
-	/**
-	 * Constructor
-	 * @param json
-	 */
-	public RequestPacketImpl(Map json) {
-		super(json);
-		this.command = (String) json.get(Attributes.COMMAND);
-		if(command == null) {
-			throw new IllegalArgumentException(Messages.no_command_in_request_json);
-		}
-		this.destination = (Number) json.get(Attributes.DESTINATION);
-	}
-
-	/**
-	 * Sets the given argument in the JSON map.
-	 * 
-	 * @param key the key for the attribute, <code>null</code> is not accepted
-	 * @param argument the value for the argument, <code>null</code> is not accepted
-	 */
-	public void setArgument(String key, Object argument) {
-		if(key == null) {
-			throw new IllegalArgumentException("The argument key cannot be null"); //$NON-NLS-1$
-		}
-		if(argument == null) {
-			throw new IllegalArgumentException("A null argument is not allowed"); //$NON-NLS-1$
-		}
-		args.put(key, argument);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Request#getCommand()
-	 */
-	public String getCommand() {
-		return command;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Request#getSequence()
-	 */
-	public int getSequence() {
-		return -1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.chrome.transport.PacketImpl#destination()
-	 */
-	public Number destination() {
-		return this.destination;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Request#getArguments()
-	 */
-	public Map getArguments() {
-		return args;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.crossfire.transport.CFPacket#toJSON()
-	 */
-	public Map toJSON() {
-		Map json = super.toJSON();
-		json.put(Attributes.COMMAND, command);
-		return json;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		Object json = toJSON();
-		buffer.append("RequestPacketImpl: "); //$NON-NLS-1$
-		JSON.writeValue(json, buffer);
-		return buffer.toString();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ResponsePacketImpl.java b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ResponsePacketImpl.java
deleted file mode 100644
index 28e25a3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/ResponsePacketImpl.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.internal.chrome.transport;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.transport.packet.Response;
-
-/**
- * Response packet
- * 
- * @since 1.0
- */
-public class ResponsePacketImpl extends PacketImpl implements Response {
-
-	/**
-	 * The type of this packet
-	 */
-	public static final String RESPONSE = "response"; //$NON-NLS-1$
-	
-	private String command = null;
-	protected Number result = null;
-	protected Map body = null;
-	
-	/**
-	 * Constructor
-	 * @param command
-	 * @param tool the name of the tools service that issued this response
-	 */
-	public ResponsePacketImpl(String command, String tool) {
-		super(RESPONSE, tool);
-		if(command == null) {
-			throw new IllegalArgumentException(Messages.cannot_create_response_null_command);
-		}
-		this.command = command;
-	}
-	
-	/**
-	 * Constructor
-	 * @param json
-	 */
-	public ResponsePacketImpl(Map json) {
-		super(json);
-		this.command = (String) json.get(Attributes.COMMAND);
-		if(command == null) {
-			throw new IllegalArgumentException(Messages.no_command_in_json_response);
-		}
-		this.result = (Number) json.get(Attributes.RESULT);
-		Object data = json.get(Attributes.DATA);
-		if(data != null) {
-			this.body = new HashMap();
-			this.body.put(Attributes.DATA, data);
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#getCommand()
-	 */
-	public String getCommand() {
-		return command;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#getRequestSequence()
-	 */
-	public int getRequestSequence() {
-		return -1;
-	}
-
-	/**
-	 * Returns the result of the request that caused this response
-	 * @see Attributes#OK
-	 * @see Attributes#ILLEGAL_TAB_STATE
-	 * @see Attributes#UNKNOWN_TAB
-	 * @see Attributes#DEBUGGER_ERROR
-	 * @see Attributes#UNKNOWN_COMMAND
-	 * @return the value of the result
-	 */
-	public int getResult() {
-		return this.result.intValue();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#getBody()
-	 */
-	public Map getBody() {
-		if(this.body == null) {
-			return Collections.EMPTY_MAP;
-		}
-		return this.body;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#isSuccess()
-	 */
-	public boolean isSuccess() {
-		return this.result.intValue() == Attributes.OK;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.transport.packet.Response#isRunning()
-	 */
-	public boolean isRunning() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.internal.chrome.transport.PacketImpl#toJSON()
-	 */
-	public Map toJSON() {
-		Map json = super.toJSON();
-		json.put(Attributes.COMMAND, command);
-		json.put(Attributes.RESULT, this.result);
-		if(this.body != null) {
-			json.put(Attributes.DATA, this.body.get(Attributes.DATA));
-		}
-		return json;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer buffer = new StringBuffer();
-		Object json = toJSON();
-		buffer.append("ResponsePacketImpl: "); //$NON-NLS-1$
-		JSON.writeValue(json, buffer);
-		return buffer.toString();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/messages.properties b/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/messages.properties
deleted file mode 100644
index 1935bee..0000000
--- a/development/org.eclipse.wst.jsdt.debug.chrome/src/org/eclipse/wst/jsdt/debug/internal/chrome/transport/messages.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-cannot_create_packet_with_no_event=You cannot create an event packet with no event
-cannot_create_pakcet_null_json=You cannot create a packet from a null JSON mapping
-cannot_create_request_null_command=You cannot create a request packet with a null command
-cannot_create_response_null_command=A response packet cannot be created for a null command
-no_command_in_json_response=There was no command found in the initializing JSON map to create a response packet from
-no_command_in_request_json=There was no command found in the initializing JSON map to create a request packet from
-no_event_found_in_json=There was no event found in the initializing JSON map to create an event packet from
-no_packet_type_in_json=There was no type found in the initializing JSON map to create a packet from
-no_tool_found_in_packet_json=There was no tool found in the initializing JSON map to create a packet from
-packet_tools_service_name_cannot_be_null=Packet tool service name cannot be null
-packet_type_cannot_be_null=The type of a packet cannot be null
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/.project b/development/org.eclipse.wst.jsdt.debug.ie/.project
deleted file mode 100644
index 695dce1..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.jsdt.debug.ie.debugger</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IE Crossfire Server.sln b/development/org.eclipse.wst.jsdt.debug.ie/IE Crossfire Server.sln
deleted file mode 100644
index 8b56587..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IE Crossfire Server.sln
+++ /dev/null
@@ -1,50 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IECrossfireExtension", "IECrossfireExtension\IECrossfireExtension.vcxproj", "{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IECrossfireServer", "IECrossfireServer\IECrossfireServer.vcxproj", "{2B73B89A-A1B4-479B-8751-A25B9036A9AF}"
-EndProject
-Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "IECrossfireInstaller", "IECrossfireInstaller\IECrossfireInstaller.vdproj", "{CDECB8BE-5076-4AF2-9E70-D990325F9E77}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IECrossfireServerPS", "IECrossfireServer\IECrossfireServerPS.vcxproj", "{668D1F72-89E4-47B7-AB3C-6851CDD0073D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{2B73B89A-A1B4-479B-8751-A25B9036A9AF} = {2B73B89A-A1B4-479B-8751-A25B9036A9AF}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IECrossfireExtensionPS", "IECrossfireExtension\IECrossfireExtensionPS.vcxproj", "{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}"
-	ProjectSection(ProjectDependencies) = postProject
-		{EFAC86C6-2F6E-4657-A971-632DE21EFF9F} = {EFAC86C6-2F6E-4657-A971-632DE21EFF9F}
-	EndProjectSection
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Win32 = Debug|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}.Debug|Win32.ActiveCfg = Debug|Win32
-		{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}.Debug|Win32.Build.0 = Debug|Win32
-		{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}.Release|Win32.ActiveCfg = Release|Win32
-		{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}.Release|Win32.Build.0 = Release|Win32
-		{2B73B89A-A1B4-479B-8751-A25B9036A9AF}.Debug|Win32.ActiveCfg = Debug|Win32
-		{2B73B89A-A1B4-479B-8751-A25B9036A9AF}.Debug|Win32.Build.0 = Debug|Win32
-		{2B73B89A-A1B4-479B-8751-A25B9036A9AF}.Release|Win32.ActiveCfg = Release|Win32
-		{2B73B89A-A1B4-479B-8751-A25B9036A9AF}.Release|Win32.Build.0 = Release|Win32
-		{CDECB8BE-5076-4AF2-9E70-D990325F9E77}.Debug|Win32.ActiveCfg = Debug
-		{CDECB8BE-5076-4AF2-9E70-D990325F9E77}.Debug|Win32.Build.0 = Debug
-		{CDECB8BE-5076-4AF2-9E70-D990325F9E77}.Release|Win32.ActiveCfg = Release
-		{CDECB8BE-5076-4AF2-9E70-D990325F9E77}.Release|Win32.Build.0 = Release
-		{668D1F72-89E4-47B7-AB3C-6851CDD0073D}.Debug|Win32.ActiveCfg = Debug|Win32
-		{668D1F72-89E4-47B7-AB3C-6851CDD0073D}.Debug|Win32.Build.0 = Debug|Win32
-		{668D1F72-89E4-47B7-AB3C-6851CDD0073D}.Release|Win32.ActiveCfg = Release|Win32
-		{668D1F72-89E4-47B7-AB3C-6851CDD0073D}.Release|Win32.Build.0 = Release|Win32
-		{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}.Debug|Win32.ActiveCfg = Debug|Win32
-		{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}.Debug|Win32.Build.0 = Debug|Win32
-		{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}.Release|Win32.ActiveCfg = Release|Win32
-		{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.cpp
deleted file mode 100644
index 5650453..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.cpp
+++ /dev/null
@@ -1,763 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "ExplorerBar.h"
-
-/* initialize constants */
-const UINT ExplorerBar::ServerStateChangeMsg = RegisterWindowMessage(L"IECrossfireServerStateChanged");
-const wchar_t* ExplorerBar::ServerWindowClass = L"_IECrossfireServer";
-const wchar_t* ExplorerBar::WindowClass = L"_ExplorerBarMessageWindow";
-
-const wchar_t* ExplorerBar::PREFERENCE_DISABLEIEDEBUG = L"DisableScriptDebuggerIE";
-
-ExplorerBar::ExplorerBar() {
-	m_hWnd = m_hWndParent = 0;
-	m_pSite = NULL;
-	m_server = NULL;
-	m_serverPort = 0;
-	m_serverState = STATE_DISCONNECTED;
-
-	HKEY key;
-	LONG result = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\IBM\\IECrossfireServer", 0, KEY_QUERY_VALUE, &key);
-	if (result != ERROR_SUCCESS && result != ERROR_FILE_NOT_FOUND) {
-		Logger::error("ExplorerBar ctor: RegOpenKeyEx() failed", result);
-	} else {
-		DWORD size = sizeof(unsigned int);
-		result = RegQueryValueEx(key, L"LastPort", NULL, NULL, (LPBYTE)&m_serverPort, &size);
-		if (result != ERROR_SUCCESS) {
-			Logger::error("ExplorerBar ctor: RegQueryValueEx() failed", result);
-		}
-		RegCloseKey(key);
-	}
-	if (!m_serverPort) {
-		m_serverPort = 5000;
-	}
-
-	/* create a message-only window to receive server state change notifications */
-	HINSTANCE module = GetModuleHandle(NULL);
-	WNDCLASS ex;
-	ex.style = 0;
-	ex.lpfnWndProc = WndProc;
-	ex.cbClsExtra = 0;
-	ex.cbWndExtra = 0;
-	ex.hInstance = module;
-	ex.hIcon = NULL;
-	ex.hCursor = NULL;
-	ex.hbrBackground = NULL;
-	ex.lpszMenuName = NULL;
-	ex.lpszClassName = WindowClass;
-	RegisterClass(&ex);
-	m_messageWindow = CreateWindow(WindowClass, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, module, NULL);
-	if (!m_messageWindow) {
-		Logger::error("ExplorerBar ctor(): failed to create message-only window", GetLastError());
-	} else {
-		SetWindowLongPtr(m_messageWindow, GWL_USERDATA, (__int3264)(LONG_PTR)this);
-	}
-}
-
-ExplorerBar::~ExplorerBar() {
-	if (m_server) {
-		m_server->Release();
-	}
-	if (m_messageWindow) {
-		DestroyWindow(m_messageWindow);
-		UnregisterClass(WindowClass, GetModuleHandle(NULL));
-	}
-}
-
-
-/* IClassFactory */
-
-STDMETHODIMP ExplorerBar::CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject) {
-	CComObject<ExplorerBar>* explorerBar = NULL;
-	HRESULT hr = CComObject<ExplorerBar>::CreateInstance(&explorerBar);
-	if (FAILED(hr)) {
-		Logger::error("ExplorerBar.CreateInstance(): CreateInstance() failed", hr);
-		return S_FALSE;
-	}
-	explorerBar->AddRef();
-	hr = explorerBar->QueryInterface(riid, ppvObject);
-	explorerBar->Release();
-	return hr;
-}
-
-STDMETHODIMP ExplorerBar::LockServer(BOOL fLock) {
-	return S_OK;
-}
-
-/* IObjectWithSite */
-
-STDMETHODIMP ExplorerBar::SetSite(IUnknown *punkSite) {
-	if (m_pSite) {
-		m_pSite->Release();
-		m_pSite = NULL;
-	}
-	if (punkSite) {
-		initServer(false);
-		IOleWindow *pOleWindow;
-		m_hWndParent = NULL;
-		if (SUCCEEDED(punkSite->QueryInterface(IID_IOleWindow, (LPVOID*)&pOleWindow))) {
-			pOleWindow->GetWindow(&m_hWndParent);
-			pOleWindow->Release();
-		}
-		if (!m_hWndParent) {
-			return E_FAIL;
-		}
-		if (!createWindow()) {
-			return E_FAIL;
-		}
-		if (FAILED(punkSite->QueryInterface(IID_IInputObjectSite, (LPVOID*)&m_pSite))) {
-			return E_FAIL;
-		}
-	}
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::GetSite(REFIID riid, LPVOID *ppvReturn) {
-	*ppvReturn = NULL;
-	if (m_pSite) {
-		return m_pSite->QueryInterface(riid, ppvReturn);
-	}
-	return E_FAIL;
-}
-
-/* IPersistStream */
-
-STDMETHODIMP ExplorerBar::GetClassID(CLSID *pClassID) {
-	*pClassID = CLSID_ExplorerBar;
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::IsDirty() {
-	return S_FALSE;
-}
-
-STDMETHODIMP ExplorerBar::Load(IStream *pStm) {
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::Save(IStream *pStm, BOOL fClearDirty) {
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::GetSizeMax(ULARGE_INTEGER *pcbSize) {
-	return E_NOTIMPL;
-}
-
-/* IDeskBand */
-
-STDMETHODIMP ExplorerBar::GetWindow(HWND *phwnd) {
-	*phwnd = m_hWnd;
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::ContextSensitiveHelp(BOOL fEnterMode) {
-	return E_NOTIMPL;
-}
-
-STDMETHODIMP ExplorerBar::ShowDW(BOOL fShow) {
-	if (m_hWnd) {
-		ShowWindow(m_hWnd, fShow ? SW_SHOW : SW_HIDE);
-	}
-    return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::CloseDW(DWORD dwReserved) {
-	ShowWindow(m_hWnd, SW_HIDE);
-	if (IsWindow(m_hWnd)) {
-		DestroyWindow(m_hWnd);
-	}
-	m_hWnd = NULL;
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved) {
-	return E_NOTIMPL;
-}
-
-STDMETHODIMP ExplorerBar::GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi) {
-	if (pdbi) {
-		if (pdbi->dwMask & DBIM_MINSIZE) {
-			pdbi->ptMinSize.x = 0;
-			pdbi->ptMinSize.y = 50;
-		}
-
-		if (pdbi->dwMask & DBIM_MAXSIZE) {
-			pdbi->ptMaxSize.x = -1;
-			pdbi->ptMaxSize.y = -1;
-		}
-
-		if (pdbi->dwMask & DBIM_INTEGRAL) {
-			pdbi->ptIntegral.x = 1;
-			pdbi->ptIntegral.y = 1;
-		}
-
-		if (pdbi->dwMask & DBIM_ACTUAL) {
-			pdbi->ptMinSize.x = 0;
-			pdbi->ptMinSize.y = 50;
-		}
-
-		if (pdbi->dwMask & DBIM_TITLE) {
-			wchar_t* title = L"Crossfire Server Panel";
-			wcsncpy_s(pdbi->wszTitle, 256, title, wcslen(title));
-        }
-
-		if (pdbi->dwMask & DBIM_MODEFLAGS) {
-			pdbi->dwModeFlags = DBIMF_NORMAL | DBIMF_VARIABLEHEIGHT;
-		}
-
-		if (pdbi->dwMask & DBIM_BKCOLOR) {
-			pdbi->dwMask &= ~DBIM_BKCOLOR;
-		}
-		return S_OK;
-	}
-
-	return E_INVALIDARG;
-}
-
-/* IInputObject */
-
-STDMETHODIMP ExplorerBar::UIActivateIO(BOOL fActivate, LPMSG pMsg) {
-	if (fActivate) {
-		SetFocus(m_hWnd);
-	}
-	return S_OK;
-}
-
-STDMETHODIMP ExplorerBar::HasFocusIO() {
-	return m_bFocus ? S_OK : S_FALSE;
-}
-
-STDMETHODIMP ExplorerBar::TranslateAcceleratorIO(LPMSG pMsg) {
-	return E_NOTIMPL;
-}
-
-/* ExplorerBar */
-
-void ExplorerBar::createControls() {
-	m_statusLabel = CreateWindowEx(
-		0,
-		WC_STATIC,
-		NULL,
-		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | SS_NOTIFY | SS_LEFTNOWORDWRAP,
-		0, 0, 0, 0,
-		m_hWnd,
-		0,
-		g_hInst,
-		(LPVOID)this);
-
-	m_separator = CreateWindowEx(
-		0,
-		WC_STATIC,
-		NULL,
-		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | SS_NOTIFY | SS_OWNERDRAW,
-		0, 0, 0, 0,
-		m_hWnd,
-		0,
-		g_hInst,
-		(LPVOID)this);
-
-	m_portLabel = CreateWindowEx(
-		0,
-		WC_STATIC,
-		NULL,
-		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | SS_NOTIFY | SS_LEFTNOWORDWRAP,
-		0, 0, 0, 0,
-		m_hWnd,
-		0,
-		g_hInst,
-		(LPVOID)this);
-	SetWindowText(m_portLabel, L"Port:");
-
-	m_portText = CreateWindowEx(
-        WS_EX_CLIENTEDGE,
-        WC_EDIT,
-        NULL,
-        WS_CHILD | WS_VISIBLE | ES_AUTOHSCROLL | WS_CLIPSIBLINGS | WS_TABSTOP | ES_NUMBER,
-        0, 0, 0, 0,
-        m_hWnd,
-        0,
-		g_hInst,
-		(LPVOID)this);
-	SendMessage(m_portText, EM_SETLIMITTEXT, 5, 0);
-
-	m_portUpDown = CreateWindowEx(
-        0,
-		UPDOWN_CLASS,
-        NULL,
-        WS_CHILD | WS_VISIBLE | UDS_AUTOBUDDY | UDS_WRAP | UDS_ALIGNRIGHT | UDS_SETBUDDYINT | UDS_NOTHOUSANDS,
-        0, 0, 0, 0,
-        m_hWnd,
-        0,
-		g_hInst,
-		(LPVOID)this);
-	SendMessage(m_portUpDown, UDM_SETRANGE32, 1000, 65534);
-
-	m_button = CreateWindowEx(
-        0,
-		WC_BUTTON,
-        NULL,
-		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | BS_PUSHBUTTON | WS_TABSTOP,
-        0, 0, 0, 0,
-        m_hWnd,
-        0,
-		g_hInst,
-		(LPVOID)this);
-
-	m_errorLabel = CreateWindowEx(
-		0,
-		WC_STATIC,
-		NULL,
-		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | SS_NOTIFY | SS_LEFTNOWORDWRAP,
-		0, 0, 0, 0,
-		m_hWnd,
-		0,
-		g_hInst,
-		(LPVOID)this);
-
-	/*
-	 * Calculate the size of the port text and cache it.  This is done
-	 * because its preferred size does not change, and to provide a
-	 * baseline for vertical centering of the other controls.
-	 */
-	HDC hDC = GetDC(m_portText);
-	LRESULT newFont = SendMessage(m_portText, WM_GETFONT, 0, 0);
-	HGDIOBJ oldFont = SelectObject(hDC, (HGDIOBJ)newFont);
-	TEXTMETRICW tm;
-	GetTextMetrics(hDC, &tm);
-	LONG height = tm.tmHeight;
-	RECT rect;
-	DrawText(hDC, L"000000", 6, &rect, DT_CALCRECT | DT_EDITCONTROL | DT_NOPREFIX);
-	LONG width = rect.right - rect.left;
-	if (newFont != 0) {
-		SelectObject(hDC, oldFont);
-	}
-	ReleaseDC(m_portText, hDC);
-
-	/* Factor in the size of the text control's trim */
-	SetRect(&rect, 0, 0, width, height);
-	LONG style = GetWindowLong(m_portText, GWL_STYLE);
-	LONG exStyle = GetWindowLong(m_portText, GWL_EXSTYLE);
-	AdjustWindowRectEx(&rect, style, false, exStyle);
-	width = rect.right - rect.left;
-	height = rect.bottom - rect.top;
-	width += 2; height += 2;
-	m_portTextSize.x = width;
-	m_portTextSize.y = height;
-
-	/* subclass the separator in order to owner-draw it */
-//	SetWindowLongPtr(m_separator, GWL_USERDATA, (__int3264)(LONG_PTR)this);
-//	staticProc = (WNDPROC)SetWindowLongPtr(m_separator, GWLP_WNDPROC, (__int3264)(LONG_PTR)WndProc);
-
-//	Logger::error("handle: m_button", (int)m_button);
-//	Logger::error("handle: m_errorLabel", (int)m_errorLabel);
-//	Logger::error("handle: m_portLabel", (int)m_portLabel);
-//	Logger::error("handle: m_portText", (int)m_portText);
-//	Logger::error("handle: m_portUpDown", (int)m_portUpDown);
-//	Logger::error("handle: m_separator", (int)m_separator);
-//	Logger::error("handle: m_statusLabel", (int)m_statusLabel);
-//	Logger::error("handle: m_hWnd", (int)m_hWnd);
-//	Logger::error("handle: m_hWndParent", (int)m_hWndParent);
-}
-
-bool ExplorerBar::createWindow() {
-	if (!m_hWnd) {
-		if (!m_hWndParent) {
-			return false;
-		}
-
-		LPCTSTR CLASSNAME = L"CrossfireExplorerBar";
-		if (!GetClassInfo(g_hInst, CLASSNAME, &wc)) {
-			ZeroMemory(&wc, sizeof(wc));
-			wc.style = /*CS_HREDRAW | CS_VREDRAW |*/ CS_GLOBALCLASS;
-			wc.lpfnWndProc = (WNDPROC)WndProc;
-			wc.cbClsExtra = 0;
-			wc.cbWndExtra = 0;
-			wc.hInstance = g_hInst;
-			wc.hIcon = NULL;
-			wc.hCursor = LoadCursor(NULL, IDC_ARROW);
-			wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
-			wc.lpszMenuName = NULL;
-			wc.lpszClassName = CLASSNAME;
-
-			if (!RegisterClass(&wc)) {
-				// If RegisterClass fails, CreateWindow below will fail.
-			}
-		}
-
-		RECT rc;
-		GetClientRect(m_hWndParent, &rc);
-
-		CreateWindowEx(
-			0,
-			CLASSNAME,
-			NULL,
-			WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE,
-			rc.left,
-			rc.top,
-			rc.right - rc.left,
-			rc.bottom - rc.top,
-			m_hWndParent,
-			NULL,
-			g_hInst,
-			(LPVOID)this);
-
-		if (NULL != m_hWnd) {
-			createControls();
-			initServer(false);
-			layoutControls();
-		}
-	}
-
-	return NULL != m_hWnd;
-}
-
-bool ExplorerBar::initServer(bool startIfNeeded) {
-	if (m_server) {
-		return true;
-	}
-	if (!startIfNeeded && !FindWindow(ServerWindowClass, NULL)) {
-		return false;
-	}
-
-	HKEY key;
-	HRESULT hr = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Internet Explorer\\Main", 0, KEY_READ, &key);
-	if (SUCCEEDED(hr)) {
-		wchar_t value[9];
-		DWORD size = sizeof(value);
-		hr = RegQueryValueEx(key, PREFERENCE_DISABLEIEDEBUG, NULL, NULL, (LPBYTE)value, &size);
-		if (SUCCEEDED(hr) && wcscmp(value, L"no") != 0) {
-			MessageBox(NULL, L"Internet Explorer Option \"Disable Script Debugging (Internet Explorer)\" must be unchecked for remote debugging to work.  Crossfire server has not been started.", L"Crossfire Server Startup Error", 0);
-			return false;
-		}
-	}
-	if (FAILED(hr)) {
-		Logger::error("Failed to access the DisableScriptDebuggerIE registry setting", hr);
-	}
-
-	GUID clsid;
-	IIDFromString(OLESTR("{47836AF4-3E0C-4995-8029-FF931C5A43FC}"), &clsid);
-	GUID iid;
-	IIDFromString(OLESTR("{F48260BB-C061-4410-9CE1-4C5C7602690E}"), &iid);
-
-	CComPtr<ICrossfireServerClass> serverClass = NULL;
-	hr = CoGetClassObject(/*CLSID_CrossfireServer*/clsid, CLSCTX_ALL, 0, /*IID_ICrossfireServerClass*/iid, (LPVOID*)&serverClass);
-	if (FAILED(hr)) {
-		Logger::error("ExplorerBar.initServer(): CoGetClassObject() failed", hr);
-		return false;
-	}
-
-//	HWND rootWindow = GetAncestor(m_hWndParent, GA_ROOT);
-	hr = serverClass->GetServer(/*(unsigned long)rootWindow,*/ &m_server);
-	if (FAILED(hr)) {
-		Logger::error("ExplorerBar.initServer(): GetController() failed", hr);
-		return false;
-	}
-
-	hr = m_server->getState(&m_serverState);
-	if (FAILED(hr)) {
-		Logger::error("ExplorerBar.initServer(): getState() failed", hr);
-	}
-
-	if (m_serverState != STATE_DISCONNECTED) {
-		hr = m_server->getPort(&m_serverPort);
-		if (FAILED(hr)) {
-			Logger::error("ExplorerBar.initServer(): getPort() failed", hr);
-		}
-	}
-
-	return true;
-}
-
-void ExplorerBar::layoutControls() {
-	int x = SPACING_WIDTH;
-	int y = SPACING_WIDTH;
-	const int BUFFER_SIZE = 64;
-
-	/* status label is always shown */
-	switch (m_serverState) {
-		case STATE_DISCONNECTED: {
-			SetWindowText(m_statusLabel, L"Crossfire Debugger State: Disconnected");
-			break;
-		}
-		case STATE_LISTENING: {
-			std::wstring result;
-			std::wstringstream stringStream;
-			stringStream << L"Crossfire Debugger State: Listening on port ";
-			stringStream << m_serverPort;
-			result.assign(stringStream.str());
-			SetWindowText(m_statusLabel, result.c_str());
-			break;
-		}
-		case STATE_CONNECTED: {
-			std::wstring result;
-			std::wstringstream stringStream;
-			stringStream << L"Crossfire Debugger State: Connected on port ";
-			stringStream << m_serverPort;
-			result.assign(stringStream.str());
-			SetWindowText(m_statusLabel, result.c_str());
-			break;
-		}
-	}
-
-	HDC hDC = GetDC(m_statusLabel);
-	LRESULT newFont = SendMessage(m_statusLabel, WM_GETFONT, 0, 0);
-	HGDIOBJ oldFont = SelectObject(hDC, (HGDIOBJ)newFont);
-	int length = GetWindowTextLength(m_statusLabel);
-	RECT rect;
-	TCHAR buffer[BUFFER_SIZE];
-	GetWindowText(m_statusLabel, buffer, BUFFER_SIZE);
-	DrawText(hDC, buffer, length, &rect, DT_CALCRECT);
-	LONG width = rect.right - rect.left;
-	LONG height = rect.bottom - rect.top;
-	if (newFont) {
-		SelectObject(hDC, oldFont);
-	}
-	ReleaseDC(m_statusLabel, hDC);
-	SetWindowPos(m_statusLabel, 0, x, y + (m_portTextSize.y - height) / 2, width, height, SWP_NOZORDER | SWP_NOACTIVATE);
-	x += width + SPACING_WIDTH;
-
-	/* vertical separator is always shown */
-	EnableWindow(m_separator, m_server != NULL);
-	SetWindowPos(m_separator, 0, x, y, SEPARATOR_WIDTH, m_portTextSize.y, SWP_NOZORDER | SWP_NOACTIVATE);
-	x += SEPARATOR_WIDTH + SPACING_WIDTH;
-
-	/* "port:" label */
-	if (m_serverState != STATE_DISCONNECTED) {
-		ShowWindow(m_portLabel, SW_HIDE);
-	} else {
-		ShowWindow(m_portLabel, SW_SHOW);
-		hDC = GetDC(m_portLabel);
-		newFont = SendMessage(m_portLabel, WM_GETFONT, 0, 0);
-		oldFont = SelectObject(hDC, (HGDIOBJ)newFont);
-		length = GetWindowTextLength(m_portLabel);
-		GetWindowText(m_portLabel, buffer, BUFFER_SIZE);
-		DrawText(hDC, buffer, length, &rect, DT_CALCRECT);
-		width = rect.right - rect.left;
-		height = rect.bottom - rect.top;
-		if (newFont) {
-			SelectObject(hDC, oldFont);
-		}
-		ReleaseDC(m_portLabel, hDC);
-		SetWindowPos(m_portLabel, 0, x, y + (m_portTextSize.y - height) / 2, width, height, SWP_NOZORDER | SWP_NOACTIVATE);
-		x += width + SPACING_WIDTH;
-	}
-
-	/* port text */
-	if (m_serverState != STATE_DISCONNECTED) {
-		ShowWindow(m_portText, SW_HIDE);
-		ShowWindow(m_portUpDown, SW_HIDE);
-	} else {
-		SendMessage(m_portUpDown, UDM_SETPOS32, 0, m_serverPort);
-		ShowWindow(m_portText, SW_SHOW);
-		ShowWindow(m_portUpDown, SW_SHOW);
-
-		SetWindowPos(m_portText, 0, x, y, m_portTextSize.x, m_portTextSize.y, SWP_NOZORDER | SWP_NOACTIVATE);
-		x += m_portTextSize.x;
-
-		width = GetSystemMetrics(SM_CXVSCROLL);
-		SetWindowPos(m_portUpDown, 0, x, y, width, m_portTextSize.y, SWP_NOZORDER | SWP_NOACTIVATE);
-		x += width + SEPARATOR_WIDTH;
-	}
-
-	/* button is always shown */
-	switch (m_serverState) {
-		case STATE_DISCONNECTED: {
-			SetWindowText(m_button, L"Listen");
-			break;
-		}
-		case STATE_LISTENING: {
-			SetWindowText(m_button, L"Stop");
-			break;
-		}
-		case STATE_CONNECTED: {
-			SetWindowText(m_button, L"Disconnect");
-			break;
-		}
-	}
-	hDC = GetDC(m_button);
-	newFont = SendMessage(m_button, WM_GETFONT, 0, 0);
-	if (newFont != 0) {
-		oldFont = SelectObject(hDC, (HGDIOBJ)newFont);
-	}
-	GetWindowText(m_button, buffer, BUFFER_SIZE);
-	DrawText(hDC, buffer, -1, &rect, DT_CALCRECT | DT_SINGLELINE);
-	width = rect.right - rect.left;
-	height = rect.bottom - rect.top;
-	if (newFont != 0) {
-		SelectObject(hDC, oldFont);
-	}
-	ReleaseDC(m_button, hDC);
-	width += 10;
-	SetWindowPos(m_button, 0, x, y, width, m_portTextSize.y, SWP_NOZORDER | SWP_NOACTIVATE);
-	x += width + SEPARATOR_WIDTH;
-
-	/* clear the error text */
-	SetWindowPos(m_errorLabel, 0, x, y + (m_portTextSize.y - height) / 2, 0, 0, SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOSIZE);
-	setErrorText(L"");
-}
-
-bool ExplorerBar::onCommand(HWND hWnd, WPARAM wParam, LPARAM lParam) {
-	if ((HWND)lParam != m_button) {
-		return true;
-	}
-
-	if (HIWORD(wParam) != BN_CLICKED) {
-		return true;
-	}
-
-	switch (m_serverState) {
-		case STATE_LISTENING:
-		case STATE_CONNECTED: {
-			if (FAILED(m_server->stop())) {
-				setErrorText(L"Failed to stop the Crossfire server");
-			}
-			break;
-		}
-		case STATE_DISCONNECTED: {
-			TCHAR buffer[9];
-			if (GetWindowText(m_portText, buffer, 9)) {
-				int port = _wtoi(buffer);
-				if (!(1000 <= port && port <= 65534)) {
-					setErrorText(L"Valid port range: 1000-65534");
-				} else {
-					if (!initServer(true)) {
-						setErrorText(L"Failed to initialize Crossfire server");
-					} else {
-						if (FAILED(m_server->start(port, 54124 /* debug port */))) {
-							setErrorText(L"Failed to start the Crossfire server");
-						}
-					}
-				}
-			}
-		}
-	}
-
-	return true;
-}
-
-bool ExplorerBar::onNCCreate(HWND hWnd, WPARAM wParam, LPARAM lParam) {
-	if (!m_hWnd) {
-		m_hWnd = hWnd;
-	}
-	return true;
-}
-
-//bool ExplorerBar::onPaint(HWND hWnd, WPARAM wParam, LPARAM lParam) {
-//	if (hWnd != m_separator) {
-//		return true;
-//	}
-//
-//	RECT clientRect;
-//	GetClientRect(m_separator, &clientRect);
-//	int lineWidth = GetSystemMetrics (SM_CXBORDER);
-//	clientRect.right = clientRect.left + lineWidth * 2;
-//	HDC hDC = GetDC(m_separator);
-//	DrawEdge(hDC, &clientRect, EDGE_ETCHED, BF_RIGHT);
-//	ReleaseDC(m_separator, hDC);
-//    return false;
-//}
-
-void ExplorerBar::onServerStateChanged(WPARAM wParam, LPARAM lParam) {
-	m_serverState = wParam;
-	if (m_serverState != STATE_DISCONNECTED) {
-		m_serverPort = lParam;
-	}
-	initServer(false);
-	layoutControls();
-
-	if (m_serverState == STATE_CONNECTED) {
-		HKEY key;
-		LONG result = RegCreateKeyEx(HKEY_CURRENT_USER, L"Software\\IBM\\IECrossfireServer", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &key, NULL);
-		if (result != ERROR_SUCCESS) {
-			Logger::error("ExplorerBar.serverStateChanged(): RegCreateKeyEx() failed", result);
-		} else {
-			result = RegSetValueEx(key, L"LastPort", 0, REG_DWORD, (BYTE*)&m_serverPort, sizeof(unsigned int));
-			if (result != ERROR_SUCCESS) {
-				Logger::error("ExplorerBar.serverStateChanged(): RegSetValueEx() failed", result);
-			}
-			RegCloseKey(key);
-		}
-	}
-}
-
-LRESULT ExplorerBar::onWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
-	bool result = true;
-	if (msg == ServerStateChangeMsg) {
-		onServerStateChanged(wParam, lParam);
-		return 0;
-	}
-
-	switch (msg) {
-		case WM_COMMAND: {
-			result = onCommand(hWnd, wParam, lParam);
-			break;
-		}
-		case WM_NCCREATE: {
-			result = onNCCreate(hWnd, wParam, lParam);
-			break;
-		}
-		case WM_CTLCOLORSTATIC: {
-			return (LRESULT)GetStockObject(NULL_BRUSH);
-		}
-//		case WM_PAINT: {
-//			result = onPaint(hWnd, wParam, lParam);
-//			break;
-//		}
-	}
-	if (!result) {
-		return 1;
-	}
-//	if (hWnd == m_separator) {
-//		return CallWindowProc(staticProc, hWnd, msg, wParam, lParam);
-//	}
-	return DefWindowProc(hWnd, msg, wParam, lParam);
-}
-
-void ExplorerBar::setErrorText(wchar_t* text) {
-	SetWindowText(m_errorLabel, text);
-	int length = (int)wcslen(text);
-	if (length) {
-		HDC hDC = GetDC(m_errorLabel);
-		LRESULT newFont = SendMessage(m_errorLabel, WM_GETFONT, 0, 0);
-		HGDIOBJ oldFont = SelectObject(hDC, (HGDIOBJ)newFont);
-		RECT rect;
-		DrawText(hDC, text, length, &rect, DT_CALCRECT);
-		LONG width = rect.right - rect.left;
-		LONG height = rect.bottom - rect.top;
-		if (newFont) {
-			SelectObject(hDC, oldFont);
-		}
-		ReleaseDC(m_errorLabel, hDC);
-		SetWindowPos(m_errorLabel, 0, 0, 0, width, height, SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE);
-		ShowWindow(m_errorLabel, SW_SHOW);
-	} else {
-		ShowWindow(m_errorLabel, SW_HIDE);
-		SetWindowPos(m_errorLabel, 0, 0, 0, 1, 1, SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE);
-	}
-}
-
-LRESULT CALLBACK ExplorerBar::WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
-	ExplorerBar *pThis = (ExplorerBar*)GetWindowLongPtr(hWnd, GWL_USERDATA);
-	if (!pThis && msg == WM_NCCREATE) {
-		LPCREATESTRUCT lpcs = (LPCREATESTRUCT)lParam;
-		pThis = (ExplorerBar*)(lpcs->lpCreateParams);
-		SetWindowLongPtr(hWnd, GWL_USERDATA, (__int3264)(LONG_PTR)pThis);
-	}
-
-	if (pThis) {
-		return pThis->onWndProc(hWnd, msg, wParam, lParam);
-	}
-
-	return DefWindowProc(hWnd, msg, wParam, lParam);
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.h
deleted file mode 100644
index 047e9d5..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "resource.h"
-#include <Shlobj.h>
-#include <ShlGuid.h>
-
-#include "IECrossfireExtension.h"
-#include "Logger.h"
-
-enum {
-	STATE_DISCONNECTED,
-	STATE_LISTENING,
-	STATE_CONNECTED,
-};
-
-class ATL_NO_VTABLE ExplorerBar :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<ExplorerBar, &CLSID_ExplorerBar>,
-	public IClassFactory,
-	public IObjectWithSite,
-	public IPersistStream,
-	public IDeskBand,
-	public IInputObject {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_EXPLORERBAR)
-	DECLARE_NOT_AGGREGATABLE(ExplorerBar)
-	BEGIN_COM_MAP(ExplorerBar)
-		COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject)
-//		COM_INTERFACE_ENTRY(IExplorerBar)
-		COM_INTERFACE_ENTRY(IClassFactory)
-		COM_INTERFACE_ENTRY(IObjectWithSite)
-		COM_INTERFACE_ENTRY(IPersistStream)
-		COM_INTERFACE_ENTRY(IDeskBand)
-	//	COM_INTERFACE_ENTRY(IInputObject)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	ExplorerBar();
-	~ExplorerBar();
-
-	/* IClassFactory */
-	virtual HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject);
-    virtual HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock);
-
-	/* IObjectWithSite */
-	virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, LPVOID *ppvReturn);
-	virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite);
-
-	/* IPersistStream */
-	virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
-	virtual HRESULT STDMETHODCALLTYPE IsDirty();
-	virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
-	virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
-	virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize);
-
-	/* IDeskBand */
-	virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *phwnd);
-	virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode);
-	virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow);
-	virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved);        
-	virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(LPCRECT prcBorder, IUnknown *punkToolbarSite, BOOL fReserved);    
-	virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi);
-
-	/* IInputObject */
-    virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg);
-    virtual HRESULT STDMETHODCALLTYPE HasFocusIO();
-    virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg);
-
-private:
-	bool createWindow();
-	void createControls();
-	bool initServer(bool startIfNeeded);
-	void layoutControls();
-	bool onCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);
-	bool onNCCreate(HWND hWnd, WPARAM wParam, LPARAM lParam);
-//	bool onPaint(HWND hWnd, WPARAM wParam, LPARAM lParam);
-	LRESULT onWndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam);
-	void onServerStateChanged(WPARAM wParam, LPARAM lParam);
-	void setErrorText(wchar_t* text);
-
-	bool m_bFocus;
-	HINSTANCE g_hInst;
-	HWND m_hWnd;
-	HWND m_hWndParent;
-	HWND m_messageWindow;
-	POINT m_portTextSize;
-	IInputObjectSite* m_pSite;
-	ICrossfireServer* m_server;
-	unsigned int m_serverPort;
-	int m_serverState;
-	WNDCLASS wc;
-
-	/* controls */
-	HWND m_button;
-	HWND m_errorLabel;
-	HWND m_portLabel;
-	HWND m_portText;
-	HWND m_portUpDown;
-	HWND m_separator;
-	HWND m_statusLabel;
-
-	static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam);
-
-	/* constants */
-	static const UINT ServerStateChangeMsg;
-	static const wchar_t* ServerWindowClass;
-	static const wchar_t* WindowClass;
-
-	static const wchar_t* PREFERENCE_DISABLEIEDEBUG;
-	static const int SEPARATOR_WIDTH = 5;
-	static const int SPACING_WIDTH = 10;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(ExplorerBar), ExplorerBar)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.rgs
deleted file mode 100644
index 52a8ac9..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/ExplorerBar.rgs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR {
-	IECrossfireExtension.ExplorerBar.1 = s 'ExplorerBar Class' {
-		CLSID = s '{34EF57F8-9295-483E-B656-4EE154B0B3A5}'
-	}
-	IECrossfireExtension.ExplorerBar = s 'ExplorerBar Class' {
-		CLSID = s '{34EF57F8-9295-483E-B656-4EE154B0B3A5}'
-		CurVer = s 'IECrossfireExtension.ExplorerBar.1'
-	}
-	NoRemove CLSID {
-		ForceRemove {34EF57F8-9295-483E-B656-4EE154B0B3A5} = s 'Crossfire Server Panel' {
-			ProgID = s 'IECrossfireExtension.ExplorerBar.1'
-			VersionIndependentProgID = s 'IECrossfireExtension.ExplorerBar'
-			ForceRemove 'Programmable'
-			InprocServer32 = s '%MODULE%' {
-				val ThreadingModel = s 'Apartment'
-			}
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.cpp
deleted file mode 100644
index d91b2de..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.cpp
+++ /dev/null
@@ -1,499 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "IECrossfireBHO.h"
-
-/* initialize constants */
-const UINT IECrossfireBHO::ServerStateChangeMsg = RegisterWindowMessage(L"IECrossfireServerStateChanged");
-const wchar_t* IECrossfireBHO::ServerWindowClass = L"_IECrossfireServer";
-const wchar_t* IECrossfireBHO::WindowClass = L"_IECrossfireBHOMessageWindow";
-
-const wchar_t* IECrossfireBHO::ABOUT_BLANK = L"about:blank";
-const wchar_t* IECrossfireBHO::DEBUG_START = L"-crossfire-server-port";
-const wchar_t* IECrossfireBHO::PREFERENCE_DISABLEIEDEBUG = L"DisableScriptDebuggerIE";
-
-IECrossfireBHO::IECrossfireBHO() {
-	m_eventsHooked = false;
-	m_firstNavigate = true;
-	m_htmlToDisplay = NULL;
-	m_isCurrentContext = false;
-	m_lastUrl = NULL;
-	m_server = NULL;
-	m_serverState = STATE_DISCONNECTED;
-	m_webBrowser = NULL;
-
-	/* create a message-only window to receive server state change notifications */
-	HINSTANCE module = GetModuleHandle(NULL);
-	WNDCLASS ex;
-	ex.style = 0;
-	ex.lpfnWndProc = WndProc;
-	ex.cbClsExtra = 0;
-	ex.cbWndExtra = 0;
-	ex.hInstance = module;
-	ex.hIcon = NULL;
-	ex.hCursor = NULL;
-	ex.hbrBackground = NULL;
-	ex.lpszMenuName = NULL;
-	ex.lpszClassName = WindowClass;
-	RegisterClass(&ex);
-	m_messageWindow = CreateWindow(WindowClass, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, module, NULL);
-	if (!m_messageWindow) {
-		Logger::error("IECrossfireBHO ctor(): failed to create message-only window", GetLastError());
-	} else {
-		SetWindowLongPtr(m_messageWindow, GWL_USERDATA, (__int3264)(LONG_PTR)this);
-	}
-}
-
-IECrossfireBHO::~IECrossfireBHO() {
-	DWORD processId = GetCurrentProcessId();
-	if (m_server) {
-		m_server->contextDestroyed(processId);
-		m_server->removeBrowser(processId);
-		m_server->Release();
-	}
-	if (m_htmlToDisplay) {
-		free(m_htmlToDisplay);
-	}
-	if (m_lastUrl) {
-		free(m_lastUrl);
-	}
-	if (m_messageWindow) {
-		DestroyWindow(m_messageWindow);
-		UnregisterClass(WindowClass, GetModuleHandle(NULL));
-	}
-}
-
-/* DWebBrowserEvents2 */
-
-void STDMETHODCALLTYPE IECrossfireBHO::OnBeforeNavigate2(IDispatch* pDisp, VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers, VARIANT_BOOL* Cancel) {
-	if (!m_firstNavigate) {
-		return;
-	}
-
-	m_firstNavigate = false;
-	std::wstring string(URL->bstrVal);
-	size_t index = string.find(DEBUG_START);
-	if (index == std::string::npos) {
-		return;
-	}
-
-	*Cancel = VARIANT_TRUE;
-
-	size_t equalsIndex;
-	if ((equalsIndex = string.find('=', index)) != index + wcslen(DEBUG_START)) {
-		if ((equalsIndex = string.find(L"%3D", index)) != index + wcslen(DEBUG_START)) {
-			displayHTML(L"<html><body>Did not start Crossfire Server<p>Command-line syntax: <tt>iexplore.exe -crossfire-server-port=&lt;port&gt;</tt></body></html>");
-			return;
-		}
-		equalsIndex += 2; /* because found "%3D" instead of "=" */
-	}
-
-	index = equalsIndex + 1;
-	int port = _wtoi(string.substr(index, 5).c_str());
-
-	if (1000 <= port && port <= 65534) {
-		if (startDebugging(port)) {
-			std::wstringstream stream;
-			stream << "<html><body>Crossfire Server started on port ";
-			stream << port;
-			stream << "</body></html>";
-			displayHTML((wchar_t*)stream.str().c_str());
-		} else {
-			std::wstringstream stream;
-			stream << "<html><body>Failed to start Crossfire Server on port ";
-			stream << port;
-			stream << "</body></html>";
-			displayHTML((wchar_t*)stream.str().c_str());
-		}
-	} else {
-		displayHTML(L"<html><body>Did not start Crossfire Server<p>Valid port range is 1000-65534</body></html>");
-	}
-}
-
-void STDMETHODCALLTYPE IECrossfireBHO::OnDocumentComplete(IDispatch *pDisp, VARIANT *pvarURL) {
-	BSTR bstr = pvarURL->bstrVal;
-	if (bstr && m_htmlToDisplay && wcscmp(bstr, ABOUT_BLANK) == 0) {
-		CComPtr<IUnknown> webBrowserIUnknown = NULL;
-		HRESULT hr = m_webBrowser->QueryInterface(IID_IUnknown, (void**)&webBrowserIUnknown);
-		if (SUCCEEDED(hr)) {
-			CComPtr<IUnknown> pDispIUnknown = NULL;
-			hr = pDisp->QueryInterface(IID_IUnknown, (void**)&pDispIUnknown);
-			if (SUCCEEDED(hr)) {
-				if (webBrowserIUnknown == pDispIUnknown) {
-					/* this is the top-level page frame */
-					size_t length = (wcslen(m_htmlToDisplay) + 1) * 2;
-					HGLOBAL buffer = GlobalAlloc(GPTR, length);
-					if (buffer) {
-						wcscpy_s((wchar_t*)buffer, length, m_htmlToDisplay);
-						CComPtr<IStream> stream = NULL;
-						HRESULT hr = CreateStreamOnHGlobal(buffer, false, &stream);
-						if (SUCCEEDED(hr)) {
-							CComPtr<IDispatch> document = NULL;
-							HRESULT hr = m_webBrowser->get_Document(&document);
-							if (SUCCEEDED(hr)) {
-								CComPtr<IPersistStreamInit> persistStreamInit = NULL;
-								hr = document->QueryInterface(IID_IPersistStreamInit, (void**)&persistStreamInit);
-								if (SUCCEEDED(hr)) {
-									hr = persistStreamInit->InitNew();
-									if (SUCCEEDED(hr)) {
-										hr = persistStreamInit->Load(stream);
-									}
-								}
-							}
-							if (FAILED(hr)) {
-								Logger::error("IECrossfireBHO.OnDocumentComplete(): failed setting page content", hr);
-							}
-						} else {
-							Logger::error("IECrossfireBHO.OnDocumentComplete(): CreateStreamOnHGlobal() failed", hr);
-						}
-						GlobalFree(buffer);
-					}
-					free(m_htmlToDisplay);
-					m_htmlToDisplay = NULL;
-				}
-			}
-		}
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.OnDocumentComplete() failed", hr);
-		}
-		return;
-	}
-
-	if (m_serverState != STATE_CONNECTED) {
-		return;
-	}
-
-	CComPtr<IUnknown> webBrowserIUnknown = NULL;
-	HRESULT hr = m_webBrowser->QueryInterface(IID_IUnknown, (void**)&webBrowserIUnknown);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.OnDocumentComplete(): QI(IUnknown)[1] failed", hr);
-	} else {
-		CComPtr<IUnknown> pDispIUnknown = NULL;
-		hr = pDisp->QueryInterface(IID_IUnknown, (void**)&pDispIUnknown);
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.OnDocumentComplete(): QI(IUnknown)[2] failed", hr);
-		} else {
-			if (webBrowserIUnknown == pDispIUnknown) {
-				/* this is the top-level page frame */
-				HRESULT hr = m_server->contextLoaded(GetCurrentProcessId());
-				if (FAILED(hr)) {
-					Logger::error("IECrossfireBHO.OnDocumentComplete(): contextLoaded() failed", hr);
-				}
-			}
-		}
-	}
-}
-
-void STDMETHODCALLTYPE IECrossfireBHO::OnNavigateComplete2(IDispatch *pDisp, VARIANT *pvarURL) {
-	if (m_serverState != STATE_CONNECTED) {
-		return;
-	}
-
-	CComPtr<IUnknown> webBrowserIUnknown = NULL;
-	HRESULT hr = m_webBrowser->QueryInterface(IID_IUnknown, (void**)&webBrowserIUnknown);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.OnNavigateComplete2(): QI(IUnknown)[1] failed", hr);
-	} else {
-		CComPtr<IUnknown> pDispIUnknown = NULL;
-		hr = pDisp->QueryInterface(IID_IUnknown, (void**)&pDispIUnknown);
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.OnNavigateComplete2(): QI(IUnknown)[2] failed", hr);
-		} else {
-			if (webBrowserIUnknown == pDispIUnknown) {
-				/* this is the top-level page frame */
-				wchar_t* url = pvarURL->bstrVal;
-				wchar_t* hash = wcschr(url, wchar_t('#'));
-				if (!hash || !m_lastUrl || wcsncmp(url, m_lastUrl, hash - url) != 0) {
-					DWORD processId = GetCurrentProcessId();
-					HRESULT hr = m_server->contextCreated(processId, url);
-					if (FAILED(hr)) {
-						Logger::error("IECrossfireBHO.OnNavigateComplete2(): contextCreated() failed", hr);
-					}
-				}
-				if (m_lastUrl) {
-					free(m_lastUrl);
-				}
-				m_lastUrl = _wcsdup(url);
-			}
-		}
-	}
-}
-
-void STDMETHODCALLTYPE IECrossfireBHO::OnWindowStateChanged(LONG dwFlags, LONG dwValidFlagMask) {
-	m_isCurrentContext = (dwFlags == (OLECMDIDF_WINDOWSTATE_USERVISIBLE | OLECMDIDF_WINDOWSTATE_ENABLED));
-	if (!m_isCurrentContext || m_serverState != STATE_CONNECTED) {
-		return;
-	}
-
-	DWORD processId = GetCurrentProcessId();
-	HRESULT hr = m_server->setCurrentContext(processId);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.OnWindowStateChanged(): setCurrentContext() failed");
-		return;
-	}
-}
-
-/* IBrowserContext */
-
-STDMETHODIMP IECrossfireBHO::navigate(OLECHAR* url, boolean openNewTab) {
-	VARIANT variant_null;
-	variant_null.vt = VT_NULL;
-
-	VARIANT variant_url;
-	variant_url.vt = VT_BSTR;
-	variant_url.bstrVal = url;
-
-	VARIANT variant_flags;
-	if (openNewTab) {
-		variant_flags.vt = VT_I4;
-		variant_flags.intVal = navOpenInNewTab;
-	} else {
-		variant_flags = variant_null;
-	}
-
-	HRESULT hr = m_webBrowser->Navigate2(&variant_url, &variant_flags, &variant_null, &variant_null, &variant_null);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.navigate(): Navigate2() failed", hr);
-	}
-	return hr;
-}
-
-/* IObjectWithSite */
-
-STDMETHODIMP IECrossfireBHO::GetSite(REFIID riid, LPVOID *ppvReturn) {
-    *ppvReturn = NULL;
-	if (m_webBrowser) {
-        return m_webBrowser->QueryInterface(riid, ppvReturn);
-	}
-    return E_FAIL;
-}
-
-STDMETHODIMP IECrossfireBHO::SetSite(IUnknown* pUnkSite) {
-	HRESULT hr = S_OK;
-	if (pUnkSite) {
-		if (m_webBrowser) {
-			m_webBrowser->Release();
-			m_webBrowser = NULL;
-		}
-		hr = pUnkSite->QueryInterface(IID_IWebBrowser2, (void**)&m_webBrowser);
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.SetSite(): QI(IWebBrowser2) failed", hr);
-		} else {
-			hr = DispEventAdvise(m_webBrowser);
-			if (FAILED(hr)) {
-				Logger::error("IECrossfireBHO.SetSite(): DispEventAdvise() failed", hr);
-			}
-		}
-		initServer(false);
-	} else {
-		if (m_eventsHooked) {
-			HRESULT hr = DispEventUnadvise(m_webBrowser);
-			if (SUCCEEDED(hr)) {
-				m_eventsHooked = false;
-			} else {
-				Logger::error("IECrossfireBHO.SetSite(): DispEventUnadvise() failed", hr);
-			}
-		}
-		m_webBrowser->Release();
-		m_webBrowser = NULL;
-	}
-
-	//return IObjectWithSiteImpl<IECrossfireBHO>::SetSite(pUnkSite);
-	return hr;
-}
-
-/* IECrossfireBHO */
-
-bool IECrossfireBHO::displayHTML(wchar_t* htmlText) {
-	VARIANT variant;
-	variant.vt = VT_NULL;
-	CComBSTR bstr(ABOUT_BLANK);
-	HRESULT hr = m_webBrowser->Navigate(bstr, &variant, &variant, &variant, &variant);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.displayHTML(): Navigate failed", hr);
-		return false;
-	}
-	m_htmlToDisplay = _wcsdup(htmlText);
-	return true;
-}
-
-//int IECrossfireBHO::getServerState() {
-//	initServer(false);
-//	if (!m_server) {
-//		return STATE_DISCONNECTED;
-//	}
-//
-//	int state;
-//	HRESULT hr = m_server->getState(&state);
-//	if (FAILED(hr)) {
-//		return STATE_DISCONNECTED;
-//	}
-//
-//	return state;
-//}
-
-bool IECrossfireBHO::initServer(bool startIfNeeded) {
-	if (m_server) {
-		return true;
-	}
-	if (!startIfNeeded && !FindWindow(ServerWindowClass, NULL)) {
-		return false;
-	}
-
-	/* the following is intentionally commented */
-
-//	CComPtr<IDispatch> dispatch = NULL;
-//	long applicationHwnd = 0;
-//	HRESULT hr = m_webBrowser->get_Application(&dispatch);
-//	if (SUCCEEDED(hr)) {
-//		DISPID dispId;
-//		CComBSTR name("HWND");
-//		hr = dispatch->GetIDsOfNames(IID_NULL, &name, 1, LOCALE_SYSTEM_DEFAULT, &dispId);
-//		if (SUCCEEDED(hr)) {
-//			DISPPARAMS params;
-//			memset(&params, 0, sizeof(DISPPARAMS));
-//			VARIANT variant;
-//			hr = dispatch->Invoke(dispId, IID_NULL, LOCALE_SYSTEM_DEFAULT, DISPATCH_PROPERTYGET, &params, &variant, NULL, NULL);
-//			if (SUCCEEDED(hr)) {
-//				applicationHwnd = variant.lVal;
-//			}
-//		}
-//	}
-//	if (!applicationHwnd) {
-//		Logger::error("IECrossfireBHO.initServer(): failed to get the application HWND", hr);
-//		return false;
-//	}
-
-	CComPtr<ICrossfireServerClass> serverClass = NULL;
-	HRESULT hr = CoGetClassObject(CLSID_CrossfireServer, CLSCTX_ALL, 0, IID_ICrossfireServerClass, (LPVOID*)&serverClass);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.initServer(): CoGetClassObject() failed", hr);
-		return false;
-	}
-
-	hr = serverClass->GetServer(/*applicationHwnd,*/ &m_server);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.initServer(): GetController() failed", hr);
-		return false;
-	}
-
-	hr = m_server->getState(&m_serverState);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.initServer(): getState() failed", hr);
-	}
-
-	if (m_serverState == STATE_CONNECTED) {
-		hr = m_server->registerBrowser(GetCurrentProcessId(), this);
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.initServer(): registerBrowser() failed", hr);
-			/* continue */
-		}
-	}
-
-	return true;
-}
-
-void IECrossfireBHO::onServerStateChanged(WPARAM wParam, LPARAM lParam) {
-	m_serverState = wParam;
-	initServer(false);
-
-	/* If a connection was just established then create a context on the server for the current page */
-
-	if (m_serverState != STATE_CONNECTED) {
-		return;
-	}
-	
-	HRESULT hr = m_server->registerBrowser(GetCurrentProcessId(), this);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.onServerStateChanged(): registerBrowser() failed", hr);
-		/* continue */
-	}
-
-	CComBSTR url = NULL;
-	hr = m_webBrowser->get_LocationURL(&url);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.onServerStateChanged(): get_LocationURL() failed", hr);
-		return;
-	}
-
-	DWORD processId = GetCurrentProcessId();
-	hr = m_server->contextCreated(processId, url);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.onServerStateChanged(): contextCreated() failed", hr);
-		return;
-	}
-
-	if (m_isCurrentContext) {
-		hr = m_server->setCurrentContext(processId);
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.onServerStateChanged(): setCurrentContext() failed", hr);
-		}
-	}
-
-	/*
-	 * If the current page is fully-loaded then inform the server.  If the current
-	 * page is still loading then the server will be notified of its completion
-	 * from the usual OnDocumentComplete listener.
-	 */
-	VARIANT_BOOL busy;
-	hr = m_webBrowser->get_Busy(&busy);
-	if (SUCCEEDED(hr) && !busy) {
-		hr = m_server->contextLoaded(processId);
-		if (FAILED(hr)) {
-			Logger::error("IECrossfireBHO.onServerStateChanged(): contextLoaded() failed", hr);
-			return;
-		}
-	}
-}
-
-bool IECrossfireBHO::startDebugging(unsigned int port) {
-	HKEY key;
-	HRESULT hr = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Internet Explorer\\Main", 0, KEY_READ, &key);
-	if (SUCCEEDED(hr)) {
-		wchar_t value[9];
-		DWORD size = sizeof(value);
-		hr = RegQueryValueEx(key, PREFERENCE_DISABLEIEDEBUG, NULL, NULL, (LPBYTE)value, &size);
-		if (SUCCEEDED(hr) && wcscmp(value, L"no") != 0) {
-			MessageBox(NULL, L"Internet Explorer Option \"Disable Script Debugging (Internet Explorer)\" must be unchecked for remote debugging to work.  Crossfire server has not been started.", L"Crossfire Server Startup Error", 0);
-			return false;
-		}
-	}
-	if (FAILED(hr)) {
-		Logger::error("Failed to access the DisableScriptDebuggerIE registry setting", hr);
-	}
-
-	if (!initServer(true) || m_serverState != STATE_DISCONNECTED) {
-		return false;
-	}
-
-	hr = m_server->start(port, 54124 /* debug port */);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireBHO.startDebugging(): start() failed");
-		return false;
-	}
-
-	return true;
-}
-
-LRESULT CALLBACK IECrossfireBHO::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
-	if (message == ServerStateChangeMsg) {
-		IECrossfireBHO *pThis = (IECrossfireBHO*)GetWindowLongPtr(hWnd, GWL_USERDATA);
-		if (!pThis) {
-			Logger::error("IECrossfireBHO.WndProc(): GetWindowLongPtr() failed");
-		} else {
-			pThis->onServerStateChanged(wParam, lParam);
-		}
-		return 0;
-	}
-	return DefWindowProc(hWnd, message, wParam, lParam);
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.h
deleted file mode 100644
index 22bf06f..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "resource.h"
-#include "activdbg.h"
-#include <exdispid.h>
-#include <shlguid.h>
-#include <string>
-
-#include "IECrossfireExtension.h"
-#include "Logger.h"
-
-enum {
-	STATE_DISCONNECTED,
-	STATE_LISTENING,
-	STATE_CONNECTED,
-};
-
-class ATL_NO_VTABLE IECrossfireBHO :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<IECrossfireBHO, &CLSID_IECrossfireBHO>,
-	public IObjectWithSiteImpl<IECrossfireBHO>,
-	public IIECrossfireBHO,
-	public IBrowserContext,
-	public IDispEventImpl<1, IECrossfireBHO, &DIID_DWebBrowserEvents2, &LIBID_SHDocVw, 1, 1> {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_IECrossfireBHO)
-	DECLARE_NOT_AGGREGATABLE(IECrossfireBHO)
-	BEGIN_COM_MAP(IECrossfireBHO)
-		COM_INTERFACE_ENTRY(IIECrossfireBHO)
-		COM_INTERFACE_ENTRY(IBrowserContext)
-		COM_INTERFACE_ENTRY(IObjectWithSite)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	IECrossfireBHO();
-	~IECrossfireBHO();
-
-	/* DWebBrowserEvents2 */
-	BEGIN_SINK_MAP(IECrossfireBHO)
-		SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_BEFORENAVIGATE2, OnBeforeNavigate2)
-		SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_DOCUMENTCOMPLETE, OnDocumentComplete)
-		SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_NAVIGATECOMPLETE2, OnNavigateComplete2)
-		SINK_ENTRY_EX(1, DIID_DWebBrowserEvents2, DISPID_WINDOWSTATECHANGED, OnWindowStateChanged)
-	END_SINK_MAP()
-    void STDMETHODCALLTYPE OnBeforeNavigate2(IDispatch* pDisp, VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers, VARIANT_BOOL* Cancel);
-	void STDMETHODCALLTYPE OnDocumentComplete(IDispatch* pDisp, VARIANT* URL);
-	void STDMETHODCALLTYPE OnNavigateComplete2(IDispatch* pDisp, VARIANT* URL);
-	void STDMETHODCALLTYPE OnWindowStateChanged(LONG dwFlags, LONG dwValidFlagMask);
-
-	/* IBrowserContext */
-	virtual HRESULT STDMETHODCALLTYPE navigate(OLECHAR* url, boolean openNewTab);
-
-	/* IObjectWithSite */
-	virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, LPVOID *ppvReturn);
-	virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite);
-
-private:
-	virtual bool displayHTML(wchar_t* htmlText);
-//	virtual int getServerState();
-	virtual bool initServer(bool startIfNeeded);
-	virtual void onServerStateChanged(WPARAM wParam, LPARAM lParam);
-	bool startDebugging(unsigned int port);
-
-	bool m_eventsHooked;
-	bool m_firstNavigate;
-	wchar_t* m_htmlToDisplay;
-	bool m_isCurrentContext;
-	wchar_t* m_lastUrl;
-	HWND m_messageWindow;
-	ICrossfireServer* m_server;
-	int m_serverState;
-	IWebBrowser2* m_webBrowser;
-
-	static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
-	/* constants */
-	static const UINT ServerStateChangeMsg;
-	static const wchar_t* ServerWindowClass;
-	static const wchar_t* WindowClass;
-
-	static const wchar_t* ABOUT_BLANK;
-	static const wchar_t* DEBUG_START;
-	static const wchar_t* PREFERENCE_DISABLEIEDEBUG;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(IECrossfireBHO), IECrossfireBHO)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.rgs
deleted file mode 100644
index 2a35f51..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireBHO.rgs
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR {
-	IECrossfireExtension.IECrossfireBHO.1 = s 'IECrossfireBHO Class' {
-		CLSID = s '{E8779887-5AF1-4071-B4D4-6135157F142C}'
-	}
-	IECrossfireExtension.IECrossfireBHO = s 'IECrossfireBHO Class' {
-		CLSID = s '{E8779887-5AF1-4071-B4D4-6135157F142C}'
-		CurVer = s 'IECrossfireExtension.IECrossfireBHO.1'
-	}
-	NoRemove CLSID {
-		ForceRemove {E8779887-5AF1-4071-B4D4-6135157F142C} = s 'IECrossfireBHO Class' {
-			ProgID = s 'IECrossfireExtension.IECrossfireBHO.1'
-			VersionIndependentProgID = s 'IECrossfireExtension.IECrossfireBHO'
-			ForceRemove 'Programmable'
-			InprocServer32 = s '%MODULE%' {
-				val ThreadingModel = s 'Apartment'
-			}
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{3FE86E35-0025-45C7-A841-E10AFE660A7F}'
-		}
-	}
-}
-
-HKLM {
-  NoRemove SOFTWARE {
-    NoRemove Microsoft {   
-      NoRemove Windows {
-        NoRemove CurrentVersion {
-          NoRemove Explorer {
-            NoRemove 'Browser Helper Objects' {
-              ForceRemove '{E8779887-5AF1-4071-B4D4-6135157F142C}' = s 'IECrossfireBHO Class' {
-                val 'NoExplorer' = d '1'
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.cpp
deleted file mode 100644
index fd4cd02..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "resource.h"
-
-#include "IECrossfireExtension.h"
-#include "Logger.h"
-
-class CIECrossfireExtensionModule : public CAtlDllModuleT<CIECrossfireExtensionModule> {
-public :
-	DECLARE_LIBID(LIBID_IECrossfireExtensionLib)
-	DECLARE_REGISTRY_APPID_RESOURCEID(IDR_IECrossfireExtension, "{95F1ADFB-5440-462c-BAA3-9C068F1B1450}")
-};
-
-CIECrossfireExtensionModule _AtlModule;
-
-#ifdef _MANAGED
-#pragma managed(push, off)
-#endif
-
-extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) {
-	if (dwReason == DLL_PROCESS_ATTACH) {
-        DisableThreadLibraryCalls(hInstance);
-    }
-    return _AtlModule.DllMain(dwReason, lpReserved);
-}
-
-#ifdef _MANAGED
-#pragma managed(pop)
-#endif
-
-STDAPI DllCanUnloadNow() {
-    return _AtlModule.DllCanUnloadNow();
-}
-
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) {
-    return _AtlModule.DllGetClassObject(rclsid, riid, ppv);
-}
-
-STDAPI DllRegisterServer(void) {
-    return _AtlModule.DllRegisterServer();
-}
-
-STDAPI DllUnregisterServer(void) {
-	return _AtlModule.DllUnregisterServer();
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.def b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.def
deleted file mode 100644
index 8223fd8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.def
+++ /dev/null
@@ -1,21 +0,0 @@
-; *******************************************************************************
-; * Copyright (c) 2011 IBM Corporation and others.
-; * All rights reserved. This program and the accompanying materials
-; * are made available under the terms of the Eclipse Public License v1.0
-; * which accompanies this distribution, and is available at
-; * http://www.eclipse.org/legal/epl-v10.html
-; *
-; * Contributors:
-; *     IBM Corporation - initial API and implementation
-; *******************************************************************************
-
-
-; IECrossfireExtension.def : Declares the module parameters.
-
-LIBRARY      "IECrossfireExtension.DLL"
-
-EXPORTS
-	DllCanUnloadNow		PRIVATE
-	DllGetClassObject	PRIVATE
-	DllRegisterServer	PRIVATE
-	DllUnregisterServer	PRIVATE
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.idl b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.idl
deleted file mode 100644
index bef721a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.idl
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-import "oaidl.idl";
-import "ocidl.idl";
-
-[
-	object,
-	uuid(201244D7-94C6-4fb0-9948-2634523A475B),
-	oleautomation,
-	nonextensible,
-	helpstring("IIECrossfireBHO Interface"),
-	pointer_default(unique)
-]
-interface IIECrossfireBHO : IUnknown {
-};
-[
-	object,
-	uuid(E4121804-5350-4DDD-BE57-9C5B2A13EA29),
-	oleautomation,
-	dual,
-	nonextensible,
-	helpstring("IBrowserContext Interface"),
-	pointer_default(unique)
-]
-interface IBrowserContext : IUnknown {
-	HRESULT navigate([in, string] OLECHAR* url, [in] boolean openNewTab);
-};
-[
-	object,
-	uuid(031DB015-B1BE-4D39-84D2-D7F96D2ACBFE),
-	oleautomation,
-	dual,
-	nonextensible,
-	helpstring("ICrossfireServer Interface"),
-	pointer_default(unique)
-]
-interface ICrossfireServer : IDispatch {
-	HRESULT contextCreated([in] DWORD processId, [in, string] OLECHAR* url);
-	HRESULT contextDestroyed([in] DWORD processId);
-	HRESULT contextLoaded([in] DWORD processId);
-	HRESULT getPort([out] unsigned int* value);
-	HRESULT getState([out] int* value);
-	HRESULT registerBrowser([in] DWORD processId, [in] IBrowserContext* browser);
-	HRESULT removeBrowser([in] DWORD processId);
-	HRESULT setCurrentContext([in] DWORD processId);
-	HRESULT start([in] unsigned int port, [in] unsigned int debugPort);
-	HRESULT stop();
-};
-[
-	object,
-	uuid(F48260BB-C061-4410-9CE1-4C5C7602690E),
-	oleautomation,
-	dual,
-	nonextensible,
-	helpstring("ICrossfireServerClass Interface"),
-	pointer_default(unique)
-]
-interface ICrossfireServerClass : IDispatch {
-//	HRESULT GetServer([in] unsigned long windowHandle, [out, retval] ICrossfireServer** _value);
-	HRESULT GetServer([out, retval] ICrossfireServer** _value);
-	HRESULT RemoveServer([in] unsigned long windowHandle);
-};
-[
-	object,
-	uuid(72BA7A37-6D18-439D-8A42-5F6A4F2CD3C3),
-	dual,
-	nonextensible,
-	helpstring("IExplorerBar Interface"),
-	pointer_default(unique)
-]
-interface IExplorerBar : IDispatch {
-};
-[
-	uuid(A8FFC284-CE2C-40B5-98D1-D3112811E9D9),
-	version(1.0),
-	helpstring("IECrossfireExtension 1.0 Type Library")
-]
-library IECrossfireExtensionLib
-{
-	importlib("stdole2.tlb");
-	[
-		uuid(E8779887-5AF1-4071-B4D4-6135157F142C),
-		helpstring("IECrossfireBHO Class")
-	]
-	coclass IECrossfireBHO
-	{
-		[default] interface IIECrossfireBHO;
-	};
-	[
-		uuid(34EF57F8-9295-483E-B656-4EE154B0B3A5),
-		helpstring("ExplorerBar Class")
-	]
-	coclass ExplorerBar
-	{
-		[default] interface IExplorerBar;
-		interface IBrowserContext;
-	};
-	[
-		uuid(47836AF4-3E0C-4995-8029-FF931C5A43FC),
-		helpstring("CrossfireServer Class")
-	]
-	coclass CrossfireServer
-	{
-		[default] interface ICrossfireServer;
-	};
-	[
-		uuid(7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25),
-		helpstring("CrossfireServerClass Class")
-	]
-	coclass CrossfireServerClass
-	{
-		[default] interface ICrossfireServerClass;
-	};
-	[
-		uuid(2FA65B09-5063-45FA-91F9-50EB7F4AF2C6),
-		helpstring("BrowserContext Class")
-	]
-	coclass BrowserContext
-	{
-		[default] interface IBrowserContext;
-	};
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.rc b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.rc
deleted file mode 100644
index 30afa0e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.rc
+++ /dev/null
@@ -1,82 +0,0 @@
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-#include "winres.h"
-#undef APSTUDIO_READONLY_SYMBOLS
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""winres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "1 TYPELIB ""IECrossfireExtension.tlb""\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904e4"
-        BEGIN
-            VALUE "CompanyName", "Eclipse Foundation"
-            VALUE "FileDescription", "IE Crossfire BHO"
-            VALUE "FileVersion", "1.0.0.0"
-            VALUE "LegalCopyright", "Copyright (c) 2011 IBM Corp.  All Rights Reserved."
-            VALUE "InternalName", "IECrossfireExtension"
-            VALUE "OriginalFilename", "IECrossfireExtension.dll"
-            VALUE "ProductName", "IE Crossfire Server"
-            VALUE "ProductVersion", "0,0,0,0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1252
-    END
-END
-
-IDR_IECrossfireExtension REGISTRY                "IECrossfireExtension.rgs"
-IDR_IECrossfireBHO      REGISTRY                "IECrossfireBHO.rgs"
-IDR_EXPLORERBAR         REGISTRY                "ExplorerBar.rgs"
-
-STRINGTABLE 
-BEGIN
-    IDS_PROJNAME            "IECrossfireExtension"
-END
-
-#endif    // English resources
-
-#ifndef APSTUDIO_INVOKED
-1 TYPELIB "IECrossfireExtension.tlb"
-
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.rgs
deleted file mode 100644
index 15f8a8d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.rgs
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR {
-	NoRemove AppID {
-		'%APPID%' = s 'IECrossfireExtension'
-		'IECrossfireExtension.DLL' {
-			val AppID = s '%APPID%'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcproj
deleted file mode 100644
index d19d83d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcproj
+++ /dev/null
@@ -1,349 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="IECrossfireExtension"
-	ProjectGUID="{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}"
-	RootNamespace="IECrossfireExtension"
-	Keyword="AtlProj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			UseOfATL="2"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="false"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName="$(IntDir)/IECrossfireExtension.tlb"
-				HeaderFileName="IECrossfireExtension.h"
-				DLLDataFileName=""
-				InterfaceIdentifierFileName="IECrossfireExtension_i.c"
-				ProxyFileName="IECrossfireExtension_p.c"
-				ValidateParameters="false"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL"
-				GeneratePreprocessedFile="0"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-				ResourceOutputFileName="$(IntDir)/$(InputName).res"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				IgnoreImportLibrary="true"
-				AdditionalDependencies="WS2_32.lib"
-				LinkIncremental="2"
-				ModuleDefinitionFile=".\IECrossfireExtension.def"
-				GenerateDebugInformation="true"
-				SubSystem="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>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			UseOfATL="2"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				AdditionalIncludeDirectories="../IECrossfireServer"
-				MkTypLibCompatible="false"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName="$(IntDir)/IECrossfireExtension.tlb"
-				HeaderFileName="IECrossfireExtension.h"
-				DLLDataFileName=""
-				InterfaceIdentifierFileName="IECrossfireExtension_i.c"
-				ProxyFileName="IECrossfireExtension_p.c"
-				ValidateParameters="false"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				IgnoreImportLibrary="true"
-				AdditionalDependencies="WS2_32.lib"
-				LinkIncremental="1"
-				AdditionalLibraryDirectories=""
-				ModuleDefinitionFile=".\IECrossfireExtension.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				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=".\ExplorerBar.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireBHO.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension.def"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension.idl"
-				>
-			</File>
-			<File
-				RelativePath=".\Logger.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\stdafx.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\activdbg.h"
-				>
-			</File>
-			<File
-				RelativePath=".\ExplorerBar.h"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireBHO.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Logger.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Resource.h"
-				>
-			</File>
-			<File
-				RelativePath=".\stdafx.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}"
-			>
-			<File
-				RelativePath=".\ExplorerBar.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireBHO.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension.rc"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension.rgs"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Generated Files"
-			SourceControlFiles="false"
-			>
-			<File
-				RelativePath=".\IECrossfireExtension.h"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension_i.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="0"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="0"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcxproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcxproj
deleted file mode 100644
index d461120..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcxproj
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}</ProjectGuid>
-    <RootNamespace>IECrossfireExtension</RootNamespace>
-    <Keyword>AtlProj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfAtl>Dynamic</UseOfAtl>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfAtl>Dynamic</UseOfAtl>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
-    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IgnoreImportLibrary>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
-    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IgnoreImportLibrary>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>false</MkTypLibCompatible>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <GenerateStublessProxies>true</GenerateStublessProxies>
-      <TypeLibraryName>$(IntDir)IECrossfireExtension.tlb</TypeLibraryName>
-      <HeaderFileName>IECrossfireExtension.h</HeaderFileName>
-      <DllDataFileName>
-      </DllDataFileName>
-      <InterfaceIdentifierFileName>IECrossfireExtension_i.c</InterfaceIdentifierFileName>
-      <ProxyFileName>IECrossfireExtension_p.c</ProxyFileName>
-      <ValidateAllParameters>false</ValidateAllParameters>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <PreprocessToFile>false</PreprocessToFile>
-      <PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>Use</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <ResourceOutputFileName>$(IntDir)%(Filename).res</ResourceOutputFileName>
-    </ResourceCompile>
-    <Link>
-      <RegisterOutput>false</RegisterOutput>
-      <AdditionalDependencies>WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ModuleDefinitionFile>.\IECrossfireExtension.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-      <PerUserRedirection>false</PerUserRedirection>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>../IECrossfireServer;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <MkTypLibCompatible>false</MkTypLibCompatible>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <GenerateStublessProxies>true</GenerateStublessProxies>
-      <TypeLibraryName>$(IntDir)IECrossfireExtension.tlb</TypeLibraryName>
-      <HeaderFileName>IECrossfireExtension.h</HeaderFileName>
-      <DllDataFileName>
-      </DllDataFileName>
-      <InterfaceIdentifierFileName>IECrossfireExtension_i.c</InterfaceIdentifierFileName>
-      <ProxyFileName>IECrossfireExtension_p.c</ProxyFileName>
-      <ValidateAllParameters>false</ValidateAllParameters>
-    </Midl>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>Use</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
-    <Link>
-      <RegisterOutput>false</RegisterOutput>
-      <AdditionalDependencies>WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <ModuleDefinitionFile>.\IECrossfireExtension.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="ExplorerBar.cpp" />
-    <ClCompile Include="IECrossfireBHO.cpp" />
-    <ClCompile Include="IECrossfireExtension.cpp" />
-    <ClCompile Include="Logger.cpp" />
-    <ClCompile Include="stdafx.cpp">
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
-    </ClCompile>
-    <ClCompile Include="IECrossfireExtension_i.c">
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-      </PrecompiledHeader>
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-      </PrecompiledHeader>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="IECrossfireExtension.def" />
-    <None Include="ExplorerBar.rgs" />
-    <None Include="IECrossfireBHO.rgs" />
-    <None Include="IECrossfireExtension.rgs" />
-  </ItemGroup>
-  <ItemGroup>
-    <Midl Include="IECrossfireExtension.idl" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="ExplorerBar.h" />
-    <ClInclude Include="IECrossfireBHO.h" />
-    <ClInclude Include="Logger.h" />
-    <ClInclude Include="Resource.h" />
-    <ClInclude Include="stdafx.h" />
-    <ClInclude Include="IECrossfireExtension.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="IECrossfireExtension.rc" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\IECrossfireServer\IECrossfireServer.vcxproj">
-      <Project>{2b73b89a-a1b4-479b-8751-a25b9036a9af}</Project>
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcxproj.filters b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcxproj.filters
deleted file mode 100644
index de22db8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtension.vcxproj.filters
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-    <Filter Include="Generated Files">
-      <UniqueIdentifier>{f94dfd73-783e-4c8a-aa63-523c439797c8}</UniqueIdentifier>
-      <SourceControlFiles>False</SourceControlFiles>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="ExplorerBar.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireBHO.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireExtension.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Logger.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="stdafx.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireExtension_i.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="IECrossfireExtension.def">
-      <Filter>Source Files</Filter>
-    </None>
-    <None Include="ExplorerBar.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="IECrossfireBHO.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="IECrossfireExtension.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <Midl Include="IECrossfireExtension.idl">
-      <Filter>Source Files</Filter>
-    </Midl>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="ExplorerBar.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="IECrossfireBHO.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Logger.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Resource.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="stdafx.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="IECrossfireExtension.h">
-      <Filter>Generated Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="IECrossfireExtension.rc">
-      <Filter>Resource Files</Filter>
-    </ResourceCompile>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcproj
deleted file mode 100644
index 718720b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcproj
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="IECrossfireExtensionPS"
-	ProjectGUID="{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}"
-	RootNamespace="IECrossfireExtensionPS"
-	Keyword="AtlPSProj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)PS"
-			IntermediateDirectory="$(ConfigurationName)PS"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				Description="Checking for required files"
-				CommandLine="if exist dlldata.c goto :END&#x0D;&#x0A;echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.&#x0D;&#x0A;Exit 1&#x0D;&#x0A;:END&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;_DEBUG"
-				RuntimeLibrary="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib"
-				ModuleDefinitionFile="IECrossfireExtensionPS.def"
-			/>
-			<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="$(ConfigurationName)PS"
-			IntermediateDirectory="$(ConfigurationName)PS"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				Description="Checking for required files"
-				CommandLine="if exist dlldata.c goto :END&#x0D;&#x0A;echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.&#x0D;&#x0A;Exit 1&#x0D;&#x0A;:END&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;NDEBUG"
-				RuntimeLibrary="2"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib"
-				ModuleDefinitionFile="IECrossfireExtensionPS.def"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-			/>
-			<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>
-		<Filter
-			Name="Generated Files"
-			SourceControlFiles="false"
-			>
-			<File
-				RelativePath=".\dlldata.c"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension_i.c"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireExtension_p.c"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\IECrossfireExtensionps.def"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcxproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcxproj
deleted file mode 100644
index 0dd0ffc..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcxproj
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}</ProjectGuid>
-    <RootNamespace>IECrossfireExtensionPS</RootNamespace>
-    <Keyword>AtlPSProj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)PS\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)PS\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)PS\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)PS\</IntDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <PreBuildEvent>
-      <Message>Checking for required files</Message>
-      <Command>if exist dlldata.c goto :END
-echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
-Exit 1
-:END
-</Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <RegisterOutput>false</RegisterOutput>
-      <AdditionalDependencies>kernel32.lib;rpcns4.lib;rpcrt4.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ModuleDefinitionFile>IECrossfireExtensionPS.def</ModuleDefinitionFile>
-      <PerUserRedirection>false</PerUserRedirection>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <PreBuildEvent>
-      <Message>Checking for required files</Message>
-      <Command>if exist dlldata.c goto :END
-echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
-Exit 1
-:END
-</Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <RegisterOutput>true</RegisterOutput>
-      <AdditionalDependencies>kernel32.lib;rpcns4.lib;rpcrt4.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ModuleDefinitionFile>IECrossfireExtensionPS.def</ModuleDefinitionFile>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="dlldata.c" />
-    <ClCompile Include="IECrossfireExtension_i.c" />
-    <ClCompile Include="IECrossfireExtension_p.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="IECrossfireExtensionps.def" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcxproj.filters b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcxproj.filters
deleted file mode 100644
index c290ab1..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionPS.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{8c662bde-04de-4e36-85cf-0eeea9dc6815}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Generated Files">
-      <UniqueIdentifier>{88203c36-b0b0-4b57-a438-b90a8cd30c04}</UniqueIdentifier>
-      <SourceControlFiles>False</SourceControlFiles>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="dlldata.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireExtension_i.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireExtension_p.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="IECrossfireExtensionps.def" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionps.def b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionps.def
deleted file mode 100644
index 93084e3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/IECrossfireExtensionps.def
+++ /dev/null
@@ -1,20 +0,0 @@
-; *******************************************************************************
-; * Copyright (c) 2011 IBM Corporation and others.
-; * All rights reserved. This program and the accompanying materials
-; * are made available under the terms of the Eclipse Public License v1.0
-; * which accompanies this distribution, and is available at
-; * http://www.eclipse.org/legal/epl-v10.html
-; *
-; * Contributors:
-; *     IBM Corporation - initial API and implementation
-; *******************************************************************************
-
-
-LIBRARY      "IECrossfireExtensionPS"
-
-EXPORTS
-	DllGetClassObject       PRIVATE
-	DllCanUnloadNow         PRIVATE
-	GetProxyDllInfo         PRIVATE
-	DllRegisterServer		PRIVATE
-	DllUnregisterServer		PRIVATE
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/Logger.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/Logger.cpp
deleted file mode 100644
index 86a897e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/Logger.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "Logger.h"
-
-/* initialize constants */
-const char* Logger::PREAMBLE_LOG = "LOG::";
-const char* Logger::PREAMBLE_ERROR = "ERROR::";
-
-Logger::Logger() {
-}
-
-Logger::~Logger() {
-}
-
-void Logger::error(char* message) {
-	int length = strlen(PREAMBLE_ERROR) + strlen(message) + 1;
-	char* sendString = new char[length];
-	strcpy_s(sendString, length, PREAMBLE_ERROR);
-	strcat_s(sendString, length, message);
-	send(sendString);
-	delete[] sendString;
-}
-
-void Logger::error(char* message, int errorCode) {
-	std::string result;
-	std::stringstream stringStream;
-	stringStream << message;
-	stringStream << ": ";
-	stringStream << errorCode;
-	result.assign(stringStream.str());
-	error((char *)result.c_str());
-}
-
-void Logger::log(char* message) {
-	int length = strlen(PREAMBLE_LOG) + strlen(message) + 1;
-	char* sendString = new char[length];
-	strcpy_s(sendString, length, PREAMBLE_LOG);
-	strcat_s(sendString, length, message);
-	send(sendString);
-	delete[] sendString;
-}
-
-void Logger::log(wchar_t* message) {
-	size_t newSize = 0;
-	wcstombs_s(&newSize, NULL, 0, message, 0);
-    char* chars = new char[newSize];
-    wcstombs_s(&newSize, chars, newSize, message, newSize);
-	log(chars);
-	delete[] chars;
-}
-
-void Logger::log(std::wstring* message) {
-	log((wchar_t*)message->c_str());
-}
-
-void Logger::send(char* message) {
-	SOCKET sock;
-	struct sockaddr_in server_addr;
-	struct hostent *host;
-	host = (struct hostent *)gethostbyname((char *)"127.0.0.1");
-	if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
-		return;
-	}
-	server_addr.sin_family = AF_INET;
-	server_addr.sin_port = htons(54124 /* debug port */); // TODO
-	server_addr.sin_addr = *((struct in_addr *)host->h_addr);
-    sendto(sock, message, (int)strlen(message), 0, (struct sockaddr *)&server_addr, sizeof(sockaddr_in));
-	closesocket(sock);
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/Logger.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/Logger.h
deleted file mode 100644
index ed5e2bb..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/Logger.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <sstream>
-#include <winsock2.h>
-
-class Logger {
-public:
-	static void error(char* message);
-	static void error(char* message, int errorCode);
-	static void log(char* message);
-	static void log(wchar_t* message);
-	static void log(std::wstring* message);
-
-protected:
-	Logger();
-	~Logger();
-
-private:
-	static void send(char* message);
-
-	/* constants */
-	static const char* PREAMBLE_ERROR;
-	static const char* PREAMBLE_LOG;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/resource.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/resource.h
deleted file mode 100644
index 20430e3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/resource.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by IECrossfireExtension.rc
-//
-#define IDS_PROJNAME                    100
-#define IDR_IECrossfireExtension        101
-#define IDR_IECrossfireBHO              102
-#define IDR_EXPLORERBAR                 112
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        218
-#define _APS_NEXT_COMMAND_VALUE         32768
-#define _APS_NEXT_CONTROL_VALUE         201
-#define _APS_NEXT_SYMED_VALUE           114
-#endif
-#endif
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.cpp
deleted file mode 100644
index 48c2ce4..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-// stdafx.cpp : source file that includes just the standard includes
-// IECrossfireExtension.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.h
deleted file mode 100644
index bfd1557..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently,
-// but are changed infrequently
-
-#pragma once
-
-#ifndef STRICT
-#define STRICT
-#endif
-
-// Modify the following defines if you have to target a platform prior to the ones specified below.
-// Refer to MSDN for the latest info on corresponding values for different platforms.
-#ifndef WINVER				// Allow use of features specific to Windows XP or later.
-#define WINVER 0x0501		// Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINNT		// Allow use of features specific to Windows XP or later.                   
-#define _WIN32_WINNT 0x0501	// Change this to the appropriate value to target other versions of Windows.
-#endif						
-
-#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
-#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
-#endif
-
-#ifndef _WIN32_IE			// Allow use of features specific to IE 6.0 or later.
-#define _WIN32_IE 0x0600	// Change this to the appropriate value to target other versions of IE.
-#endif
-
-#define _ATL_APARTMENT_THREADED
-#define _ATL_NO_AUTOMATIC_NAMESPACE
-
-#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit
-
-
-#include "resource.h"
-#include <atlbase.h>
-#include <atlcom.h>
-
-using namespace ATL;
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.i b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.i
deleted file mode 100644
index 72ee680..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireExtension/stdafx.i
+++ /dev/null
@@ -1,260876 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-#pragma warning(disable: 4505) 
-#pragma warning(disable: 4710) 
-#pragma warning(disable: 4514) 
-
-
-
-#pragma warning(disable: 4511) 
-#pragma warning(disable: 4512) 
-
-
-#pragma warning(disable: 4355) 
-
-
-
-
-#pragma warning(disable: 4702) 
-
-
-
-
-
-#pragma warning(disable : 4668)	
-#pragma warning(disable : 4820)	
-#pragma warning(disable : 4917)	
-
-#pragma warning(disable : 4217)	
-
-#pragma warning(disable: 4127) 
-#pragma warning(disable: 4097) 
-#pragma warning(disable: 4786) 
-#pragma warning(disable: 4291) 
-#pragma warning(disable: 4201) 
-#pragma warning(disable: 4103) 
-#pragma warning(disable: 4268) 
-
-#pragma warning (push)
-#pragma warning(disable: 4571) 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-#pragma warning(disable : 4619)	
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
-    
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma comment(linker,"/manifestdependency:\"type='win32' "            \
-        "name='" "Microsoft.VC80" ".DebugCRT' "         \
-        "version='" "8.0.50727.4053" "' "                          \
-        "processorArchitecture='x86' "                                  \
-        "publicKeyToken='" "1fc8b3b9a1e18e3b" "'\"")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __w64 unsigned int   uintptr_t;
-
-
-
-
-
-
-
-
-typedef char *  va_list;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-  
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-  
- 
-
-
-
-
-
-
-
- 
-  
-  
- 
-
-
-
-
-
-
-
- 
-  
-   
-  
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __w64 unsigned int   size_t;
-
-
-
-
-
-
-typedef size_t rsize_t;
-
-
-
-
-
-
-
-
-typedef __w64 int            intptr_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __w64 int            ptrdiff_t;
-
-
-
-
-
-
-
-
-
-
-typedef unsigned short wint_t;
-typedef unsigned short wctype_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(deprecated("This name was supported during some Whidbey pre-releases. Instead, use the standard name errno_t.")) typedef int errcode;
-
-
-
-
-typedef int errno_t;
-
-
-
-typedef __w64 long __time32_t;   
-
-
-
-
-
-typedef __int64 __time64_t;     
-
-
-
-
-
-
-
-
-typedef __time64_t time_t;      
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct threadlocaleinfostruct;
-struct threadmbcinfostruct;
-typedef struct threadlocaleinfostruct * pthreadlocinfo;
-typedef struct threadmbcinfostruct * pthreadmbcinfo;
-struct __lc_time_data;
-
-typedef struct localeinfo_struct
-{
-    pthreadlocinfo locinfo;
-    pthreadmbcinfo mbcinfo;
-} _locale_tstruct, *_locale_t;
-
-
-typedef struct tagLC_ID {
-        unsigned short wLanguage;
-        unsigned short wCountry;
-        unsigned short wCodePage;
-} LC_ID, *LPLC_ID;
-
-
-
-
-typedef struct threadlocaleinfostruct {
-        int refcount;
-        unsigned int lc_codepage;
-        unsigned int lc_collate_cp;
-        unsigned long lc_handle[6]; 
-        LC_ID lc_id[6];
-        struct {
-            char *locale;
-            wchar_t *wlocale;
-            int *refcount;
-            int *wrefcount;
-        } lc_category[6];
-        int lc_clike;
-        int mb_cur_max;
-        int * lconv_intl_refcount;
-        int * lconv_num_refcount;
-        int * lconv_mon_refcount;
-        struct lconv * lconv;
-        int * ctype1_refcount;
-        unsigned short * ctype1;
-        const unsigned short * pctype;
-        const unsigned char * pclmap;
-        const unsigned char * pcumap;
-        struct __lc_time_data * lc_time_curr;
-} threadlocinfo;
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-__declspec(dllimport) extern int * __cdecl _errno(void);
-
-
-errno_t __cdecl _set_errno(     int _Value);
-errno_t __cdecl _get_errno(     int * _Value);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-namespace Inconsistent_definition_of_symbol__ATL_MIXED
-{
-	struct _Please_define_it_the_same_throughout_your_project { };
-}
-
-
-
-
-
-
-
-
-
-
-
-namespace Inconsistent_definition_of_symbol__ATL_MIXED
-{
-	__declspec(selectany) _Please_define_it_the_same_throughout_your_project clash = _Please_define_it_the_same_throughout_your_project ();
-}
-
-
-namespace Define_the_symbol__ATL_MIXED
-{
-
-
-
-
-#pragma comment(linker, "/include:??3@YAXPAX@Z")
-
-
-
-	struct Thank_you { virtual void one(){} };
-
-	__declspec(selectany) Thank_you clash = Thank_you();
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C++"
-{
-template <typename _CountofType, size_t _SizeOfArray>
-char (*__countof_helper( _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray];
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	
-	
-	
-	
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _heapinfo {
-        int * _pentry;
-        size_t _size;
-        int _useflag;
-        } _HEAPINFO;
-
-
-
-
-
-
-extern __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_amblksiz" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) unsigned int _amblksiz;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)   __declspec(noalias) __declspec(restrict)         void * __cdecl calloc(     size_t _NumOfElements,      size_t _SizeOfElements);
-__declspec(dllimport)                     __declspec(noalias)                                                                             void   __cdecl free(       void * _Memory);
-__declspec(dllimport)   __declspec(noalias) __declspec(restrict)                                   void * __cdecl malloc(     size_t _Size);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                                void * __cdecl realloc(       void * _Memory,      size_t _NewSize);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                            void * __cdecl _recalloc(       void * _Memory,      size_t _Count,      size_t _Size);
-__declspec(dllimport)                     __declspec(noalias)                                                                             void   __cdecl _aligned_free(       void * _Memory);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                                   void * __cdecl _aligned_malloc(     size_t _Size,      size_t _Alignment);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                                   void * __cdecl _aligned_offset_malloc(     size_t _Size,      size_t _Alignment,      size_t _Offset);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                                   void * __cdecl _aligned_realloc(       void * _Memory,      size_t _Size,      size_t _Alignment);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                            void * __cdecl _aligned_recalloc(       void * _Memory,      size_t _Count,      size_t _Size,      size_t _Alignment);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                                   void * __cdecl _aligned_offset_realloc(       void * _Memory,      size_t _Size,      size_t _Alignment,      size_t _Offset);
-__declspec(dllimport)                     __declspec(noalias) __declspec(restrict)                            void * __cdecl _aligned_offset_recalloc(       void * _Memory,      size_t _Count,      size_t _Size,      size_t _Alignment,      size_t _Offset);
-__declspec(dllimport)                                                                                                size_t __cdecl _aligned_msize(     void * _Memory,      size_t _Alignment,      size_t _Offset);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) int     __cdecl _resetstkoflw (void);
-
-
-
-__declspec(dllimport) unsigned long __cdecl _set_malloc_crt_max_wait(     unsigned long _NewValue);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)      void *  __cdecl _expand(     void * _Memory,      size_t _NewSize);
-__declspec(dllimport)  size_t  __cdecl _msize(     void * _Memory);
-
-
-
-
-
-
-   void *          __cdecl _alloca(     size_t _Size);
-__declspec(dllimport)  size_t  __cdecl _get_sbh_threshold(void);
-__declspec(dllimport) int     __cdecl _set_sbh_threshold(     size_t _NewValue);
-__declspec(dllimport) errno_t __cdecl _set_amblksiz(     size_t _Value);
-__declspec(dllimport) errno_t __cdecl _get_amblksiz(     size_t * _Value);
-__declspec(dllimport)  int     __cdecl _heapadd(     void * _Memory,      size_t _Size);
-__declspec(dllimport)  int     __cdecl _heapchk(void);
-__declspec(dllimport)  int     __cdecl _heapmin(void);
-__declspec(dllimport) int     __cdecl _heapset(     unsigned int _Fill);
-__declspec(dllimport)  int     __cdecl _heapwalk(     _HEAPINFO * _EntryInfo);
-__declspec(dllimport) size_t  __cdecl _heapused(size_t * _Used, size_t * _Commit);
-
-__declspec(dllimport) intptr_t __cdecl _get_heap_handle(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef char __static_assert_t[ (sizeof(unsigned int) <= 8) ];
-
-
-__inline void *_MarkAllocaS(        void *_Ptr, unsigned int _Marker)
-{
-    if (_Ptr)
-    {
-        *((unsigned int*)_Ptr) = _Marker;
-        _Ptr = (char*)_Ptr + 8;
-    }
-    return _Ptr;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(noalias) __inline void __cdecl _freea(       void * _Memory)
-{
-    unsigned int _Marker;
-    if (_Memory)
-    {
-        _Memory = (char*)_Memory - 8;
-        _Marker = *(unsigned int *)_Memory;
-        if (_Marker == 0xDDDD)
-        {
-            free(_Memory);
-        }
-
-
-
-
-
-
-    }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int (__cdecl * _onexit_t)(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _div_t {
-        int quot;
-        int rem;
-} div_t;
-
-typedef struct _ldiv_t {
-        long quot;
-        long rem;
-} ldiv_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(4)
-typedef struct {
-    unsigned char ld[10];
-} _LDOUBLE;
-#pragma pack()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-        double x;
-} _CRT_DOUBLE;
-
-typedef struct {
-    float f;
-} _CRT_FLOAT;
-
-
-
-
-
-typedef struct {
-        
-
-
-        long double x;
-} _LONGDOUBLE;
-
-
-
-#pragma pack(4)
-typedef struct {
-    unsigned char ld12[12];
-} _LDBL12;
-#pragma pack()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern int __mb_cur_max;
-
-
-
-
-__declspec(dllimport) int __cdecl ___mb_cur_max_func(void);
-__declspec(dllimport) int __cdecl ___mb_cur_max_l_func(_locale_t);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__cdecl *_purecall_handler)(void); 
-
-
-__declspec(dllimport) _purecall_handler __cdecl _set_purecall_handler(       _purecall_handler _Handler);
-__declspec(dllimport) _purecall_handler __cdecl _get_purecall_handler();
-
-
-
-extern "C++"
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *, const wchar_t *, const wchar_t *, unsigned int, uintptr_t); 
-
-
-__declspec(dllimport) _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(       _invalid_parameter_handler _Handler);
-__declspec(dllimport) _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
-
-
-
-extern "C++"
-{
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) unsigned long * __cdecl __doserrno(void);
-
-
-errno_t __cdecl _set_doserrno(     unsigned long _Value);
-errno_t __cdecl _get_doserrno(     unsigned long * _Value);
-
-
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char ** __cdecl __sys_errlist(void);
-
-
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int * __cdecl __sys_nerr(void);
-
-
-
-
-__declspec(dllimport) int *          __cdecl __p___argc(void);
-__declspec(dllimport) char ***       __cdecl __p___argv(void);
-__declspec(dllimport) wchar_t ***    __cdecl __p___wargv(void);
-__declspec(dllimport) char ***       __cdecl __p__environ(void);
-__declspec(dllimport) wchar_t ***    __cdecl __p__wenviron(void);
-__declspec(dllimport) char **        __cdecl __p__pgmptr(void);
-__declspec(dllimport) wchar_t **     __cdecl __p__wpgmptr(void);
-
-
-
-
-
-__declspec(dllimport) extern int __argc;          
-__declspec(dllimport) extern char ** __argv;      
-__declspec(dllimport) extern wchar_t ** __wargv;  
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern char ** _environ;    
-__declspec(dllimport) extern wchar_t ** _wenviron;    
-
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_pgmptr" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) extern char * _pgmptr;      
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_wpgmptr" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) extern wchar_t * _wpgmptr;  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-errno_t __cdecl _get_pgmptr(       char ** _Value);
-errno_t __cdecl _get_wpgmptr(       wchar_t ** _Value);
-
-
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_fmode" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) extern int _fmode;          
-
-
-
-
-
-__declspec(dllimport) errno_t __cdecl _set_fmode(     int _Mode);
-__declspec(dllimport) errno_t __cdecl _get_fmode(     int * _PMode);
-
-
-
-#pragma warning(push)
-#pragma warning(disable:4141)
-
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_osplatform" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details."))	__declspec(dllimport) extern unsigned int _osplatform;
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_osver" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details."))			__declspec(dllimport) extern unsigned int _osver;
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_winver" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details."))		__declspec(dllimport) extern unsigned int _winver;
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_winmajor" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details."))		__declspec(dllimport) extern unsigned int _winmajor;
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_winminor" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details."))		__declspec(dllimport) extern unsigned int _winminor;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(pop)
-
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_osplatform(     unsigned int * _Value);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_osver(     unsigned int * _Value);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_winver(     unsigned int * _Value);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_winmajor(     unsigned int * _Value);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetVersionEx" " instead. See online help for details.")) errno_t __cdecl _get_winminor(     unsigned int * _Value);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) __declspec(noreturn) void __cdecl exit(     int _Code);
-__declspec(dllimport) __declspec(noreturn) void __cdecl _exit(     int _Code);
-__declspec(dllimport) void __cdecl abort(void);
-
-
-__declspec(dllimport) unsigned int __cdecl _set_abort_behavior(     unsigned int _Flags,      unsigned int _Mask);
-
-
-
-        int     __cdecl abs(     int _X);
-        long    __cdecl labs(     long _X);
-
-
-
-        __int64    __cdecl _abs64(__int64);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        int    __cdecl atexit(void (__cdecl *)(void));
-
-
-
-__declspec(dllimport)  double  __cdecl atof(       const char *_String);
-__declspec(dllimport)  double  __cdecl _atof_l(       const char *_String,        _locale_t _Locale);
-
-__declspec(dllimport)   int    __cdecl atoi(       const char *_Str);
-__declspec(dllimport)  int    __cdecl _atoi_l(       const char *_Str,        _locale_t _Locale);
-__declspec(dllimport)  long   __cdecl atol(       const char *_Str);
-__declspec(dllimport)  long   __cdecl _atol_l(       const char *_Str,        _locale_t _Locale);
-
-
-
-__declspec(dllimport)  void * __cdecl bsearch_s(     const void * _Key,        const void * _Base, 
-             rsize_t _NumOfElements,      rsize_t _SizeOfElements,
-             int (__cdecl * _PtFuncCompare)(void *, const void *, const void *), void * _Context);
-
-__declspec(dllimport)  void * __cdecl bsearch(     const void * _Key,        const void * _Base, 
-             size_t _NumOfElements,      size_t _SizeOfElements,
-             int (__cdecl * _PtFuncCompare)(const void *, const void *));
-
-
-__declspec(dllimport) void __cdecl qsort_s(       void * _Base, 
-             rsize_t _NumOfElements,      rsize_t _SizeOfElements,
-             int (__cdecl * _PtFuncCompare)(void *, const void *, const void *), void *_Context);
-
-__declspec(dllimport) void __cdecl qsort(       void * _Base, 
-	     size_t _NumOfElements,      size_t _SizeOfElements, 
-             int (__cdecl * _PtFuncCompare)(const void *, const void *));
-
-         unsigned short __cdecl _byteswap_ushort(     unsigned short _Short);
-         unsigned long  __cdecl _byteswap_ulong (     unsigned long _Long);
-
-         unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 _Int64);
-
-__declspec(dllimport)  div_t  __cdecl div(     int _Numerator,      int _Denominator);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_dupenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  char * __cdecl getenv(       const char * _VarName);
-
-__declspec(dllimport)  errno_t __cdecl getenv_s(     size_t * _ReturnSize,        char * _DstBuf,      rsize_t _DstSize,        const char * _VarName);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl getenv_s(     size_t * _ReturnSize,      char (&_Dest)[_Size],        const char * _VarName) { return getenv_s(_ReturnSize, _Dest, _Size, _VarName); } }
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _dupenv_s(                     char **_PBuffer,        size_t * _PBufferSizeInBytes,        const char * _VarName);
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _itoa_s(     int _Value,        char * _DstBuf,      size_t _Size,      int _Radix);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _itoa_s(     int _Value,      char (&_Dest)[_Size],      int _Radix) { return _itoa_s(_Value, _Dest, _Size, _Radix); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_itoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _itoa( int _Value,  char *_Dest,  int _Radix);
-
-__declspec(dllimport)  errno_t __cdecl _i64toa_s(     __int64 _Val,        char * _DstBuf,      size_t _Size,      int _Radix);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_i64toa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _i64toa(     __int64 _Val,      char * _DstBuf,      int _Radix);
-__declspec(dllimport)  errno_t __cdecl _ui64toa_s(     unsigned __int64 _Val,        char * _DstBuf,      size_t _Size,      int _Radix);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ui64toa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _ui64toa(     unsigned __int64 _Val,      char * _DstBuf,      int _Radix);
-__declspec(dllimport)  __int64 __cdecl _atoi64(       const char * _String);
-__declspec(dllimport)  __int64 __cdecl _atoi64_l(       const char * _String,        _locale_t _Locale);
-__declspec(dllimport)  __int64 __cdecl _strtoi64(       const char * _String,                    char ** _EndPtr,      int _Radix);
-__declspec(dllimport)  __int64 __cdecl _strtoi64_l(       const char * _String,                    char ** _EndPtr,      int _Radix,        _locale_t _Locale);
-__declspec(dllimport)  unsigned __int64 __cdecl _strtoui64(       const char * _String,                    char ** _EndPtr,      int _Radix);
-__declspec(dllimport)  unsigned __int64 __cdecl _strtoui64_l(       const char * _String,                    char ** _EndPtr,      int  _Radix,        _locale_t _Locale);
-
-__declspec(dllimport)  ldiv_t __cdecl ldiv(     long _Numerator,      long _Denominator);
-
-extern "C++"
-{
-    inline ldiv_t  div(     long _A1,      long _A2)
-    {
-        return ldiv(_A1, _A2);
-    }
-}
-
-__declspec(dllimport)  errno_t __cdecl _ltoa_s(     long _Val,        char * _DstBuf,      size_t _Size,      int _Radix);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _ltoa_s(     long _Value,      char (&_Dest)[_Size],      int _Radix) { return _ltoa_s(_Value, _Dest, _Size, _Radix); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _ltoa( long _Value,  char *_Dest,  int _Radix);
-__declspec(dllimport)  int    __cdecl mblen(           const char * _Ch,      size_t _MaxCount);
-__declspec(dllimport)  int    __cdecl _mblen_l(           const char * _Ch,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbstrlen(       const char * _Str);
-__declspec(dllimport)  size_t __cdecl _mbstrlen_l(       const char *_Str,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbstrnlen(       const char *_Str,      size_t _MaxCount);
-__declspec(dllimport)  size_t __cdecl _mbstrnlen_l(       const char *_Str,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport) int    __cdecl mbtowc(     wchar_t * _DstCh,            const char * _SrcCh,      size_t _SrcSizeInBytes);
-__declspec(dllimport) int    __cdecl _mbtowc_l(     wchar_t * _DstCh,            const char * _SrcCh,      size_t _SrcSizeInBytes,        _locale_t _Locale);
-__declspec(dllimport)  errno_t __cdecl mbstowcs_s(       size_t * _PtNumOfCharConverted,          wchar_t * _DstBuf,      size_t _SizeInWords,          const char * _SrcBuf,      size_t _MaxCount );
-extern "C++" { template <size_t _Size> inline errno_t __cdecl mbstowcs_s(       size_t * _PtNumOfCharConverted,        wchar_t (&_Dest)[_Size],        const char * _Source,      size_t _MaxCount) { return mbstowcs_s(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "mbstowcs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl mbstowcs( wchar_t *_Dest,  const char * _Source,  size_t _MaxCount);
-
-__declspec(dllimport)  errno_t __cdecl _mbstowcs_s_l(       size_t * _PtNumOfCharConverted,          wchar_t * _DstBuf,      size_t _SizeInWords,          const char * _SrcBuf,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbstowcs_s_l(       size_t * _PtNumOfCharConverted,      wchar_t (&_Dest)[_Size],        const char * _Source,      size_t _MaxCount,        _locale_t _Locale) { return _mbstowcs_s_l(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstowcs_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl _mbstowcs_l(       wchar_t *_Dest,        const char * _Source,      size_t _MaxCount,        _locale_t _Locale);
-
-__declspec(dllimport)  int    __cdecl rand(void);
-
-
-
-
-__declspec(dllimport)  int    __cdecl _set_error_mode(     int _Mode);
-
-__declspec(dllimport) void   __cdecl srand(     unsigned int _Seed);
-__declspec(dllimport)  double __cdecl strtod(       const char * _Str,                    char ** _EndPtr);
-__declspec(dllimport)  double __cdecl _strtod_l(       const char * _Str,                    char ** _EndPtr,        _locale_t _Locale);
-__declspec(dllimport)  long   __cdecl strtol(       const char * _Str,                    char ** _EndPtr,      int _Radix );
-__declspec(dllimport)  long   __cdecl _strtol_l(       const char *_Str,                    char **_EndPtr,      int _Radix,        _locale_t _Locale);
-__declspec(dllimport)  unsigned long __cdecl strtoul(       const char * _Str,                    char ** _EndPtr,      int _Radix);
-__declspec(dllimport)  unsigned long __cdecl _strtoul_l(const char * _Str,                    char **_EndPtr,      int _Radix,        _locale_t _Locale);
-
-
-__declspec(dllimport) int __cdecl system(         const char * _Command);
-
-__declspec(dllimport)  errno_t __cdecl _ultoa_s(     unsigned long _Val,        char * _DstBuf,      size_t _Size,      int _Radix);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _ultoa_s(     unsigned long _Value,      char (&_Dest)[_Size],      int _Radix) { return _ultoa_s(_Value, _Dest, _Size, _Radix); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _ultoa( unsigned long _Value,  char *_Dest,  int _Radix);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "wctomb_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int    __cdecl wctomb(         char * _MbCh,        wchar_t _WCh);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctomb_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) int    __cdecl _wctomb_l(       char * _MbCh,      wchar_t _WCh,        _locale_t _Locale);
-
-__declspec(dllimport)  errno_t __cdecl wctomb_s(       int * _SizeConverted,          char * _MbCh,      rsize_t _SizeInBytes,      wchar_t _WCh);
-
-__declspec(dllimport)  errno_t __cdecl _wctomb_s_l(       int * _SizeConverted,          char * _MbCh,      size_t _SizeInBytes,      wchar_t _WCh,        _locale_t _Locale);
-__declspec(dllimport)  errno_t __cdecl wcstombs_s(       size_t * _PtNumOfCharConverted,          char * _Dst,      size_t _DstSizeInBytes,        const wchar_t * _Src,      size_t _MaxCountInBytes);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcstombs_s(       size_t * _PtNumOfCharConverted,        char (&_Dest)[_Size],        const wchar_t * _Source,      size_t _MaxCount) { return wcstombs_s(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstombs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl wcstombs( char *_Dest,  const wchar_t * _Source,  size_t _MaxCount);
-__declspec(dllimport)  errno_t __cdecl _wcstombs_s_l(       size_t * _PtNumOfCharConverted,          char * _Dst,      size_t _DstSizeInBytes,        const wchar_t * _Src,      size_t _MaxCountInBytes,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcstombs_s_l(       size_t * _PtNumOfCharConverted,        char (&_Dest)[_Size],        const wchar_t * _Source,      size_t _MaxCount,        _locale_t _Locale) { return _wcstombs_s_l(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcstombs_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl _wcstombs_l(       char *_Dest,        const wchar_t * _Source,      size_t _MaxCount,        _locale_t _Locale);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _itow_s (     int _Val,        wchar_t * _DstBuf,      size_t _SizeInWords,      int _Radix);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _itow_s(     int _Value,      wchar_t (&_Dest)[_Size],      int _Radix) { return _itow_s(_Value, _Dest, _Size, _Radix); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_itow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _itow( int _Value,  wchar_t *_Dest,  int _Radix);
-__declspec(dllimport)  errno_t __cdecl _ltow_s (     long _Val,        wchar_t * _DstBuf,      size_t _SizeInWords,      int _Radix);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _ltow_s(     long _Value,      wchar_t (&_Dest)[_Size],      int _Radix) { return _ltow_s(_Value, _Dest, _Size, _Radix); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _ltow( long _Value,  wchar_t *_Dest,  int _Radix);
-__declspec(dllimport)  errno_t __cdecl _ultow_s (     unsigned long _Val,        wchar_t * _DstBuf,      size_t _SizeInWords,      int _Radix);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _ultow_s(     unsigned long _Value,      wchar_t (&_Dest)[_Size],      int _Radix) { return _ultow_s(_Value, _Dest, _Size, _Radix); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _ultow( unsigned long _Value,  wchar_t *_Dest,  int _Radix);
-__declspec(dllimport)  double __cdecl wcstod(       const wchar_t * _Str,                    wchar_t ** _EndPtr);
-__declspec(dllimport)  double __cdecl _wcstod_l(       const wchar_t *_Str,                    wchar_t ** _EndPtr,        _locale_t _Locale);
-__declspec(dllimport)  long   __cdecl wcstol(       const wchar_t *_Str,                    wchar_t ** _EndPtr, int _Radix);
-__declspec(dllimport)  long   __cdecl _wcstol_l(       const wchar_t *_Str,                    wchar_t **_EndPtr, int _Radix,        _locale_t _Locale);
-__declspec(dllimport)  unsigned long __cdecl wcstoul(       const wchar_t *_Str,                    wchar_t ** _EndPtr, int _Radix);
-__declspec(dllimport)  unsigned long __cdecl _wcstoul_l(       const wchar_t *_Str,                    wchar_t **_EndPtr, int _Radix,        _locale_t _Locale);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wdupenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  wchar_t * __cdecl _wgetenv(       const wchar_t * _VarName);
-__declspec(dllimport)  errno_t __cdecl _wgetenv_s(     size_t * _ReturnSize,        wchar_t * _DstBuf,      size_t _DstSizeInWords,        const wchar_t * _VarName);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wgetenv_s(     size_t * _ReturnSize,      wchar_t (&_Dest)[_Size],        const wchar_t * _VarName) { return _wgetenv_s(_ReturnSize, _Dest, _Size, _VarName); } }
-
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _wdupenv_s(                     wchar_t **_Buffer,        size_t *_BufferSizeInWords,        const wchar_t *_VarName);
-
-
-
-
-
-
-
-__declspec(dllimport) int __cdecl _wsystem(         const wchar_t * _Command);
-
-__declspec(dllimport)  double __cdecl _wtof(       const wchar_t *_Str);
-__declspec(dllimport)  double __cdecl _wtof_l(       const wchar_t *_Str,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _wtoi(       const wchar_t *_Str);
-__declspec(dllimport)  int __cdecl _wtoi_l(       const wchar_t *_Str,        _locale_t _Locale);
-__declspec(dllimport)  long __cdecl _wtol(       const wchar_t *_Str);
-__declspec(dllimport)  long __cdecl _wtol_l(       const wchar_t *_Str,        _locale_t _Locale);
-
-
-__declspec(dllimport)  errno_t __cdecl _i64tow_s(     __int64 _Val,        wchar_t * _DstBuf,      size_t _SizeInWords,      int _Radix);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_i65tow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _i64tow(     __int64 _Val,      wchar_t * _DstBuf,      int _Radix);
-__declspec(dllimport)  errno_t __cdecl _ui64tow_s(     unsigned __int64 _Val,        wchar_t * _DstBuf,      size_t _SizeInWords,      int _Radix);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ui64tow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) wchar_t * __cdecl _ui64tow(     unsigned __int64 _Val,      wchar_t * _DstBuf,      int _Radix);
-__declspec(dllimport)  __int64   __cdecl _wtoi64(       const wchar_t *_Str);
-__declspec(dllimport)  __int64   __cdecl _wtoi64_l(       const wchar_t *_Str,        _locale_t _Locale);
-__declspec(dllimport)  __int64   __cdecl _wcstoi64(       const wchar_t * _Str,                    wchar_t ** _EndPtr,      int _Radix);
-__declspec(dllimport)  __int64   __cdecl _wcstoi64_l(       const wchar_t * _Str,                    wchar_t ** _EndPtr,      int _Radix,        _locale_t _Locale);
-__declspec(dllimport)  unsigned __int64  __cdecl _wcstoui64(       const wchar_t * _Str,                    wchar_t ** _EndPtr,      int _Radix);
-__declspec(dllimport)  unsigned __int64  __cdecl _wcstoui64_l(       const wchar_t *_Str ,                    wchar_t ** _EndPtr,      int _Radix,        _locale_t _Locale);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  char * __cdecl _fullpath(         char * _FullPath,        const char * _Path,      size_t _SizeInBytes);
-
-
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _ecvt_s(       char * _DstBuf,      size_t _Size,      double _Val,      int _NumOfDights,      int * _PtDec,      int * _PtSign);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _ecvt_s(     char (&_Dest)[_Size],      double _Value,      int _NumOfDigits,      int * _PtDec,      int * _PtSign) { return _ecvt_s(_Dest, _Size, _Value, _NumOfDigits, _PtDec, _PtSign); } }
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ecvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  char * __cdecl _ecvt(     double _Val,      int _NumOfDigits,      int * _PtDec,      int * _PtSign);
-__declspec(dllimport)  errno_t __cdecl _fcvt_s(       char * _DstBuf,      size_t _Size,      double _Val,      int _NumOfDec,      int * _PtDec,      int * _PtSign);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _fcvt_s(     char (&_Dest)[_Size],      double _Value,      int _NumOfDigits,      int * _PtDec,      int * _PtSign) { return _fcvt_s(_Dest, _Size, _Value, _NumOfDigits, _PtDec, _PtSign); } }
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  char * __cdecl _fcvt(     double _Val,      int _NumOfDec,      int * _PtDec,      int * _PtSign);
-__declspec(dllimport) errno_t __cdecl _gcvt_s(       char * _DstBuf,      size_t _Size,      double _Val,      int _NumOfDigits);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _gcvt_s(     char (&_Dest)[_Size],      double _Value,      int _NumOfDigits) { return _gcvt_s(_Dest, _Size, _Value, _NumOfDigits); } }
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_gcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) char * __cdecl _gcvt(     double _Val,      int _NumOfDigits,      char * _DstBuf);
-
-__declspec(dllimport)  int __cdecl _atodbl(     _CRT_DOUBLE * _Result,        char * _Str);
-__declspec(dllimport)  int __cdecl _atoldbl(     _LDOUBLE * _Result,        char * _Str);
-__declspec(dllimport)  int __cdecl _atoflt(     _CRT_FLOAT * _Result,        char * _Str);
-__declspec(dllimport)  int __cdecl _atodbl_l(     _CRT_DOUBLE * _Result,        char * _Str,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _atoldbl_l(     _LDOUBLE * _Result,        char * _Str,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _atoflt_l(     _CRT_FLOAT * _Result,        char * _Str,        _locale_t _Locale);
-         unsigned long __cdecl _lrotl(     unsigned long _Val,      int _Shift);
-         unsigned long __cdecl _lrotr(     unsigned long _Val,      int _Shift);
-__declspec(dllimport)  errno_t   __cdecl _makepath_s(       char * _PathResult,        size_t _Size,          const char * _Drive,          const char * _Dir,          const char * _Filename,
-                 const char * _Ext);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _makepath_s(     char (&_Path)[_Size],          const char * _Drive,          const char * _Dir,          const char * _Filename,          const char * _Ext) { return _makepath_s(_Path, _Size, _Drive, _Dir, _Filename, _Ext); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_makepath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void __cdecl _makepath( char *_Path,  const char * _Drive,  const char * _Dir,  const char * _Filename,  const char * _Ext);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        _onexit_t __cdecl _onexit(       _onexit_t _Func);
-
-        
-
-
-__declspec(dllimport) void __cdecl perror(         const char * _ErrMsg);
-
-__declspec(dllimport)  int    __cdecl _putenv(       const char * _EnvString);
-__declspec(dllimport)  errno_t __cdecl _putenv_s(       const char * _Name,        const char * _Value);
-         unsigned int __cdecl _rotl(     unsigned int _Val,      int _Shift);
-
-         unsigned __int64 __cdecl _rotl64(     unsigned __int64 _Val,      int _Shift);
-
-         unsigned int __cdecl _rotr(     unsigned int _Val,      int _Shift);
-
-         unsigned __int64 __cdecl _rotr64(     unsigned __int64 _Val,      int _Shift);
-
-__declspec(dllimport) errno_t __cdecl _searchenv_s(       const char * _Filename,        const char * _EnvVar,        char * _ResultPath,      size_t _SizeInBytes);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _searchenv_s(       const char * _Filename,        const char * _EnvVar,      char (&_ResultPath)[_Size]) { return _searchenv_s(_Filename, _EnvVar, _ResultPath, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_searchenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void __cdecl _searchenv( const char * _Filename,  const char * _EnvVar,  char *_ResultPath);
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_splitpath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void   __cdecl _splitpath(       const char * _FullPath,        char * _Drive,        char * _Dir,        char * _Filename,        char * _Ext);
-__declspec(dllimport)  errno_t  __cdecl _splitpath_s(       const char * _FullPath, 
-		         char * _Drive,      size_t _DriveSize, 
-		         char * _Dir,      size_t _DirSize, 
-		         char * _Filename,      size_t _FilenameSize, 
-		         char * _Ext,      size_t _ExtSize);
-extern "C++" { template <size_t _DriveSize, size_t _DirSize, size_t _NameSize, size_t _ExtSize> inline errno_t __cdecl _splitpath_s(     const char *_Dest,        char (&_Drive)[_DriveSize],        char (&_Dir)[_DirSize],        char (&_Name)[_NameSize],        char (&_Ext)[_ExtSize]) { return _splitpath_s(_Dest, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); } }
-
-__declspec(dllimport) void   __cdecl _swab(           char * _Buf1,            char * _Buf2, int _SizeInBytes);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  wchar_t * __cdecl _wfullpath(         wchar_t * _FullPath,        const wchar_t * _Path,      size_t _SizeInWords);
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _wmakepath_s(       wchar_t * _PathResult,        size_t _SizeInWords,          const wchar_t * _Drive,          const wchar_t * _Dir,          const wchar_t * _Filename,
-                 const wchar_t * _Ext);        
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wmakepath_s(     wchar_t (&_ResultPath)[_Size],          const wchar_t * _Drive,          const wchar_t * _Dir,          const wchar_t * _Filename,          const wchar_t * _Ext) { return _wmakepath_s(_ResultPath, _Size, _Drive, _Dir, _Filename, _Ext); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wmakepath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void __cdecl _wmakepath( wchar_t *_ResultPath,  const wchar_t * _Drive,  const wchar_t * _Dir,  const wchar_t * _Filename,  const wchar_t * _Ext);
-
-
-__declspec(dllimport) void __cdecl _wperror(         const wchar_t * _ErrMsg);
-
-__declspec(dllimport)  int    __cdecl _wputenv(       const wchar_t * _EnvString);
-__declspec(dllimport)  errno_t __cdecl _wputenv_s(       const wchar_t * _Name,        const wchar_t * _Value);
-__declspec(dllimport) errno_t __cdecl _wsearchenv_s(       const wchar_t * _Filename,        const wchar_t * _EnvVar,        wchar_t * _ResultPath,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wsearchenv_s(       const wchar_t * _Filename,        const wchar_t * _EnvVar,      wchar_t (&_ResultPath)[_Size]) { return _wsearchenv_s(_Filename, _EnvVar, _ResultPath, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsearchenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void __cdecl _wsearchenv( const wchar_t * _Filename,  const wchar_t * _EnvVar,  wchar_t *_ResultPath);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsplitpath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void   __cdecl _wsplitpath(       const wchar_t * _FullPath,        wchar_t * _Drive,        wchar_t * _Dir,        wchar_t * _Filename,        wchar_t * _Ext);
-__declspec(dllimport) errno_t __cdecl _wsplitpath_s(       const wchar_t * _FullPath, 
-		         wchar_t * _Drive,      size_t _DriveSizeInWords, 
-		         wchar_t * _Dir,      size_t _DirSizeInWords, 
-		         wchar_t * _Filename,      size_t _FilenameSizeInWords, 
-		         wchar_t * _Ext,      size_t _ExtSizeInWords);
-extern "C++" { template <size_t _DriveSize, size_t _DirSize, size_t _NameSize, size_t _ExtSize> inline errno_t __cdecl _wsplitpath_s(     const wchar_t *_Path,        wchar_t (&_Drive)[_DriveSize],        wchar_t (&_Dir)[_DirSize],        wchar_t (&_Name)[_NameSize],        wchar_t (&_Ext)[_ExtSize]) { return _wsplitpath_s(_Path, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); } }
-
-
-
-
-
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "SetErrorMode" " instead. See online help for details.")) __declspec(dllimport) void __cdecl _seterrormode(     int _Mode);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "Beep" " instead. See online help for details.")) __declspec(dllimport) void __cdecl _beep(     unsigned _Frequency,      unsigned _Duration);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "Sleep" " instead. See online help for details.")) __declspec(dllimport) void __cdecl _sleep(     unsigned long _Duration);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable: 4141)  
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_ecvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ecvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))		__declspec(dllimport)  char * __cdecl ecvt(     double _Val,      int _NumOfDigits,      int * _PtDec,      int * _PtSign);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fcvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))		__declspec(dllimport)  char * __cdecl fcvt(     double _Val,      int _NumOfDec,      int * _PtDec,      int * _PtSign);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_gcvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))		__declspec(dllimport) char * __cdecl gcvt(     double _Val,      int _NumOfDigits,      char * _DstBuf);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_itoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))		__declspec(dllimport) char * __cdecl itoa(     int _Val,      char * _DstBuf,      int _Radix);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_ltoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))		__declspec(dllimport) char * __cdecl ltoa(     long _Val,      char * _DstBuf,      int _Radix);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_putenv" ". See online help for details.")) 									__declspec(dllimport)  int    __cdecl putenv(       const char * _EnvString);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_swab" ". See online help for details."))										__declspec(dllimport) void   __cdecl swab(           char * _Buf1,           char * _Buf2,      int _SizeInBytes);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_ultoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))	__declspec(dllimport) char * __cdecl ultoa(     unsigned long _Val,      char * _Dstbuf,      int _Radix);
-#pragma warning(pop)
-_onexit_t __cdecl onexit(       _onexit_t _Func);
-
-
-
-
-
-
-}
-
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
- 
-
-
-
-
-
-typedef void *_HFILE; 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int (__cdecl * _CRT_REPORT_HOOK)(int, char *, int *);
-typedef int (__cdecl * _CRT_REPORT_HOOKW)(int, wchar_t *, int *);
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-typedef int (__cdecl * _CRT_ALLOC_HOOK)(int, void *, size_t, int, long, const unsigned char *, int);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__cdecl * _CRT_DUMP_CLIENT)(void *, size_t);
-
-
-
-
-
-
-
-struct _CrtMemBlockHeader;
-typedef struct _CrtMemState
-{
-        struct _CrtMemBlockHeader * pBlockHeader;
-        size_t lCounts[5];
-        size_t lSizes[5];
-        size_t lHighWaterCount;
-        size_t lTotalCount;
-} _CrtMemState;
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-__declspec(dllimport) extern long _crtAssertBusy;
-
-
-
-__declspec(dllimport) _CRT_REPORT_HOOK __cdecl _CrtGetReportHook(
-    void
-    );
-
-
-
-
-
-
-
-__declspec(dllimport) _CRT_REPORT_HOOK __cdecl _CrtSetReportHook(
-           _CRT_REPORT_HOOK _PFnNewHook
-        );
-
-__declspec(dllimport) int __cdecl _CrtSetReportHook2(
-             int _Mode,
-               _CRT_REPORT_HOOK _PFnNewHook
-        );
-
-__declspec(dllimport) int __cdecl _CrtSetReportHookW2(
-             int _Mode,
-               _CRT_REPORT_HOOKW _PFnNewHook
-        );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) int __cdecl _CrtSetReportMode(
-             int _ReportType,
-               int _ReportMode 
-        );
-
-__declspec(dllimport) _HFILE __cdecl _CrtSetReportFile(
-             int _ReportType,
-               _HFILE _ReportFile 
-        );
-
-__declspec(dllimport) int __cdecl _CrtDbgReport(
-             int _ReportType,
-                 const char * _Filename,
-             int _Linenumber,
-                 const char * _ModuleName,
-                 const char * _Format,
-        ...);
-
-__declspec(dllimport) size_t __cdecl _CrtSetDebugFillThreshold(
-             size_t _NewDebugFillThreshold
-        );
-
-
-
-
-__declspec(dllimport) int __cdecl _CrtDbgReportW(
-             int _ReportType,
-                 const wchar_t * _Filename,
-             int _LineNumber,
-                 const wchar_t * _ModuleName,
-                 const wchar_t * _Format,
-        ...);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern long _crtBreakAlloc;      
-
-
-__declspec(dllimport) long __cdecl _CrtSetBreakAlloc(
-             long _BreakAlloc 
-        );
-
-
-
-
-
-__declspec(dllimport)      void * __cdecl _malloc_dbg(
-             size_t _Size,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _calloc_dbg(
-             size_t _NumOfElements,
-             size_t _SizeOfElements,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _realloc_dbg(
-               void * _Memory,
-             size_t _NewSize,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _recalloc_dbg
-(
-               void * _Memory,
-             size_t _NumOfElements,
-             size_t _SizeOfElements,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-);
-
-__declspec(dllimport)      void * __cdecl _expand_dbg(
-               void * _Memory,
-             size_t _NewSize,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport) void __cdecl _free_dbg(
-               void * _Memory,
-             int _BlockType
-        );
-
-__declspec(dllimport) size_t __cdecl _msize_dbg (
-             void * _Memory,
-             int _BlockType
-        );
-
-__declspec(dllimport) size_t __cdecl _aligned_msize_dbg (
-             void * _Memory,
-             size_t _Alignment,
-             size_t _Offset
-        );
-
-__declspec(dllimport)      void * __cdecl _aligned_malloc_dbg(
-             size_t _Size,
-             size_t _Alignment,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _aligned_realloc_dbg(
-               void * _Memory,
-             size_t _Size,
-             size_t _Alignment,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _aligned_recalloc_dbg
-(
-               void * _Memory,
-             size_t _NumOfElements,
-             size_t _SizeOfElements,
-             size_t _Alignment,
-                 const char * _Filename,
-             int _LineNumber
-);
-
-__declspec(dllimport)      void * __cdecl _aligned_offset_malloc_dbg(
-             size_t _Size,
-             size_t _Alignment,
-             size_t _Offset,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _aligned_offset_realloc_dbg(
-               void * _Memory,
-             size_t _Size,
-             size_t _Alignment,
-             size_t _Offset,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)      void * __cdecl _aligned_offset_recalloc_dbg
-(
-               void * _Memory,
-             size_t _NumOfElements,
-             size_t _SizeOfElements,
-             size_t _Alignment,
-             size_t _Offset,
-                 const char * _Filename,
-             int _LineNumber
-);
-
-__declspec(dllimport) void __cdecl _aligned_free_dbg(
-               void * _Memory
-        );
-
-__declspec(dllimport)         char * __cdecl _strdup_dbg(
-                 const char * _Str,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         wchar_t * __cdecl _wcsdup_dbg(
-                 const wchar_t * _Str,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         char * __cdecl _tempnam_dbg(
-                 const char * _DirName,
-                 const char * _FilePrefix,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         wchar_t * __cdecl _wtempnam_dbg(
-                 const wchar_t * _DirName,
-                 const wchar_t * _FilePrefix,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         char * __cdecl _fullpath_dbg(
-                 char * _FullPath, 
-               const char * _Path, 
-             size_t _SizeInBytes,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         wchar_t * __cdecl _wfullpath_dbg(
-                 wchar_t * _FullPath, 
-               const wchar_t * _Path, 
-             size_t _SizeInWords,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         char * __cdecl _getcwd_dbg(
-                 char * _DstBuf,
-             int _SizeInBytes,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         wchar_t * __cdecl _wgetcwd_dbg(
-                 wchar_t * _DstBuf,
-             int _SizeInWords,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         char * __cdecl _getdcwd_dbg(
-             int _Drive,
-                 char * _DstBuf,
-             int _SizeInBytes,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)         wchar_t * __cdecl _wgetdcwd_dbg(
-             int _Drive,
-                 wchar_t * _DstBuf,
-             int _SizeInWords,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-        char * __cdecl _getdcwd_lk_dbg(
-             int _Drive,
-                 char * _DstBuf,
-             int _SizeInBytes,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-        wchar_t * __cdecl _wgetdcwd_lk_dbg(
-             int _Drive,
-                 wchar_t * _DstBuf,
-             int _SizeInWords,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)  errno_t __cdecl _dupenv_s_dbg(
-                             char ** _PBuffer,
-               size_t * _PBufferSizeInBytes,
-               const char * _VarName,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-__declspec(dllimport)  errno_t __cdecl _wdupenv_s_dbg(
-                             wchar_t ** _PBuffer,
-               size_t * _PBufferSizeInWords,
-               const wchar_t * _VarName,
-             int _BlockType,
-                 const char * _Filename,
-             int _LineNumber
-        );
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-__declspec(dllimport) _CRT_ALLOC_HOOK __cdecl _CrtGetAllocHook
-(
-    void
-);
-
-
-
-
-
-
-
-__declspec(dllimport) _CRT_ALLOC_HOOK __cdecl _CrtSetAllocHook
-(
-           _CRT_ALLOC_HOOK _PfnNewHook
-);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern int _crtDbgFlag;
-
-
-__declspec(dllimport) int __cdecl _CrtCheckMemory(
-        void
-        );
-
-__declspec(dllimport) int __cdecl _CrtSetDbgFlag(
-             int _NewFlag
-        );
-
-__declspec(dllimport) void __cdecl _CrtDoForAllClientObjects(
-             void (__cdecl *_PFn)(void *, void *),
-        void * _Context
-        );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _CrtIsValidPointer(
-               const void * _Ptr,
-             unsigned int _Bytes,
-             int _ReadWrite
-        );
-
-__declspec(dllimport)  int __cdecl _CrtIsValidHeapPointer(
-               const void * _HeapPtr
-        );
-
-__declspec(dllimport) int __cdecl _CrtIsMemoryBlock(
-               const void * _Memory,
-             unsigned int _Bytes,
-               long * _RequestNumber,
-               char ** _Filename,
-               int * _LineNumber
-        );
-
-__declspec(dllimport)  int __cdecl _CrtReportBlockType(
-               const void * _Memory
-        );
-
-
- 
-
-
-
-
-
-
-__declspec(dllimport) _CRT_DUMP_CLIENT __cdecl _CrtGetDumpClient
-(
-    void
-);
-
-
-
-
-
-
-
-__declspec(dllimport) _CRT_DUMP_CLIENT __cdecl _CrtSetDumpClient
-(
-           _CRT_DUMP_CLIENT _PFnNewDump
-);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  void __cdecl _CrtMemCheckpoint(
-             _CrtMemState * _State
-        );
-
-__declspec(dllimport)  int __cdecl _CrtMemDifference(
-             _CrtMemState * _State,
-             const _CrtMemState * _OldState,
-             const _CrtMemState * _NewState
-        );
-
-__declspec(dllimport) void __cdecl _CrtMemDumpAllObjectsSince(
-               const _CrtMemState * _State
-        );
-
-__declspec(dllimport) void __cdecl _CrtMemDumpStatistics(
-             const _CrtMemState * _State
-        );
-
-__declspec(dllimport) int __cdecl _CrtDumpMemoryLeaks(
-        void
-        );
-
-__declspec(dllimport) int __cdecl _CrtSetCheckCount(
-             int _CheckCount
-        );
-
-__declspec(dllimport) int __cdecl _CrtGetCheckCount(
-        void
-        );
-
-
-
-
-}
-
-
-
-extern "C++" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
- 
-  void * __cdecl operator new[](size_t _Size);
-
-  void * __cdecl operator new(
-        size_t _Size,
-        int,
-        const char *,
-        int
-        );
-
-  void * __cdecl operator new[](
-        size_t _Size,
-        int,
-        const char *,
-        int
-        );
-
-
-void __cdecl operator delete[](void *);
-
-inline void __cdecl operator delete(void * _P, int, const char *, int)
-        { ::operator delete(_P); }
-
-inline void __cdecl operator delete[](void * _P, int, const char *, int)
-        { ::operator delete[](_P); }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4514)
-
-#pragma warning(disable:4103)
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4001)
-#pragma warning(disable:4201)
-#pragma warning(disable:4214)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-typedef enum _EXCEPTION_DISPOSITION {
-    ExceptionContinueExecution,
-    ExceptionContinueSearch,
-    ExceptionNestedException,
-    ExceptionCollidedUnwind
-} EXCEPTION_DISPOSITION;
-
-
-
-
-
-
-
-
-
-
-
-struct _EXCEPTION_RECORD;
-struct _CONTEXT;
-
-EXCEPTION_DISPOSITION __cdecl _except_handler (
-         struct _EXCEPTION_RECORD *_ExceptionRecord,
-         void * _EstablisherFrame,
-         struct _CONTEXT *_ContextRecord,
-         void * _DispatcherContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-unsigned long __cdecl _exception_code(void);
-void *        __cdecl _exception_info(void);
-int           __cdecl _abnormal_termination(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned long ULONG;
-typedef ULONG *PULONG;
-typedef unsigned short USHORT;
-typedef USHORT *PUSHORT;
-typedef unsigned char UCHAR;
-typedef UCHAR *PUCHAR;
-typedef char *PSZ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned long       DWORD;
-typedef int                 BOOL;
-typedef unsigned char       BYTE;
-typedef unsigned short      WORD;
-typedef float               FLOAT;
-typedef FLOAT               *PFLOAT;
-typedef BOOL            *PBOOL;
-typedef BOOL             *LPBOOL;
-typedef BYTE            *PBYTE;
-typedef BYTE             *LPBYTE;
-typedef int             *PINT;
-typedef int              *LPINT;
-typedef WORD            *PWORD;
-typedef WORD             *LPWORD;
-typedef long             *LPLONG;
-typedef DWORD           *PDWORD;
-typedef DWORD            *LPDWORD;
-typedef void             *LPVOID;
-typedef const void       *LPCVOID;
-
-typedef int                 INT;
-typedef unsigned int        UINT;
-typedef unsigned int        *PUINT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) const unsigned short * __cdecl __pctype_func(void);
-
-__declspec(dllimport) extern const unsigned short *_pctype;
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern const unsigned short _wctype[];
-
-
-__declspec(dllimport) const wctype_t * __cdecl __pwctype_func(void);
-
-__declspec(dllimport) extern const wctype_t *_pwctype;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _isctype(     int _C,      int _Type);
-__declspec(dllimport)  int __cdecl _isctype_l(     int _C,      int _Type,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl isalpha(     int _C);
-__declspec(dllimport)  int __cdecl _isalpha_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl isupper(     int _C);
-__declspec(dllimport)  int __cdecl _isupper_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl islower(     int _C);
-__declspec(dllimport)  int __cdecl _islower_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl isdigit(     int _C);
-__declspec(dllimport)  int __cdecl _isdigit_l(     int _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl isxdigit(     int _C);
-__declspec(dllimport)  int __cdecl _isxdigit_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl isspace(     int _C);
-__declspec(dllimport)  int __cdecl _isspace_l(     int _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl ispunct(     int _C);
-__declspec(dllimport)  int __cdecl _ispunct_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl isalnum(     int _C);
-__declspec(dllimport)  int __cdecl _isalnum_l(     int _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl isprint(     int _C);
-__declspec(dllimport)  int __cdecl _isprint_l(     int _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl isgraph(     int _C);
-__declspec(dllimport)  int __cdecl _isgraph_l(     int _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iscntrl(     int _C);
-__declspec(dllimport)  int __cdecl _iscntrl_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl toupper(     int _C);
- __declspec(dllimport)  int __cdecl tolower(     int _C);
- __declspec(dllimport)  int __cdecl _tolower(     int _C);
-__declspec(dllimport)  int __cdecl _tolower_l(     int _C,        _locale_t _Locale);
- __declspec(dllimport)  int __cdecl _toupper(     int _C);
-__declspec(dllimport)  int __cdecl _toupper_l(     int _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl __isascii(     int _C);
-__declspec(dllimport)  int __cdecl __toascii(     int _C);
-__declspec(dllimport)  int __cdecl __iscsymf(     int _C);
-__declspec(dllimport)  int __cdecl __iscsym(     int _C);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl iswalpha(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswalpha_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswupper(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswupper_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswlower(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswlower_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswdigit(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswdigit_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswxdigit(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswxdigit_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswspace(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswspace_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswpunct(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswpunct_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswalnum(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswalnum_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswprint(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswprint_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswgraph(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswgraph_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswcntrl(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswcntrl_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl iswascii(     wint_t _C);
-__declspec(dllimport)  int __cdecl isleadbyte(     int _C);
-__declspec(dllimport)  int __cdecl _isleadbyte_l(     int _C,        _locale_t _Locale);
-
-__declspec(dllimport)  wint_t __cdecl towupper(     wint_t _C);
-__declspec(dllimport)  wint_t __cdecl _towupper_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  wint_t __cdecl towlower(     wint_t _C);
-__declspec(dllimport)  wint_t __cdecl _towlower_l(     wint_t _C,        _locale_t _Locale); 
-__declspec(dllimport)  int __cdecl iswctype(     wint_t _C,      wctype_t _Type);
-__declspec(dllimport)  int __cdecl _iswctype_l(     wint_t _C,      wctype_t _Type,        _locale_t _Locale);
-
-__declspec(dllimport)  int __cdecl __iswcsymf(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswcsymf_l(     wint_t _C,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl __iswcsym(     wint_t _C);
-__declspec(dllimport)  int __cdecl _iswcsym_l(     wint_t _C,        _locale_t _Locale);
-
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "iswctype" " instead. See online help for details.")) __declspec(dllimport) int __cdecl is_wctype(     wint_t _C,      wctype_t _Type);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) int __cdecl _chvalidator(     int _Ch,      int _Mask);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-int __cdecl _chvalidator_l(       _locale_t,      int _Ch,      int _Mask);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned long POINTER_64_INT;
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-typedef signed char         INT8, *PINT8;
-typedef signed short        INT16, *PINT16;
-typedef signed int          INT32, *PINT32;
-typedef signed __int64      INT64, *PINT64;
-typedef unsigned char       UINT8, *PUINT8;
-typedef unsigned short      UINT16, *PUINT16;
-typedef unsigned int        UINT32, *PUINT32;
-typedef unsigned __int64    UINT64, *PUINT64;
-
-
-
-
-
-typedef signed int LONG32, *PLONG32;
-
-
-
-
-
-typedef unsigned int ULONG32, *PULONG32;
-typedef unsigned int DWORD32, *PDWORD32;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    typedef __w64 int INT_PTR, *PINT_PTR;
-    typedef __w64 unsigned int UINT_PTR, *PUINT_PTR;
-
-    typedef __w64 long LONG_PTR, *PLONG_PTR;
-    typedef __w64 unsigned long ULONG_PTR, *PULONG_PTR;
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned short UHALF_PTR, *PUHALF_PTR;
-typedef short HALF_PTR, *PHALF_PTR;
-typedef __w64 long SHANDLE_PTR;
-typedef __w64 unsigned long HANDLE_PTR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__inline
-void * __ptr64
-PtrToPtr64(
-    const void *p
-    )
-{
-    return((void * __ptr64) (unsigned __int64) (ULONG_PTR)p );
-}
-
-__inline
-void *
-Ptr64ToPtr(
-    const void * __ptr64 p
-    )
-{
-    return((void *) (ULONG_PTR) (unsigned __int64) p);
-}
-
-__inline
-void * __ptr64
-HandleToHandle64(
-    const void *h
-    )
-{
-    return((void * __ptr64) h );
-}
-
-__inline
-void *
-Handle64ToHandle(
-    const void * __ptr64 h
-    )
-{
-    return((void *) (ULONG_PTR) (unsigned __int64) h );
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef ULONG_PTR SIZE_T, *PSIZE_T;
-typedef LONG_PTR SSIZE_T, *PSSIZE_T;
-
-
-
-
-
-typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR;
-
-
-
-
-
-typedef __int64 LONG64, *PLONG64;
-
-
-
-
-
-
-typedef unsigned __int64 ULONG64, *PULONG64;
-typedef unsigned __int64 DWORD64, *PDWORD64;
-
-
-
-
-
-typedef ULONG_PTR KAFFINITY;
-typedef KAFFINITY *PKAFFINITY;
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void *PVOID;
-typedef void * __ptr64 PVOID64;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef char CHAR;
-typedef short SHORT;
-typedef long LONG;
-
-
-
-
-
-
-
-typedef wchar_t WCHAR;    
-
-
-
-
-
-typedef WCHAR *PWCHAR, *LPWCH, *PWCH;
-typedef const WCHAR *LPCWCH, *PCWCH;
-typedef  WCHAR *NWPSTR, *LPWSTR, *PWSTR;
-typedef  PWSTR *PZPWSTR;
-typedef  const PWSTR *PCZPWSTR;
-typedef  WCHAR  *LPUWSTR, *PUWSTR;
-typedef  const WCHAR *LPCWSTR, *PCWSTR;
-typedef  PCWSTR *PZPCWSTR;
-typedef  const WCHAR  *LPCUWSTR, *PCUWSTR;
-
-
-
-
-typedef CHAR *PCHAR, *LPCH, *PCH;
-typedef const CHAR *LPCCH, *PCCH;
-
-typedef  CHAR *NPSTR, *LPSTR, *PSTR;
-typedef  PSTR *PZPSTR;
-typedef  const PSTR *PCZPSTR;
-typedef  const CHAR *LPCSTR, *PCSTR;
-typedef  PCSTR *PZPCSTR;
-
-
-
-
-
-
-
-typedef WCHAR TCHAR, *PTCHAR;
-typedef WCHAR TBYTE , *PTBYTE ;
-
-
-
-typedef LPWSTR LPTCH, PTCH;
-typedef LPWSTR PTSTR, LPTSTR;
-typedef LPCWSTR PCTSTR, LPCTSTR;
-typedef LPUWSTR PUTSTR, LPUTSTR;
-typedef LPCUWSTR PCUTSTR, LPCUTSTR;
-typedef LPWSTR LP;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef SHORT *PSHORT;  
-typedef LONG *PLONG;    
-
-
-typedef void *HANDLE;
-
-
-
-
-
-typedef HANDLE *PHANDLE;
-
-
-
-
-
-typedef BYTE   FCHAR;
-typedef WORD   FSHORT;
-typedef DWORD  FLONG;
-
-
-
-
-
-typedef LONG HRESULT;
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef char CCHAR;          
-typedef DWORD LCID;         
-typedef PDWORD PLCID;       
-typedef WORD   LANGID;      
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _FLOAT128 {
-    __int64 LowPart;
-    __int64 HighPart;
-} FLOAT128;
-
-typedef FLOAT128 *PFLOAT128;
-
-
-
-
-
-
-
-
-
-typedef __int64 LONGLONG;
-typedef unsigned __int64 ULONGLONG;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef LONGLONG *PLONGLONG;
-typedef ULONGLONG *PULONGLONG;
-
-
-
-typedef LONGLONG USN;
-
-
-
-
-typedef union _LARGE_INTEGER {
-    struct {
-        DWORD LowPart;
-        LONG HighPart;
-    };
-    struct {
-        DWORD LowPart;
-        LONG HighPart;
-    } u;
-
-    LONGLONG QuadPart;
-} LARGE_INTEGER;
-
-typedef LARGE_INTEGER *PLARGE_INTEGER;
-
-
-
-
-typedef union _ULARGE_INTEGER {
-    struct {
-        DWORD LowPart;
-        DWORD HighPart;
-    };
-    struct {
-        DWORD LowPart;
-        DWORD HighPart;
-    } u;
-
-    ULONGLONG QuadPart;
-} ULARGE_INTEGER;
-
-typedef ULARGE_INTEGER *PULARGE_INTEGER;
-
-
-
-
-
-
-
-
-typedef struct _LUID {
-    DWORD LowPart;
-    LONG HighPart;
-} LUID, *PLUID;
-
-
-typedef ULONGLONG  DWORDLONG;
-typedef DWORDLONG *PDWORDLONG;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ULONGLONG
-__stdcall
-Int64ShllMod32 (
-    ULONGLONG Value,
-    DWORD ShiftCount
-    );
-
-LONGLONG
-__stdcall
-Int64ShraMod32 (
-    LONGLONG Value,
-    DWORD ShiftCount
-    );
-
-ULONGLONG
-__stdcall
-Int64ShrlMod32 (
-    ULONGLONG Value,
-    DWORD ShiftCount
-    );
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4035 4793)               
-
-__inline ULONGLONG
-__stdcall
-Int64ShllMod32 (
-    ULONGLONG Value,
-    DWORD ShiftCount
-    )
-{
-    __asm    {
-        mov     ecx, ShiftCount
-        mov     eax, dword ptr [Value]
-        mov     edx, dword ptr [Value+4]
-        shld    edx, eax, cl
-        shl     eax, cl
-    }
-}
-
-__inline LONGLONG
-__stdcall
-Int64ShraMod32 (
-    LONGLONG Value,
-    DWORD ShiftCount
-    )
-{
-    __asm {
-        mov     ecx, ShiftCount
-        mov     eax, dword ptr [Value]
-        mov     edx, dword ptr [Value+4]
-        shrd    eax, edx, cl
-        sar     edx, cl
-    }
-}
-
-__inline ULONGLONG
-__stdcall
-Int64ShrlMod32 (
-    ULONGLONG Value,
-    DWORD ShiftCount
-    )
-{
-    __asm    {
-        mov     ecx, ShiftCount
-        mov     eax, dword ptr [Value]
-        mov     edx, dword ptr [Value+4]
-        shrd    eax, edx, cl
-        shr     edx, cl
-    }
-}
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-unsigned int
-__cdecl
-_rotl (
-     unsigned int Value,
-     int Shift
-    );
-
-unsigned __int64
-__cdecl
-_rotl64 (
-     unsigned __int64 Value,
-     int Shift
-    );
-
-unsigned int
-__cdecl
-_rotr (
-     unsigned int Value,
-     int Shift
-    );
-
-unsigned __int64
-__cdecl
-_rotr64 (
-     unsigned __int64 Value,
-     int Shift
-    );
-
-#pragma intrinsic(_rotl)
-#pragma intrinsic(_rotl64)
-#pragma intrinsic(_rotr)
-#pragma intrinsic(_rotr64)
-
-
-
-
-}
-
-
-
-
-
-
-typedef BYTE  BOOLEAN;           
-typedef BOOLEAN *PBOOLEAN;       
-
-
-
-
-
-typedef struct _LIST_ENTRY {
-   struct _LIST_ENTRY *Flink;
-   struct _LIST_ENTRY *Blink;
-} LIST_ENTRY, *PLIST_ENTRY, * PRLIST_ENTRY;
-
-
-
-
-
-
-typedef struct _SINGLE_LIST_ENTRY {
-    struct _SINGLE_LIST_ENTRY *Next;
-} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
-
-
-
-
-
-typedef struct LIST_ENTRY32 {
-    DWORD Flink;
-    DWORD Blink;
-} LIST_ENTRY32;
-typedef LIST_ENTRY32 *PLIST_ENTRY32;
-
-typedef struct LIST_ENTRY64 {
-    ULONGLONG Flink;
-    ULONGLONG Blink;
-} LIST_ENTRY64;
-typedef LIST_ENTRY64 *PLIST_ENTRY64;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _GUID {
-    unsigned long  Data1;
-    unsigned short Data2;
-    unsigned short Data3;
-    unsigned char  Data4[ 8 ];
-} GUID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef GUID *LPGUID;
-
-
-
-
-typedef const GUID *LPCGUID;
-
-
-
-
-
-typedef GUID IID;
-typedef IID *LPIID;
-
-
-typedef GUID CLSID;
-typedef CLSID *LPCLSID;
-
-
-typedef GUID FMTID;
-typedef FMTID *LPFMTID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) void *  __cdecl _memccpy(        void * _Dst,      const void * _Src,      int _Val,      size_t _MaxCount);
-__declspec(dllimport)  const void *  __cdecl memchr(          const void * _Buf ,      int _Val,      size_t _MaxCount);
-__declspec(dllimport)  int     __cdecl _memicmp(         const void * _Buf1,          const void * _Buf2,      size_t _Size);
-__declspec(dllimport)  int     __cdecl _memicmp_l(         const void * _Buf1,          const void * _Buf2,      size_t _Size,        _locale_t _Locale);
-         int     __cdecl memcmp(         const void * _Buf1,          const void * _Buf2,      size_t _Size);
-         void *  __cdecl memcpy(         void * _Dst,          const void * _Src,      size_t _Size);
-
-__declspec(dllimport) errno_t  __cdecl memcpy_s(         void * _Dst,      rsize_t _DstSize,          const void * _Src,      rsize_t _MaxCount);
-
-        void *  __cdecl memset(         void * _Dst,      int _Val,      size_t _Size);
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_memccpy" ". See online help for details.")) __declspec(dllimport) void * __cdecl memccpy(       void * _Dst,          const void * _Src,      int _Val,      size_t _Size);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_memicmp" ". See online help for details.")) __declspec(dllimport)  int __cdecl memicmp(         const void * _Buf1,          const void * _Buf2,      size_t _Size);
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _strset_s(           char * _Dst,      size_t _DstSize,      int _Value);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strset_s(           char (&_Dest)[_Size],      int _Value) { return _strset_s(_Dest, _Size, _Value); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  char * __cdecl _strset( char *_Dest,  int _Value);
-
-__declspec(dllimport)  errno_t __cdecl strcpy_s(       char * _Dst,      rsize_t _DstSize,        const char * _Src);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl strcpy_s(       char (&_Dest)[_Size],        const char * _Source) { return strcpy_s(_Dest, _Size, _Source); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "strcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  char * __cdecl strcpy( char *_Dest,  const char * _Source);
-
-__declspec(dllimport)  errno_t __cdecl strcat_s(           char * _Dst,      rsize_t _DstSize,        const char * _Src);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl strcat_s(           char (&_Dest)[_Size],        const char * _Source) { return strcat_s(_Dest, _Size, _Source); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "strcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  char * __cdecl strcat( char *_Dest,  const char * _Source);
-         int     __cdecl strcmp(       const char * _Str1,        const char * _Str2);
-         size_t  __cdecl strlen(       const char * _Str);
-__declspec(dllimport)  size_t  __cdecl strnlen(       const char * _Str,      size_t _MaxCount);
-
-static __inline  size_t  __cdecl strnlen_s(        const char * _Str,      size_t _MaxCount)
-{
-    return strnlen(_Str, _MaxCount);
-}
-
-
-__declspec(dllimport)  errno_t __cdecl memmove_s(         void * _Dst,      rsize_t _DstSize,          const void * _Src,      rsize_t _MaxCount);
-
-
-
-
-
-__declspec(dllimport)  void *  __cdecl memmove(         void * _Dst,          const void * _Src,      size_t _Size);
-
-
-
-
-
-
-
-__declspec(dllimport)  char *  __cdecl _strdup(         const char * _Src);
-
-
-
-
-
-__declspec(dllimport)  const char *  __cdecl strchr(       const char * _Str,      int _Val);
-__declspec(dllimport)  int     __cdecl _stricmp(        const char * _Str1,         const char * _Str2);
-__declspec(dllimport)  int     __cdecl _strcmpi(        const char * _Str1,         const char * _Str2);
-__declspec(dllimport)  int     __cdecl _stricmp_l(        const char * _Str1,         const char * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int     __cdecl strcoll(        const char * _Str1,         const  char * _Str2);
-__declspec(dllimport)  int     __cdecl _strcoll_l(        const char * _Str1,         const char * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int     __cdecl _stricoll(        const char * _Str1,         const char * _Str2);
-__declspec(dllimport)  int     __cdecl _stricoll_l(        const char * _Str1,         const char * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int     __cdecl _strncoll  (       const char * _Str1,        const char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int     __cdecl _strncoll_l(       const char * _Str1,        const char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int     __cdecl _strnicoll (       const char * _Str1,        const char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int     __cdecl _strnicoll_l(       const char * _Str1,        const char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  size_t  __cdecl strcspn(        const char * _Str,         const char * _Control);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  char *  __cdecl _strerror(         const char * _ErrMsg);
-__declspec(dllimport)  errno_t __cdecl _strerror_s(       char * _Buf,      size_t _SizeInBytes,          const char * _ErrMsg);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strerror_s(     char (&_Buffer)[_Size],          const char * _ErrorMessage) { return _strerror_s(_Buffer, _Size, _ErrorMessage); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  char *  __cdecl strerror(     int);
-
-__declspec(dllimport)  errno_t __cdecl strerror_s(       char * _Buf,      size_t _SizeInBytes,      int _ErrNum);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl strerror_s(     char (&_Buffer)[_Size],      int _ErrorMessage) { return strerror_s(_Buffer, _Size, _ErrorMessage); } }
-__declspec(dllimport)  errno_t __cdecl _strlwr_s(           char * _Str,      size_t _Size);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strlwr_s(           char (&_String)[_Size]) { return _strlwr_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _strlwr( char *_String);
-__declspec(dllimport)  errno_t __cdecl _strlwr_s_l(           char * _Str,      size_t _Size,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strlwr_s_l(           char (&_String)[_Size],        _locale_t _Locale) { return _strlwr_s_l(_String, _Size, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _strlwr_l(         char *_String,        _locale_t _Locale);
-
-__declspec(dllimport)  errno_t __cdecl strncat_s(           char * _Dst,      rsize_t _DstSize,        const char * _Src,      rsize_t _MaxCount);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl strncat_s(           char (&_Dest)[_Size],        const char * _Source,      size_t _Count) { return strncat_s(_Dest, _Size, _Source, _Count); } }
-#pragma warning(push)
-#pragma warning(disable:6059)
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "strncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl strncat(           char *_Dest,        const char * _Source,      size_t _Count);
-#pragma warning(pop)
-
-
-
-__declspec(dllimport)  int     __cdecl strncmp(       const char * _Str1,        const char * _Str2,      size_t _MaxCount);
-
-__declspec(dllimport)  int     __cdecl _strnicmp(       const char * _Str1,        const char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int     __cdecl _strnicmp_l(       const char * _Str1,        const char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-
-__declspec(dllimport)  errno_t __cdecl strncpy_s(       char * _Dst,      rsize_t _DstSize,          const char * _Src,      rsize_t _MaxCount);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl strncpy_s(     char (&_Dest)[_Size],        const char * _Source,      size_t _Count) { return strncpy_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "strncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl strncpy(     char *_Dest,        const char * _Source,      size_t _Count);
-__declspec(dllimport)  errno_t __cdecl _strnset_s(           char * _Str,      size_t _Size,      int _Val,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strnset_s(           char (&_Dest)[_Size],      int _Val,      size_t _Count) { return _strnset_s(_Dest, _Size, _Val, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _strnset(           char *_Dest,      int _Val,      size_t _Count);
-__declspec(dllimport)  const char *  __cdecl strpbrk(       const char * _Str,        const char * _Control);
-__declspec(dllimport)  const char *  __cdecl strrchr(       const char * _Str,      int _Ch);
-__declspec(dllimport) char *  __cdecl _strrev(         char * _Str);
-__declspec(dllimport)  size_t  __cdecl strspn(       const char * _Str,        const char * _Control);
-__declspec(dllimport)  const char *  __cdecl strstr(       const char * _Str,        const char * _SubStr);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "strtok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  char *  __cdecl strtok(           char * _Str,        const char * _Delim);
-
-__declspec(dllimport)  char *  __cdecl strtok_s(           char * _Str,        const char * _Delim,                        char ** _Context);
-
-__declspec(dllimport)  errno_t __cdecl _strupr_s(           char * _Str,      size_t _Size);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strupr_s(           char (&_String)[_Size]) { return _strupr_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _strupr( char *_String);
-__declspec(dllimport)  errno_t __cdecl _strupr_s_l(           char * _Str,      size_t _Size, _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _strupr_s_l(           char (&_String)[_Size], _locale_t _Locale) { return _strupr_s_l(_String, _Size, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl _strupr_l(         char *_String,        _locale_t _Locale);
-__declspec(dllimport)  size_t  __cdecl strxfrm (         char * _Dst,        const char * _Src,      size_t _MaxCount);
-__declspec(dllimport)  size_t  __cdecl _strxfrm_l(         char * _Dst,        const char * _Src,      size_t _MaxCount,        _locale_t _Locale);
-
-
-extern "C++" {
-
-
-inline  char * __cdecl strchr(       char * _Str,      int _Ch)
-	{ return (char*)strchr((const char*)_Str, _Ch); }
-inline  char * __cdecl strpbrk(       char * _Str,        const char * _Control)
-	{ return (char*)strpbrk((const char*)_Str, _Control); }
-inline  char * __cdecl strrchr(       char * _Str,      int _Ch)
-	{ return (char*)strrchr((const char*)_Str, _Ch); }
-inline  char * __cdecl strstr(       char * _Str,        const char * _SubStr)
-	{ return (char*)strstr((const char*)_Str, _SubStr); }
-
-
-
-inline  void * __cdecl memchr(         void * _Pv,      int _C,      size_t _N)
-	{ return (void*)memchr((const void*)_Pv, _C, _N); }
-
-}
-
-
-
-
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strdup" ". See online help for details.")) __declspec(dllimport)  char * __cdecl strdup(         const char * _Src);
-
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strcmpi" ". See online help for details.")) __declspec(dllimport)  int __cdecl strcmpi(       const char * _Str1,        const char * _Str2);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_stricmp" ". See online help for details.")) __declspec(dllimport)  int __cdecl stricmp(       const char * _Str1,        const char * _Str2);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strlwr" ". See online help for details.")) __declspec(dllimport) char * __cdecl strlwr(         char * _Str);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strnicmp" ". See online help for details.")) __declspec(dllimport)  int __cdecl strnicmp(       const char * _Str1,        const char * _Str,      size_t _MaxCount);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strnset" ". See online help for details.")) __declspec(dllimport) char * __cdecl strnset(           char * _Str,      int _Val,      size_t _MaxCount);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strrev" ". See online help for details.")) __declspec(dllimport) char * __cdecl strrev(         char * _Str);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strset" ". See online help for details."))         char * __cdecl strset(         char * _Str,      int _Val);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_strupr" ". See online help for details.")) __declspec(dllimport) char * __cdecl strupr(         char * _Str);
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  wchar_t * __cdecl _wcsdup(       const wchar_t * _Str);
-
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl wcscat_s(           wchar_t * _Dst,      rsize_t _DstSize, const wchar_t * _Src);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcscat_s(           wchar_t (&_Dest)[_Size],        const wchar_t * _Source) { return wcscat_s(_Dest, _Size, _Source); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcscat( wchar_t *_Dest,  const wchar_t * _Source);
-__declspec(dllimport)  const wchar_t * __cdecl wcschr(       const wchar_t * _Str, wchar_t _Ch);
-__declspec(dllimport)  int __cdecl wcscmp(       const wchar_t * _Str1,        const wchar_t * _Str2);
-
-__declspec(dllimport)  errno_t __cdecl wcscpy_s(       wchar_t * _Dst,      rsize_t _DstSize,        const wchar_t * _Src);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcscpy_s(     wchar_t (&_Dest)[_Size],        const wchar_t * _Source) { return wcscpy_s(_Dest, _Size, _Source); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcscpy( wchar_t *_Dest,  const wchar_t * _Source);
-__declspec(dllimport)  size_t __cdecl wcscspn(       const wchar_t * _Str,        const wchar_t * _Control);
-__declspec(dllimport)  size_t __cdecl wcslen(       const wchar_t * _Str);
-__declspec(dllimport)  size_t __cdecl wcsnlen(       const wchar_t * _Src,      size_t _MaxCount);
-
-static __inline  size_t __cdecl wcsnlen_s(       const wchar_t * _Src,      size_t _MaxCount)
-{
-    return wcsnlen(_Src, _MaxCount);
-}
-
-
-__declspec(dllimport)  errno_t __cdecl wcsncat_s(           wchar_t * _Dst,      rsize_t _DstSize,        const wchar_t * _Src,      rsize_t _MaxCount);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcsncat_s(           wchar_t (&_Dest)[_Size],        const wchar_t * _Source,      size_t _Count) { return wcsncat_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcsncat(     wchar_t *_Dest,        const wchar_t * _Source,      size_t _Count);
-__declspec(dllimport)  int __cdecl wcsncmp(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount);
-
-__declspec(dllimport)  errno_t __cdecl wcsncpy_s(       wchar_t * _Dst,      rsize_t _DstSize,        const wchar_t * _Src,      rsize_t _MaxCount);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcsncpy_s(     wchar_t (&_Dest)[_Size],        const wchar_t * _Source,      size_t _Count) { return wcsncpy_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcsncpy(     wchar_t *_Dest,        const wchar_t * _Source,      size_t _Count);
-__declspec(dllimport)  const wchar_t * __cdecl wcspbrk(       const wchar_t * _Str,        const wchar_t * _Control);
-__declspec(dllimport)  const wchar_t * __cdecl wcsrchr(       const wchar_t * _Str,      wchar_t _Ch);
-__declspec(dllimport)  size_t __cdecl wcsspn(       const wchar_t * _Str,        const wchar_t * _Control);
-__declspec(dllimport)  const wchar_t * __cdecl wcsstr(       const wchar_t * _Str,        const wchar_t * _SubStr);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  wchar_t * __cdecl wcstok(           wchar_t * _Str,        const wchar_t * _Delim);
-__declspec(dllimport)  wchar_t * __cdecl wcstok_s(           wchar_t * _Str,        const wchar_t * _Delim,                        wchar_t ** _Context);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  wchar_t * __cdecl _wcserror(     int _ErrNum);
-__declspec(dllimport)  errno_t __cdecl _wcserror_s(         wchar_t * _Buf,      size_t _SizeInWords,      int _ErrNum);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcserror_s(     wchar_t (&_Buffer)[_Size],      int _Error) { return _wcserror_s(_Buffer, _Size, _Error); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "__wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  wchar_t * __cdecl __wcserror(         const wchar_t * _Str);
-__declspec(dllimport)  errno_t __cdecl __wcserror_s(         wchar_t * _Buffer,      size_t _SizeInWords,        const wchar_t * _ErrMsg);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl __wcserror_s(     wchar_t (&_Buffer)[_Size],        const wchar_t * _ErrorMessage) { return __wcserror_s(_Buffer, _Size, _ErrorMessage); } }
-
-__declspec(dllimport)  int __cdecl _wcsicmp(       const wchar_t * _Str1,        const wchar_t * _Str2);
-__declspec(dllimport)  int __cdecl _wcsicmp_l(       const wchar_t * _Str1,        const wchar_t * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _wcsnicmp(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _wcsnicmp_l(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  errno_t __cdecl _wcsnset_s(           wchar_t * _Dst,      size_t _DstSizeInWords, wchar_t _Val,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsnset_s(           wchar_t (&_Dst)[_Size], wchar_t _Val,      size_t _MaxCount) { return _wcsnset_s(_Dst, _Size, _Val, _MaxCount); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wcsnset(           wchar_t *_Str, wchar_t _Val,      size_t _MaxCount);
-__declspec(dllimport) wchar_t * __cdecl _wcsrev(         wchar_t * _Str);
-__declspec(dllimport)  errno_t __cdecl _wcsset_s(           wchar_t * _Str,      size_t _SizeInWords, wchar_t _Val);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsset_s(           wchar_t (&_Str)[_Size], wchar_t _Val) { return _wcsset_s(_Str, _Size, _Val); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wcsset(         wchar_t *_Str, wchar_t _Val);
-
-__declspec(dllimport)  errno_t __cdecl _wcslwr_s(           wchar_t * _Str,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcslwr_s(           wchar_t (&_String)[_Size]) { return _wcslwr_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wcslwr( wchar_t *_String);
-__declspec(dllimport)  errno_t __cdecl _wcslwr_s_l(           wchar_t * _Str,      size_t _SizeInWords,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcslwr_s_l(           wchar_t (&_String)[_Size],        _locale_t _Locale) { return _wcslwr_s_l(_String, _Size, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wcslwr_l(         wchar_t *_String,        _locale_t _Locale);
-__declspec(dllimport)  errno_t __cdecl _wcsupr_s(           wchar_t * _Str,      size_t _Size);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsupr_s(           wchar_t (&_String)[_Size]) { return _wcsupr_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wcsupr( wchar_t *_String);
-__declspec(dllimport)  errno_t __cdecl _wcsupr_s_l(           wchar_t * _Str,      size_t _Size,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsupr_s_l(           wchar_t (&_String)[_Size],        _locale_t _Locale) { return _wcsupr_s_l(_String, _Size, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wcsupr_l(         wchar_t *_String,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl wcsxfrm(         wchar_t * _Dst,        const wchar_t * _Src,      size_t _MaxCount);
-__declspec(dllimport)  size_t __cdecl _wcsxfrm_l(         wchar_t * _Dst,        const wchar_t *_Src,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl wcscoll(       const wchar_t * _Str1,        const wchar_t * _Str2);
-__declspec(dllimport)  int __cdecl _wcscoll_l(       const wchar_t * _Str1,        const wchar_t * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _wcsicoll(       const wchar_t * _Str1,        const wchar_t * _Str2);
-__declspec(dllimport)  int __cdecl _wcsicoll_l(       const wchar_t * _Str1,        const wchar_t *_Str2,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _wcsncoll(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _wcsncoll_l(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _wcsnicoll(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _wcsnicoll_l(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-
-
-
-
-extern "C++" {
-inline  wchar_t * __cdecl wcschr(       wchar_t *_Str, wchar_t _Ch)
-        {return ((wchar_t *)wcschr((const wchar_t *)_Str, _Ch)); }
-inline  wchar_t * __cdecl wcspbrk(       wchar_t *_Str,        const wchar_t *_Control)
-        {return ((wchar_t *)wcspbrk((const wchar_t *)_Str, _Control)); }
-inline  wchar_t * __cdecl wcsrchr(       wchar_t *_Str,      wchar_t _Ch)
-        {return ((wchar_t *)wcsrchr((const wchar_t *)_Str, _Ch)); }
-inline  wchar_t * __cdecl wcsstr(       wchar_t *_Str,        const wchar_t *_SubStr)
-        {return ((wchar_t *)wcsstr((const wchar_t *)_Str, _SubStr)); }
-}
-
-
-
-
-
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsdup" ". See online help for details.")) __declspec(dllimport)  wchar_t * __cdecl wcsdup(       const wchar_t * _Str);
-
-
-
-
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsicmp" ". See online help for details.")) __declspec(dllimport)  int __cdecl wcsicmp(       const wchar_t * _Str1,        const wchar_t * _Str2);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsnicmp" ". See online help for details.")) __declspec(dllimport)  int __cdecl wcsnicmp(       const wchar_t * _Str1,        const wchar_t * _Str2,      size_t _MaxCount);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsnset" ". See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcsnset(           wchar_t * _Str,        wchar_t _Val,      size_t _MaxCount);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsrev" ". See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcsrev(         wchar_t * _Str);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsset" ". See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcsset(         wchar_t * _Str, wchar_t _Val);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcslwr" ". See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcslwr(         wchar_t * _Str);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsupr" ". See online help for details.")) __declspec(dllimport) wchar_t * __cdecl wcsupr(         wchar_t * _Str);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_wcsicoll" ". See online help for details.")) __declspec(dllimport)  int __cdecl wcsicoll(       const wchar_t * _Str1,        const wchar_t * _Str2);
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-__inline int InlineIsEqualGUID(const GUID & rguid1, const GUID & rguid2)
-{
-   return (
-      ((unsigned long *) &rguid1)[0] == ((unsigned long *) &rguid2)[0] &&
-      ((unsigned long *) &rguid1)[1] == ((unsigned long *) &rguid2)[1] &&
-      ((unsigned long *) &rguid1)[2] == ((unsigned long *) &rguid2)[2] &&
-      ((unsigned long *) &rguid1)[3] == ((unsigned long *) &rguid2)[3]);
-}
-
-__inline int IsEqualGUID(const GUID & rguid1, const GUID & rguid2)
-{
-    return !memcmp(&rguid1, &rguid2, sizeof(GUID));
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__inline int operator==(const GUID & guidOne, const GUID & guidOther)
-{
-    return IsEqualGUID(guidOne,guidOther);
-}
-
-__inline int operator!=(const GUID & guidOne, const GUID & guidOther)
-{
-    return !(guidOne == guidOther);
-}
-
-
-
-
-
-
-
-
-
-
-typedef struct  _OBJECTID {     
-    GUID Lineage;
-    DWORD Uniquifier;
-} OBJECTID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C++" 
-template <typename T, size_t N>
-char (*RtlpNumberOf(  T (&)[N] ))[N];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  
-
-
-
-
-
-typedef ULONG_PTR KSPIN_LOCK;
-typedef KSPIN_LOCK *PKSPIN_LOCK;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4164)   
-                                
-
-#pragma function(_enable)
-#pragma function(_disable)
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-BOOLEAN
-_bittest (
-     LONG const *Base,
-     LONG Offset
-    );
-
-BOOLEAN
-_bittestandcomplement (
-     LONG *Base,
-     LONG Offset
-    );
-
-BOOLEAN
-_bittestandset (
-     LONG *Base,
-     LONG Offset
-    );
-
-BOOLEAN
-_bittestandreset (
-     LONG *Base,
-     LONG Offset
-    );
-
-BOOLEAN
-_interlockedbittestandset (
-     LONG *Base,
-     LONG Offset
-    );
-
-BOOLEAN
-_interlockedbittestandreset (
-     LONG *Base,
-     LONG Offset
-    );
-
-#pragma intrinsic(_bittest)
-#pragma intrinsic(_bittestandcomplement)
-#pragma intrinsic(_bittestandset)
-#pragma intrinsic(_bittestandreset)
-#pragma intrinsic(_interlockedbittestandset)
-#pragma intrinsic(_interlockedbittestandreset)
-
-
-
-
-
-
-
-
-BOOLEAN
-_BitScanForward (
-     DWORD *Index,
-     DWORD Mask
-    );
-
-BOOLEAN
-_BitScanReverse (
-     DWORD *Index,
-     DWORD Mask
-    );
-
-#pragma intrinsic(_BitScanForward)
-#pragma intrinsic(_BitScanReverse)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable:4035 4793)
-
-BOOLEAN
-__forceinline
-InterlockedBitTestAndComplement (
-     LONG *Base,
-     LONG Bit
-    )
-{
-    __asm {
-           mov eax, Bit
-           mov ecx, Base
-           lock btc [ecx], eax
-           setc al
-    };
-}
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-BYTE 
-__readfsbyte (
-     DWORD Offset
-    );
- 
-WORD  
-__readfsword (
-     DWORD Offset
-    );
- 
-DWORD
-__readfsdword (
-     DWORD Offset
-    );
- 
-void
-__writefsbyte (
-     DWORD Offset,
-     BYTE  Data
-    );
- 
-void
-__writefsword (
-     DWORD Offset,
-     WORD   Data
-    );
- 
-void
-__writefsdword (
-     DWORD Offset,
-     DWORD Data
-    );
-
-#pragma intrinsic(__readfsbyte)
-#pragma intrinsic(__readfsword)
-#pragma intrinsic(__readfsdword)
-#pragma intrinsic(__writefsbyte)
-#pragma intrinsic(__writefsword)
-#pragma intrinsic(__writefsdword)
-
-
-
-
-}
-
-
-
-
-
-
-
-#pragma warning( push )
-#pragma warning( disable : 4793 )
-__forceinline
-void
-MemoryBarrier (
-    void
-    )
-{
-    LONG Barrier;
-    __asm {
-        xchg Barrier, eax
-    }
-}
-#pragma warning( pop )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void
-__int2c (
-    void
-    );
-
-#pragma intrinsic(__int2c)
-
-
-
-
-
-
-
-
-
-
-
-
-__inline PVOID GetFiberData( void )    { return *(PVOID *) (ULONG_PTR) __readfsdword (0x10);}
-__inline PVOID GetCurrentFiber( void ) { return (PVOID) (ULONG_PTR) __readfsdword (0x10);}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _FLOATING_SAVE_AREA {
-    DWORD   ControlWord;
-    DWORD   StatusWord;
-    DWORD   TagWord;
-    DWORD   ErrorOffset;
-    DWORD   ErrorSelector;
-    DWORD   DataOffset;
-    DWORD   DataSelector;
-    BYTE    RegisterArea[80];
-    DWORD   Cr0NpxState;
-} FLOATING_SAVE_AREA;
-
-typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CONTEXT {
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    DWORD ContextFlags;
-
-    
-    
-    
-    
-    
-
-    DWORD   Dr0;
-    DWORD   Dr1;
-    DWORD   Dr2;
-    DWORD   Dr3;
-    DWORD   Dr6;
-    DWORD   Dr7;
-
-    
-    
-    
-    
-
-    FLOATING_SAVE_AREA FloatSave;
-
-    
-    
-    
-    
-
-    DWORD   SegGs;
-    DWORD   SegFs;
-    DWORD   SegEs;
-    DWORD   SegDs;
-
-    
-    
-    
-    
-
-    DWORD   Edi;
-    DWORD   Esi;
-    DWORD   Ebx;
-    DWORD   Edx;
-    DWORD   Ecx;
-    DWORD   Eax;
-
-    
-    
-    
-    
-
-    DWORD   Ebp;
-    DWORD   Eip;
-    DWORD   SegCs;              
-    DWORD   EFlags;             
-    DWORD   Esp;
-    DWORD   SegSs;
-
-    
-    
-    
-    
-    
-
-    BYTE    ExtendedRegisters[512];
-
-} CONTEXT;
-
-
-
-typedef CONTEXT *PCONTEXT;
-
-
-
-
-
-
-
-
-
-typedef struct _LDT_ENTRY {
-    WORD    LimitLow;
-    WORD    BaseLow;
-    union {
-        struct {
-            BYTE    BaseMid;
-            BYTE    Flags1;     
-            BYTE    Flags2;     
-            BYTE    BaseHi;
-        } Bytes;
-        struct {
-            DWORD   BaseMid : 8;
-            DWORD   Type : 5;
-            DWORD   Dpl : 2;
-            DWORD   Pres : 1;
-            DWORD   LimitHi : 4;
-            DWORD   Sys : 1;
-            DWORD   Reserved_0 : 1;
-            DWORD   Default_Big : 1;
-            DWORD   Granularity : 1;
-            DWORD   BaseHi : 8;
-        } Bits;
-    } HighWord;
-} LDT_ENTRY, *PLDT_ENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _EXCEPTION_RECORD {
-    DWORD    ExceptionCode;
-    DWORD ExceptionFlags;
-    struct _EXCEPTION_RECORD *ExceptionRecord;
-    PVOID ExceptionAddress;
-    DWORD NumberParameters;
-    ULONG_PTR ExceptionInformation[15];
-    } EXCEPTION_RECORD;
-
-typedef EXCEPTION_RECORD *PEXCEPTION_RECORD;
-
-typedef struct _EXCEPTION_RECORD32 {
-    DWORD    ExceptionCode;
-    DWORD ExceptionFlags;
-    DWORD ExceptionRecord;
-    DWORD ExceptionAddress;
-    DWORD NumberParameters;
-    DWORD ExceptionInformation[15];
-} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;
-
-typedef struct _EXCEPTION_RECORD64 {
-    DWORD    ExceptionCode;
-    DWORD ExceptionFlags;
-    DWORD64 ExceptionRecord;
-    DWORD64 ExceptionAddress;
-    DWORD NumberParameters;
-    DWORD __unusedAlignment;
-    DWORD64 ExceptionInformation[15];
-} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
-
-
-
-
-
-typedef struct _EXCEPTION_POINTERS {
-    PEXCEPTION_RECORD ExceptionRecord;
-    PCONTEXT ContextRecord;
-} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
-typedef PVOID PACCESS_TOKEN;            
-typedef PVOID PSECURITY_DESCRIPTOR;     
-typedef PVOID PSID;     
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef DWORD ACCESS_MASK;
-typedef ACCESS_MASK *PACCESS_MASK;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _GENERIC_MAPPING {
-    ACCESS_MASK GenericRead;
-    ACCESS_MASK GenericWrite;
-    ACCESS_MASK GenericExecute;
-    ACCESS_MASK GenericAll;
-} GENERIC_MAPPING;
-typedef GENERIC_MAPPING *PGENERIC_MAPPING;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,4)
-
-
-
-
-
-
-
-
-
-typedef struct _LUID_AND_ATTRIBUTES {
-    LUID Luid;
-    DWORD Attributes;
-    } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
-typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[1];
-typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SID_IDENTIFIER_AUTHORITY {
-    BYTE  Value[6];
-} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
-
-
-
-
-
-typedef struct _SID {
-   BYTE  Revision;
-   BYTE  SubAuthorityCount;
-   SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
-
-
-
-   DWORD SubAuthority[1];
-
-} SID, *PISID;
-
-
-
-
-
-
-                                                
-
-
-
-
-
-
-typedef enum _SID_NAME_USE {
-    SidTypeUser = 1,
-    SidTypeGroup,
-    SidTypeDomain,
-    SidTypeAlias,
-    SidTypeWellKnownGroup,
-    SidTypeDeletedAccount,
-    SidTypeInvalid,
-    SidTypeUnknown,
-    SidTypeComputer
-} SID_NAME_USE, *PSID_NAME_USE;
-
-typedef struct _SID_AND_ATTRIBUTES {
-    PSID Sid;
-    DWORD Attributes;
-    } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
-
-typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[1];
-typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum {
-
-    WinNullSid                                  = 0,
-    WinWorldSid                                 = 1,
-    WinLocalSid                                 = 2,
-    WinCreatorOwnerSid                          = 3,
-    WinCreatorGroupSid                          = 4,
-    WinCreatorOwnerServerSid                    = 5,
-    WinCreatorGroupServerSid                    = 6,
-    WinNtAuthoritySid                           = 7,
-    WinDialupSid                                = 8,
-    WinNetworkSid                               = 9,
-    WinBatchSid                                 = 10,
-    WinInteractiveSid                           = 11,
-    WinServiceSid                               = 12,
-    WinAnonymousSid                             = 13,
-    WinProxySid                                 = 14,
-    WinEnterpriseControllersSid                 = 15,
-    WinSelfSid                                  = 16,
-    WinAuthenticatedUserSid                     = 17,
-    WinRestrictedCodeSid                        = 18,
-    WinTerminalServerSid                        = 19,
-    WinRemoteLogonIdSid                         = 20,
-    WinLogonIdsSid                              = 21,
-    WinLocalSystemSid                           = 22,
-    WinLocalServiceSid                          = 23,
-    WinNetworkServiceSid                        = 24,
-    WinBuiltinDomainSid                         = 25,
-    WinBuiltinAdministratorsSid                 = 26,
-    WinBuiltinUsersSid                          = 27,
-    WinBuiltinGuestsSid                         = 28,
-    WinBuiltinPowerUsersSid                     = 29,
-    WinBuiltinAccountOperatorsSid               = 30,
-    WinBuiltinSystemOperatorsSid                = 31,
-    WinBuiltinPrintOperatorsSid                 = 32,
-    WinBuiltinBackupOperatorsSid                = 33,
-    WinBuiltinReplicatorSid                     = 34,
-    WinBuiltinPreWindows2000CompatibleAccessSid = 35,
-    WinBuiltinRemoteDesktopUsersSid             = 36,
-    WinBuiltinNetworkConfigurationOperatorsSid  = 37,
-    WinAccountAdministratorSid                  = 38,
-    WinAccountGuestSid                          = 39,
-    WinAccountKrbtgtSid                         = 40,
-    WinAccountDomainAdminsSid                   = 41,
-    WinAccountDomainUsersSid                    = 42,
-    WinAccountDomainGuestsSid                   = 43,
-    WinAccountComputersSid                      = 44,
-    WinAccountControllersSid                    = 45,
-    WinAccountCertAdminsSid                     = 46,
-    WinAccountSchemaAdminsSid                   = 47,
-    WinAccountEnterpriseAdminsSid               = 48,
-    WinAccountPolicyAdminsSid                   = 49,
-    WinAccountRasAndIasServersSid               = 50,
-    WinNTLMAuthenticationSid                    = 51,
-    WinDigestAuthenticationSid                  = 52,
-    WinSChannelAuthenticationSid                = 53,
-    WinThisOrganizationSid                      = 54,
-    WinOtherOrganizationSid                     = 55,
-    WinBuiltinIncomingForestTrustBuildersSid    = 56,
-    WinBuiltinPerfMonitoringUsersSid            = 57,
-    WinBuiltinPerfLoggingUsersSid               = 58,
-    WinBuiltinAuthorizationAccessSid            = 59,
-    WinBuiltinTerminalServerLicenseServersSid   = 60,
-    WinBuiltinDCOMUsersSid                      = 61,
-
-} WELL_KNOWN_SID_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _ACL {
-    BYTE  AclRevision;
-    BYTE  Sbz1;
-    WORD   AclSize;
-    WORD   AceCount;
-    WORD   Sbz2;
-} ACL;
-typedef ACL *PACL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _ACE_HEADER {
-    BYTE  AceType;
-    BYTE  AceFlags;
-    WORD   AceSize;
-} ACE_HEADER;
-typedef ACE_HEADER *PACE_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _ACCESS_ALLOWED_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-} ACCESS_ALLOWED_ACE;
-
-typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE;
-
-typedef struct _ACCESS_DENIED_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-} ACCESS_DENIED_ACE;
-typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE;
-
-typedef struct _SYSTEM_AUDIT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-} SYSTEM_AUDIT_ACE;
-typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE;
-
-typedef struct _SYSTEM_ALARM_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-} SYSTEM_ALARM_ACE;
-typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE;
-
-
-
-
-typedef struct _ACCESS_ALLOWED_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE;
-
-typedef struct _ACCESS_DENIED_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE;
-
-typedef struct _SYSTEM_AUDIT_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-} SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE;
-
-typedef struct _SYSTEM_ALARM_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-} SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE;
-
-
-
-
-
-
-typedef struct _ACCESS_ALLOWED_CALLBACK_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-    
-} ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE;
-
-typedef struct _ACCESS_DENIED_CALLBACK_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-    
-} ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE;
-
-typedef struct _SYSTEM_AUDIT_CALLBACK_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-    
-} SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE;
-
-typedef struct _SYSTEM_ALARM_CALLBACK_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD SidStart;
-    
-} SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE;
-
-typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-    
-} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE;
-
-typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-    
-} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE;
-
-typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-    
-} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;
-
-typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE {
-    ACE_HEADER Header;
-    ACCESS_MASK Mask;
-    DWORD Flags;
-    GUID ObjectType;
-    GUID InheritedObjectType;
-    DWORD SidStart;
-    
-} SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _ACL_INFORMATION_CLASS {
-    AclRevisionInformation = 1,
-    AclSizeInformation
-} ACL_INFORMATION_CLASS;
-
-
-
-
-
-
-typedef struct _ACL_REVISION_INFORMATION {
-    DWORD AclRevision;
-} ACL_REVISION_INFORMATION;
-typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION;
-
-
-
-
-
-typedef struct _ACL_SIZE_INFORMATION {
-    DWORD AceCount;
-    DWORD AclBytesInUse;
-    DWORD AclBytesFree;
-} ACL_SIZE_INFORMATION;
-typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef WORD   SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SECURITY_DESCRIPTOR_RELATIVE {
-    BYTE  Revision;
-    BYTE  Sbz1;
-    SECURITY_DESCRIPTOR_CONTROL Control;
-    DWORD Owner;
-    DWORD Group;
-    DWORD Sacl;
-    DWORD Dacl;
-    } SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;
-
-typedef struct _SECURITY_DESCRIPTOR {
-   BYTE  Revision;
-   BYTE  Sbz1;
-   SECURITY_DESCRIPTOR_CONTROL Control;
-   PSID Owner;
-   PSID Group;
-   PACL Sacl;
-   PACL Dacl;
-
-   } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _OBJECT_TYPE_LIST {
-    WORD   Level;
-    WORD   Sbz;
-    GUID *ObjectType;
-} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _AUDIT_EVENT_TYPE {
-    AuditEventObjectAccess,
-    AuditEventDirectoryServiceAccess
-} AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PRIVILEGE_SET {
-    DWORD PrivilegeCount;
-    DWORD Control;
-    LUID_AND_ATTRIBUTES Privilege[1];
-    } PRIVILEGE_SET, * PPRIVILEGE_SET;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _SECURITY_IMPERSONATION_LEVEL {
-    SecurityAnonymous,
-    SecurityIdentification,
-    SecurityImpersonation,
-    SecurityDelegation
-    } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _TOKEN_TYPE {
-    TokenPrimary = 1,
-    TokenImpersonation
-    } TOKEN_TYPE;
-typedef TOKEN_TYPE *PTOKEN_TYPE;
-
-
-
-
-
-
-
-typedef enum _TOKEN_INFORMATION_CLASS {
-    TokenUser = 1,
-    TokenGroups,
-    TokenPrivileges,
-    TokenOwner,
-    TokenPrimaryGroup,
-    TokenDefaultDacl,
-    TokenSource,
-    TokenType,
-    TokenImpersonationLevel,
-    TokenStatistics,
-    TokenRestrictedSids,
-    TokenSessionId,
-    TokenGroupsAndPrivileges,
-    TokenSessionReference,
-    TokenSandBoxInert,
-    TokenAuditPolicy,
-    TokenOrigin,
-    MaxTokenInfoClass  
-} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
-
-
-
-
-
-
-typedef struct _TOKEN_USER {
-    SID_AND_ATTRIBUTES User;
-} TOKEN_USER, *PTOKEN_USER;
-
-typedef struct _TOKEN_GROUPS {
-    DWORD GroupCount;
-    SID_AND_ATTRIBUTES Groups[1];
-} TOKEN_GROUPS, *PTOKEN_GROUPS;
-
-
-typedef struct _TOKEN_PRIVILEGES {
-    DWORD PrivilegeCount;
-    LUID_AND_ATTRIBUTES Privileges[1];
-} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
-
-
-typedef struct _TOKEN_OWNER {
-    PSID Owner;
-} TOKEN_OWNER, *PTOKEN_OWNER;
-
-
-typedef struct _TOKEN_PRIMARY_GROUP {
-    PSID PrimaryGroup;
-} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
-
-
-typedef struct _TOKEN_DEFAULT_DACL {
-    PACL DefaultDacl;
-} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
-
-typedef struct _TOKEN_GROUPS_AND_PRIVILEGES {
-    DWORD SidCount;
-    DWORD SidLength;
-    PSID_AND_ATTRIBUTES Sids;
-    DWORD RestrictedSidCount;
-    DWORD RestrictedSidLength;
-    PSID_AND_ATTRIBUTES RestrictedSids;
-    DWORD PrivilegeCount;
-    DWORD PrivilegeLength;
-    PLUID_AND_ATTRIBUTES Privileges;
-    LUID AuthenticationId;
-} TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _TOKEN_AUDIT_POLICY_ELEMENT {
-    DWORD Category;
-    DWORD PolicyMask;
-} TOKEN_AUDIT_POLICY_ELEMENT, *PTOKEN_AUDIT_POLICY_ELEMENT;
-
-typedef struct _TOKEN_AUDIT_POLICY {
-    DWORD PolicyCount;
-    TOKEN_AUDIT_POLICY_ELEMENT Policy[1];
-} TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY;
-
-
-
-
-
-
-
-
-
-typedef struct _TOKEN_SOURCE {
-    CHAR SourceName[8];
-    LUID SourceIdentifier;
-} TOKEN_SOURCE, *PTOKEN_SOURCE;
-
-
-typedef struct _TOKEN_STATISTICS {
-    LUID TokenId;
-    LUID AuthenticationId;
-    LARGE_INTEGER ExpirationTime;
-    TOKEN_TYPE TokenType;
-    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-    DWORD DynamicCharged;
-    DWORD DynamicAvailable;
-    DWORD GroupCount;
-    DWORD PrivilegeCount;
-    LUID ModifiedId;
-} TOKEN_STATISTICS, *PTOKEN_STATISTICS;
-
-
-
-typedef struct _TOKEN_CONTROL {
-    LUID TokenId;
-    LUID AuthenticationId;
-    LUID ModifiedId;
-    TOKEN_SOURCE TokenSource;
-} TOKEN_CONTROL, *PTOKEN_CONTROL;
-
-typedef struct _TOKEN_ORIGIN {
-    LUID OriginatingLogonSession ;
-} TOKEN_ORIGIN, * PTOKEN_ORIGIN ;
-
-
-
-
-
-
-
-
-typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,
-                    * PSECURITY_CONTEXT_TRACKING_MODE;
-
-
-
-
-
-
-
-typedef struct _SECURITY_QUALITY_OF_SERVICE {
-    DWORD Length;
-    SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
-    SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode;
-    BOOLEAN EffectiveOnly;
-    } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE;
-
-
-
-
-
-
-typedef struct _SE_IMPERSONATION_STATE {
-    PACCESS_TOKEN Token;
-    BOOLEAN CopyOnOpen;
-    BOOLEAN EffectiveOnly;
-    SECURITY_IMPERSONATION_LEVEL Level;
-} SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE;
-
-
-
-
-typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _JOB_SET_ARRAY {
-    HANDLE JobHandle;   
-    DWORD MemberLevel;  
-    DWORD Flags;        
-} JOB_SET_ARRAY, *PJOB_SET_ARRAY;
-
-
-
-
-typedef struct _NT_TIB {
-    struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList;
-    PVOID StackBase;
-    PVOID StackLimit;
-    PVOID SubSystemTib;
-    union {
-        PVOID FiberData;
-        DWORD Version;
-    };
-    PVOID ArbitraryUserPointer;
-    struct _NT_TIB *Self;
-} NT_TIB;
-typedef NT_TIB *PNT_TIB;
-
-
-
-
-typedef struct _NT_TIB32 {
-    DWORD ExceptionList;
-    DWORD StackBase;
-    DWORD StackLimit;
-    DWORD SubSystemTib;
-    union {
-        DWORD FiberData;
-        DWORD Version;
-    };
-    DWORD ArbitraryUserPointer;
-    DWORD Self;
-} NT_TIB32, *PNT_TIB32;
-
-typedef struct _NT_TIB64 {
-    DWORD64 ExceptionList;
-    DWORD64 StackBase;
-    DWORD64 StackLimit;
-    DWORD64 SubSystemTib;
-    union {
-        DWORD64 FiberData;
-        DWORD Version;
-    };
-    DWORD64 ArbitraryUserPointer;
-    DWORD64 Self;
-} NT_TIB64, *PNT_TIB64;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _QUOTA_LIMITS {
-    SIZE_T PagedPoolLimit;
-    SIZE_T NonPagedPoolLimit;
-    SIZE_T MinimumWorkingSetSize;
-    SIZE_T MaximumWorkingSetSize;
-    SIZE_T PagefileLimit;
-    LARGE_INTEGER TimeLimit;
-} QUOTA_LIMITS, *PQUOTA_LIMITS;
-
-
-
-
-
-
-typedef struct _QUOTA_LIMITS_EX {
-    SIZE_T PagedPoolLimit;
-    SIZE_T NonPagedPoolLimit;
-    SIZE_T MinimumWorkingSetSize;
-    SIZE_T MaximumWorkingSetSize;
-    SIZE_T PagefileLimit;
-    LARGE_INTEGER TimeLimit;
-    SIZE_T Reserved1;
-    SIZE_T Reserved2;
-    SIZE_T Reserved3;
-    SIZE_T Reserved4;
-    DWORD  Flags;
-    DWORD  Reserved5;
-} QUOTA_LIMITS_EX, *PQUOTA_LIMITS_EX;
-
-typedef struct _IO_COUNTERS {
-    ULONGLONG  ReadOperationCount;
-    ULONGLONG  WriteOperationCount;
-    ULONGLONG  OtherOperationCount;
-    ULONGLONG ReadTransferCount;
-    ULONGLONG WriteTransferCount;
-    ULONGLONG OtherTransferCount;
-} IO_COUNTERS;
-typedef IO_COUNTERS *PIO_COUNTERS;
-
-
-typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION {
-    LARGE_INTEGER TotalUserTime;
-    LARGE_INTEGER TotalKernelTime;
-    LARGE_INTEGER ThisPeriodTotalUserTime;
-    LARGE_INTEGER ThisPeriodTotalKernelTime;
-    DWORD TotalPageFaultCount;
-    DWORD TotalProcesses;
-    DWORD ActiveProcesses;
-    DWORD TotalTerminatedProcesses;
-} JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION;
-
-typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION {
-    LARGE_INTEGER PerProcessUserTimeLimit;
-    LARGE_INTEGER PerJobUserTimeLimit;
-    DWORD LimitFlags;
-    SIZE_T MinimumWorkingSetSize;
-    SIZE_T MaximumWorkingSetSize;
-    DWORD ActiveProcessLimit;
-    ULONG_PTR Affinity;
-    DWORD PriorityClass;
-    DWORD SchedulingClass;
-} JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION;
-
-typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION {
-    JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation;
-    IO_COUNTERS IoInfo;
-    SIZE_T ProcessMemoryLimit;
-    SIZE_T JobMemoryLimit;
-    SIZE_T PeakProcessMemoryUsed;
-    SIZE_T PeakJobMemoryUsed;
-} JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION;
-
-typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST {
-    DWORD NumberOfAssignedProcesses;
-    DWORD NumberOfProcessIdsInList;
-    ULONG_PTR ProcessIdList[1];
-} JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST;
-
-typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS {
-    DWORD UIRestrictionsClass;
-} JOBOBJECT_BASIC_UI_RESTRICTIONS, *PJOBOBJECT_BASIC_UI_RESTRICTIONS;
-
-typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION {
-    DWORD SecurityLimitFlags ;
-    HANDLE JobToken ;
-    PTOKEN_GROUPS SidsToDisable ;
-    PTOKEN_PRIVILEGES PrivilegesToDelete ;
-    PTOKEN_GROUPS RestrictedSids ;
-} JOBOBJECT_SECURITY_LIMIT_INFORMATION, *PJOBOBJECT_SECURITY_LIMIT_INFORMATION ;
-
-typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION {
-    DWORD EndOfJobTimeAction;
-} JOBOBJECT_END_OF_JOB_TIME_INFORMATION, *PJOBOBJECT_END_OF_JOB_TIME_INFORMATION;
-
-typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT {
-    PVOID CompletionKey;
-    HANDLE CompletionPort;
-} JOBOBJECT_ASSOCIATE_COMPLETION_PORT, *PJOBOBJECT_ASSOCIATE_COMPLETION_PORT;
-
-typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION {
-    JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo;
-    IO_COUNTERS IoInfo;
-} JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION;
-
-typedef struct _JOBOBJECT_JOBSET_INFORMATION {
-    DWORD MemberLevel;
-} JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _JOBOBJECTINFOCLASS {
-    JobObjectBasicAccountingInformation = 1,
-    JobObjectBasicLimitInformation,
-    JobObjectBasicProcessIdList,
-    JobObjectBasicUIRestrictions,
-    JobObjectSecurityLimitInformation,
-    JobObjectEndOfJobTimeInformation,
-    JobObjectAssociateCompletionPortInformation,
-    JobObjectBasicAndIoAccountingInformation,
-    JobObjectExtendedLimitInformation,
-    JobObjectJobSetInformation,
-    MaxJobObjectInfoClass
-    } JOBOBJECTINFOCLASS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP {
-    RelationProcessorCore,
-    RelationNumaNode,
-    RelationCache
-} LOGICAL_PROCESSOR_RELATIONSHIP;
-
-
-
-typedef enum _PROCESSOR_CACHE_TYPE {
-    CacheUnified,
-    CacheInstruction,
-    CacheData,
-    CacheTrace
-} PROCESSOR_CACHE_TYPE;
-
-
-
-typedef struct _CACHE_DESCRIPTOR {
-    BYTE   Level;
-    BYTE   Associativity;
-    WORD   LineSize;
-    DWORD  Size;
-    PROCESSOR_CACHE_TYPE Type;
-} CACHE_DESCRIPTOR, *PCACHE_DESCRIPTOR;
-
-typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION {
-    ULONG_PTR   ProcessorMask;
-    LOGICAL_PROCESSOR_RELATIONSHIP Relationship;
-    union {
-        struct {
-            BYTE  Flags;
-        } ProcessorCore;
-        struct {
-            DWORD NodeNumber;
-        } NumaNode;
-        CACHE_DESCRIPTOR Cache;
-        ULONGLONG  Reserved[2];
-    };
-} SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _MEMORY_BASIC_INFORMATION {
-    PVOID BaseAddress;
-    PVOID AllocationBase;
-    DWORD AllocationProtect;
-    SIZE_T RegionSize;
-    DWORD State;
-    DWORD Protect;
-    DWORD Type;
-} MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
-
-typedef struct _MEMORY_BASIC_INFORMATION32 {
-    DWORD BaseAddress;
-    DWORD AllocationBase;
-    DWORD AllocationProtect;
-    DWORD RegionSize;
-    DWORD State;
-    DWORD Protect;
-    DWORD Type;
-} MEMORY_BASIC_INFORMATION32, *PMEMORY_BASIC_INFORMATION32;
-
-typedef struct __declspec(align(16)) _MEMORY_BASIC_INFORMATION64 {
-    ULONGLONG BaseAddress;
-    ULONGLONG AllocationBase;
-    DWORD     AllocationProtect;
-    DWORD     __alignment1;
-    ULONGLONG RegionSize;
-    DWORD     State;
-    DWORD     Protect;
-    DWORD     Type;
-    DWORD     __alignment2;
-} MEMORY_BASIC_INFORMATION64, *PMEMORY_BASIC_INFORMATION64;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _FILE_NOTIFY_INFORMATION {
-    DWORD NextEntryOffset;
-    DWORD Action;
-    DWORD FileNameLength;
-    WCHAR FileName[1];
-} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;
-
-
-
-
-
-
-typedef union _FILE_SEGMENT_ELEMENT {
-    PVOID64 Buffer;
-    ULONGLONG Alignment;
-}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;
-
-
-
-
-
-
-
-
-
-typedef struct _REPARSE_GUID_DATA_BUFFER {
-    DWORD  ReparseTag;
-    WORD   ReparseDataLength;
-    WORD   Reserved;
-    GUID   ReparseGuid;
-    struct {
-        BYTE   DataBuffer[1];
-    } GenericReparseBuffer;
-} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _SYSTEM_POWER_STATE {
-    PowerSystemUnspecified = 0,
-    PowerSystemWorking     = 1,
-    PowerSystemSleeping1   = 2,
-    PowerSystemSleeping2   = 3,
-    PowerSystemSleeping3   = 4,
-    PowerSystemHibernate   = 5,
-    PowerSystemShutdown    = 6,
-    PowerSystemMaximum     = 7
-} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;
-
-
-
-typedef enum {
-    PowerActionNone = 0,
-    PowerActionReserved,
-    PowerActionSleep,
-    PowerActionHibernate,
-    PowerActionShutdown,
-    PowerActionShutdownReset,
-    PowerActionShutdownOff,
-    PowerActionWarmEject
-} POWER_ACTION, *PPOWER_ACTION;
-
-typedef enum _DEVICE_POWER_STATE {
-    PowerDeviceUnspecified = 0,
-    PowerDeviceD0,
-    PowerDeviceD1,
-    PowerDeviceD2,
-    PowerDeviceD3,
-    PowerDeviceMaximum
-} DEVICE_POWER_STATE, *PDEVICE_POWER_STATE;
-
-
-
-
-
-
-
-typedef DWORD EXECUTION_STATE;
-
-typedef enum {
-    LT_DONT_CARE,
-    LT_LOWEST_LATENCY
-} LATENCY_TIME;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct CM_Power_Data_s {
-    DWORD               PD_Size;
-    DEVICE_POWER_STATE  PD_MostRecentPowerState;
-    DWORD               PD_Capabilities;
-    DWORD               PD_D1Latency;
-    DWORD               PD_D2Latency;
-    DWORD               PD_D3Latency;
-    DEVICE_POWER_STATE  PD_PowerStateMapping[7];
-    SYSTEM_POWER_STATE  PD_DeepestSystemWake;
-} CM_POWER_DATA, *PCM_POWER_DATA;
-
-
-
-typedef enum {
-    SystemPowerPolicyAc,
-    SystemPowerPolicyDc,
-    VerifySystemPolicyAc,
-    VerifySystemPolicyDc,
-    SystemPowerCapabilities,
-    SystemBatteryState,
-    SystemPowerStateHandler,
-    ProcessorStateHandler,
-    SystemPowerPolicyCurrent,
-    AdministratorPowerPolicy,
-    SystemReserveHiberFile,
-    ProcessorInformation,
-    SystemPowerInformation,
-    ProcessorStateHandler2,
-    LastWakeTime,                                   
-    LastSleepTime,                                  
-    SystemExecutionState,
-    SystemPowerStateNotifyHandler,
-    ProcessorPowerPolicyAc,
-    ProcessorPowerPolicyDc,
-    VerifyProcessorPowerPolicyAc,
-    VerifyProcessorPowerPolicyDc,
-    ProcessorPowerPolicyCurrent,
-    SystemPowerStateLogging,
-    SystemPowerLoggingEntry
-} POWER_INFORMATION_LEVEL;
-
-
-
-
-
-
-
-typedef struct {
-    DWORD       Granularity;
-    DWORD       Capacity;
-} BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE;
-
-
-
-
-
-
-typedef struct {
-    POWER_ACTION    Action;
-    DWORD           Flags;
-    DWORD           EventCode;
-} POWER_ACTION_POLICY, *PPOWER_ACTION_POLICY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    BOOLEAN                 Enable;
-    BYTE                    Spare[3];
-    DWORD                   BatteryLevel;
-    POWER_ACTION_POLICY     PowerPolicy;
-    SYSTEM_POWER_STATE      MinSystemState;
-} SYSTEM_POWER_LEVEL, *PSYSTEM_POWER_LEVEL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SYSTEM_POWER_POLICY {
-    DWORD                   Revision;       
-
-    
-    POWER_ACTION_POLICY     PowerButton;
-    POWER_ACTION_POLICY     SleepButton;
-    POWER_ACTION_POLICY     LidClose;
-    SYSTEM_POWER_STATE      LidOpenWake;
-    DWORD                   Reserved;
-
-    
-    POWER_ACTION_POLICY     Idle;
-    DWORD                   IdleTimeout;
-    BYTE                    IdleSensitivity;
-
-    
-    
-    BYTE                    DynamicThrottle;
-
-    BYTE                    Spare2[2];
-
-    
-    SYSTEM_POWER_STATE      MinSleep;
-    SYSTEM_POWER_STATE      MaxSleep;
-    SYSTEM_POWER_STATE      ReducedLatencySleep;
-    DWORD                   WinLogonFlags;
-
-    
-    DWORD                   Spare3;
-    DWORD                   DozeS4Timeout;
-
-    
-    DWORD                   BroadcastCapacityResolution;
-    SYSTEM_POWER_LEVEL      DischargePolicy[4];
-
-    
-    DWORD                   VideoTimeout;
-    BOOLEAN                 VideoDimDisplay;
-    DWORD                   VideoReserved[3];
-
-    
-    DWORD                   SpindownTimeout;
-
-    
-    BOOLEAN                 OptimizeForPower;
-    BYTE                    FanThrottleTolerance;
-    BYTE                    ForcedThrottle;
-    BYTE                    MinThrottle;
-    POWER_ACTION_POLICY     OverThrottled;
-
-} SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY;
-
-
-typedef struct _PROCESSOR_POWER_POLICY_INFO {
-
-    
-    DWORD                   TimeCheck;                      
-    DWORD                   DemoteLimit;                    
-    DWORD                   PromoteLimit;                   
-
-    
-    BYTE                    DemotePercent;
-    BYTE                    PromotePercent;
-    BYTE                    Spare[2];
-
-    
-    DWORD                   AllowDemotion:1;
-    DWORD                   AllowPromotion:1;
-    DWORD                   Reserved:30;
-
-} PROCESSOR_POWER_POLICY_INFO, *PPROCESSOR_POWER_POLICY_INFO;
-
-
-typedef struct _PROCESSOR_POWER_POLICY {
-    DWORD                       Revision;       
-
-    
-    BYTE                        DynamicThrottle;
-    BYTE                        Spare[3];
-
-    
-    DWORD                       DisableCStates:1;
-    DWORD                       Reserved:31;
-
-    
-    
-    
-    DWORD                       PolicyCount;
-    PROCESSOR_POWER_POLICY_INFO Policy[3];
-
-} PROCESSOR_POWER_POLICY, *PPROCESSOR_POWER_POLICY;
-
-
-typedef struct _ADMINISTRATOR_POWER_POLICY {
-
-    
-    SYSTEM_POWER_STATE      MinSleep;
-    SYSTEM_POWER_STATE      MaxSleep;
-
-    
-    DWORD                   MinVideoTimeout;
-    DWORD                   MaxVideoTimeout;
-
-    
-    DWORD                   MinSpindownTimeout;
-    DWORD                   MaxSpindownTimeout;
-} ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY;
-
-
-typedef struct {
-    
-    BOOLEAN             PowerButtonPresent;
-    BOOLEAN             SleepButtonPresent;
-    BOOLEAN             LidPresent;
-    BOOLEAN             SystemS1;
-    BOOLEAN             SystemS2;
-    BOOLEAN             SystemS3;
-    BOOLEAN             SystemS4;           
-    BOOLEAN             SystemS5;           
-    BOOLEAN             HiberFilePresent;
-    BOOLEAN             FullWake;
-    BOOLEAN             VideoDimPresent;
-    BOOLEAN             ApmPresent;
-    BOOLEAN             UpsPresent;
-
-    
-    BOOLEAN             ThermalControl;
-    BOOLEAN             ProcessorThrottle;
-    BYTE                ProcessorMinThrottle;
-    BYTE                ProcessorMaxThrottle;
-    BYTE                spare2[4];
-
-    
-    BOOLEAN             DiskSpinDown;
-    BYTE                spare3[8];
-
-    
-    BOOLEAN             SystemBatteriesPresent;
-    BOOLEAN             BatteriesAreShortTerm;
-    BATTERY_REPORTING_SCALE BatteryScale[3];
-
-    
-    SYSTEM_POWER_STATE  AcOnLineWake;
-    SYSTEM_POWER_STATE  SoftLidWake;
-    SYSTEM_POWER_STATE  RtcWake;
-    SYSTEM_POWER_STATE  MinDeviceWakeState; 
-    SYSTEM_POWER_STATE  DefaultLowLatencyWake;
-} SYSTEM_POWER_CAPABILITIES, *PSYSTEM_POWER_CAPABILITIES;
-
-typedef struct {
-    BOOLEAN             AcOnLine;
-    BOOLEAN             BatteryPresent;
-    BOOLEAN             Charging;
-    BOOLEAN             Discharging;
-    BOOLEAN             Spare1[4];
-
-    DWORD               MaxCapacity;
-    DWORD               RemainingCapacity;
-    DWORD               Rate;
-    DWORD               EstimatedTime;
-
-    DWORD               DefaultAlert1;
-    DWORD               DefaultAlert2;
-} SYSTEM_BATTERY_STATE, *PSYSTEM_BATTERY_STATE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,4)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,2)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_DOS_HEADER {      
-    WORD   e_magic;                     
-    WORD   e_cblp;                      
-    WORD   e_cp;                        
-    WORD   e_crlc;                      
-    WORD   e_cparhdr;                   
-    WORD   e_minalloc;                  
-    WORD   e_maxalloc;                  
-    WORD   e_ss;                        
-    WORD   e_sp;                        
-    WORD   e_csum;                      
-    WORD   e_ip;                        
-    WORD   e_cs;                        
-    WORD   e_lfarlc;                    
-    WORD   e_ovno;                      
-    WORD   e_res[4];                    
-    WORD   e_oemid;                     
-    WORD   e_oeminfo;                   
-    WORD   e_res2[10];                  
-    LONG   e_lfanew;                    
-  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;
-
-typedef struct _IMAGE_OS2_HEADER {      
-    WORD   ne_magic;                    
-    CHAR   ne_ver;                      
-    CHAR   ne_rev;                      
-    WORD   ne_enttab;                   
-    WORD   ne_cbenttab;                 
-    LONG   ne_crc;                      
-    WORD   ne_flags;                    
-    WORD   ne_autodata;                 
-    WORD   ne_heap;                     
-    WORD   ne_stack;                    
-    LONG   ne_csip;                     
-    LONG   ne_sssp;                     
-    WORD   ne_cseg;                     
-    WORD   ne_cmod;                     
-    WORD   ne_cbnrestab;                
-    WORD   ne_segtab;                   
-    WORD   ne_rsrctab;                  
-    WORD   ne_restab;                   
-    WORD   ne_modtab;                   
-    WORD   ne_imptab;                   
-    LONG   ne_nrestab;                  
-    WORD   ne_cmovent;                  
-    WORD   ne_align;                    
-    WORD   ne_cres;                     
-    BYTE   ne_exetyp;                   
-    BYTE   ne_flagsothers;              
-    WORD   ne_pretthunks;               
-    WORD   ne_psegrefbytes;             
-    WORD   ne_swaparea;                 
-    WORD   ne_expver;                   
-  } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER;
-
-typedef struct _IMAGE_VXD_HEADER {      
-    WORD   e32_magic;                   
-    BYTE   e32_border;                  
-    BYTE   e32_worder;                  
-    DWORD  e32_level;                   
-    WORD   e32_cpu;                     
-    WORD   e32_os;                      
-    DWORD  e32_ver;                     
-    DWORD  e32_mflags;                  
-    DWORD  e32_mpages;                  
-    DWORD  e32_startobj;                
-    DWORD  e32_eip;                     
-    DWORD  e32_stackobj;                
-    DWORD  e32_esp;                     
-    DWORD  e32_pagesize;                
-    DWORD  e32_lastpagesize;            
-    DWORD  e32_fixupsize;               
-    DWORD  e32_fixupsum;                
-    DWORD  e32_ldrsize;                 
-    DWORD  e32_ldrsum;                  
-    DWORD  e32_objtab;                  
-    DWORD  e32_objcnt;                  
-    DWORD  e32_objmap;                  
-    DWORD  e32_itermap;                 
-    DWORD  e32_rsrctab;                 
-    DWORD  e32_rsrccnt;                 
-    DWORD  e32_restab;                  
-    DWORD  e32_enttab;                  
-    DWORD  e32_dirtab;                  
-    DWORD  e32_dircnt;                  
-    DWORD  e32_fpagetab;                
-    DWORD  e32_frectab;                 
-    DWORD  e32_impmod;                  
-    DWORD  e32_impmodcnt;               
-    DWORD  e32_impproc;                 
-    DWORD  e32_pagesum;                 
-    DWORD  e32_datapage;                
-    DWORD  e32_preload;                 
-    DWORD  e32_nrestab;                 
-    DWORD  e32_cbnrestab;               
-    DWORD  e32_nressum;                 
-    DWORD  e32_autodata;                
-    DWORD  e32_debuginfo;               
-    DWORD  e32_debuglen;                
-    DWORD  e32_instpreload;             
-    DWORD  e32_instdemand;              
-    DWORD  e32_heapsize;                
-    BYTE   e32_res3[12];                
-    DWORD  e32_winresoff;
-    DWORD  e32_winreslen;
-    WORD   e32_devid;                   
-    WORD   e32_ddkver;                  
-  } IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_FILE_HEADER {
-    WORD    Machine;
-    WORD    NumberOfSections;
-    DWORD   TimeDateStamp;
-    DWORD   PointerToSymbolTable;
-    DWORD   NumberOfSymbols;
-    WORD    SizeOfOptionalHeader;
-    WORD    Characteristics;
-} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_DATA_DIRECTORY {
-    DWORD   VirtualAddress;
-    DWORD   Size;
-} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
-
-
-
-
-
-
-
-typedef struct _IMAGE_OPTIONAL_HEADER {
-    
-    
-    
-
-    WORD    Magic;
-    BYTE    MajorLinkerVersion;
-    BYTE    MinorLinkerVersion;
-    DWORD   SizeOfCode;
-    DWORD   SizeOfInitializedData;
-    DWORD   SizeOfUninitializedData;
-    DWORD   AddressOfEntryPoint;
-    DWORD   BaseOfCode;
-    DWORD   BaseOfData;
-
-    
-    
-    
-
-    DWORD   ImageBase;
-    DWORD   SectionAlignment;
-    DWORD   FileAlignment;
-    WORD    MajorOperatingSystemVersion;
-    WORD    MinorOperatingSystemVersion;
-    WORD    MajorImageVersion;
-    WORD    MinorImageVersion;
-    WORD    MajorSubsystemVersion;
-    WORD    MinorSubsystemVersion;
-    DWORD   Win32VersionValue;
-    DWORD   SizeOfImage;
-    DWORD   SizeOfHeaders;
-    DWORD   CheckSum;
-    WORD    Subsystem;
-    WORD    DllCharacteristics;
-    DWORD   SizeOfStackReserve;
-    DWORD   SizeOfStackCommit;
-    DWORD   SizeOfHeapReserve;
-    DWORD   SizeOfHeapCommit;
-    DWORD   LoaderFlags;
-    DWORD   NumberOfRvaAndSizes;
-    IMAGE_DATA_DIRECTORY DataDirectory[16];
-} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
-
-typedef struct _IMAGE_ROM_OPTIONAL_HEADER {
-    WORD   Magic;
-    BYTE   MajorLinkerVersion;
-    BYTE   MinorLinkerVersion;
-    DWORD  SizeOfCode;
-    DWORD  SizeOfInitializedData;
-    DWORD  SizeOfUninitializedData;
-    DWORD  AddressOfEntryPoint;
-    DWORD  BaseOfCode;
-    DWORD  BaseOfData;
-    DWORD  BaseOfBss;
-    DWORD  GprMask;
-    DWORD  CprMask[4];
-    DWORD  GpValue;
-} IMAGE_ROM_OPTIONAL_HEADER, *PIMAGE_ROM_OPTIONAL_HEADER;
-
-typedef struct _IMAGE_OPTIONAL_HEADER64 {
-    WORD        Magic;
-    BYTE        MajorLinkerVersion;
-    BYTE        MinorLinkerVersion;
-    DWORD       SizeOfCode;
-    DWORD       SizeOfInitializedData;
-    DWORD       SizeOfUninitializedData;
-    DWORD       AddressOfEntryPoint;
-    DWORD       BaseOfCode;
-    ULONGLONG   ImageBase;
-    DWORD       SectionAlignment;
-    DWORD       FileAlignment;
-    WORD        MajorOperatingSystemVersion;
-    WORD        MinorOperatingSystemVersion;
-    WORD        MajorImageVersion;
-    WORD        MinorImageVersion;
-    WORD        MajorSubsystemVersion;
-    WORD        MinorSubsystemVersion;
-    DWORD       Win32VersionValue;
-    DWORD       SizeOfImage;
-    DWORD       SizeOfHeaders;
-    DWORD       CheckSum;
-    WORD        Subsystem;
-    WORD        DllCharacteristics;
-    ULONGLONG   SizeOfStackReserve;
-    ULONGLONG   SizeOfStackCommit;
-    ULONGLONG   SizeOfHeapReserve;
-    ULONGLONG   SizeOfHeapCommit;
-    DWORD       LoaderFlags;
-    DWORD       NumberOfRvaAndSizes;
-    IMAGE_DATA_DIRECTORY DataDirectory[16];
-} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef IMAGE_OPTIONAL_HEADER32             IMAGE_OPTIONAL_HEADER;
-typedef PIMAGE_OPTIONAL_HEADER32            PIMAGE_OPTIONAL_HEADER;
-
-
-
-
-typedef struct _IMAGE_NT_HEADERS64 {
-    DWORD Signature;
-    IMAGE_FILE_HEADER FileHeader;
-    IMAGE_OPTIONAL_HEADER64 OptionalHeader;
-} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;
-
-typedef struct _IMAGE_NT_HEADERS {
-    DWORD Signature;
-    IMAGE_FILE_HEADER FileHeader;
-    IMAGE_OPTIONAL_HEADER32 OptionalHeader;
-} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
-
-typedef struct _IMAGE_ROM_HEADERS {
-    IMAGE_FILE_HEADER FileHeader;
-    IMAGE_ROM_OPTIONAL_HEADER OptionalHeader;
-} IMAGE_ROM_HEADERS, *PIMAGE_ROM_HEADERS;
-
-
-
-
-
-typedef IMAGE_NT_HEADERS32                  IMAGE_NT_HEADERS;
-typedef PIMAGE_NT_HEADERS32                 PIMAGE_NT_HEADERS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct ANON_OBJECT_HEADER {
-    WORD    Sig1;            
-    WORD    Sig2;            
-    WORD    Version;         
-    WORD    Machine;
-    DWORD   TimeDateStamp;
-    CLSID   ClassID;         
-    DWORD   SizeOfData;      
-} ANON_OBJECT_HEADER;
-
-
-
-
-
-
-
-typedef struct _IMAGE_SECTION_HEADER {
-    BYTE    Name[8];
-    union {
-            DWORD   PhysicalAddress;
-            DWORD   VirtualSize;
-    } Misc;
-    DWORD   VirtualAddress;
-    DWORD   SizeOfRawData;
-    DWORD   PointerToRawData;
-    DWORD   PointerToRelocations;
-    DWORD   PointerToLinenumbers;
-    WORD    NumberOfRelocations;
-    WORD    NumberOfLinenumbers;
-    DWORD   Characteristics;
-} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,2)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_SYMBOL {
-    union {
-        BYTE    ShortName[8];
-        struct {
-            DWORD   Short;     
-            DWORD   Long;      
-        } Name;
-        DWORD   LongName[2];    
-    } N;
-    DWORD   Value;
-    SHORT   SectionNumber;
-    WORD    Type;
-    BYTE    StorageClass;
-    BYTE    NumberOfAuxSymbols;
-} IMAGE_SYMBOL;
-typedef IMAGE_SYMBOL  *PIMAGE_SYMBOL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef union _IMAGE_AUX_SYMBOL {
-    struct {
-        DWORD    TagIndex;                      
-        union {
-            struct {
-                WORD    Linenumber;             
-                WORD    Size;                   
-            } LnSz;
-           DWORD    TotalSize;
-        } Misc;
-        union {
-            struct {                            
-                DWORD    PointerToLinenumber;
-                DWORD    PointerToNextFunction;
-            } Function;
-            struct {                            
-                WORD     Dimension[4];
-            } Array;
-        } FcnAry;
-        WORD    TvIndex;                        
-    } Sym;
-    struct {
-        BYTE    Name[18];
-    } File;
-    struct {
-        DWORD   Length;                         
-        WORD    NumberOfRelocations;            
-        WORD    NumberOfLinenumbers;            
-        DWORD   CheckSum;                       
-        SHORT   Number;                         
-        BYTE    Selection;                      
-    } Section;
-} IMAGE_AUX_SYMBOL;
-typedef IMAGE_AUX_SYMBOL  *PIMAGE_AUX_SYMBOL;
-
-
-
-typedef enum IMAGE_AUX_SYMBOL_TYPE {
-    IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1,
-} IMAGE_AUX_SYMBOL_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,2)
-
-
-
-
-
-
-
-
-
-typedef struct IMAGE_AUX_SYMBOL_TOKEN_DEF {
-    BYTE  bAuxType;                  
-    BYTE  bReserved;                 
-    DWORD SymbolTableIndex;
-    BYTE  rgbReserved[12];           
-} IMAGE_AUX_SYMBOL_TOKEN_DEF;
-
-typedef IMAGE_AUX_SYMBOL_TOKEN_DEF  *PIMAGE_AUX_SYMBOL_TOKEN_DEF;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_RELOCATION {
-    union {
-        DWORD   VirtualAddress;
-        DWORD   RelocCount;             
-    };
-    DWORD   SymbolTableIndex;
-    WORD    Type;
-} IMAGE_RELOCATION;
-typedef IMAGE_RELOCATION  *PIMAGE_RELOCATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_LINENUMBER {
-    union {
-        DWORD   SymbolTableIndex;               
-        DWORD   VirtualAddress;                 
-    } Type;
-    WORD    Linenumber;                         
-} IMAGE_LINENUMBER;
-typedef IMAGE_LINENUMBER  *PIMAGE_LINENUMBER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_BASE_RELOCATION {
-    DWORD   VirtualAddress;
-    DWORD   SizeOfBlock;
-
-} IMAGE_BASE_RELOCATION;
-typedef IMAGE_BASE_RELOCATION  * PIMAGE_BASE_RELOCATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER {
-    BYTE     Name[16];                          
-    BYTE     Date[12];                          
-    BYTE     UserID[6];                         
-    BYTE     GroupID[6];                        
-    BYTE     Mode[8];                           
-    BYTE     Size[10];                          
-    BYTE     EndHeader[2];                      
-} IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_EXPORT_DIRECTORY {
-    DWORD   Characteristics;
-    DWORD   TimeDateStamp;
-    WORD    MajorVersion;
-    WORD    MinorVersion;
-    DWORD   Name;
-    DWORD   Base;
-    DWORD   NumberOfFunctions;
-    DWORD   NumberOfNames;
-    DWORD   AddressOfFunctions;     
-    DWORD   AddressOfNames;         
-    DWORD   AddressOfNameOrdinals;  
-} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
-
-
-
-
-
-typedef struct _IMAGE_IMPORT_BY_NAME {
-    WORD    Hint;
-    BYTE    Name[1];
-} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_THUNK_DATA64 {
-    union {
-        ULONGLONG ForwarderString;  
-        ULONGLONG Function;         
-        ULONGLONG Ordinal;
-        ULONGLONG AddressOfData;    
-    } u1;
-} IMAGE_THUNK_DATA64;
-typedef IMAGE_THUNK_DATA64 * PIMAGE_THUNK_DATA64;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_THUNK_DATA32 {
-    union {
-        DWORD ForwarderString;      
-        DWORD Function;             
-        DWORD Ordinal;
-        DWORD AddressOfData;        
-    } u1;
-} IMAGE_THUNK_DATA32;
-typedef IMAGE_THUNK_DATA32 * PIMAGE_THUNK_DATA32;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void
-(__stdcall *PIMAGE_TLS_CALLBACK) (
-    PVOID DllHandle,
-    DWORD Reason,
-    PVOID Reserved
-    );
-
-typedef struct _IMAGE_TLS_DIRECTORY64 {
-    ULONGLONG   StartAddressOfRawData;
-    ULONGLONG   EndAddressOfRawData;
-    ULONGLONG   AddressOfIndex;         
-    ULONGLONG   AddressOfCallBacks;     
-    DWORD   SizeOfZeroFill;
-    DWORD   Characteristics;
-} IMAGE_TLS_DIRECTORY64;
-typedef IMAGE_TLS_DIRECTORY64 * PIMAGE_TLS_DIRECTORY64;
-
-typedef struct _IMAGE_TLS_DIRECTORY32 {
-    DWORD   StartAddressOfRawData;
-    DWORD   EndAddressOfRawData;
-    DWORD   AddressOfIndex;             
-    DWORD   AddressOfCallBacks;         
-    DWORD   SizeOfZeroFill;
-    DWORD   Characteristics;
-} IMAGE_TLS_DIRECTORY32;
-typedef IMAGE_TLS_DIRECTORY32 * PIMAGE_TLS_DIRECTORY32;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef IMAGE_THUNK_DATA32              IMAGE_THUNK_DATA;
-typedef PIMAGE_THUNK_DATA32             PIMAGE_THUNK_DATA;
-
-typedef IMAGE_TLS_DIRECTORY32           IMAGE_TLS_DIRECTORY;
-typedef PIMAGE_TLS_DIRECTORY32          PIMAGE_TLS_DIRECTORY;
-
-
-typedef struct _IMAGE_IMPORT_DESCRIPTOR {
-    union {
-        DWORD   Characteristics;            
-        DWORD   OriginalFirstThunk;         
-    };
-    DWORD   TimeDateStamp;                  
-                                            
-                                            
-                                            
-
-    DWORD   ForwarderChain;                 
-    DWORD   Name;
-    DWORD   FirstThunk;                     
-} IMAGE_IMPORT_DESCRIPTOR;
-typedef IMAGE_IMPORT_DESCRIPTOR  *PIMAGE_IMPORT_DESCRIPTOR;
-
-
-
-
-
-typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR {
-    DWORD   TimeDateStamp;
-    WORD    OffsetModuleName;
-    WORD    NumberOfModuleForwarderRefs;
-
-} IMAGE_BOUND_IMPORT_DESCRIPTOR,  *PIMAGE_BOUND_IMPORT_DESCRIPTOR;
-
-typedef struct _IMAGE_BOUND_FORWARDER_REF {
-    DWORD   TimeDateStamp;
-    WORD    OffsetModuleName;
-    WORD    Reserved;
-} IMAGE_BOUND_FORWARDER_REF, *PIMAGE_BOUND_FORWARDER_REF;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY {
-    DWORD   Characteristics;
-    DWORD   TimeDateStamp;
-    WORD    MajorVersion;
-    WORD    MinorVersion;
-    WORD    NumberOfNamedEntries;
-    WORD    NumberOfIdEntries;
-
-} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
-    union {
-        struct {
-            DWORD NameOffset:31;
-            DWORD NameIsString:1;
-        };
-        DWORD   Name;
-        WORD    Id;
-    };
-    union {
-        DWORD   OffsetToData;
-        struct {
-            DWORD   OffsetToDirectory:31;
-            DWORD   DataIsDirectory:1;
-        };
-    };
-} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
-    WORD    Length;
-    CHAR    NameString[ 1 ];
-} IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING;
-
-
-typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
-    WORD    Length;
-    WCHAR   NameString[ 1 ];
-} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
-    DWORD   OffsetToData;
-    DWORD   Size;
-    DWORD   CodePage;
-    DWORD   Reserved;
-} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
-
-
-
-
-
-typedef struct {
-    DWORD   Size;
-    DWORD   TimeDateStamp;
-    WORD    MajorVersion;
-    WORD    MinorVersion;
-    DWORD   GlobalFlagsClear;
-    DWORD   GlobalFlagsSet;
-    DWORD   CriticalSectionDefaultTimeout;
-    DWORD   DeCommitFreeBlockThreshold;
-    DWORD   DeCommitTotalFreeThreshold;
-    DWORD   LockPrefixTable;            
-    DWORD   MaximumAllocationSize;
-    DWORD   VirtualMemoryThreshold;
-    DWORD   ProcessHeapFlags;
-    DWORD   ProcessAffinityMask;
-    WORD    CSDVersion;
-    WORD    Reserved1;
-    DWORD   EditList;                   
-    DWORD   SecurityCookie;             
-    DWORD   SEHandlerTable;             
-    DWORD   SEHandlerCount;
-} IMAGE_LOAD_CONFIG_DIRECTORY32, *PIMAGE_LOAD_CONFIG_DIRECTORY32;
-
-typedef struct {
-    DWORD      Size;
-    DWORD      TimeDateStamp;
-    WORD       MajorVersion;
-    WORD       MinorVersion;
-    DWORD      GlobalFlagsClear;
-    DWORD      GlobalFlagsSet;
-    DWORD      CriticalSectionDefaultTimeout;
-    ULONGLONG  DeCommitFreeBlockThreshold;
-    ULONGLONG  DeCommitTotalFreeThreshold;
-    ULONGLONG  LockPrefixTable;         
-    ULONGLONG  MaximumAllocationSize;
-    ULONGLONG  VirtualMemoryThreshold;
-    ULONGLONG  ProcessAffinityMask;
-    DWORD      ProcessHeapFlags;
-    WORD       CSDVersion;
-    WORD       Reserved1;
-    ULONGLONG  EditList;                
-    ULONGLONG  SecurityCookie;          
-    ULONGLONG  SEHandlerTable;          
-    ULONGLONG  SEHandlerCount;
-} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64;
-
-
-
-
-
-typedef IMAGE_LOAD_CONFIG_DIRECTORY32     IMAGE_LOAD_CONFIG_DIRECTORY;
-typedef PIMAGE_LOAD_CONFIG_DIRECTORY32    PIMAGE_LOAD_CONFIG_DIRECTORY;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY {
-    DWORD FuncStart;
-    DWORD PrologLen : 8;
-    DWORD FuncLen : 22;
-    DWORD ThirtyTwoBit : 1;
-    DWORD ExceptionFlag : 1;
-} IMAGE_CE_RUNTIME_FUNCTION_ENTRY, * PIMAGE_CE_RUNTIME_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY {
-    ULONGLONG BeginAddress;
-    ULONGLONG EndAddress;
-    ULONGLONG ExceptionHandler;
-    ULONGLONG HandlerData;
-    ULONGLONG PrologEndAddress;
-} IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY {
-    DWORD BeginAddress;
-    DWORD EndAddress;
-    DWORD ExceptionHandler;
-    DWORD HandlerData;
-    DWORD PrologEndAddress;
-} IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY {
-    DWORD BeginAddress;
-    DWORD EndAddress;
-    DWORD UnwindInfoAddress;
-} _IMAGE_RUNTIME_FUNCTION_ENTRY, *_PIMAGE_RUNTIME_FUNCTION_ENTRY;
-
-typedef  _IMAGE_RUNTIME_FUNCTION_ENTRY  IMAGE_IA64_RUNTIME_FUNCTION_ENTRY;
-typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  _IMAGE_RUNTIME_FUNCTION_ENTRY  IMAGE_RUNTIME_FUNCTION_ENTRY;
-typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY;
-
-
-
-
-
-
-
-typedef struct _IMAGE_DEBUG_DIRECTORY {
-    DWORD   Characteristics;
-    DWORD   TimeDateStamp;
-    WORD    MajorVersion;
-    WORD    MinorVersion;
-    DWORD   Type;
-    DWORD   SizeOfData;
-    DWORD   AddressOfRawData;
-    DWORD   PointerToRawData;
-} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_COFF_SYMBOLS_HEADER {
-    DWORD   NumberOfSymbols;
-    DWORD   LvaToFirstSymbol;
-    DWORD   NumberOfLinenumbers;
-    DWORD   LvaToFirstLinenumber;
-    DWORD   RvaToFirstByteOfCode;
-    DWORD   RvaToLastByteOfCode;
-    DWORD   RvaToFirstByteOfData;
-    DWORD   RvaToLastByteOfData;
-} IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER;
-
-
-
-
-
-
-typedef struct _FPO_DATA {
-    DWORD       ulOffStart;             
-    DWORD       cbProcSize;             
-    DWORD       cdwLocals;              
-    WORD        cdwParams;              
-    WORD        cbProlog : 8;           
-    WORD        cbRegs   : 3;           
-    WORD        fHasSEH  : 1;           
-    WORD        fUseBP   : 1;           
-    WORD        reserved : 1;           
-    WORD        cbFrame  : 2;           
-} FPO_DATA, *PFPO_DATA;
-
-
-
-
-
-typedef struct _IMAGE_DEBUG_MISC {
-    DWORD       DataType;               
-    DWORD       Length;                 
-                                        
-    BOOLEAN     Unicode;                
-    BYTE        Reserved[ 3 ];
-    BYTE        Data[ 1 ];              
-} IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC;
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_FUNCTION_ENTRY {
-    DWORD   StartingAddress;
-    DWORD   EndingAddress;
-    DWORD   EndOfPrologue;
-} IMAGE_FUNCTION_ENTRY, *PIMAGE_FUNCTION_ENTRY;
-
-typedef struct _IMAGE_FUNCTION_ENTRY64 {
-    ULONGLONG   StartingAddress;
-    ULONGLONG   EndingAddress;
-    union {
-        ULONGLONG   EndOfPrologue;
-        ULONGLONG   UnwindInfoAddress;
-    };
-} IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
-    WORD        Signature;
-    WORD        Flags;
-    WORD        Machine;
-    WORD        Characteristics;
-    DWORD       TimeDateStamp;
-    DWORD       CheckSum;
-    DWORD       ImageBase;
-    DWORD       SizeOfImage;
-    DWORD       NumberOfSections;
-    DWORD       ExportedNamesSize;
-    DWORD       DebugDirectorySize;
-    DWORD       SectionAlignment;
-    DWORD       Reserved[2];
-} IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER;
-
-typedef struct _NON_PAGED_DEBUG_INFO {
-    WORD        Signature;
-    WORD        Flags;
-    DWORD       Size;
-    WORD        Machine;
-    WORD        Characteristics;
-    DWORD       TimeDateStamp;
-    DWORD       CheckSum;
-    DWORD       SizeOfImage;
-    ULONGLONG   ImageBase;
-    
-    
-} NON_PAGED_DEBUG_INFO, *PNON_PAGED_DEBUG_INFO;
-
-
-
-
-
-
-
-
-
-
-
-                                                
-
-
-
-
-
-
-
-
-
-typedef struct _ImageArchitectureHeader {
-    unsigned int AmaskValue: 1;                 
-                                                
-    int :7;                                     
-    unsigned int AmaskShift: 8;                 
-    int :16;                                    
-    DWORD FirstEntryRVA;                        
-} IMAGE_ARCHITECTURE_HEADER, *PIMAGE_ARCHITECTURE_HEADER;
-
-typedef struct _ImageArchitectureEntry {
-    DWORD FixupInstRVA;                         
-    DWORD NewInst;                              
-} IMAGE_ARCHITECTURE_ENTRY, *PIMAGE_ARCHITECTURE_ENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct IMPORT_OBJECT_HEADER {
-    WORD    Sig1;                       
-    WORD    Sig2;                       
-    WORD    Version;
-    WORD    Machine;
-    DWORD   TimeDateStamp;              
-    DWORD   SizeOfData;                 
-
-    union {
-        WORD    Ordinal;                
-        WORD    Hint;
-    };
-
-    WORD    Type : 2;                   
-    WORD    NameType : 3;               
-    WORD    Reserved : 11;              
-} IMPORT_OBJECT_HEADER;
-
-typedef enum IMPORT_OBJECT_TYPE
-{
-    IMPORT_OBJECT_CODE = 0,
-    IMPORT_OBJECT_DATA = 1,
-    IMPORT_OBJECT_CONST = 2,
-} IMPORT_OBJECT_TYPE;
-
-typedef enum IMPORT_OBJECT_NAME_TYPE
-{
-    IMPORT_OBJECT_ORDINAL = 0,          
-    IMPORT_OBJECT_NAME = 1,             
-    IMPORT_OBJECT_NAME_NO_PREFIX = 2,   
-    IMPORT_OBJECT_NAME_UNDECORATE = 3,  
-                                        
-} IMPORT_OBJECT_NAME_TYPE;
-
-
-
-
-
-typedef enum ReplacesCorHdrNumericDefines
-{
-
-    COMIMAGE_FLAGS_ILONLY               =0x00000001,
-    COMIMAGE_FLAGS_32BITREQUIRED        =0x00000002,
-    COMIMAGE_FLAGS_IL_LIBRARY           =0x00000004,
-    COMIMAGE_FLAGS_STRONGNAMESIGNED     =0x00000008,
-    COMIMAGE_FLAGS_TRACKDEBUGDATA       =0x00010000,
-
-
-    COR_VERSION_MAJOR_V2                =2,
-    COR_VERSION_MAJOR                   =COR_VERSION_MAJOR_V2,
-    COR_VERSION_MINOR                   =0,
-    COR_DELETED_NAME_LENGTH             =8,
-    COR_VTABLEGAP_NAME_LENGTH           =8,
-
-
-    NATIVE_TYPE_MAX_CB                  =1,   
-    COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE=0xFF,
-
-
-    IMAGE_COR_MIH_METHODRVA             =0x01,
-    IMAGE_COR_MIH_EHRVA                 =0x02,    
-    IMAGE_COR_MIH_BASICBLOCK            =0x08,
-
-
-    COR_VTABLE_32BIT                    =0x01,          
-    COR_VTABLE_64BIT                    =0x02,          
-    COR_VTABLE_FROM_UNMANAGED           =0x04,          
-    COR_VTABLE_CALL_MOST_DERIVED        =0x10,          
-
-
-    IMAGE_COR_EATJ_THUNK_SIZE           =32,            
-
-
-    
-    MAX_CLASS_NAME                      =1024,
-    MAX_PACKAGE_NAME                    =1024,
-} ReplacesCorHdrNumericDefines;
-
-
-typedef struct IMAGE_COR20_HEADER
-{
-    
-    DWORD                   cb;              
-    WORD                    MajorRuntimeVersion;
-    WORD                    MinorRuntimeVersion;
-    
-    
-    IMAGE_DATA_DIRECTORY    MetaData;        
-    DWORD                   Flags;           
-    DWORD                   EntryPointToken;
-    
-    
-    IMAGE_DATA_DIRECTORY    Resources;
-    IMAGE_DATA_DIRECTORY    StrongNameSignature;
-
-    
-    IMAGE_DATA_DIRECTORY    CodeManagerTable;
-    IMAGE_DATA_DIRECTORY    VTableFixups;
-    IMAGE_DATA_DIRECTORY    ExportAddressTableJumps;
-
-    
-    IMAGE_DATA_DIRECTORY    ManagedNativeHeader;
-    
-} IMAGE_COR20_HEADER, *PIMAGE_COR20_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef union _SLIST_HEADER {
-    ULONGLONG Alignment;
-    struct {
-        SINGLE_LIST_ENTRY Next;
-        WORD   Depth;
-        WORD   Sequence;
-    };
-} SLIST_HEADER, *PSLIST_HEADER;
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-RtlInitializeSListHead (
-     PSLIST_HEADER ListHead
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-RtlFirstEntrySList (
-     const SLIST_HEADER *ListHead
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-RtlInterlockedPopEntrySList (
-     PSLIST_HEADER ListHead
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-RtlInterlockedPushEntrySList (
-     PSLIST_HEADER ListHead,
-     PSINGLE_LIST_ENTRY ListEntry
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-RtlInterlockedFlushSList (
-     PSLIST_HEADER ListHead
-    );
-
-__declspec(dllimport)
-WORD  
-__stdcall
-RtlQueryDepthSList (
-     PSLIST_HEADER ListHead
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-RtlCaptureContext (
-     PCONTEXT ContextRecord
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-RtlCompareMemory (
-    const void *Source1,
-    const void *Source2,
-    SIZE_T Length
-    );
-
-
-
-
-
-
-
-
-
-
-
-__forceinline
-PVOID
-RtlSecureZeroMemory(
-     PVOID ptr,
-     SIZE_T cnt
-    )
-{
-    volatile char *vptr = (volatile char *)ptr;
-
-
-
-
-
-
-
-    while (cnt) {
-        *vptr = 0;
-        vptr++;
-        cnt--;
-    }
-
-
-
-    return ptr;
-}
-
-
-
-
-typedef struct _MESSAGE_RESOURCE_ENTRY {
-    WORD   Length;
-    WORD   Flags;
-    BYTE  Text[ 1 ];
-} MESSAGE_RESOURCE_ENTRY, *PMESSAGE_RESOURCE_ENTRY;
-
-
-
-typedef struct _MESSAGE_RESOURCE_BLOCK {
-    DWORD LowId;
-    DWORD HighId;
-    DWORD OffsetToEntries;
-} MESSAGE_RESOURCE_BLOCK, *PMESSAGE_RESOURCE_BLOCK;
-
-typedef struct _MESSAGE_RESOURCE_DATA {
-    DWORD NumberOfBlocks;
-    MESSAGE_RESOURCE_BLOCK Blocks[ 1 ];
-} MESSAGE_RESOURCE_DATA, *PMESSAGE_RESOURCE_DATA;
-
-typedef struct _OSVERSIONINFOA {
-    DWORD dwOSVersionInfoSize;
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-    DWORD dwBuildNumber;
-    DWORD dwPlatformId;
-    CHAR   szCSDVersion[ 128 ];     
-} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
-
-typedef struct _OSVERSIONINFOW {
-    DWORD dwOSVersionInfoSize;
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-    DWORD dwBuildNumber;
-    DWORD dwPlatformId;
-    WCHAR  szCSDVersion[ 128 ];     
-} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
-
-typedef OSVERSIONINFOW OSVERSIONINFO;
-typedef POSVERSIONINFOW POSVERSIONINFO;
-typedef LPOSVERSIONINFOW LPOSVERSIONINFO;
-
-
-
-
-
-
-typedef struct _OSVERSIONINFOEXA {
-    DWORD dwOSVersionInfoSize;
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-    DWORD dwBuildNumber;
-    DWORD dwPlatformId;
-    CHAR   szCSDVersion[ 128 ];     
-    WORD   wServicePackMajor;
-    WORD   wServicePackMinor;
-    WORD   wSuiteMask;
-    BYTE  wProductType;
-    BYTE  wReserved;
-} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
-typedef struct _OSVERSIONINFOEXW {
-    DWORD dwOSVersionInfoSize;
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-    DWORD dwBuildNumber;
-    DWORD dwPlatformId;
-    WCHAR  szCSDVersion[ 128 ];     
-    WORD   wServicePackMajor;
-    WORD   wServicePackMinor;
-    WORD   wSuiteMask;
-    BYTE  wProductType;
-    BYTE  wReserved;
-} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
-
-typedef OSVERSIONINFOEXW OSVERSIONINFOEX;
-typedef POSVERSIONINFOEXW POSVERSIONINFOEX;
-typedef LPOSVERSIONINFOEXW LPOSVERSIONINFOEX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-ULONGLONG
-__stdcall
-VerSetConditionMask(
-          ULONGLONG   ConditionMask,
-          DWORD   TypeMask,
-          BYTE    Condition
-        );
-
-
-typedef struct _RTL_CRITICAL_SECTION_DEBUG {
-    WORD   Type;
-    WORD   CreatorBackTraceIndex;
-    struct _RTL_CRITICAL_SECTION *CriticalSection;
-    LIST_ENTRY ProcessLocksList;
-    DWORD EntryCount;
-    DWORD ContentionCount;
-    DWORD Spare[ 2 ];
-} RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG;
-
-
-
-
-typedef struct _RTL_CRITICAL_SECTION {
-    PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
-
-    
-    
-    
-    
-
-    LONG LockCount;
-    LONG RecursionCount;
-    HANDLE OwningThread;        
-    HANDLE LockSemaphore;
-    ULONG_PTR SpinCount;        
-} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
-
-typedef void (__stdcall * RTL_VERIFIER_DLL_LOAD_CALLBACK) (
-    PWSTR DllName,
-    PVOID DllBase,
-    SIZE_T DllSize,
-    PVOID Reserved
-    );
-
-typedef void (__stdcall * RTL_VERIFIER_DLL_UNLOAD_CALLBACK) (
-    PWSTR DllName,
-    PVOID DllBase,
-    SIZE_T DllSize,
-    PVOID Reserved
-    );
-
-typedef void (__stdcall * RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK) (
-    PVOID AllocationBase,
-    SIZE_T AllocationSize
-    );
-
-typedef struct _RTL_VERIFIER_THUNK_DESCRIPTOR {
-
-    PCHAR ThunkName;
-    PVOID ThunkOldAddress;
-    PVOID ThunkNewAddress;
-
-} RTL_VERIFIER_THUNK_DESCRIPTOR, *PRTL_VERIFIER_THUNK_DESCRIPTOR;
-
-typedef struct _RTL_VERIFIER_DLL_DESCRIPTOR {
-
-    PWCHAR DllName;
-    DWORD DllFlags;
-    PVOID DllAddress;
-    PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks;
-
-} RTL_VERIFIER_DLL_DESCRIPTOR, *PRTL_VERIFIER_DLL_DESCRIPTOR;
-
-typedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR {
-
-    
-    
-    
-
-    DWORD Length;        
-    PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls;
-    RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback;
-    RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback;
-    
-    
-    
-    
-        
-    PWSTR VerifierImage;
-    DWORD VerifierFlags;
-    DWORD VerifierDebug;
-    
-    PVOID RtlpGetStackTraceAddress;
-    PVOID RtlpDebugPageHeapCreate;
-    PVOID RtlpDebugPageHeapDestroy;
-
-    
-    
-    
-    
-    RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK ProviderNtdllHeapFreeCallback;
-
-} RTL_VERIFIER_PROVIDER_DESCRIPTOR, *PRTL_VERIFIER_PROVIDER_DESCRIPTOR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void
-__stdcall
-RtlApplicationVerifierStop (
-         ULONG_PTR Code,
-         PSTR Message,
-         ULONG_PTR Param1,
-         PSTR Description1,
-         ULONG_PTR Param2,
-         PSTR Description2,
-         ULONG_PTR Param3,
-         PSTR Description3,
-         ULONG_PTR Param4,
-         PSTR Description4
-    );
-
-typedef LONG (__stdcall *PVECTORED_EXCEPTION_HANDLER)(
-    struct _EXCEPTION_POINTERS *ExceptionInfo
-    );
-
-
-
-
-
-
-
-
-typedef enum _HEAP_INFORMATION_CLASS {
-
-    HeapCompatibilityInformation
-
-} HEAP_INFORMATION_CLASS;
-
-__declspec(dllimport)
-DWORD   
-__stdcall
-RtlSetHeapInformation (
-     PVOID HeapHandle,
-     HEAP_INFORMATION_CLASS HeapInformationClass,
-     PVOID HeapInformation ,
-     SIZE_T HeapInformationLength 
-    );
-
-__declspec(dllimport)
-DWORD   
-__stdcall
-RtlQueryHeapInformation (
-     PVOID HeapHandle,
-     HEAP_INFORMATION_CLASS HeapInformationClass,
-     PVOID HeapInformation ,
-     SIZE_T HeapInformationLength ,
-     PSIZE_T ReturnLength 
-    );
-
-
-
-
-
-DWORD
-__stdcall
-RtlMultipleAllocateHeap (
-     PVOID HeapHandle,
-     DWORD Flags,
-     SIZE_T Size,
-     DWORD Count,
-     PVOID * Array
-    );
-
-DWORD
-__stdcall
-RtlMultipleFreeHeap (
-     PVOID HeapHandle,
-     DWORD Flags,
-     DWORD Count,
-     PVOID * Array
-    );
-    
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall * WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN );   
-typedef void (__stdcall * WORKERCALLBACKFUNC) (PVOID );                 
-typedef void (__stdcall * APC_CALLBACK_FUNCTION) (DWORD   , PVOID, PVOID); 
-typedef
-void
-(__stdcall *PFLS_CALLBACK_FUNCTION) (
-     PVOID lpFlsData
-    );
-
-
-
-typedef enum _ACTIVATION_CONTEXT_INFO_CLASS {
-    ActivationContextBasicInformation                       = 1,
-    ActivationContextDetailedInformation                    = 2,
-    AssemblyDetailedInformationInActivationContext          = 3,
-    FileInformationInAssemblyOfAssemblyInActivationContext  = 4,
-    MaxActivationContextInfoClass,
-
-    
-    
-    
-    AssemblyDetailedInformationInActivationContxt           = 3,
-    FileInformationInAssemblyOfAssemblyInActivationContxt   = 4
-} ACTIVATION_CONTEXT_INFO_CLASS;
-
-
-
-
-typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX {
-    DWORD ulAssemblyIndex; 
-    DWORD ulFileIndexInAssembly; 
-} ACTIVATION_CONTEXT_QUERY_INDEX, * PACTIVATION_CONTEXT_QUERY_INDEX;
-
-typedef const struct _ACTIVATION_CONTEXT_QUERY_INDEX * PCACTIVATION_CONTEXT_QUERY_INDEX;
-
-
-
-
-
-
-
-typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION {
-    DWORD ulFlags;
-    DWORD ulFilenameLength;
-    DWORD ulPathLength; 
-
-    PCWSTR lpFileName;
-    PCWSTR lpFilePath;   
-} ASSEMBLY_FILE_DETAILED_INFORMATION, *PASSEMBLY_FILE_DETAILED_INFORMATION;
-typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION {
-    DWORD ulFlags;
-    DWORD ulEncodedAssemblyIdentityLength;      
-    DWORD ulManifestPathType;                   
-    DWORD ulManifestPathLength;                 
-    LARGE_INTEGER liManifestLastWriteTime;      
-    DWORD ulPolicyPathType;                     
-    DWORD ulPolicyPathLength;                   
-    LARGE_INTEGER liPolicyLastWriteTime;        
-    DWORD ulMetadataSatelliteRosterIndex;
-    
-    DWORD ulManifestVersionMajor;               
-    DWORD ulManifestVersionMinor;               
-    DWORD ulPolicyVersionMajor;                 
-    DWORD ulPolicyVersionMinor;                 
-    DWORD ulAssemblyDirectoryNameLength;        
-
-    PCWSTR lpAssemblyEncodedAssemblyIdentity;
-    PCWSTR lpAssemblyManifestPath;
-    PCWSTR lpAssemblyPolicyPath;
-    PCWSTR lpAssemblyDirectoryName;
-
-    DWORD  ulFileCount;
-} ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION, * PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION;
-
-typedef const struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION * PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ;
-
-typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION {
-    DWORD dwFlags;
-    DWORD ulFormatVersion;
-    DWORD ulAssemblyCount;
-    DWORD ulRootManifestPathType;
-    DWORD ulRootManifestPathChars;
-    DWORD ulRootConfigurationPathType;
-    DWORD ulRootConfigurationPathChars;
-    DWORD ulAppDirPathType;
-    DWORD ulAppDirPathChars;
-    PCWSTR lpRootManifestPath;
-    PCWSTR lpRootConfigurationPath;
-    PCWSTR lpAppDirPath;
-} ACTIVATION_CONTEXT_DETAILED_INFORMATION, *PACTIVATION_CONTEXT_DETAILED_INFORMATION;
-
-typedef const struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _EVENTLOGRECORD {
-    DWORD  Length;        
-    DWORD  Reserved;      
-    DWORD  RecordNumber;  
-    DWORD  TimeGenerated; 
-    DWORD  TimeWritten;   
-    DWORD  EventID;
-    WORD   EventType;
-    WORD   NumStrings;
-    WORD   EventCategory;
-    WORD   ReservedFlags; 
-    DWORD  ClosingRecordNumber; 
-    DWORD  StringOffset;  
-    DWORD  UserSidLength;
-    DWORD  UserSidOffset;
-    DWORD  DataLength;
-    DWORD  DataOffset;    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-} EVENTLOGRECORD, *PEVENTLOGRECORD;
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable : 4200)
-typedef struct _EVENTSFORLOGFILE{
-	DWORD			ulSize;
-    WCHAR   		szLogicalLogFile[256];        
-    DWORD			ulNumRecords;
-	EVENTLOGRECORD 	pEventLogRecords[];
-}EVENTSFORLOGFILE, *PEVENTSFORLOGFILE;
-
-typedef struct _PACKEDEVENTINFO{
-    DWORD               ulSize;  
-    DWORD               ulNumEventsForLogFile; 
-    DWORD 				ulOffsets[];           
-}PACKEDEVENTINFO, *PPACKEDEVENTINFO;
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                    
-
-
-                                                    
-
-
-                                                    
-
-
-                                                    
-                                                    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                            
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _CM_SERVICE_NODE_TYPE {
-    DriverType               = 0x00000001,
-    FileSystemType           = 0x00000002,
-    Win32ServiceOwnProcess   = 0x00000010,
-    Win32ServiceShareProcess = 0x00000020,
-    AdapterType              = 0x00000004,
-    RecognizerType           = 0x00000008
-} SERVICE_NODE_TYPE;
-
-typedef enum _CM_SERVICE_LOAD_TYPE {
-    BootLoad    = 0x00000000,
-    SystemLoad  = 0x00000001,
-    AutoLoad    = 0x00000002,
-    DemandLoad  = 0x00000003,
-    DisableLoad = 0x00000004
-} SERVICE_LOAD_TYPE;
-
-typedef enum _CM_ERROR_CONTROL_TYPE {
-    IgnoreError   = 0x00000000,
-    NormalError   = 0x00000001,
-    SevereError   = 0x00000002,
-    CriticalError = 0x00000003
-} SERVICE_ERROR_TYPE;
-
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_ERASE {
-    DWORD Type;
-    BOOLEAN Immediate;
-} TAPE_ERASE, *PTAPE_ERASE;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_PREPARE {
-    DWORD Operation;
-    BOOLEAN Immediate;
-} TAPE_PREPARE, *PTAPE_PREPARE;
-
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_WRITE_MARKS {
-    DWORD Type;
-    DWORD Count;
-    BOOLEAN Immediate;
-} TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS;
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_GET_POSITION {
-    DWORD Type;
-    DWORD Partition;
-    LARGE_INTEGER Offset;
-} TAPE_GET_POSITION, *PTAPE_GET_POSITION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_SET_POSITION {
-    DWORD Method;
-    DWORD Partition;
-    LARGE_INTEGER Offset;
-    BOOLEAN Immediate;
-} TAPE_SET_POSITION, *PTAPE_SET_POSITION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_GET_DRIVE_PARAMETERS {
-    BOOLEAN ECC;
-    BOOLEAN Compression;
-    BOOLEAN DataPadding;
-    BOOLEAN ReportSetmarks;
-    DWORD DefaultBlockSize;
-    DWORD MaximumBlockSize;
-    DWORD MinimumBlockSize;
-    DWORD MaximumPartitionCount;
-    DWORD FeaturesLow;
-    DWORD FeaturesHigh;
-    DWORD EOTWarningZoneSize;
-} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
-
-
-
-
-
-typedef struct _TAPE_SET_DRIVE_PARAMETERS {
-    BOOLEAN ECC;
-    BOOLEAN Compression;
-    BOOLEAN DataPadding;
-    BOOLEAN ReportSetmarks;
-    DWORD EOTWarningZoneSize;
-} TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS;
-
-
-
-
-
-typedef struct _TAPE_GET_MEDIA_PARAMETERS {
-    LARGE_INTEGER Capacity;
-    LARGE_INTEGER Remaining;
-    DWORD BlockSize;
-    DWORD PartitionCount;
-    BOOLEAN WriteProtected;
-} TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS;
-
-
-
-
-
-typedef struct _TAPE_SET_MEDIA_PARAMETERS {
-    DWORD BlockSize;
-} TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS;
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_CREATE_PARTITION {
-    DWORD Method;
-    DWORD Count;
-    DWORD Size;
-} TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _TAPE_WMI_OPERATIONS {
-   DWORD Method;
-   DWORD DataBufferSize;
-   PVOID DataBuffer;
-} TAPE_WMI_OPERATIONS, *PTAPE_WMI_OPERATIONS;
-
-
-
-
-typedef enum _TAPE_DRIVE_PROBLEM_TYPE {
-   TapeDriveProblemNone, TapeDriveReadWriteWarning,
-   TapeDriveReadWriteError, TapeDriveReadWarning,
-   TapeDriveWriteWarning, TapeDriveReadError,
-   TapeDriveWriteError, TapeDriveHardwareError,
-   TapeDriveUnsupportedMedia, TapeDriveScsiConnectionError,
-   TapeDriveTimetoClean, TapeDriveCleanDriveNow,
-   TapeDriveMediaLifeExpired, TapeDriveSnappedTape
-} TAPE_DRIVE_PROBLEM_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__inline struct _TEB * NtCurrentTeb( void ) { return (struct _TEB *) (ULONG_PTR) __readfsdword (0x18); }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR            WPARAM;
-typedef LONG_PTR            LPARAM;
-typedef LONG_PTR            LRESULT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct HWND__ { int unused; }; typedef struct HWND__ *HWND;
-struct HHOOK__ { int unused; }; typedef struct HHOOK__ *HHOOK;
-
-
-
-
-
-typedef WORD                ATOM;
-
-typedef HANDLE          *SPHANDLE;
-typedef HANDLE           *LPHANDLE;
-typedef HANDLE              HGLOBAL;
-typedef HANDLE              HLOCAL;
-typedef HANDLE              GLOBALHANDLE;
-typedef HANDLE              LOCALHANDLE;
-
-
-
-
-
-
-typedef int ( __stdcall *FARPROC)();
-typedef int ( __stdcall *NEARPROC)();
-typedef int (__stdcall *PROC)();
-
-
-
-
-
-
-
-
-
-typedef void * HGDIOBJ;
-
-
-
-
-
-struct HKEY__ { int unused; }; typedef struct HKEY__ *HKEY;
-typedef HKEY *PHKEY;
-
-
-struct HACCEL__ { int unused; }; typedef struct HACCEL__ *HACCEL;
-
-
-struct HBITMAP__ { int unused; }; typedef struct HBITMAP__ *HBITMAP;
-struct HBRUSH__ { int unused; }; typedef struct HBRUSH__ *HBRUSH;
-
-
-struct HCOLORSPACE__ { int unused; }; typedef struct HCOLORSPACE__ *HCOLORSPACE;
-
-
-struct HDC__ { int unused; }; typedef struct HDC__ *HDC;
-
-struct HGLRC__ { int unused; }; typedef struct HGLRC__ *HGLRC;          
-struct HDESK__ { int unused; }; typedef struct HDESK__ *HDESK;
-struct HENHMETAFILE__ { int unused; }; typedef struct HENHMETAFILE__ *HENHMETAFILE;
-
-struct HFONT__ { int unused; }; typedef struct HFONT__ *HFONT;
-
-struct HICON__ { int unused; }; typedef struct HICON__ *HICON;
-
-struct HMENU__ { int unused; }; typedef struct HMENU__ *HMENU;
-
-struct HMETAFILE__ { int unused; }; typedef struct HMETAFILE__ *HMETAFILE;
-struct HINSTANCE__ { int unused; }; typedef struct HINSTANCE__ *HINSTANCE;
-typedef HINSTANCE HMODULE;      
-
-struct HPALETTE__ { int unused; }; typedef struct HPALETTE__ *HPALETTE;
-struct HPEN__ { int unused; }; typedef struct HPEN__ *HPEN;
-
-struct HRGN__ { int unused; }; typedef struct HRGN__ *HRGN;
-struct HRSRC__ { int unused; }; typedef struct HRSRC__ *HRSRC;
-struct HSTR__ { int unused; }; typedef struct HSTR__ *HSTR;
-struct HTASK__ { int unused; }; typedef struct HTASK__ *HTASK;
-struct HWINSTA__ { int unused; }; typedef struct HWINSTA__ *HWINSTA;
-struct HKL__ { int unused; }; typedef struct HKL__ *HKL;
-
-
-
-struct HMONITOR__ { int unused; }; typedef struct HMONITOR__ *HMONITOR;
-struct HWINEVENTHOOK__ { int unused; }; typedef struct HWINEVENTHOOK__ *HWINEVENTHOOK;
-
-struct HUMPD__ { int unused; }; typedef struct HUMPD__ *HUMPD;
-
-
-
-typedef int HFILE;
-typedef HICON HCURSOR;      
-
-
-
-
-
-typedef DWORD   COLORREF;
-typedef DWORD   *LPCOLORREF;
-
-
-
-typedef struct tagRECT
-{
-    LONG    left;
-    LONG    top;
-    LONG    right;
-    LONG    bottom;
-} RECT, *PRECT,  *NPRECT,  *LPRECT;
-
-typedef const RECT * LPCRECT;
-
-typedef struct _RECTL       
-{
-    LONG    left;
-    LONG    top;
-    LONG    right;
-    LONG    bottom;
-} RECTL, *PRECTL, *LPRECTL;
-
-typedef const RECTL * LPCRECTL;
-
-typedef struct tagPOINT
-{
-    LONG  x;
-    LONG  y;
-} POINT, *PPOINT,  *NPPOINT,  *LPPOINT;
-
-typedef struct _POINTL      
-{
-    LONG  x;
-    LONG  y;
-} POINTL, *PPOINTL;
-
-typedef struct tagSIZE
-{
-    LONG        cx;
-    LONG        cy;
-} SIZE, *PSIZE, *LPSIZE;
-
-typedef SIZE               SIZEL;
-typedef SIZE               *PSIZEL, *LPSIZEL;
-
-typedef struct tagPOINTS
-{
-
-    SHORT   x;
-    SHORT   y;
-
-
-
-
-} POINTS, *PPOINTS, *LPPOINTS;
-
-
-
-
-
-typedef struct _FILETIME {
-    DWORD dwLowDateTime;
-    DWORD dwHighDateTime;
-} FILETIME, *PFILETIME, *LPFILETIME;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _OVERLAPPED {
-    ULONG_PTR Internal;
-    ULONG_PTR InternalHigh;
-    union {
-        struct {
-            DWORD Offset;
-            DWORD OffsetHigh;
-        };
-
-        PVOID Pointer;
-    };
-
-    HANDLE  hEvent;
-} OVERLAPPED, *LPOVERLAPPED;
-
-typedef struct _SECURITY_ATTRIBUTES {
-    DWORD nLength;
-    LPVOID lpSecurityDescriptor;
-    BOOL bInheritHandle;
-} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
-
-typedef struct _PROCESS_INFORMATION {
-    HANDLE hProcess;
-    HANDLE hThread;
-    DWORD dwProcessId;
-    DWORD dwThreadId;
-} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SYSTEMTIME {
-    WORD wYear;
-    WORD wMonth;
-    WORD wDayOfWeek;
-    WORD wDay;
-    WORD wHour;
-    WORD wMinute;
-    WORD wSecond;
-    WORD wMilliseconds;
-} SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
-
-
-typedef DWORD (__stdcall *PTHREAD_START_ROUTINE)(
-    LPVOID lpThreadParameter
-    );
-typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE;
-
-
-typedef void (__stdcall *PFIBER_START_ROUTINE)(
-    LPVOID lpFiberParameter
-    );
-typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
-
-
-typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
-typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
-typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
-
-typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
-typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
-typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
-
-__declspec(dllimport)
-      
-PVOID
-__stdcall
-EncodePointer (
-           PVOID Ptr
-    );
-
-__declspec(dllimport)
-      
-PVOID
-__stdcall
-DecodePointer (
-           PVOID Ptr
-    );
-
-__declspec(dllimport)
-      
-PVOID
-__stdcall
-EncodeSystemPointer (
-           PVOID Ptr
-    );
-
-__declspec(dllimport)
-      
-PVOID
-__stdcall
-DecodeSystemPointer (
-           PVOID Ptr
-    );
-
-
-typedef PLDT_ENTRY LPLDT_ENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _COMMPROP {
-    WORD wPacketLength;
-    WORD wPacketVersion;
-    DWORD dwServiceMask;
-    DWORD dwReserved1;
-    DWORD dwMaxTxQueue;
-    DWORD dwMaxRxQueue;
-    DWORD dwMaxBaud;
-    DWORD dwProvSubType;
-    DWORD dwProvCapabilities;
-    DWORD dwSettableParams;
-    DWORD dwSettableBaud;
-    WORD wSettableData;
-    WORD wSettableStopParity;
-    DWORD dwCurrentTxQueue;
-    DWORD dwCurrentRxQueue;
-    DWORD dwProvSpec1;
-    DWORD dwProvSpec2;
-    WCHAR wcProvChar[1];
-} COMMPROP,*LPCOMMPROP;
-
-
-
-
-
-
-
-typedef struct _COMSTAT {
-    DWORD fCtsHold : 1;
-    DWORD fDsrHold : 1;
-    DWORD fRlsdHold : 1;
-    DWORD fXoffHold : 1;
-    DWORD fXoffSent : 1;
-    DWORD fEof : 1;
-    DWORD fTxim : 1;
-    DWORD fReserved : 25;
-    DWORD cbInQue;
-    DWORD cbOutQue;
-} COMSTAT, *LPCOMSTAT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DCB {
-    DWORD DCBlength;      
-    DWORD BaudRate;       
-    DWORD fBinary: 1;     
-    DWORD fParity: 1;     
-    DWORD fOutxCtsFlow:1; 
-    DWORD fOutxDsrFlow:1; 
-    DWORD fDtrControl:2;  
-    DWORD fDsrSensitivity:1; 
-    DWORD fTXContinueOnXoff: 1; 
-    DWORD fOutX: 1;       
-    DWORD fInX: 1;        
-    DWORD fErrorChar: 1;  
-    DWORD fNull: 1;       
-    DWORD fRtsControl:2;  
-    DWORD fAbortOnError:1; 
-    DWORD fDummy2:17;     
-    WORD wReserved;       
-    WORD XonLim;          
-    WORD XoffLim;         
-    BYTE ByteSize;        
-    BYTE Parity;          
-    BYTE StopBits;        
-    char XonChar;         
-    char XoffChar;        
-    char ErrorChar;       
-    char EofChar;         
-    char EvtChar;         
-    WORD wReserved1;      
-} DCB, *LPDCB;
-
-typedef struct _COMMTIMEOUTS {
-    DWORD ReadIntervalTimeout;          
-    DWORD ReadTotalTimeoutMultiplier;   
-    DWORD ReadTotalTimeoutConstant;     
-    DWORD WriteTotalTimeoutMultiplier;  
-    DWORD WriteTotalTimeoutConstant;    
-} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
-
-typedef struct _COMMCONFIG {
-    DWORD dwSize;               
-    WORD wVersion;              
-    WORD wReserved;             
-    DCB dcb;                    
-    DWORD dwProviderSubType;    
-
-    DWORD dwProviderOffset;     
-
-    DWORD dwProviderSize;       
-    WCHAR wcProviderData[1];    
-} COMMCONFIG,*LPCOMMCONFIG;
-
-typedef struct _SYSTEM_INFO {
-    union {
-        DWORD dwOemId;          
-        struct {
-            WORD wProcessorArchitecture;
-            WORD wReserved;
-        };
-    };
-    DWORD dwPageSize;
-    LPVOID lpMinimumApplicationAddress;
-    LPVOID lpMaximumApplicationAddress;
-    DWORD_PTR dwActiveProcessorMask;
-    DWORD dwNumberOfProcessors;
-    DWORD dwProcessorType;
-    DWORD dwAllocationGranularity;
-    WORD wProcessorLevel;
-    WORD wProcessorRevision;
-} SYSTEM_INFO, *LPSYSTEM_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _MEMORYSTATUS {
-    DWORD dwLength;
-    DWORD dwMemoryLoad;
-    SIZE_T dwTotalPhys;
-    SIZE_T dwAvailPhys;
-    SIZE_T dwTotalPageFile;
-    SIZE_T dwAvailPageFile;
-    SIZE_T dwTotalVirtual;
-    SIZE_T dwAvailVirtual;
-} MEMORYSTATUS, *LPMEMORYSTATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _EXCEPTION_DEBUG_INFO {
-    EXCEPTION_RECORD ExceptionRecord;
-    DWORD dwFirstChance;
-} EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
-
-typedef struct _CREATE_THREAD_DEBUG_INFO {
-    HANDLE hThread;
-    LPVOID lpThreadLocalBase;
-    LPTHREAD_START_ROUTINE lpStartAddress;
-} CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
-
-typedef struct _CREATE_PROCESS_DEBUG_INFO {
-    HANDLE hFile;
-    HANDLE hProcess;
-    HANDLE hThread;
-    LPVOID lpBaseOfImage;
-    DWORD dwDebugInfoFileOffset;
-    DWORD nDebugInfoSize;
-    LPVOID lpThreadLocalBase;
-    LPTHREAD_START_ROUTINE lpStartAddress;
-    LPVOID lpImageName;
-    WORD fUnicode;
-} CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
-
-typedef struct _EXIT_THREAD_DEBUG_INFO {
-    DWORD dwExitCode;
-} EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
-
-typedef struct _EXIT_PROCESS_DEBUG_INFO {
-    DWORD dwExitCode;
-} EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
-
-typedef struct _LOAD_DLL_DEBUG_INFO {
-    HANDLE hFile;
-    LPVOID lpBaseOfDll;
-    DWORD dwDebugInfoFileOffset;
-    DWORD nDebugInfoSize;
-    LPVOID lpImageName;
-    WORD fUnicode;
-} LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
-
-typedef struct _UNLOAD_DLL_DEBUG_INFO {
-    LPVOID lpBaseOfDll;
-} UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
-
-typedef struct _OUTPUT_DEBUG_STRING_INFO {
-    LPSTR lpDebugStringData;
-    WORD fUnicode;
-    WORD nDebugStringLength;
-} OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
-
-typedef struct _RIP_INFO {
-    DWORD dwError;
-    DWORD dwType;
-} RIP_INFO, *LPRIP_INFO;
-
-
-typedef struct _DEBUG_EVENT {
-    DWORD dwDebugEventCode;
-    DWORD dwProcessId;
-    DWORD dwThreadId;
-    union {
-        EXCEPTION_DEBUG_INFO Exception;
-        CREATE_THREAD_DEBUG_INFO CreateThread;
-        CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
-        EXIT_THREAD_DEBUG_INFO ExitThread;
-        EXIT_PROCESS_DEBUG_INFO ExitProcess;
-        LOAD_DLL_DEBUG_INFO LoadDll;
-        UNLOAD_DLL_DEBUG_INFO UnloadDll;
-        OUTPUT_DEBUG_STRING_INFO DebugString;
-        RIP_INFO RipInfo;
-    } u;
-} DEBUG_EVENT, *LPDEBUG_EVENT;
-
-
-typedef PCONTEXT LPCONTEXT;
-typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
-typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _OFSTRUCT {
-    BYTE cBytes;
-    BYTE fFixedDisk;
-    WORD nErrCode;
-    WORD Reserved1;
-    WORD Reserved2;
-    CHAR szPathName[128];
-} OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-InterlockedIncrement (
-         LONG volatile *lpAddend
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-InterlockedDecrement (
-         LONG volatile *lpAddend
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-InterlockedExchange (
-         LONG volatile *Target,
-            LONG Value
-    );
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-InterlockedExchangeAdd (
-         LONG volatile *Addend,
-            LONG Value
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-InterlockedCompareExchange (
-         LONG volatile *Destination,
-            LONG Exchange,
-            LONG Comperand
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__forceinline
-PVOID
-
-__cdecl
-
-__InlineInterlockedCompareExchangePointer (
-          PVOID volatile *Destination,
-           PVOID ExChange,
-           PVOID Comperand
-    )
-{
-    return((PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)Destination, (LONG)(LONG_PTR)ExChange, (LONG)(LONG_PTR)Comperand));
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-InitializeSListHead (
-         PSLIST_HEADER ListHead
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-InterlockedPopEntrySList (
-         PSLIST_HEADER ListHead
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-InterlockedPushEntrySList (
-         PSLIST_HEADER ListHead,
-         PSINGLE_LIST_ENTRY ListEntry
-    );
-
-__declspec(dllimport)
-PSINGLE_LIST_ENTRY
-__stdcall
-InterlockedFlushSList (
-         PSLIST_HEADER ListHead
-    );
-
-__declspec(dllimport)
-USHORT
-__stdcall
-QueryDepthSList (
-         PSLIST_HEADER ListHead
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FreeResource(
-         HGLOBAL hResData
-    );
-
-__declspec(dllimport)
-LPVOID
-__stdcall
-LockResource(
-         HGLOBAL hResData
-    );
-
-
-
-
-
-
-int
-
-
-
-
-__stdcall
-
-
-
-
-WinMain (
-         HINSTANCE hInstance,
-           HINSTANCE hPrevInstance,
-           LPSTR lpCmdLine,
-         int nShowCmd
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FreeLibrary (
-         HMODULE hLibModule
-    );
-
-
-__declspec(dllimport)
-__declspec(noreturn)
-void
-__stdcall
-FreeLibraryAndExitThread (
-         HMODULE hLibModule,
-         DWORD dwExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DisableThreadLibraryCalls (
-         HMODULE hLibModule
-    );
-
-__declspec(dllimport)
-FARPROC
-__stdcall
-GetProcAddress (
-         HMODULE hModule,
-         LPCSTR lpProcName
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetVersion (
-    void
-    );
-
-__declspec(dllimport)
-    
-HGLOBAL
-__stdcall
-GlobalAlloc (
-         UINT uFlags,
-         SIZE_T dwBytes
-    );
-
-__declspec(dllimport)
-    
-HGLOBAL
-__stdcall
-GlobalReAlloc (
-         HGLOBAL hMem,
-         SIZE_T dwBytes,
-         UINT uFlags
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-GlobalSize (
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-GlobalFlags (
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-GlobalLock ( 
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-    
-HGLOBAL
-__stdcall
-GlobalHandle (
-         LPCVOID pMem
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GlobalUnlock(
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-    
-HGLOBAL
-__stdcall
-GlobalFree(
-     HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-GlobalCompact(
-         DWORD dwMinFree
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GlobalFix(
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GlobalUnfix(
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-GlobalWire(
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GlobalUnWire(
-         HGLOBAL hMem
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GlobalMemoryStatus(
-         LPMEMORYSTATUS lpBuffer
-    );
-
-typedef struct _MEMORYSTATUSEX {
-    DWORD dwLength;
-    DWORD dwMemoryLoad;
-    DWORDLONG ullTotalPhys;
-    DWORDLONG ullAvailPhys;
-    DWORDLONG ullTotalPageFile;
-    DWORDLONG ullAvailPageFile;
-    DWORDLONG ullTotalVirtual;
-    DWORDLONG ullAvailVirtual;
-    DWORDLONG ullAvailExtendedVirtual;
-} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GlobalMemoryStatusEx(
-         LPMEMORYSTATUSEX lpBuffer
-    );
-
-__declspec(dllimport)
-    
-HLOCAL
-__stdcall
-LocalAlloc(
-         UINT uFlags,
-         SIZE_T uBytes
-    );
-
-__declspec(dllimport)
-    
-HLOCAL
-__stdcall
-LocalReAlloc(
-         HLOCAL hMem,
-         SIZE_T uBytes,
-         UINT uFlags
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-LocalLock(
-         HLOCAL hMem
-    );
-
-__declspec(dllimport)
-    
-HLOCAL
-__stdcall
-LocalHandle(
-         LPCVOID pMem
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LocalUnlock(
-         HLOCAL hMem
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-LocalSize(
-         HLOCAL hMem
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-LocalFlags(
-         HLOCAL hMem
-    );
-
-__declspec(dllimport)
-HLOCAL
-__stdcall
-LocalFree(
-     HLOCAL hMem
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-LocalShrink(
-         HLOCAL hMem,
-         UINT cbNewSize
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-LocalCompact(
-         UINT uMinFree
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlushInstructionCache(
-         HANDLE hProcess,
-             LPCVOID lpBaseAddress,
-         SIZE_T dwSize
-    );
-
-__declspec(dllimport)
- 
-LPVOID
-__stdcall
-VirtualAlloc(
-           LPVOID lpAddress,
-             SIZE_T dwSize,
-             DWORD flAllocationType,
-             DWORD flProtect
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VirtualFree(
-         LPVOID lpAddress,
-         SIZE_T dwSize,
-         DWORD dwFreeType
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VirtualProtect(
-          LPVOID lpAddress,
-          SIZE_T dwSize,
-          DWORD flNewProtect,
-         PDWORD lpflOldProtect
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-VirtualQuery(
-           LPCVOID lpAddress,
-           PMEMORY_BASIC_INFORMATION lpBuffer,
-             SIZE_T dwLength
-    );
-
-__declspec(dllimport)
- 
-LPVOID
-__stdcall
-VirtualAllocEx(
-             HANDLE hProcess,
-           LPVOID lpAddress,
-             SIZE_T dwSize,
-             DWORD flAllocationType,
-             DWORD flProtect
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetWriteWatch(
-         DWORD dwFlags,
-         PVOID lpBaseAddress,
-         SIZE_T dwRegionSize,
-           PVOID *lpAddresses,
-         ULONG_PTR *lpdwCount,
-         PULONG lpdwGranularity
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-ResetWriteWatch(
-         LPVOID lpBaseAddress,
-         SIZE_T dwRegionSize
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-GetLargePageMinimum(
-    void
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-EnumSystemFirmwareTables(
-         DWORD FirmwareTableProviderSignature,
-             PVOID pFirmwareTableEnumBuffer,
-         DWORD BufferSize
-    );
-    
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemFirmwareTable(
-         DWORD FirmwareTableProviderSignature,
-         DWORD FirmwareTableID,
-             PVOID pFirmwareTableBuffer,
-         DWORD BufferSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VirtualFreeEx(
-         HANDLE hProcess,
-         LPVOID lpAddress,
-         SIZE_T dwSize,
-         DWORD  dwFreeType
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VirtualProtectEx(
-          HANDLE hProcess,
-          LPVOID lpAddress,
-          SIZE_T dwSize,
-          DWORD flNewProtect,
-         PDWORD lpflOldProtect
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-VirtualQueryEx(
-             HANDLE hProcess,
-           LPCVOID lpAddress,
-           PMEMORY_BASIC_INFORMATION lpBuffer,
-             SIZE_T dwLength
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-HeapCreate(
-         DWORD flOptions,
-         SIZE_T dwInitialSize,
-         SIZE_T dwMaximumSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapDestroy(
-         HANDLE hHeap
-    );
-
-
-__declspec(dllimport)
- 
-LPVOID
-__stdcall
-HeapAlloc(
-         HANDLE hHeap,
-         DWORD dwFlags,
-         SIZE_T dwBytes
-    );
-
-__declspec(dllimport)
- 
-LPVOID
-__stdcall
-HeapReAlloc(
-         HANDLE hHeap,
-            DWORD dwFlags,
-     LPVOID lpMem,
-            SIZE_T dwBytes
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapFree(
-         HANDLE hHeap,
-            DWORD dwFlags,
-     LPVOID lpMem
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-HeapSize(
-         HANDLE hHeap,
-         DWORD dwFlags,
-         LPCVOID lpMem
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapValidate(
-             HANDLE hHeap,
-             DWORD dwFlags,
-           LPCVOID lpMem
-    );
-
-__declspec(dllimport)
-SIZE_T
-__stdcall
-HeapCompact(
-         HANDLE hHeap,
-         DWORD dwFlags
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-GetProcessHeap( void );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProcessHeaps(
-         DWORD NumberOfHeaps,
-           PHANDLE ProcessHeaps
-    );
-
-typedef struct _PROCESS_HEAP_ENTRY {
-    PVOID lpData;
-    DWORD cbData;
-    BYTE cbOverhead;
-    BYTE iRegionIndex;
-    WORD wFlags;
-    union {
-        struct {
-            HANDLE hMem;
-            DWORD dwReserved[ 3 ];
-        } Block;
-        struct {
-            DWORD dwCommittedSize;
-            DWORD dwUnCommittedSize;
-            LPVOID lpFirstBlock;
-            LPVOID lpLastBlock;
-        } Region;
-    };
-} PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY;
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapLock(
-         HANDLE hHeap
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapUnlock(
-         HANDLE hHeap
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapWalk(
-            HANDLE hHeap,
-         LPPROCESS_HEAP_ENTRY lpEntry
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapSetInformation (
-         HANDLE HeapHandle, 
-         HEAP_INFORMATION_CLASS HeapInformationClass,
-             PVOID HeapInformation,
-         SIZE_T HeapInformationLength
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HeapQueryInformation (
-              HANDLE HeapHandle, 
-              HEAP_INFORMATION_CLASS HeapInformationClass,
-             PVOID HeapInformation,
-              SIZE_T HeapInformationLength,
-           PSIZE_T ReturnLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetBinaryTypeA(
-          LPCSTR lpApplicationName,
-         LPDWORD  lpBinaryType
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetBinaryTypeW(
-          LPCWSTR lpApplicationName,
-         LPDWORD  lpBinaryType
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetShortPathNameA(
-         LPCSTR lpszLongPath,
-           LPSTR  lpszShortPath,
-         DWORD cchBuffer
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetShortPathNameW(
-         LPCWSTR lpszLongPath,
-           LPWSTR  lpszShortPath,
-         DWORD cchBuffer
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLongPathNameA(
-         LPCSTR lpszShortPath,
-           LPSTR  lpszLongPath,
-         DWORD cchBuffer
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLongPathNameW(
-         LPCWSTR lpszShortPath,
-           LPWSTR  lpszLongPath,
-         DWORD cchBuffer
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessAffinityMask(
-          HANDLE hProcess,
-         PDWORD_PTR lpProcessAffinityMask,
-         PDWORD_PTR lpSystemAffinityMask
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessAffinityMask(
-         HANDLE hProcess,
-         DWORD_PTR dwProcessAffinityMask
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessHandleCount(
-          HANDLE hProcess,
-         PDWORD pdwHandleCount
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessTimes(
-          HANDLE hProcess,
-         LPFILETIME lpCreationTime,
-         LPFILETIME lpExitTime,
-         LPFILETIME lpKernelTime,
-         LPFILETIME lpUserTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessIoCounters(
-          HANDLE hProcess,
-         PIO_COUNTERS lpIoCounters
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessWorkingSetSize(
-          HANDLE hProcess,
-         PSIZE_T lpMinimumWorkingSetSize,
-         PSIZE_T lpMaximumWorkingSetSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessWorkingSetSizeEx(
-          HANDLE hProcess,
-         PSIZE_T lpMinimumWorkingSetSize,
-         PSIZE_T lpMaximumWorkingSetSize,
-         PDWORD Flags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessWorkingSetSize(
-         HANDLE hProcess,
-         SIZE_T dwMinimumWorkingSetSize,
-         SIZE_T dwMaximumWorkingSetSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessWorkingSetSizeEx(
-         HANDLE hProcess,
-         SIZE_T dwMinimumWorkingSetSize,
-         SIZE_T dwMaximumWorkingSetSize,
-         DWORD Flags
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenProcess(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         DWORD dwProcessId
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-GetCurrentProcess(
-    void
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCurrentProcessId(
-    void
-    );
-
-__declspec(dllimport)
-__declspec(noreturn)
-void
-__stdcall
-ExitProcess(
-         UINT uExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TerminateProcess(
-         HANDLE hProcess,
-         UINT uExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetExitCodeProcess(
-          HANDLE hProcess,
-         LPDWORD lpExitCode
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-FatalExit(
-         int ExitCode
-    );
-
-__declspec(dllimport)
-    
-
-LPCH
-__stdcall
-GetEnvironmentStrings(
-    void
-    );
-
-__declspec(dllimport)
-    
-
-LPWCH
-__stdcall
-GetEnvironmentStringsW(
-    void
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetEnvironmentStringsA(
-          LPCH NewEnvironment
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetEnvironmentStringsW(
-          LPWCH NewEnvironment
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FreeEnvironmentStringsA(
-          LPCH
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FreeEnvironmentStringsW(
-          LPWCH
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-RaiseException(
-         DWORD dwExceptionCode,
-         DWORD dwExceptionFlags,
-         DWORD nNumberOfArguments,
-             const ULONG_PTR *lpArguments
-    );
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-UnhandledExceptionFilter(
-         struct _EXCEPTION_POINTERS *ExceptionInfo
-    );
-
-typedef LONG (__stdcall *PTOP_LEVEL_EXCEPTION_FILTER)(
-         struct _EXCEPTION_POINTERS *ExceptionInfo
-    );
-typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
-
-__declspec(dllimport)
-LPTOP_LEVEL_EXCEPTION_FILTER
-__stdcall
-SetUnhandledExceptionFilter(
-         LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-CreateFiber(
-             SIZE_T dwStackSize,
-             LPFIBER_START_ROUTINE lpStartAddress,
-           LPVOID lpParameter
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-CreateFiberEx(
-             SIZE_T dwStackCommitSize,
-             SIZE_T dwStackReserveSize,
-             DWORD dwFlags,
-             LPFIBER_START_ROUTINE lpStartAddress,
-           LPVOID lpParameter
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-DeleteFiber(
-         LPVOID lpFiber
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-ConvertThreadToFiber(
-           LPVOID lpParameter
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-ConvertThreadToFiberEx(
-           LPVOID lpParameter,
-             DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ConvertFiberToThread(
-    void
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-SwitchToFiber(
-         LPVOID lpFiber
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SwitchToThread(
-    void
-    );
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateThread(
-            LPSECURITY_ATTRIBUTES lpThreadAttributes,
-              SIZE_T dwStackSize,
-              LPTHREAD_START_ROUTINE lpStartAddress,
-            LPVOID lpParameter,
-              DWORD dwCreationFlags,
-           LPDWORD lpThreadId
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateRemoteThread(
-              HANDLE hProcess,
-            LPSECURITY_ATTRIBUTES lpThreadAttributes,
-              SIZE_T dwStackSize,
-              LPTHREAD_START_ROUTINE lpStartAddress,
-            LPVOID lpParameter,
-              DWORD dwCreationFlags,
-           LPDWORD lpThreadId
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-GetCurrentThread(
-    void
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCurrentThreadId(
-    void
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadStackGuarantee (
-         PULONG StackSizeInBytes
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProcessIdOfThread(
-         HANDLE Thread
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetThreadId(
-         HANDLE Thread
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProcessId(
-         HANDLE Process
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCurrentProcessorNumber(
-    void
-    );
-
-__declspec(dllimport)
-DWORD_PTR
-__stdcall
-SetThreadAffinityMask(
-         HANDLE hThread,
-         DWORD_PTR dwThreadAffinityMask
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetThreadIdealProcessor(
-         HANDLE hThread,
-         DWORD dwIdealProcessor
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessPriorityBoost(
-         HANDLE hProcess,
-         BOOL bDisablePriorityBoost
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessPriorityBoost(
-          HANDLE hProcess,
-         PBOOL  pDisablePriorityBoost
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RequestWakeupLatency(
-         LATENCY_TIME latency
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsSystemResumeAutomatic(
-    void
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenThread(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         DWORD dwThreadId
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadPriority(
-         HANDLE hThread,
-         int nPriority
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadPriorityBoost(
-         HANDLE hThread,
-         BOOL bDisablePriorityBoost
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetThreadPriorityBoost(
-          HANDLE hThread,
-         PBOOL pDisablePriorityBoost
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-GetThreadPriority(
-         HANDLE hThread
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetThreadTimes(
-          HANDLE hThread,
-         LPFILETIME lpCreationTime,
-         LPFILETIME lpExitTime,
-         LPFILETIME lpKernelTime,
-         LPFILETIME lpUserTime
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetThreadIOPendingFlag(
-          HANDLE hThread,
-         PBOOL  lpIOIsPending
-    );
-
-
-
-__declspec(dllimport)
-__declspec(noreturn)
-void
-__stdcall
-ExitThread(
-         DWORD dwExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TerminateThread(
-         HANDLE hThread,
-         DWORD dwExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetExitCodeThread(
-          HANDLE hThread,
-         LPDWORD lpExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetThreadSelectorEntry(
-          HANDLE hThread,
-          DWORD dwSelector,
-         LPLDT_ENTRY lpSelectorEntry
-    );
-
-__declspec(dllimport)
-EXECUTION_STATE
-__stdcall
-SetThreadExecutionState(
-         EXECUTION_STATE esFlags
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLastError(
-    void
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-SetLastError(
-         DWORD dwErrCode
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetOverlappedResult(
-          HANDLE hFile,
-          LPOVERLAPPED lpOverlapped,
-         LPDWORD lpNumberOfBytesTransferred,
-          BOOL bWait
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateIoCompletionPort(
-             HANDLE FileHandle,
-           HANDLE ExistingCompletionPort,
-             ULONG_PTR CompletionKey,
-             DWORD NumberOfConcurrentThreads
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetQueuedCompletionStatus(
-          HANDLE CompletionPort,
-         LPDWORD lpNumberOfBytesTransferred,
-         PULONG_PTR lpCompletionKey,
-         LPOVERLAPPED *lpOverlapped,
-          DWORD dwMilliseconds
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PostQueuedCompletionStatus(
-             HANDLE CompletionPort,
-             DWORD dwNumberOfBytesTransferred,
-             ULONG_PTR dwCompletionKey,
-           LPOVERLAPPED lpOverlapped
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-SetErrorMode(
-         UINT uMode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadProcessMemory(
-              HANDLE hProcess,
-              LPCVOID lpBaseAddress,
-           LPVOID lpBuffer,
-              SIZE_T nSize,
-           SIZE_T * lpNumberOfBytesRead
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteProcessMemory(
-              HANDLE hProcess,
-              LPVOID lpBaseAddress,
-           LPCVOID lpBuffer,
-              SIZE_T nSize,
-           SIZE_T * lpNumberOfBytesWritten
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetThreadContext(
-            HANDLE hThread,
-         LPCONTEXT lpContext
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadContext(
-         HANDLE hThread,
-         const CONTEXT *lpContext
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SuspendThread(
-         HANDLE hThread
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-ResumeThread(
-         HANDLE hThread
-    );
-
-
-
-
-typedef
-void
-(__stdcall *PAPCFUNC)(
-         ULONG_PTR dwParam
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-QueueUserAPC(
-         PAPCFUNC pfnAPC,
-         HANDLE hThread,
-         ULONG_PTR dwData
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsDebuggerPresent(
-    void
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckRemoteDebuggerPresent(
-          HANDLE hProcess,
-         PBOOL pbDebuggerPresent
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-DebugBreak(
-    void
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WaitForDebugEvent(
-         LPDEBUG_EVENT lpDebugEvent,
-         DWORD dwMilliseconds
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ContinueDebugEvent(
-         DWORD dwProcessId,
-         DWORD dwThreadId,
-         DWORD dwContinueStatus
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DebugActiveProcess(
-         DWORD dwProcessId
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DebugActiveProcessStop(
-         DWORD dwProcessId
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DebugSetProcessKillOnExit(
-         BOOL KillOnExit
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DebugBreakProcess (
-         HANDLE Process
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-InitializeCriticalSection(
-         LPCRITICAL_SECTION lpCriticalSection
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-EnterCriticalSection(
-         LPCRITICAL_SECTION lpCriticalSection
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-LeaveCriticalSection(
-         LPCRITICAL_SECTION lpCriticalSection
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitializeCriticalSectionAndSpinCount(
-         LPCRITICAL_SECTION lpCriticalSection,
-          DWORD dwSpinCount
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetCriticalSectionSpinCount(
-         LPCRITICAL_SECTION lpCriticalSection,
-            DWORD dwSpinCount
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TryEnterCriticalSection(
-         LPCRITICAL_SECTION lpCriticalSection
-    );
-
-
-__declspec(dllimport)
-void
-__stdcall
-DeleteCriticalSection(
-         LPCRITICAL_SECTION lpCriticalSection
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetEvent(
-         HANDLE hEvent
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ResetEvent(
-         HANDLE hEvent
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PulseEvent(
-         HANDLE hEvent
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReleaseSemaphore(
-              HANDLE hSemaphore,
-              LONG lReleaseCount,
-           LPLONG lpPreviousCount
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReleaseMutex(
-         HANDLE hMutex
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WaitForSingleObject(
-         HANDLE hHandle,
-         DWORD dwMilliseconds
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WaitForMultipleObjects(
-         DWORD nCount,
-           const HANDLE *lpHandles,
-         BOOL bWaitAll,
-         DWORD dwMilliseconds
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-Sleep(
-         DWORD dwMilliseconds
-    );
-
-__declspec(dllimport)
-    
-HGLOBAL
-__stdcall
-LoadResource(
-           HMODULE hModule,
-         HRSRC hResInfo
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SizeofResource(
-           HMODULE hModule,
-         HRSRC hResInfo
-    );
-
-
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-GlobalDeleteAtom(
-         ATOM nAtom
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitAtomTable(
-         DWORD nSize
-    );
-
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-DeleteAtom(
-         ATOM nAtom
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-SetHandleCount(
-         UINT uNumber
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLogicalDrives(
-    void
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LockFile(
-         HANDLE hFile,
-         DWORD dwFileOffsetLow,
-         DWORD dwFileOffsetHigh,
-         DWORD nNumberOfBytesToLockLow,
-         DWORD nNumberOfBytesToLockHigh
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnlockFile(
-         HANDLE hFile,
-         DWORD dwFileOffsetLow,
-         DWORD dwFileOffsetHigh,
-         DWORD nNumberOfBytesToUnlockLow,
-         DWORD nNumberOfBytesToUnlockHigh
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LockFileEx(
-               HANDLE hFile,
-               DWORD dwFlags,
-      DWORD dwReserved,
-               DWORD nNumberOfBytesToLockLow,
-               DWORD nNumberOfBytesToLockHigh,
-            LPOVERLAPPED lpOverlapped
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnlockFileEx(
-               HANDLE hFile,
-      DWORD dwReserved,
-               DWORD nNumberOfBytesToUnlockLow,
-               DWORD nNumberOfBytesToUnlockHigh,
-            LPOVERLAPPED lpOverlapped
-    );
-
-typedef struct _BY_HANDLE_FILE_INFORMATION {
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD dwVolumeSerialNumber;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-    DWORD nNumberOfLinks;
-    DWORD nFileIndexHigh;
-    DWORD nFileIndexLow;
-} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileInformationByHandle(
-          HANDLE hFile,
-         LPBY_HANDLE_FILE_INFORMATION lpFileInformation
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFileType(
-         HANDLE hFile
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFileSize(
-              HANDLE hFile,
-           LPDWORD lpFileSizeHigh
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileSizeEx(
-          HANDLE hFile,
-         PLARGE_INTEGER lpFileSize
-    );
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-GetStdHandle(
-         DWORD nStdHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetStdHandle(
-         DWORD nStdHandle,
-         HANDLE hHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteFile(
-                HANDLE hFile,
-           LPCVOID lpBuffer,
-                DWORD nNumberOfBytesToWrite,
-             LPDWORD lpNumberOfBytesWritten,
-           LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadFile(
-                HANDLE hFile,
-           LPVOID lpBuffer,
-                DWORD nNumberOfBytesToRead,
-             LPDWORD lpNumberOfBytesRead,
-           LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlushFileBuffers(
-         HANDLE hFile
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeviceIoControl(
-                HANDLE hDevice,
-                DWORD dwIoControlCode,
-             LPVOID lpInBuffer,
-                DWORD nInBufferSize,
-             LPVOID lpOutBuffer,
-                DWORD nOutBufferSize,
-             LPDWORD lpBytesReturned,
-           LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RequestDeviceWakeup(
-         HANDLE hDevice
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CancelDeviceWakeupRequest(
-         HANDLE hDevice
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDevicePowerState(
-          HANDLE hDevice,
-         BOOL *pfOn
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMessageWaitingIndicator(
-         HANDLE hMsgIndicator,
-         ULONG ulMsgCount
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetEndOfFile(
-         HANDLE hFile
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetFilePointer(
-             HANDLE hFile,
-             LONG lDistanceToMove,
-           PLONG lpDistanceToMoveHigh,
-             DWORD dwMoveMethod
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFilePointerEx(
-              HANDLE hFile,
-              LARGE_INTEGER liDistanceToMove,
-           PLARGE_INTEGER lpNewFilePointer,
-              DWORD dwMoveMethod
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindClose(
-         HANDLE hFindFile
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileTime(
-              HANDLE hFile,
-           LPFILETIME lpCreationTime,
-           LPFILETIME lpLastAccessTime,
-           LPFILETIME lpLastWriteTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileTime(
-             HANDLE hFile,
-           const FILETIME *lpCreationTime,
-           const FILETIME *lpLastAccessTime,
-           const FILETIME *lpLastWriteTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileValidData(
-         HANDLE hFile,
-         LONGLONG ValidDataLength
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileShortNameA(
-         HANDLE hFile,
-         LPCSTR lpShortName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileShortNameW(
-         HANDLE hFile,
-         LPCWSTR lpShortName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseHandle(
-         HANDLE hObject
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DuplicateHandle(
-                HANDLE hSourceProcessHandle,
-                HANDLE hSourceHandle,
-                HANDLE hTargetProcessHandle,
-                  LPHANDLE lpTargetHandle,
-                DWORD dwDesiredAccess,
-                BOOL bInheritHandle,
-                DWORD dwOptions
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetHandleInformation(
-          HANDLE hObject,
-         LPDWORD lpdwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetHandleInformation(
-         HANDLE hObject,
-         DWORD dwMask,
-         DWORD dwFlags
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-LoadModule(
-         LPCSTR lpModuleName,
-         LPVOID lpParameterBlock
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-WinExec(
-         LPCSTR lpCmdLine,
-         UINT uCmdShow
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ClearCommBreak(
-         HANDLE hFile
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ClearCommError(
-              HANDLE hFile,
-           LPDWORD lpErrors,
-           LPCOMSTAT lpStat
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetupComm(
-         HANDLE hFile,
-         DWORD dwInQueue,
-         DWORD dwOutQueue
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EscapeCommFunction(
-         HANDLE hFile,
-         DWORD dwFunc
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCommConfig(
-              HANDLE hCommDev,
-           LPCOMMCONFIG lpCC,
-           LPDWORD lpdwSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCommMask(
-          HANDLE hFile,
-         LPDWORD lpEvtMask
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCommProperties(
-          HANDLE hFile,
-         LPCOMMPROP lpCommProp
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCommModemStatus(
-          HANDLE hFile,
-         LPDWORD lpModemStat
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCommState(
-          HANDLE hFile,
-         LPDCB lpDCB
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCommTimeouts(
-          HANDLE hFile,
-         LPCOMMTIMEOUTS lpCommTimeouts
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PurgeComm(
-         HANDLE hFile,
-         DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCommBreak(
-         HANDLE hFile
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCommConfig(
-         HANDLE hCommDev,
-           LPCOMMCONFIG lpCC,
-         DWORD dwSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCommMask(
-         HANDLE hFile,
-         DWORD dwEvtMask
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCommState(
-         HANDLE hFile,
-         LPDCB lpDCB
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCommTimeouts(
-         HANDLE hFile,
-         LPCOMMTIMEOUTS lpCommTimeouts
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TransmitCommChar(
-         HANDLE hFile,
-         char cChar
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WaitCommEvent(
-                HANDLE hFile,
-             LPDWORD lpEvtMask,
-           LPOVERLAPPED lpOverlapped
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetTapePosition(
-         HANDLE hDevice,
-         DWORD dwPositionMethod,
-         DWORD dwPartition,
-         DWORD dwOffsetLow,
-         DWORD dwOffsetHigh,
-         BOOL bImmediate
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTapePosition(
-          HANDLE hDevice,
-          DWORD dwPositionType,
-         LPDWORD lpdwPartition,
-         LPDWORD lpdwOffsetLow,
-         LPDWORD lpdwOffsetHigh
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-PrepareTape(
-         HANDLE hDevice,
-         DWORD dwOperation,
-         BOOL bImmediate
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-EraseTape(
-         HANDLE hDevice,
-         DWORD dwEraseType,
-         BOOL bImmediate
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CreateTapePartition(
-         HANDLE hDevice,
-         DWORD dwPartitionMethod,
-         DWORD dwCount,
-         DWORD dwSize
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WriteTapemark(
-         HANDLE hDevice,
-         DWORD dwTapemarkType,
-         DWORD dwTapemarkCount,
-         BOOL bImmediate
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTapeStatus(
-         HANDLE hDevice
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTapeParameters(
-            HANDLE hDevice,
-            DWORD dwOperation,
-         LPDWORD lpdwSize,
-         LPVOID lpTapeInformation
-    );
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetTapeParameters(
-         HANDLE hDevice,
-         DWORD dwOperation,
-         LPVOID lpTapeInformation
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-Beep(
-         DWORD dwFreq,
-         DWORD dwDuration
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-MulDiv(
-         int nNumber,
-         int nNumerator,
-         int nDenominator
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GetSystemTime(
-         LPSYSTEMTIME lpSystemTime
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GetSystemTimeAsFileTime(
-         LPFILETIME lpSystemTimeAsFileTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSystemTime(
-         const SYSTEMTIME *lpSystemTime
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GetLocalTime(
-         LPSYSTEMTIME lpSystemTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetLocalTime(
-         const SYSTEMTIME *lpSystemTime
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-GetSystemInfo(
-         LPSYSTEM_INFO lpSystemInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSystemRegistryQuota(
-           PDWORD pdwQuotaAllowed,
-           PDWORD pdwQuotaUsed
-    );
-
-BOOL
-__stdcall
-GetSystemTimes(
-           LPFILETIME lpIdleTime,
-           LPFILETIME lpKernelTime,
-           LPFILETIME lpUserTime
-    );
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-GetNativeSystemInfo(
-         LPSYSTEM_INFO lpSystemInfo
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsProcessorFeaturePresent(
-         DWORD ProcessorFeature
-    );
-
-typedef struct _TIME_ZONE_INFORMATION {
-    LONG Bias;
-    WCHAR StandardName[ 32 ];
-    SYSTEMTIME StandardDate;
-    LONG StandardBias;
-    WCHAR DaylightName[ 32 ];
-    SYSTEMTIME DaylightDate;
-    LONG DaylightBias;
-} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SystemTimeToTzSpecificLocalTime(
-           LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
-             LPSYSTEMTIME lpUniversalTime,
-            LPSYSTEMTIME lpLocalTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TzSpecificLocalTimeToSystemTime(
-           LPTIME_ZONE_INFORMATION lpTimeZoneInformation,
-             LPSYSTEMTIME lpLocalTime,
-            LPSYSTEMTIME lpUniversalTime
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTimeZoneInformation(
-         LPTIME_ZONE_INFORMATION lpTimeZoneInformation
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetTimeZoneInformation(
-         const TIME_ZONE_INFORMATION *lpTimeZoneInformation
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SystemTimeToFileTime(
-          const SYSTEMTIME *lpSystemTime,
-         LPFILETIME lpFileTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FileTimeToLocalFileTime(
-          const FILETIME *lpFileTime,
-         LPFILETIME lpLocalFileTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LocalFileTimeToFileTime(
-          const FILETIME *lpLocalFileTime,
-         LPFILETIME lpFileTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FileTimeToSystemTime(
-          const FILETIME *lpFileTime,
-         LPSYSTEMTIME lpSystemTime
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-CompareFileTime(
-         const FILETIME *lpFileTime1,
-         const FILETIME *lpFileTime2
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FileTimeToDosDateTime(
-          const FILETIME *lpFileTime,
-         LPWORD lpFatDate,
-         LPWORD lpFatTime
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DosDateTimeToFileTime(
-          WORD wFatDate,
-          WORD wFatTime,
-         LPFILETIME lpFileTime
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTickCount(
-    void
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSystemTimeAdjustment(
-         DWORD dwTimeAdjustment,
-         BOOL  bTimeAdjustmentDisabled
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSystemTimeAdjustment(
-         PDWORD lpTimeAdjustment,
-         PDWORD lpTimeIncrement,
-         PBOOL  lpTimeAdjustmentDisabled
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-FormatMessageA(
-    DWORD dwFlags,
-    LPCVOID lpSource,
-    DWORD dwMessageId,
-    DWORD dwLanguageId,
-    LPSTR lpBuffer,
-    DWORD nSize,
-    va_list *Arguments
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-FormatMessageW(
-    DWORD dwFlags,
-    LPCVOID lpSource,
-    DWORD dwMessageId,
-    DWORD dwLanguageId,
-    LPWSTR lpBuffer,
-    DWORD nSize,
-    va_list *Arguments
-    );
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreatePipe(
-           PHANDLE hReadPipe,
-           PHANDLE hWritePipe,
-           LPSECURITY_ATTRIBUTES lpPipeAttributes,
-             DWORD nSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ConnectNamedPipe(
-                HANDLE hNamedPipe,
-           LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DisconnectNamedPipe(
-         HANDLE hNamedPipe
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetNamedPipeHandleState(
-             HANDLE hNamedPipe,
-           LPDWORD lpMode,
-           LPDWORD lpMaxCollectionCount,
-           LPDWORD lpCollectDataTimeout
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNamedPipeInfo(
-              HANDLE hNamedPipe,
-           LPDWORD lpFlags,
-           LPDWORD lpOutBufferSize,
-           LPDWORD lpInBufferSize,
-           LPDWORD lpMaxInstances
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PeekNamedPipe(
-              HANDLE hNamedPipe,
-             LPVOID lpBuffer,
-              DWORD nBufferSize,
-           LPDWORD lpBytesRead,
-           LPDWORD lpTotalBytesAvail,
-           LPDWORD lpBytesLeftThisMessage
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TransactNamedPipe(
-                HANDLE hNamedPipe,
-             LPVOID lpInBuffer,
-                DWORD nInBufferSize,
-             LPVOID lpOutBuffer,
-                DWORD nOutBufferSize,
-               LPDWORD lpBytesRead,
-           LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateMailslotA(
-             LPCSTR lpName,
-             DWORD nMaxMessageSize,
-             DWORD lReadTimeout,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateMailslotW(
-             LPCWSTR lpName,
-             DWORD nMaxMessageSize,
-             DWORD lReadTimeout,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMailslotInfo(
-              HANDLE hMailslot,
-           LPDWORD lpMaxMessageSize,
-           LPDWORD lpNextSize,
-           LPDWORD lpMessageCount,
-           LPDWORD lpReadTimeout
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMailslotInfo(
-         HANDLE hMailslot,
-         DWORD lReadTimeout
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-MapViewOfFile(
-         HANDLE hFileMappingObject,
-         DWORD dwDesiredAccess,
-         DWORD dwFileOffsetHigh,
-         DWORD dwFileOffsetLow,
-         SIZE_T dwNumberOfBytesToMap
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlushViewOfFile(
-         LPCVOID lpBaseAddress,
-         SIZE_T dwNumberOfBytesToFlush
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnmapViewOfFile(
-         LPCVOID lpBaseAddress
-    );
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EncryptFileA(
-         LPCSTR lpFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-EncryptFileW(
-         LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DecryptFileA(
-               LPCSTR lpFileName,
-      DWORD dwReserved
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-DecryptFileW(
-               LPCWSTR lpFileName,
-      DWORD dwReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FileEncryptionStatusA(
-          LPCSTR lpFileName,
-         LPDWORD  lpStatus
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FileEncryptionStatusW(
-          LPCWSTR lpFileName,
-         LPDWORD  lpStatus
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-typedef
-DWORD
-(__stdcall *PFE_EXPORT_FUNC)(
-           PBYTE pbData,
-           PVOID pvCallbackContext,
-             ULONG ulLength
-    );
-
-typedef
-DWORD
-(__stdcall *PFE_IMPORT_FUNC)(
-           PBYTE pbData,
-           PVOID pvCallbackContext,
-          PULONG ulLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-OpenEncryptedFileRawA(
-                LPCSTR lpFileName,
-                ULONG    ulFlags,
-                  PVOID   *pvContext
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-OpenEncryptedFileRawW(
-                LPCWSTR lpFileName,
-                ULONG    ulFlags,
-                  PVOID   *pvContext
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-ReadEncryptedFileRaw(
-             PFE_EXPORT_FUNC pfExportCallback,
-           PVOID           pvCallbackContext,
-             PVOID           pvContext
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WriteEncryptedFileRaw(
-             PFE_IMPORT_FUNC pfImportCallback,
-           PVOID           pvCallbackContext,
-             PVOID           pvContext
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-CloseEncryptedFileRaw(
-         PVOID           pvContext
-    );
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-lstrcmpA(
-         LPCSTR lpString1,
-         LPCSTR lpString2
-    );
-__declspec(dllimport)
-int
-__stdcall
-lstrcmpW(
-         LPCWSTR lpString1,
-         LPCWSTR lpString2
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-lstrcmpiA(
-         LPCSTR lpString1,
-         LPCSTR lpString2
-    );
-__declspec(dllimport)
-int
-__stdcall
-lstrcmpiW(
-         LPCWSTR lpString1,
-         LPCWSTR lpString2
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-LPSTR
-__stdcall
-lstrcpynA(
-         LPSTR lpString1,
-         LPCSTR lpString2,
-         int iMaxLength
-    );
-__declspec(dllimport)
-    
-LPWSTR
-__stdcall
-lstrcpynW(
-         LPWSTR lpString1,
-         LPCWSTR lpString2,
-         int iMaxLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-LPSTR
-__stdcall
-lstrcpyA(
-         LPSTR lpString1,
-          LPCSTR lpString2
-    );
-__declspec(dllimport)
-    
-LPWSTR
-__stdcall
-lstrcpyW(
-         LPWSTR lpString1,
-          LPCWSTR lpString2
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-LPSTR
-__stdcall
-lstrcatA(
-         LPSTR lpString1,
-            LPCSTR lpString2
-    );
-__declspec(dllimport)
-    
-LPWSTR
-__stdcall
-lstrcatW(
-         LPWSTR lpString1,
-            LPCWSTR lpString2
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-lstrlenA(
-         LPCSTR lpString
-    );
-__declspec(dllimport)
-int
-__stdcall
-lstrlenW(
-         LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HFILE
-__stdcall
-OpenFile(
-            LPCSTR lpFileName,
-         LPOFSTRUCT lpReOpenBuff,
-            UINT uStyle
-    );
-
-__declspec(dllimport)
-    
-HFILE
-__stdcall
-_lopen(
-         LPCSTR lpPathName,
-         int iReadWrite
-    );
-
-__declspec(dllimport)
-    
-HFILE
-__stdcall
-_lcreat(
-         LPCSTR lpPathName,
-         int  iAttribute
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-_lread(
-         HFILE hFile,
-           LPVOID lpBuffer,
-         UINT uBytes
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-_lwrite(
-         HFILE hFile,
-           LPCCH lpBuffer,
-         UINT uBytes
-    );
-
-__declspec(dllimport)
-long
-__stdcall
-_hread(
-         HFILE hFile,
-           LPVOID lpBuffer,
-         long lBytes
-    );
-
-__declspec(dllimport)
-long
-__stdcall
-_hwrite(
-         HFILE hFile,
-           LPCCH lpBuffer,
-         long lBytes
-    );
-
-__declspec(dllimport)
-HFILE
-__stdcall
-_lclose(
-         HFILE hFile
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-_llseek(
-         HFILE hFile,
-         LONG lOffset,
-         int iOrigin
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsTextUnicode(
-           const void* lpv,
-                int iSize,
-           LPINT lpiResult
-    );
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-FlsAlloc(
-           PFLS_CALLBACK_FUNCTION lpCallback
-    );
-
-__declspec(dllimport)
-PVOID
-__stdcall
-FlsGetValue(
-         DWORD dwFlsIndex
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlsSetValue(
-             DWORD dwFlsIndex,
-           PVOID lpFlsData
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlsFree(
-         DWORD dwFlsIndex
-    );
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-TlsAlloc(
-    void
-    );
-
-__declspec(dllimport)
-LPVOID
-__stdcall
-TlsGetValue(
-         DWORD dwTlsIndex
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TlsSetValue(
-             DWORD dwTlsIndex,
-           LPVOID lpTlsValue
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TlsFree(
-         DWORD dwTlsIndex
-    );
-
-typedef
-void
-(__stdcall *LPOVERLAPPED_COMPLETION_ROUTINE)(
-            DWORD dwErrorCode,
-            DWORD dwNumberOfBytesTransfered,
-         LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SleepEx(
-         DWORD dwMilliseconds,
-         BOOL bAlertable
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WaitForSingleObjectEx(
-         HANDLE hHandle,
-         DWORD dwMilliseconds,
-         BOOL bAlertable
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WaitForMultipleObjectsEx(
-         DWORD nCount,
-           const HANDLE *lpHandles,
-         BOOL bWaitAll,
-         DWORD dwMilliseconds,
-         BOOL bAlertable
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SignalObjectAndWait(
-         HANDLE hObjectToSignal,
-         HANDLE hObjectToWaitOn,
-         DWORD dwMilliseconds,
-         BOOL bAlertable
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadFileEx(
-             HANDLE hFile,
-         LPVOID lpBuffer,
-             DWORD nNumberOfBytesToRead,
-          LPOVERLAPPED lpOverlapped,
-           LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteFileEx(
-             HANDLE hFile,
-           LPCVOID lpBuffer,
-             DWORD nNumberOfBytesToWrite,
-          LPOVERLAPPED lpOverlapped,
-           LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BackupRead(
-            HANDLE hFile,
-           LPBYTE lpBuffer,
-            DWORD nNumberOfBytesToRead,
-           LPDWORD lpNumberOfBytesRead,
-            BOOL bAbort,
-            BOOL bProcessSecurity,
-         LPVOID *lpContext
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BackupSeek(
-            HANDLE hFile,
-            DWORD  dwLowBytesToSeek,
-            DWORD  dwHighBytesToSeek,
-           LPDWORD lpdwLowByteSeeked,
-           LPDWORD lpdwHighByteSeeked,
-         LPVOID *lpContext
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BackupWrite(
-            HANDLE hFile,
-           LPBYTE lpBuffer,
-            DWORD nNumberOfBytesToWrite,
-           LPDWORD lpNumberOfBytesWritten,
-            BOOL bAbort,
-            BOOL bProcessSecurity,
-         LPVOID *lpContext
-    );
-
-
-
-
-typedef struct _WIN32_STREAM_ID {
-        DWORD          dwStreamId ;
-        DWORD          dwStreamAttributes ;
-        LARGE_INTEGER  Size ;
-        DWORD          dwStreamNameSize ;
-        WCHAR          cStreamName[ 1 ] ;
-} WIN32_STREAM_ID, *LPWIN32_STREAM_ID ;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadFileScatter(
-               HANDLE hFile,
-               FILE_SEGMENT_ELEMENT aSegmentArray[],
-               DWORD nNumberOfBytesToRead,
-      LPDWORD lpReserved,
-            LPOVERLAPPED lpOverlapped
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteFileGather(
-               HANDLE hFile,
-               FILE_SEGMENT_ELEMENT aSegmentArray[],
-               DWORD nNumberOfBytesToWrite,
-      LPDWORD lpReserved,
-            LPOVERLAPPED lpOverlapped
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _STARTUPINFOA {
-    DWORD   cb;
-    LPSTR   lpReserved;
-    LPSTR   lpDesktop;
-    LPSTR   lpTitle;
-    DWORD   dwX;
-    DWORD   dwY;
-    DWORD   dwXSize;
-    DWORD   dwYSize;
-    DWORD   dwXCountChars;
-    DWORD   dwYCountChars;
-    DWORD   dwFillAttribute;
-    DWORD   dwFlags;
-    WORD    wShowWindow;
-    WORD    cbReserved2;
-    LPBYTE  lpReserved2;
-    HANDLE  hStdInput;
-    HANDLE  hStdOutput;
-    HANDLE  hStdError;
-} STARTUPINFOA, *LPSTARTUPINFOA;
-typedef struct _STARTUPINFOW {
-    DWORD   cb;
-    LPWSTR  lpReserved;
-    LPWSTR  lpDesktop;
-    LPWSTR  lpTitle;
-    DWORD   dwX;
-    DWORD   dwY;
-    DWORD   dwXSize;
-    DWORD   dwYSize;
-    DWORD   dwXCountChars;
-    DWORD   dwYCountChars;
-    DWORD   dwFillAttribute;
-    DWORD   dwFlags;
-    WORD    wShowWindow;
-    WORD    cbReserved2;
-    LPBYTE  lpReserved2;
-    HANDLE  hStdInput;
-    HANDLE  hStdOutput;
-    HANDLE  hStdError;
-} STARTUPINFOW, *LPSTARTUPINFOW;
-
-typedef STARTUPINFOW STARTUPINFO;
-typedef LPSTARTUPINFOW LPSTARTUPINFO;
-
-
-
-
-
-
-
-typedef struct _WIN32_FIND_DATAA {
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-    DWORD dwReserved0;
-    DWORD dwReserved1;
-    CHAR   cFileName[ 260 ];
-    CHAR   cAlternateFileName[ 14 ];
-
-
-
-
-
-} WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
-typedef struct _WIN32_FIND_DATAW {
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-    DWORD dwReserved0;
-    DWORD dwReserved1;
-    WCHAR  cFileName[ 260 ];
-    WCHAR  cAlternateFileName[ 14 ];
-
-
-
-
-
-} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
-
-typedef WIN32_FIND_DATAW WIN32_FIND_DATA;
-typedef PWIN32_FIND_DATAW PWIN32_FIND_DATA;
-typedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA;
-
-
-
-
-
-
-typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
-    DWORD dwFileAttributes;
-    FILETIME ftCreationTime;
-    FILETIME ftLastAccessTime;
-    FILETIME ftLastWriteTime;
-    DWORD nFileSizeHigh;
-    DWORD nFileSizeLow;
-} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateMutexA(
-           LPSECURITY_ATTRIBUTES lpMutexAttributes,
-             BOOL bInitialOwner,
-           LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateMutexW(
-           LPSECURITY_ATTRIBUTES lpMutexAttributes,
-             BOOL bInitialOwner,
-           LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenMutexA(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenMutexW(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateEventA(
-           LPSECURITY_ATTRIBUTES lpEventAttributes,
-             BOOL bManualReset,
-             BOOL bInitialState,
-           LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateEventW(
-           LPSECURITY_ATTRIBUTES lpEventAttributes,
-             BOOL bManualReset,
-             BOOL bInitialState,
-           LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenEventA(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenEventW(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateSemaphoreA(
-           LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
-             LONG lInitialCount,
-             LONG lMaximumCount,
-           LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateSemaphoreW(
-           LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
-             LONG lInitialCount,
-             LONG lMaximumCount,
-           LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenSemaphoreA(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenSemaphoreW(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCWSTR lpName
-    );
-
-
-
-
-
-
-
-typedef
-void
-(__stdcall *PTIMERAPCROUTINE)(
-           LPVOID lpArgToCompletionRoutine,
-             DWORD dwTimerLowValue,
-             DWORD dwTimerHighValue
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateWaitableTimerA(
-           LPSECURITY_ATTRIBUTES lpTimerAttributes,
-             BOOL bManualReset,
-           LPCSTR lpTimerName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateWaitableTimerW(
-           LPSECURITY_ATTRIBUTES lpTimerAttributes,
-             BOOL bManualReset,
-           LPCWSTR lpTimerName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenWaitableTimerA(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCSTR lpTimerName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenWaitableTimerW(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCWSTR lpTimerName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetWaitableTimer(
-             HANDLE hTimer,
-             const LARGE_INTEGER *lpDueTime,
-             LONG lPeriod,
-           PTIMERAPCROUTINE pfnCompletionRoutine,
-           LPVOID lpArgToCompletionRoutine,
-             BOOL fResume
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CancelWaitableTimer(
-         HANDLE hTimer
-    );
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateFileMappingA(
-             HANDLE hFile,
-           LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
-             DWORD flProtect,
-             DWORD dwMaximumSizeHigh,
-             DWORD dwMaximumSizeLow,
-           LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateFileMappingW(
-             HANDLE hFile,
-           LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
-             DWORD flProtect,
-             DWORD dwMaximumSizeHigh,
-             DWORD dwMaximumSizeLow,
-           LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenFileMappingA(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenFileMappingW(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLogicalDriveStringsA(
-         DWORD nBufferLength,
-             LPSTR lpBuffer
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLogicalDriveStringsW(
-         DWORD nBufferLength,
-             LPWSTR lpBuffer
-    );
-
-
-
-
-
-
-
-
-typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
-    LowMemoryResourceNotification,
-    HighMemoryResourceNotification
-} MEMORY_RESOURCE_NOTIFICATION_TYPE;
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateMemoryResourceNotification(
-         MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryMemoryResourceNotification(
-          HANDLE ResourceNotificationHandle,
-         PBOOL  ResourceState
-    );
-
-
-
-
-__declspec(dllimport)
-    
-HMODULE
-__stdcall
-LoadLibraryA(
-         LPCSTR lpLibFileName
-    );
-__declspec(dllimport)
-    
-HMODULE
-__stdcall
-LoadLibraryW(
-         LPCWSTR lpLibFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HMODULE
-__stdcall
-LoadLibraryExA(
-               LPCSTR lpLibFileName,
-      HANDLE hFile,
-               DWORD dwFlags
-    );
-__declspec(dllimport)
-    
-HMODULE
-__stdcall
-LoadLibraryExW(
-               LPCWSTR lpLibFileName,
-      HANDLE hFile,
-               DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetModuleFileNameA(
-           HMODULE hModule,
-           LPCH lpFilename,
-             DWORD nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetModuleFileNameW(
-           HMODULE hModule,
-           LPWCH lpFilename,
-             DWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HMODULE
-__stdcall
-GetModuleHandleA(
-           LPCSTR lpModuleName
-    );
-__declspec(dllimport)
-    
-HMODULE
-__stdcall
-GetModuleHandleW(
-           LPCWSTR lpModuleName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef
-BOOL
-(__stdcall*
-PGET_MODULE_HANDLE_EXA)(
-                DWORD        dwFlags,
-              LPCSTR     lpModuleName,
-                  HMODULE*    phModule
-    );
-typedef
-BOOL
-(__stdcall*
-PGET_MODULE_HANDLE_EXW)(
-                DWORD        dwFlags,
-              LPCWSTR     lpModuleName,
-                  HMODULE*    phModule
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetModuleHandleExA(
-                DWORD    dwFlags,
-              LPCSTR lpModuleName,
-         HMODULE* phModule
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetModuleHandleExW(
-                DWORD    dwFlags,
-              LPCWSTR lpModuleName,
-         HMODULE* phModule
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateProcessA(
-              LPCSTR lpApplicationName,
-           LPSTR lpCommandLine,
-              LPSECURITY_ATTRIBUTES lpProcessAttributes,
-              LPSECURITY_ATTRIBUTES lpThreadAttributes,
-                BOOL bInheritHandles,
-                DWORD dwCreationFlags,
-              LPVOID lpEnvironment,
-              LPCSTR lpCurrentDirectory,
-                LPSTARTUPINFOA lpStartupInfo,
-               LPPROCESS_INFORMATION lpProcessInformation
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateProcessW(
-              LPCWSTR lpApplicationName,
-           LPWSTR lpCommandLine,
-              LPSECURITY_ATTRIBUTES lpProcessAttributes,
-              LPSECURITY_ATTRIBUTES lpThreadAttributes,
-                BOOL bInheritHandles,
-                DWORD dwCreationFlags,
-              LPVOID lpEnvironment,
-              LPCWSTR lpCurrentDirectory,
-                LPSTARTUPINFOW lpStartupInfo,
-               LPPROCESS_INFORMATION lpProcessInformation
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessShutdownParameters(
-         DWORD dwLevel,
-         DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessShutdownParameters(
-         LPDWORD lpdwLevel,
-         LPDWORD lpdwFlags
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProcessVersion(
-         DWORD ProcessId
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-FatalAppExitA(
-         UINT uAction,
-         LPCSTR lpMessageText
-    );
-__declspec(dllimport)
-void
-__stdcall
-FatalAppExitW(
-         UINT uAction,
-         LPCWSTR lpMessageText
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-GetStartupInfoA(
-         LPSTARTUPINFOA lpStartupInfo
-    );
-__declspec(dllimport)
-void
-__stdcall
-GetStartupInfoW(
-         LPSTARTUPINFOW lpStartupInfo
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-LPSTR
-__stdcall
-GetCommandLineA(
-    void
-    );
-__declspec(dllimport)
-    
-LPWSTR
-__stdcall
-GetCommandLineW(
-    void
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetEnvironmentVariableA(
-         LPCSTR lpName,
-             LPSTR lpBuffer,
-         DWORD nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetEnvironmentVariableW(
-         LPCWSTR lpName,
-             LPWSTR lpBuffer,
-         DWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetEnvironmentVariableA(
-             LPCSTR lpName,
-           LPCSTR lpValue
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetEnvironmentVariableW(
-             LPCWSTR lpName,
-           LPCWSTR lpValue
-    );
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-ExpandEnvironmentStringsA(
-         LPCSTR lpSrc,
-             LPSTR lpDst,
-         DWORD nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-ExpandEnvironmentStringsW(
-         LPCWSTR lpSrc,
-             LPWSTR lpDst,
-         DWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFirmwareEnvironmentVariableA(
-         LPCSTR lpName,
-         LPCSTR lpGuid,
-             PVOID pBuffer,
-         DWORD    nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFirmwareEnvironmentVariableW(
-         LPCWSTR lpName,
-         LPCWSTR lpGuid,
-             PVOID pBuffer,
-         DWORD    nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFirmwareEnvironmentVariableA(
-         LPCSTR lpName,
-         LPCSTR lpGuid,
-             PVOID pValue,
-         DWORD    nSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFirmwareEnvironmentVariableW(
-         LPCWSTR lpName,
-         LPCWSTR lpGuid,
-             PVOID pValue,
-         DWORD    nSize
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-OutputDebugStringA(
-         LPCSTR lpOutputString
-    );
-__declspec(dllimport)
-void
-__stdcall
-OutputDebugStringW(
-         LPCWSTR lpOutputString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HRSRC
-__stdcall
-FindResourceA(
-           HMODULE hModule,
-             LPCSTR lpName,
-             LPCSTR lpType
-    );
-__declspec(dllimport)
-    
-HRSRC
-__stdcall
-FindResourceW(
-           HMODULE hModule,
-             LPCWSTR lpName,
-             LPCWSTR lpType
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HRSRC
-__stdcall
-FindResourceExA(
-           HMODULE hModule,
-             LPCSTR lpType,
-             LPCSTR lpName,
-             WORD    wLanguage
-    );
-__declspec(dllimport)
-    
-HRSRC
-__stdcall
-FindResourceExW(
-           HMODULE hModule,
-             LPCWSTR lpType,
-             LPCWSTR lpName,
-             WORD    wLanguage
-    );
-
-
-
-
-
-
-
-typedef BOOL (__stdcall* ENUMRESTYPEPROCA)(       HMODULE hModule,      LPSTR lpType,
-     LONG_PTR lParam);
-typedef BOOL (__stdcall* ENUMRESTYPEPROCW)(       HMODULE hModule,      LPWSTR lpType,
-     LONG_PTR lParam);
-
-
-
-
-
-typedef BOOL (__stdcall* ENUMRESNAMEPROCA)(       HMODULE hModule,      LPCSTR lpType,
-     LPSTR lpName,      LONG_PTR lParam);
-typedef BOOL (__stdcall* ENUMRESNAMEPROCW)(       HMODULE hModule,      LPCWSTR lpType,
-     LPWSTR lpName,      LONG_PTR lParam);
-
-
-
-
-
-typedef BOOL (__stdcall* ENUMRESLANGPROCA)(       HMODULE hModule,      LPCSTR lpType,
-     LPCSTR lpName,      WORD  wLanguage,      LONG_PTR lParam);
-typedef BOOL (__stdcall* ENUMRESLANGPROCW)(       HMODULE hModule,      LPCWSTR lpType,
-     LPCWSTR lpName,      WORD  wLanguage,      LONG_PTR lParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumResourceTypesA(
-           HMODULE hModule,
-             ENUMRESTYPEPROCA lpEnumFunc,
-             LONG_PTR lParam
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumResourceTypesW(
-           HMODULE hModule,
-             ENUMRESTYPEPROCW lpEnumFunc,
-             LONG_PTR lParam
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumResourceNamesA(
-           HMODULE hModule,
-             LPCSTR lpType,
-             ENUMRESNAMEPROCA lpEnumFunc,
-             LONG_PTR lParam
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumResourceNamesW(
-           HMODULE hModule,
-             LPCWSTR lpType,
-             ENUMRESNAMEPROCW lpEnumFunc,
-             LONG_PTR lParam
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumResourceLanguagesA(
-           HMODULE hModule,
-             LPCSTR lpType,
-             LPCSTR lpName,
-             ENUMRESLANGPROCA lpEnumFunc,
-             LONG_PTR lParam
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumResourceLanguagesW(
-           HMODULE hModule,
-             LPCWSTR lpType,
-             LPCWSTR lpName,
-             ENUMRESLANGPROCW lpEnumFunc,
-             LONG_PTR lParam
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-BeginUpdateResourceA(
-         LPCSTR pFileName,
-         BOOL bDeleteExistingResources
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-BeginUpdateResourceW(
-         LPCWSTR pFileName,
-         BOOL bDeleteExistingResources
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UpdateResourceA(
-         HANDLE hUpdate,
-         LPCSTR lpType,
-         LPCSTR lpName,
-         WORD wLanguage,
-             LPVOID lpData,
-         DWORD cb
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-UpdateResourceW(
-         HANDLE hUpdate,
-         LPCWSTR lpType,
-         LPCWSTR lpName,
-         WORD wLanguage,
-             LPVOID lpData,
-         DWORD cb
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EndUpdateResourceA(
-         HANDLE hUpdate,
-         BOOL   fDiscard
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-EndUpdateResourceW(
-         HANDLE hUpdate,
-         BOOL   fDiscard
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-GlobalAddAtomA(
-           LPCSTR lpString
-    );
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-GlobalAddAtomW(
-           LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-GlobalFindAtomA(
-           LPCSTR lpString
-    );
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-GlobalFindAtomW(
-           LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GlobalGetAtomNameA(
-         ATOM nAtom,
-           LPSTR lpBuffer,
-         int nSize
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GlobalGetAtomNameW(
-         ATOM nAtom,
-           LPWSTR lpBuffer,
-         int nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-AddAtomA(
-           LPCSTR lpString
-    );
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-AddAtomW(
-           LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-FindAtomA(
-           LPCSTR lpString
-    );
-__declspec(dllimport)
-    
-ATOM
-__stdcall
-FindAtomW(
-           LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetAtomNameA(
-         ATOM nAtom,
-           LPSTR lpBuffer,
-         int nSize
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetAtomNameW(
-         ATOM nAtom,
-           LPWSTR lpBuffer,
-         int nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetProfileIntA(
-         LPCSTR lpAppName,
-         LPCSTR lpKeyName,
-         INT nDefault
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetProfileIntW(
-         LPCWSTR lpAppName,
-         LPCWSTR lpKeyName,
-         INT nDefault
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProfileStringA(
-           LPCSTR lpAppName,
-           LPCSTR lpKeyName,
-           LPCSTR lpDefault,
-             LPSTR lpReturnedString,
-             DWORD nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProfileStringW(
-           LPCWSTR lpAppName,
-           LPCWSTR lpKeyName,
-           LPCWSTR lpDefault,
-             LPWSTR lpReturnedString,
-             DWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteProfileStringA(
-           LPCSTR lpAppName,
-           LPCSTR lpKeyName,
-           LPCSTR lpString
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteProfileStringW(
-           LPCWSTR lpAppName,
-           LPCWSTR lpKeyName,
-           LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProfileSectionA(
-         LPCSTR lpAppName,
-             LPSTR lpReturnedString,
-         DWORD nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetProfileSectionW(
-         LPCWSTR lpAppName,
-             LPWSTR lpReturnedString,
-         DWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteProfileSectionA(
-         LPCSTR lpAppName,
-         LPCSTR lpString
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteProfileSectionW(
-         LPCWSTR lpAppName,
-         LPCWSTR lpString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetPrivateProfileIntA(
-             LPCSTR lpAppName,
-             LPCSTR lpKeyName,
-             INT nDefault,
-           LPCSTR lpFileName
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetPrivateProfileIntW(
-             LPCWSTR lpAppName,
-             LPCWSTR lpKeyName,
-             INT nDefault,
-           LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPrivateProfileStringA(
-           LPCSTR lpAppName,
-           LPCSTR lpKeyName,
-           LPCSTR lpDefault,
-             LPSTR lpReturnedString,
-             DWORD nSize,
-           LPCSTR lpFileName
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPrivateProfileStringW(
-           LPCWSTR lpAppName,
-           LPCWSTR lpKeyName,
-           LPCWSTR lpDefault,
-             LPWSTR lpReturnedString,
-             DWORD nSize,
-           LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WritePrivateProfileStringA(
-           LPCSTR lpAppName,
-           LPCSTR lpKeyName,
-           LPCSTR lpString,
-           LPCSTR lpFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WritePrivateProfileStringW(
-           LPCWSTR lpAppName,
-           LPCWSTR lpKeyName,
-           LPCWSTR lpString,
-           LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPrivateProfileSectionA(
-             LPCSTR lpAppName,
-             LPSTR lpReturnedString,
-             DWORD nSize,
-           LPCSTR lpFileName
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPrivateProfileSectionW(
-             LPCWSTR lpAppName,
-             LPWSTR lpReturnedString,
-             DWORD nSize,
-           LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WritePrivateProfileSectionA(
-             LPCSTR lpAppName,
-             LPCSTR lpString,
-           LPCSTR lpFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WritePrivateProfileSectionW(
-             LPCWSTR lpAppName,
-             LPCWSTR lpString,
-           LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPrivateProfileSectionNamesA(
-             LPSTR lpszReturnBuffer,
-             DWORD nSize,
-           LPCSTR lpFileName
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPrivateProfileSectionNamesW(
-             LPWSTR lpszReturnBuffer,
-             DWORD nSize,
-           LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetPrivateProfileStructA(
-             LPCSTR lpszSection,
-             LPCSTR lpszKey,
-           LPVOID   lpStruct,
-             UINT     uSizeStruct,
-           LPCSTR szFile
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetPrivateProfileStructW(
-             LPCWSTR lpszSection,
-             LPCWSTR lpszKey,
-           LPVOID   lpStruct,
-             UINT     uSizeStruct,
-           LPCWSTR szFile
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WritePrivateProfileStructA(
-             LPCSTR lpszSection,
-             LPCSTR lpszKey,
-             LPVOID lpStruct,
-             UINT     uSizeStruct,
-           LPCSTR szFile
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WritePrivateProfileStructW(
-             LPCWSTR lpszSection,
-             LPCWSTR lpszKey,
-             LPVOID lpStruct,
-             UINT     uSizeStruct,
-           LPCWSTR szFile
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetDriveTypeA(
-           LPCSTR lpRootPathName
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetDriveTypeW(
-           LPCWSTR lpRootPathName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemDirectoryA(
-             LPSTR lpBuffer,
-         UINT uSize
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemDirectoryW(
-             LPWSTR lpBuffer,
-         UINT uSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTempPathA(
-         DWORD nBufferLength,
-           LPSTR lpBuffer
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTempPathW(
-         DWORD nBufferLength,
-           LPWSTR lpBuffer
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetTempFileNameA(
-         LPCSTR lpPathName,
-         LPCSTR lpPrefixString,
-         UINT uUnique,
-         LPSTR lpTempFileName
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetTempFileNameW(
-         LPCWSTR lpPathName,
-         LPCWSTR lpPrefixString,
-         UINT uUnique,
-         LPWSTR lpTempFileName
-    );
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetWindowsDirectoryA(
-             LPSTR lpBuffer,
-         UINT uSize
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetWindowsDirectoryW(
-             LPWSTR lpBuffer,
-         UINT uSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemWindowsDirectoryA(
-             LPSTR lpBuffer,
-         UINT uSize
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemWindowsDirectoryW(
-             LPWSTR lpBuffer,
-         UINT uSize
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemWow64DirectoryA(
-             LPSTR lpBuffer,
-         UINT uSize
-    );
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemWow64DirectoryW(
-             LPWSTR lpBuffer,
-         UINT uSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOLEAN
-__stdcall
-Wow64EnableWow64FsRedirection (
-         BOOLEAN Wow64FsEnableRedirection
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-Wow64DisableWow64FsRedirection (
-         PVOID *OldValue
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-Wow64RevertWow64FsRedirection (
-         PVOID OlValue
-    );
-    
-
-
-
-
-typedef UINT (__stdcall* PGET_SYSTEM_WOW64_DIRECTORY_A)(         LPSTR lpBuffer,      UINT uSize);
-typedef UINT (__stdcall* PGET_SYSTEM_WOW64_DIRECTORY_W)(         LPWSTR lpBuffer,      UINT uSize);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCurrentDirectoryA(
-         LPCSTR lpPathName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCurrentDirectoryW(
-         LPCWSTR lpPathName
-    );
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCurrentDirectoryA(
-         DWORD nBufferLength,
-             LPSTR lpBuffer
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCurrentDirectoryW(
-         DWORD nBufferLength,
-             LPWSTR lpBuffer
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDiskFreeSpaceA(
-            LPCSTR lpRootPathName,
-           LPDWORD lpSectorsPerCluster,
-           LPDWORD lpBytesPerSector,
-           LPDWORD lpNumberOfFreeClusters,
-           LPDWORD lpTotalNumberOfClusters
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDiskFreeSpaceW(
-            LPCWSTR lpRootPathName,
-           LPDWORD lpSectorsPerCluster,
-           LPDWORD lpBytesPerSector,
-           LPDWORD lpNumberOfFreeClusters,
-           LPDWORD lpTotalNumberOfClusters
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDiskFreeSpaceExA(
-            LPCSTR lpDirectoryName,
-           PULARGE_INTEGER lpFreeBytesAvailableToCaller,
-           PULARGE_INTEGER lpTotalNumberOfBytes,
-           PULARGE_INTEGER lpTotalNumberOfFreeBytes
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDiskFreeSpaceExW(
-            LPCWSTR lpDirectoryName,
-           PULARGE_INTEGER lpFreeBytesAvailableToCaller,
-           PULARGE_INTEGER lpTotalNumberOfBytes,
-           PULARGE_INTEGER lpTotalNumberOfFreeBytes
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateDirectoryA(
-             LPCSTR lpPathName,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateDirectoryW(
-             LPCWSTR lpPathName,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateDirectoryExA(
-             LPCSTR lpTemplateDirectory,
-             LPCSTR lpNewDirectory,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateDirectoryExW(
-             LPCWSTR lpTemplateDirectory,
-             LPCWSTR lpNewDirectory,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RemoveDirectoryA(
-         LPCSTR lpPathName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-RemoveDirectoryW(
-         LPCWSTR lpPathName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFullPathNameA(
-                    LPCSTR lpFileName,
-                    DWORD nBufferLength,
-             LPSTR lpBuffer,
-                    LPSTR *lpFilePart
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFullPathNameW(
-                    LPCWSTR lpFileName,
-                    DWORD nBufferLength,
-             LPWSTR lpBuffer,
-                    LPWSTR *lpFilePart
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DefineDosDeviceA(
-             DWORD dwFlags,
-             LPCSTR lpDeviceName,
-           LPCSTR lpTargetPath
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-DefineDosDeviceW(
-             DWORD dwFlags,
-             LPCWSTR lpDeviceName,
-           LPCWSTR lpTargetPath
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-QueryDosDeviceA(
-           LPCSTR lpDeviceName,
-             LPSTR lpTargetPath,
-             DWORD ucchMax
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-QueryDosDeviceW(
-           LPCWSTR lpDeviceName,
-             LPWSTR lpTargetPath,
-             DWORD ucchMax
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateFileA(
-             LPCSTR lpFileName,
-             DWORD dwDesiredAccess,
-             DWORD dwShareMode,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-             DWORD dwCreationDisposition,
-             DWORD dwFlagsAndAttributes,
-           HANDLE hTemplateFile
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateFileW(
-             LPCWSTR lpFileName,
-             DWORD dwDesiredAccess,
-             DWORD dwShareMode,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-             DWORD dwCreationDisposition,
-             DWORD dwFlagsAndAttributes,
-           HANDLE hTemplateFile
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileAttributesA(
-         LPCSTR lpFileName,
-         DWORD dwFileAttributes
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileAttributesW(
-         LPCWSTR lpFileName,
-         DWORD dwFileAttributes
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFileAttributesA(
-         LPCSTR lpFileName
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetFileAttributesW(
-         LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-typedef enum _GET_FILEEX_INFO_LEVELS {
-    GetFileExInfoStandard,
-    GetFileExMaxInfoLevel
-} GET_FILEEX_INFO_LEVELS;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileAttributesExA(
-          LPCSTR lpFileName,
-          GET_FILEEX_INFO_LEVELS fInfoLevelId,
-         LPVOID lpFileInformation
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileAttributesExW(
-          LPCWSTR lpFileName,
-          GET_FILEEX_INFO_LEVELS fInfoLevelId,
-         LPVOID lpFileInformation
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCompressedFileSizeA(
-          LPCSTR lpFileName,
-         LPDWORD  lpFileSizeHigh
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetCompressedFileSizeW(
-          LPCWSTR lpFileName,
-         LPDWORD  lpFileSizeHigh
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteFileA(
-         LPCSTR lpFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteFileW(
-         LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckNameLegalDOS8Dot3A(
-              LPCSTR lpName,
-           LPSTR lpOemName,
-              DWORD OemNameSize,
-           PBOOL pbNameContainsSpaces ,
-             PBOOL pbNameLegal
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckNameLegalDOS8Dot3W(
-              LPCWSTR lpName,
-           LPSTR lpOemName,
-              DWORD OemNameSize,
-           PBOOL pbNameContainsSpaces ,
-             PBOOL pbNameLegal
-    );
-
-
-
-
-
-
-
-
-
-typedef enum _FINDEX_INFO_LEVELS {
-    FindExInfoStandard,
-    FindExInfoMaxInfoLevel
-} FINDEX_INFO_LEVELS;
-
-typedef enum _FINDEX_SEARCH_OPS {
-    FindExSearchNameMatch,
-    FindExSearchLimitToDirectories,
-    FindExSearchLimitToDevices,
-    FindExSearchMaxSearchOp
-} FINDEX_SEARCH_OPS;
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstFileExA(
-               LPCSTR lpFileName,
-               FINDEX_INFO_LEVELS fInfoLevelId,
-              LPVOID lpFindFileData,
-               FINDEX_SEARCH_OPS fSearchOp,
-      LPVOID lpSearchFilter,
-               DWORD dwAdditionalFlags
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstFileExW(
-               LPCWSTR lpFileName,
-               FINDEX_INFO_LEVELS fInfoLevelId,
-              LPVOID lpFindFileData,
-               FINDEX_SEARCH_OPS fSearchOp,
-      LPVOID lpSearchFilter,
-               DWORD dwAdditionalFlags
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstFileA(
-          LPCSTR lpFileName,
-         LPWIN32_FIND_DATAA lpFindFileData
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstFileW(
-          LPCWSTR lpFileName,
-         LPWIN32_FIND_DATAW lpFindFileData
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextFileA(
-          HANDLE hFindFile,
-         LPWIN32_FIND_DATAA lpFindFileData
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextFileW(
-          HANDLE hFindFile,
-         LPWIN32_FIND_DATAW lpFindFileData
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SearchPathA(
-            LPCSTR lpPath,
-              LPCSTR lpFileName,
-            LPCSTR lpExtension,
-              DWORD nBufferLength,
-             LPSTR lpBuffer,
-           LPSTR *lpFilePart
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-SearchPathW(
-            LPCWSTR lpPath,
-              LPCWSTR lpFileName,
-            LPCWSTR lpExtension,
-              DWORD nBufferLength,
-             LPWSTR lpBuffer,
-           LPWSTR *lpFilePart
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CopyFileA(
-         LPCSTR lpExistingFileName,
-         LPCSTR lpNewFileName,
-         BOOL bFailIfExists
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CopyFileW(
-         LPCWSTR lpExistingFileName,
-         LPCWSTR lpNewFileName,
-         BOOL bFailIfExists
-    );
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef
-DWORD
-(__stdcall *LPPROGRESS_ROUTINE)(
-             LARGE_INTEGER TotalFileSize,
-             LARGE_INTEGER TotalBytesTransferred,
-             LARGE_INTEGER StreamSize,
-             LARGE_INTEGER StreamBytesTransferred,
-             DWORD dwStreamNumber,
-             DWORD dwCallbackReason,
-             HANDLE hSourceFile,
-             HANDLE hDestinationFile,
-           LPVOID lpData
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CopyFileExA(
-             LPCSTR lpExistingFileName,
-             LPCSTR lpNewFileName,
-           LPPROGRESS_ROUTINE lpProgressRoutine,
-           LPVOID lpData,
-           LPBOOL pbCancel,
-             DWORD dwCopyFlags
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CopyFileExW(
-             LPCWSTR lpExistingFileName,
-             LPCWSTR lpNewFileName,
-           LPPROGRESS_ROUTINE lpProgressRoutine,
-           LPVOID lpData,
-           LPBOOL pbCancel,
-             DWORD dwCopyFlags
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveFileA(
-         LPCSTR lpExistingFileName,
-         LPCSTR lpNewFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveFileW(
-         LPCWSTR lpExistingFileName,
-         LPCWSTR lpNewFileName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveFileExA(
-         LPCSTR lpExistingFileName,
-         LPCSTR lpNewFileName,
-         DWORD dwFlags
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveFileExW(
-         LPCWSTR lpExistingFileName,
-         LPCWSTR lpNewFileName,
-         DWORD dwFlags
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveFileWithProgressA(
-             LPCSTR lpExistingFileName,
-             LPCSTR lpNewFileName,
-           LPPROGRESS_ROUTINE lpProgressRoutine,
-           LPVOID lpData,
-             DWORD dwFlags
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveFileWithProgressW(
-             LPCWSTR lpExistingFileName,
-             LPCWSTR lpNewFileName,
-           LPPROGRESS_ROUTINE lpProgressRoutine,
-           LPVOID lpData,
-             DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReplaceFileA(
-               LPCSTR  lpReplacedFileName,
-               LPCSTR  lpReplacementFileName,
-             LPCSTR  lpBackupFileName,
-               DWORD   dwReplaceFlags,
-      LPVOID  lpExclude,
-      LPVOID  lpReserved
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReplaceFileW(
-               LPCWSTR lpReplacedFileName,
-               LPCWSTR lpReplacementFileName,
-             LPCWSTR lpBackupFileName,
-               DWORD   dwReplaceFlags,
-      LPVOID  lpExclude,
-      LPVOID  lpReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateHardLinkA(
-               LPCSTR lpFileName,
-               LPCSTR lpExistingFileName,
-      LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateHardLinkW(
-               LPCWSTR lpFileName,
-               LPCWSTR lpExistingFileName,
-      LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _STREAM_INFO_LEVELS {
-    
-    FindStreamInfoStandard,
-    FindStreamInfoMaxInfoLevel
-
-} STREAM_INFO_LEVELS;
-
-typedef struct _WIN32_FIND_STREAM_DATA {
-    
-    LARGE_INTEGER StreamSize;
-    WCHAR cStreamName[ 260 + 36 ]; 
-
-} WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA; 
-
-    
-HANDLE
-__stdcall
-FindFirstStreamW(
-               LPCWSTR lpFileName,
-               STREAM_INFO_LEVELS InfoLevel,
-              LPVOID lpFindStreamData,
-      DWORD dwFlags
-    );
-
-BOOL
-__stdcall
-FindNextStreamW(
-          HANDLE hFindStream,
-         LPVOID lpFindStreamData
-    );
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateNamedPipeA(
-             LPCSTR lpName,
-             DWORD dwOpenMode,
-             DWORD dwPipeMode,
-             DWORD nMaxInstances,
-             DWORD nOutBufferSize,
-             DWORD nInBufferSize,
-             DWORD nDefaultTimeOut,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateNamedPipeW(
-             LPCWSTR lpName,
-             DWORD dwOpenMode,
-             DWORD dwPipeMode,
-             DWORD nMaxInstances,
-             DWORD nOutBufferSize,
-             DWORD nInBufferSize,
-             DWORD nDefaultTimeOut,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNamedPipeHandleStateA(
-              HANDLE hNamedPipe,
-           LPDWORD lpState,
-           LPDWORD lpCurInstances,
-           LPDWORD lpMaxCollectionCount,
-           LPDWORD lpCollectDataTimeout,
-           LPSTR lpUserName,
-              DWORD nMaxUserNameSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNamedPipeHandleStateW(
-              HANDLE hNamedPipe,
-           LPDWORD lpState,
-           LPDWORD lpCurInstances,
-           LPDWORD lpMaxCollectionCount,
-           LPDWORD lpCollectDataTimeout,
-           LPWSTR lpUserName,
-              DWORD nMaxUserNameSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CallNamedPipeA(
-          LPCSTR lpNamedPipeName,
-             LPVOID lpInBuffer,
-          DWORD nInBufferSize,
-             LPVOID lpOutBuffer,
-          DWORD nOutBufferSize,
-         LPDWORD lpBytesRead,
-          DWORD nTimeOut
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CallNamedPipeW(
-          LPCWSTR lpNamedPipeName,
-             LPVOID lpInBuffer,
-          DWORD nInBufferSize,
-             LPVOID lpOutBuffer,
-          DWORD nOutBufferSize,
-         LPDWORD lpBytesRead,
-          DWORD nTimeOut
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WaitNamedPipeA(
-         LPCSTR lpNamedPipeName,
-         DWORD nTimeOut
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WaitNamedPipeW(
-         LPCWSTR lpNamedPipeName,
-         DWORD nTimeOut
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetVolumeLabelA(
-           LPCSTR lpRootPathName,
-           LPCSTR lpVolumeName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetVolumeLabelW(
-           LPCWSTR lpRootPathName,
-           LPCWSTR lpVolumeName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-SetFileApisToOEM( void );
-
-__declspec(dllimport)
-void
-__stdcall
-SetFileApisToANSI( void );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AreFileApisANSI( void );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumeInformationA(
-            LPCSTR lpRootPathName,
-           LPSTR lpVolumeNameBuffer,
-              DWORD nVolumeNameSize,
-           LPDWORD lpVolumeSerialNumber,
-           LPDWORD lpMaximumComponentLength,
-           LPDWORD lpFileSystemFlags,
-           LPSTR lpFileSystemNameBuffer,
-              DWORD nFileSystemNameSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumeInformationW(
-            LPCWSTR lpRootPathName,
-           LPWSTR lpVolumeNameBuffer,
-              DWORD nVolumeNameSize,
-           LPDWORD lpVolumeSerialNumber,
-           LPDWORD lpMaximumComponentLength,
-           LPDWORD lpFileSystemFlags,
-           LPWSTR lpFileSystemNameBuffer,
-              DWORD nFileSystemNameSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CancelIo(
-         HANDLE hFile
-    );
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ClearEventLogA (
-             HANDLE hEventLog,
-           LPCSTR lpBackupFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ClearEventLogW (
-             HANDLE hEventLog,
-           LPCWSTR lpBackupFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BackupEventLogA (
-         HANDLE hEventLog,
-         LPCSTR lpBackupFileName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-BackupEventLogW (
-         HANDLE hEventLog,
-         LPCWSTR lpBackupFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseEventLog (
-         HANDLE hEventLog
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeregisterEventSource (
-         HANDLE hEventLog
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-NotifyChangeEventLog(
-         HANDLE  hEventLog,
-         HANDLE  hEvent
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumberOfEventLogRecords (
-          HANDLE hEventLog,
-         PDWORD NumberOfRecords
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetOldestEventLogRecord (
-          HANDLE hEventLog,
-         PDWORD OldestRecord
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenEventLogA (
-           LPCSTR lpUNCServerName,
-             LPCSTR lpSourceName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenEventLogW (
-           LPCWSTR lpUNCServerName,
-             LPCWSTR lpSourceName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-RegisterEventSourceA (
-           LPCSTR lpUNCServerName,
-             LPCSTR lpSourceName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-RegisterEventSourceW (
-           LPCWSTR lpUNCServerName,
-             LPCWSTR lpSourceName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenBackupEventLogA (
-           LPCSTR lpUNCServerName,
-             LPCSTR lpFileName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenBackupEventLogW (
-           LPCWSTR lpUNCServerName,
-             LPCWSTR lpFileName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadEventLogA (
-          HANDLE     hEventLog,
-          DWORD      dwReadFlags,
-          DWORD      dwRecordOffset,
-           LPVOID     lpBuffer,
-          DWORD      nNumberOfBytesToRead,
-         DWORD      *pnBytesRead,
-         DWORD      *pnMinNumberOfBytesNeeded
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadEventLogW (
-          HANDLE     hEventLog,
-          DWORD      dwReadFlags,
-          DWORD      dwRecordOffset,
-           LPVOID     lpBuffer,
-          DWORD      nNumberOfBytesToRead,
-         DWORD      *pnBytesRead,
-         DWORD      *pnMinNumberOfBytesNeeded
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReportEventA (
-             HANDLE     hEventLog,
-             WORD       wType,
-             WORD       wCategory,
-             DWORD      dwEventID,
-           PSID       lpUserSid,
-             WORD       wNumStrings,
-             DWORD      dwDataSize,
-           LPCSTR   *lpStrings,
-             LPVOID lpRawData
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReportEventW (
-             HANDLE     hEventLog,
-             WORD       wType,
-             WORD       wCategory,
-             DWORD      dwEventID,
-           PSID       lpUserSid,
-             WORD       wNumStrings,
-             DWORD      dwDataSize,
-           LPCWSTR   *lpStrings,
-             LPVOID lpRawData
-    );
-
-
-
-
-
-
-
-
-
-typedef struct _EVENTLOG_FULL_INFORMATION
-{
-    DWORD    dwFull;
-}
-EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetEventLogInformation (
-          HANDLE     hEventLog,
-          DWORD      dwInfoLevel,
-           LPVOID lpBuffer,
-          DWORD      cbBufSize,
-         LPDWORD    pcbBytesNeeded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DuplicateToken(
-                HANDLE ExistingTokenHandle,
-                SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
-                  PHANDLE DuplicateTokenHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetKernelObjectSecurity (
-          HANDLE Handle,
-          SECURITY_INFORMATION RequestedInformation,
-         PSECURITY_DESCRIPTOR pSecurityDescriptor,
-          DWORD nLength,
-         LPDWORD lpnLengthNeeded
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ImpersonateNamedPipeClient(
-         HANDLE hNamedPipe
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ImpersonateSelf(
-         SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RevertToSelf (
-    void
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadToken (
-           PHANDLE Thread,
-           HANDLE Token
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheck (
-            PSECURITY_DESCRIPTOR pSecurityDescriptor,
-            HANDLE ClientToken,
-            DWORD DesiredAccess,
-            PGENERIC_MAPPING GenericMapping,
-           PPRIVILEGE_SET PrivilegeSet,
-         LPDWORD PrivilegeSetLength,
-           LPDWORD GrantedAccess,
-           LPBOOL AccessStatus
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByType (
-             PSECURITY_DESCRIPTOR pSecurityDescriptor,
-           PSID PrincipalSelfSid,
-             HANDLE ClientToken,
-             DWORD DesiredAccess,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-           PPRIVILEGE_SET PrivilegeSet,
-          LPDWORD PrivilegeSetLength,
-            LPDWORD GrantedAccess,
-            LPBOOL AccessStatus
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeResultList (
-             PSECURITY_DESCRIPTOR pSecurityDescriptor,
-           PSID PrincipalSelfSid,
-             HANDLE ClientToken,
-             DWORD DesiredAccess,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-           PPRIVILEGE_SET PrivilegeSet,
-          LPDWORD PrivilegeSetLength,
-            LPDWORD GrantedAccessList,
-            LPDWORD AccessStatusList
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OpenProcessToken (
-                HANDLE ProcessHandle,
-                DWORD DesiredAccess,
-                  PHANDLE TokenHandle
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OpenThreadToken (
-                HANDLE ThreadHandle,
-                DWORD DesiredAccess,
-                BOOL OpenAsSelf,
-                  PHANDLE TokenHandle
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTokenInformation (
-              HANDLE TokenHandle,
-              TOKEN_INFORMATION_CLASS TokenInformationClass,
-             LPVOID TokenInformation,
-              DWORD TokenInformationLength,
-           PDWORD ReturnLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetTokenInformation (
-         HANDLE TokenHandle,
-         TOKEN_INFORMATION_CLASS TokenInformationClass,
-           LPVOID TokenInformation,
-         DWORD TokenInformationLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AdjustTokenPrivileges (
-              HANDLE TokenHandle,
-              BOOL DisableAllPrivileges,
-            PTOKEN_PRIVILEGES NewState,
-              DWORD BufferLength,
-             PTOKEN_PRIVILEGES PreviousState,
-           PDWORD ReturnLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AdjustTokenGroups (
-              HANDLE TokenHandle,
-              BOOL ResetToDefault,
-            PTOKEN_GROUPS NewState,
-              DWORD BufferLength,
-             PTOKEN_GROUPS PreviousState,
-           PDWORD ReturnLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PrivilegeCheck (
-            HANDLE ClientToken,
-         PPRIVILEGE_SET RequiredPrivileges,
-           LPBOOL pfResult
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckAndAuditAlarmA (
-             LPCSTR SubsystemName,
-             LPVOID HandleId,
-             LPSTR ObjectTypeName,
-           LPSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-             DWORD DesiredAccess,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPBOOL AccessStatus,
-            LPBOOL pfGenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckAndAuditAlarmW (
-             LPCWSTR SubsystemName,
-             LPVOID HandleId,
-             LPWSTR ObjectTypeName,
-           LPWSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-             DWORD DesiredAccess,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPBOOL AccessStatus,
-            LPBOOL pfGenerateOnClose
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeAndAuditAlarmA (
-             LPCSTR SubsystemName,
-             LPVOID HandleId,
-             LPCSTR ObjectTypeName,
-           LPCSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PSID PrincipalSelfSid,
-             DWORD DesiredAccess,
-             AUDIT_EVENT_TYPE AuditType,
-             DWORD Flags,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPBOOL AccessStatus,
-            LPBOOL pfGenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeAndAuditAlarmW (
-             LPCWSTR SubsystemName,
-             LPVOID HandleId,
-             LPCWSTR ObjectTypeName,
-           LPCWSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PSID PrincipalSelfSid,
-             DWORD DesiredAccess,
-             AUDIT_EVENT_TYPE AuditType,
-             DWORD Flags,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPBOOL AccessStatus,
-            LPBOOL pfGenerateOnClose
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeResultListAndAuditAlarmA (
-             LPCSTR SubsystemName,
-             LPVOID HandleId,
-             LPCSTR ObjectTypeName,
-           LPCSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PSID PrincipalSelfSid,
-             DWORD DesiredAccess,
-             AUDIT_EVENT_TYPE AuditType,
-             DWORD Flags,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPDWORD AccessStatusList,
-            LPBOOL pfGenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeResultListAndAuditAlarmW (
-             LPCWSTR SubsystemName,
-             LPVOID HandleId,
-             LPCWSTR ObjectTypeName,
-           LPCWSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PSID PrincipalSelfSid,
-             DWORD DesiredAccess,
-             AUDIT_EVENT_TYPE AuditType,
-             DWORD Flags,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPDWORD AccessStatusList,
-            LPBOOL pfGenerateOnClose
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeResultListAndAuditAlarmByHandleA (
-             LPCSTR SubsystemName,
-             LPVOID HandleId,
-             HANDLE ClientToken,
-             LPCSTR ObjectTypeName,
-           LPCSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PSID PrincipalSelfSid,
-             DWORD DesiredAccess,
-             AUDIT_EVENT_TYPE AuditType,
-             DWORD Flags,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPDWORD AccessStatusList,
-            LPBOOL pfGenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-AccessCheckByTypeResultListAndAuditAlarmByHandleW (
-             LPCWSTR SubsystemName,
-             LPVOID HandleId,
-             HANDLE ClientToken,
-             LPCWSTR ObjectTypeName,
-           LPCWSTR ObjectName,
-             PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PSID PrincipalSelfSid,
-             DWORD DesiredAccess,
-             AUDIT_EVENT_TYPE AuditType,
-             DWORD Flags,
-             POBJECT_TYPE_LIST ObjectTypeList,
-             DWORD ObjectTypeListLength,
-             PGENERIC_MAPPING GenericMapping,
-             BOOL ObjectCreation,
-            LPDWORD GrantedAccess,
-            LPDWORD AccessStatusList,
-            LPBOOL pfGenerateOnClose
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectOpenAuditAlarmA (
-             LPCSTR SubsystemName,
-             LPVOID HandleId,
-             LPSTR ObjectTypeName,
-           LPSTR ObjectName,
-             PSECURITY_DESCRIPTOR pSecurityDescriptor,
-             HANDLE ClientToken,
-             DWORD DesiredAccess,
-             DWORD GrantedAccess,
-           PPRIVILEGE_SET Privileges,
-             BOOL ObjectCreation,
-             BOOL AccessGranted,
-            LPBOOL GenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectOpenAuditAlarmW (
-             LPCWSTR SubsystemName,
-             LPVOID HandleId,
-             LPWSTR ObjectTypeName,
-           LPWSTR ObjectName,
-             PSECURITY_DESCRIPTOR pSecurityDescriptor,
-             HANDLE ClientToken,
-             DWORD DesiredAccess,
-             DWORD GrantedAccess,
-           PPRIVILEGE_SET Privileges,
-             BOOL ObjectCreation,
-             BOOL AccessGranted,
-            LPBOOL GenerateOnClose
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectPrivilegeAuditAlarmA (
-         LPCSTR SubsystemName,
-         LPVOID HandleId,
-         HANDLE ClientToken,
-         DWORD DesiredAccess,
-         PPRIVILEGE_SET Privileges,
-         BOOL AccessGranted
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectPrivilegeAuditAlarmW (
-         LPCWSTR SubsystemName,
-         LPVOID HandleId,
-         HANDLE ClientToken,
-         DWORD DesiredAccess,
-         PPRIVILEGE_SET Privileges,
-         BOOL AccessGranted
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectCloseAuditAlarmA (
-         LPCSTR SubsystemName,
-         LPVOID HandleId,
-         BOOL GenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectCloseAuditAlarmW (
-         LPCWSTR SubsystemName,
-         LPVOID HandleId,
-         BOOL GenerateOnClose
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectDeleteAuditAlarmA (
-         LPCSTR SubsystemName,
-         LPVOID HandleId,
-         BOOL GenerateOnClose
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ObjectDeleteAuditAlarmW (
-         LPCWSTR SubsystemName,
-         LPVOID HandleId,
-         BOOL GenerateOnClose
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PrivilegedServiceAuditAlarmA (
-         LPCSTR SubsystemName,
-         LPCSTR ServiceName,
-         HANDLE ClientToken,
-         PPRIVILEGE_SET Privileges,
-         BOOL AccessGranted
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-PrivilegedServiceAuditAlarmW (
-         LPCWSTR SubsystemName,
-         LPCWSTR ServiceName,
-         HANDLE ClientToken,
-         PPRIVILEGE_SET Privileges,
-         BOOL AccessGranted
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWellKnownSid (
-         PSID pSid,
-         WELL_KNOWN_SID_TYPE WellKnownSidType
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateWellKnownSid(
-             WELL_KNOWN_SID_TYPE WellKnownSidType,
-           PSID DomainSid,
-           PSID pSid,
-          DWORD *cbSid
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EqualDomainSid(
-          PSID pSid1,
-          PSID pSid2,
-         BOOL *pfEqual
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetWindowsAccountDomainSid(
-            PSID pSid,
-             PSID pDomainSid,
-         DWORD* cbDomainSid
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsValidSid (
-         PSID pSid
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EqualSid (
-         PSID pSid1,
-         PSID pSid2
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EqualPrefixSid (
-         PSID pSid1,
-         PSID pSid2
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetSidLengthRequired (
-         UCHAR nSubAuthorityCount
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AllocateAndInitializeSid (
-                PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
-                BYTE nSubAuthorityCount,
-                DWORD nSubAuthority0,
-                DWORD nSubAuthority1,
-                DWORD nSubAuthority2,
-                DWORD nSubAuthority3,
-                DWORD nSubAuthority4,
-                DWORD nSubAuthority5,
-                DWORD nSubAuthority6,
-                DWORD nSubAuthority7,
-                  PSID *pSid
-    );
-
-__declspec(dllimport)
-PVOID
-__stdcall
-FreeSid(
-         PSID pSid
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitializeSid (
-         PSID Sid,
-          PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority,
-          BYTE nSubAuthorityCount
-    );
-
-
-__declspec(dllimport)
-    
-PSID_IDENTIFIER_AUTHORITY
-__stdcall
-GetSidIdentifierAuthority (
-         PSID pSid
-    );
-
-
-__declspec(dllimport)
-    
-PDWORD
-__stdcall
-GetSidSubAuthority (
-         PSID pSid,
-         DWORD nSubAuthority
-    );
-
-
-__declspec(dllimport)
-    
-PUCHAR
-__stdcall
-GetSidSubAuthorityCount (
-         PSID pSid
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetLengthSid (
-         PSID pSid
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CopySid (
-         DWORD nDestinationSidLength,
-         PSID pDestinationSid,
-         PSID pSourceSid
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AreAllAccessesGranted (
-         DWORD GrantedAccess,
-         DWORD DesiredAccess
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AreAnyAccessesGranted (
-         DWORD GrantedAccess,
-         DWORD DesiredAccess
-    );
-
-
-__declspec(dllimport)
-void
-__stdcall
-MapGenericMask (
-         PDWORD AccessMask,
-            PGENERIC_MAPPING GenericMapping
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsValidAcl (
-         PACL pAcl
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitializeAcl (
-         PACL pAcl,
-         DWORD nAclLength,
-         DWORD dwAclRevision
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetAclInformation (
-         PACL pAcl,
-         LPVOID pAclInformation,
-         DWORD nAclInformationLength,
-         ACL_INFORMATION_CLASS dwAclInformationClass
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetAclInformation (
-         PACL pAcl,
-           LPVOID pAclInformation,
-            DWORD nAclInformationLength,
-            ACL_INFORMATION_CLASS dwAclInformationClass
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAce (
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD dwStartingAceIndex,
-           LPVOID pAceList,
-            DWORD nAceListLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteAce (
-         PACL pAcl,
-            DWORD dwAceIndex
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetAce (
-                PACL pAcl,
-                DWORD dwAceIndex,
-                  LPVOID *pAce
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAccessAllowedAce (
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD AccessMask,
-            PSID pSid
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAccessAllowedAceEx (
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD AceFlags,
-            DWORD AccessMask,
-            PSID pSid
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAccessDeniedAce (
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD AccessMask,
-            PSID pSid
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAccessDeniedAceEx (
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD AceFlags,
-            DWORD AccessMask,
-            PSID pSid
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAuditAccessAce(
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD dwAccessMask,
-            PSID pSid,
-            BOOL bAuditSuccess,
-            BOOL bAuditFailure
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAuditAccessAceEx(
-         PACL pAcl,
-            DWORD dwAceRevision,
-            DWORD AceFlags,
-            DWORD dwAccessMask,
-            PSID pSid,
-            BOOL bAuditSuccess,
-            BOOL bAuditFailure
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAccessAllowedObjectAce (
-          PACL pAcl,
-             DWORD dwAceRevision,
-             DWORD AceFlags,
-             DWORD AccessMask,
-           GUID *ObjectTypeGuid,
-           GUID *InheritedObjectTypeGuid,
-             PSID pSid
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAccessDeniedObjectAce (
-          PACL pAcl,
-             DWORD dwAceRevision,
-             DWORD AceFlags,
-             DWORD AccessMask,
-           GUID *ObjectTypeGuid,
-           GUID *InheritedObjectTypeGuid,
-             PSID pSid
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddAuditAccessObjectAce (
-          PACL pAcl,
-             DWORD dwAceRevision,
-             DWORD AceFlags,
-             DWORD AccessMask,
-           GUID *ObjectTypeGuid,
-           GUID *InheritedObjectTypeGuid,
-             PSID pSid,
-             BOOL bAuditSuccess,
-             BOOL bAuditFailure
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindFirstFreeAce (
-                PACL pAcl,
-                  LPVOID *pAce
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitializeSecurityDescriptor (
-         PSECURITY_DESCRIPTOR pSecurityDescriptor,
-          DWORD dwRevision
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsValidSecurityDescriptor (
-         PSECURITY_DESCRIPTOR pSecurityDescriptor
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetSecurityDescriptorLength (
-         PSECURITY_DESCRIPTOR pSecurityDescriptor
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSecurityDescriptorControl (
-          PSECURITY_DESCRIPTOR pSecurityDescriptor,
-         PSECURITY_DESCRIPTOR_CONTROL pControl,
-         LPDWORD lpdwRevision
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSecurityDescriptorControl (
-         PSECURITY_DESCRIPTOR pSecurityDescriptor,
-         SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest,
-         SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSecurityDescriptorDacl (
-          PSECURITY_DESCRIPTOR pSecurityDescriptor,
-             BOOL bDaclPresent,
-           PACL pDacl,
-             BOOL bDaclDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSecurityDescriptorDacl (
-                PSECURITY_DESCRIPTOR pSecurityDescriptor,
-               LPBOOL lpbDaclPresent,
-                  PACL *pDacl,
-               LPBOOL lpbDaclDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSecurityDescriptorSacl (
-          PSECURITY_DESCRIPTOR pSecurityDescriptor,
-             BOOL bSaclPresent,
-           PACL pSacl,
-             BOOL bSaclDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSecurityDescriptorSacl (
-                PSECURITY_DESCRIPTOR pSecurityDescriptor,
-               LPBOOL lpbSaclPresent,
-                  PACL *pSacl,
-               LPBOOL lpbSaclDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSecurityDescriptorOwner (
-          PSECURITY_DESCRIPTOR pSecurityDescriptor,
-           PSID pOwner,
-             BOOL bOwnerDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSecurityDescriptorOwner (
-                PSECURITY_DESCRIPTOR pSecurityDescriptor,
-                  PSID *pOwner,
-               LPBOOL lpbOwnerDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSecurityDescriptorGroup (
-          PSECURITY_DESCRIPTOR pSecurityDescriptor,
-           PSID pGroup,
-             BOOL bGroupDefaulted
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetSecurityDescriptorGroup (
-                PSECURITY_DESCRIPTOR pSecurityDescriptor,
-                  PSID *pGroup,
-               LPBOOL lpbGroupDefaulted
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetSecurityDescriptorRMControl(
-          PSECURITY_DESCRIPTOR SecurityDescriptor,
-           PUCHAR RMControl
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetSecurityDescriptorRMControl(
-          PSECURITY_DESCRIPTOR SecurityDescriptor,
-         PUCHAR RMControl
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreatePrivateObjectSecurity (
-              PSECURITY_DESCRIPTOR ParentDescriptor,
-              PSECURITY_DESCRIPTOR CreatorDescriptor,
-                  PSECURITY_DESCRIPTOR * NewDescriptor,
-                BOOL IsDirectoryObject,
-              HANDLE Token,
-                PGENERIC_MAPPING GenericMapping
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ConvertToAutoInheritPrivateObjectSecurity(
-              PSECURITY_DESCRIPTOR ParentDescriptor,
-                PSECURITY_DESCRIPTOR CurrentSecurityDescriptor,
-                  PSECURITY_DESCRIPTOR *NewSecurityDescriptor,
-              GUID *ObjectType,
-                BOOLEAN IsDirectoryObject,
-                PGENERIC_MAPPING GenericMapping
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreatePrivateObjectSecurityEx (
-              PSECURITY_DESCRIPTOR ParentDescriptor,
-              PSECURITY_DESCRIPTOR CreatorDescriptor,
-                  PSECURITY_DESCRIPTOR * NewDescriptor,
-              GUID *ObjectType,
-                BOOL IsContainerObject,
-                ULONG AutoInheritFlags,
-              HANDLE Token,
-                PGENERIC_MAPPING GenericMapping
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreatePrivateObjectSecurityWithMultipleInheritance (
-              PSECURITY_DESCRIPTOR ParentDescriptor,
-              PSECURITY_DESCRIPTOR CreatorDescriptor,
-                  PSECURITY_DESCRIPTOR * NewDescriptor,
-             GUID **ObjectTypes,
-                ULONG GuidCount,
-                BOOL IsContainerObject,
-                ULONG AutoInheritFlags,
-              HANDLE Token,
-                PGENERIC_MAPPING GenericMapping
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetPrivateObjectSecurity (
-                  SECURITY_INFORMATION SecurityInformation,
-                  PSECURITY_DESCRIPTOR ModificationDescriptor,
-             PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
-                  PGENERIC_MAPPING GenericMapping,
-                HANDLE Token
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetPrivateObjectSecurityEx (
-                  SECURITY_INFORMATION SecurityInformation,
-                  PSECURITY_DESCRIPTOR ModificationDescriptor,
-             PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
-                  ULONG AutoInheritFlags,
-                  PGENERIC_MAPPING GenericMapping,
-                HANDLE Token
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetPrivateObjectSecurity (
-          PSECURITY_DESCRIPTOR ObjectDescriptor,
-          SECURITY_INFORMATION SecurityInformation,
-             PSECURITY_DESCRIPTOR ResultantDescriptor,
-          DWORD DescriptorLength,
-         PDWORD ReturnLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyPrivateObjectSecurity (
-     PSECURITY_DESCRIPTOR * ObjectDescriptor
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MakeSelfRelativeSD (
-            PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
-             PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
-         LPDWORD lpdwBufferLength
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MakeAbsoluteSD (
-            PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
-             PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
-         LPDWORD lpdwAbsoluteSecurityDescriptorSize,
-             PACL pDacl,
-         LPDWORD lpdwDaclSize,
-             PACL pSacl,
-         LPDWORD lpdwSaclSize,
-             PSID pOwner,
-         LPDWORD lpdwOwnerSize,
-             PSID pPrimaryGroup,
-         LPDWORD lpdwPrimaryGroupSize
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MakeAbsoluteSD2 (
-               PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
-         LPDWORD lpdwBufferSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileSecurityA (
-         LPCSTR lpFileName,
-         SECURITY_INFORMATION SecurityInformation,
-         PSECURITY_DESCRIPTOR pSecurityDescriptor
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetFileSecurityW (
-         LPCWSTR lpFileName,
-         SECURITY_INFORMATION SecurityInformation,
-         PSECURITY_DESCRIPTOR pSecurityDescriptor
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileSecurityA (
-          LPCSTR lpFileName,
-          SECURITY_INFORMATION RequestedInformation,
-             PSECURITY_DESCRIPTOR pSecurityDescriptor,
-          DWORD nLength,
-         LPDWORD lpnLengthNeeded
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetFileSecurityW (
-          LPCWSTR lpFileName,
-          SECURITY_INFORMATION RequestedInformation,
-             PSECURITY_DESCRIPTOR pSecurityDescriptor,
-          DWORD nLength,
-         LPDWORD lpnLengthNeeded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetKernelObjectSecurity (
-         HANDLE Handle,
-         SECURITY_INFORMATION SecurityInformation,
-         PSECURITY_DESCRIPTOR SecurityDescriptor
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstChangeNotificationA(
-         LPCSTR lpPathName,
-         BOOL bWatchSubtree,
-         DWORD dwNotifyFilter
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstChangeNotificationW(
-         LPCWSTR lpPathName,
-         BOOL bWatchSubtree,
-         DWORD dwNotifyFilter
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextChangeNotification(
-         HANDLE hChangeHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindCloseChangeNotification(
-         HANDLE hChangeHandle
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadDirectoryChangesW(
-             HANDLE hDirectory,
-           LPVOID lpBuffer,
-             DWORD nBufferLength,
-             BOOL bWatchSubtree,
-             DWORD dwNotifyFilter,
-            LPDWORD lpBytesReturned,
-          LPOVERLAPPED lpOverlapped,
-           LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VirtualLock(
-         LPVOID lpAddress,
-         SIZE_T dwSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VirtualUnlock(
-         LPVOID lpAddress,
-         SIZE_T dwSize
-    );
-
-__declspec(dllimport)
-    
-LPVOID
-__stdcall
-MapViewOfFileEx(
-             HANDLE hFileMappingObject,
-             DWORD dwDesiredAccess,
-             DWORD dwFileOffsetHigh,
-             DWORD dwFileOffsetLow,
-             SIZE_T dwNumberOfBytesToMap,
-           LPVOID lpBaseAddress
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetPriorityClass(
-         HANDLE hProcess,
-         DWORD dwPriorityClass
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetPriorityClass(
-         HANDLE hProcess
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadReadPtr(
-           const void *lp,
-             UINT_PTR ucb
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadWritePtr(
-           LPVOID lp,
-             UINT_PTR ucb
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadHugeReadPtr(
-           const void *lp,
-             UINT_PTR ucb
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadHugeWritePtr(
-           LPVOID lp,
-             UINT_PTR ucb
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadCodePtr(
-           FARPROC lpfn
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadStringPtrA(
-           LPCSTR lpsz,
-             UINT_PTR ucchMax
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-IsBadStringPtrW(
-           LPCWSTR lpsz,
-             UINT_PTR ucchMax
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupAccountSidA(
-           LPCSTR lpSystemName,
-         PSID Sid,
-             LPSTR Name,
-          LPDWORD cchName,
-             LPSTR ReferencedDomainName,
-         LPDWORD cchReferencedDomainName,
-         PSID_NAME_USE peUse
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupAccountSidW(
-           LPCWSTR lpSystemName,
-         PSID Sid,
-             LPWSTR Name,
-          LPDWORD cchName,
-             LPWSTR ReferencedDomainName,
-         LPDWORD cchReferencedDomainName,
-         PSID_NAME_USE peUse
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupAccountNameA(
-           LPCSTR lpSystemName,
-             LPCSTR lpAccountName,
-             PSID Sid,
-          LPDWORD cbSid,
-             LPSTR ReferencedDomainName,
-          LPDWORD cchReferencedDomainName,
-            PSID_NAME_USE peUse
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupAccountNameW(
-           LPCWSTR lpSystemName,
-             LPCWSTR lpAccountName,
-             PSID Sid,
-          LPDWORD cbSid,
-             LPWSTR ReferencedDomainName,
-          LPDWORD cchReferencedDomainName,
-            PSID_NAME_USE peUse
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupPrivilegeValueA(
-           LPCSTR lpSystemName,
-             LPCSTR lpName,
-            PLUID   lpLuid
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupPrivilegeValueW(
-           LPCWSTR lpSystemName,
-             LPCWSTR lpName,
-            PLUID   lpLuid
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupPrivilegeNameA(
-           LPCSTR lpSystemName,
-             PLUID   lpLuid,
-             LPSTR lpName,
-          LPDWORD cchName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupPrivilegeNameW(
-           LPCWSTR lpSystemName,
-             PLUID   lpLuid,
-             LPWSTR lpName,
-          LPDWORD cchName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupPrivilegeDisplayNameA(
-           LPCSTR lpSystemName,
-             LPCSTR lpName,
-             LPSTR lpDisplayName,
-          LPDWORD cchDisplayName,
-            LPDWORD lpLanguageId
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LookupPrivilegeDisplayNameW(
-           LPCWSTR lpSystemName,
-             LPCWSTR lpName,
-             LPWSTR lpDisplayName,
-          LPDWORD cchDisplayName,
-            LPDWORD lpLanguageId
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AllocateLocallyUniqueId(
-         PLUID Luid
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BuildCommDCBA(
-          LPCSTR lpDef,
-         LPDCB lpDCB
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-BuildCommDCBW(
-          LPCWSTR lpDef,
-         LPDCB lpDCB
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BuildCommDCBAndTimeoutsA(
-          LPCSTR lpDef,
-         LPDCB lpDCB,
-         LPCOMMTIMEOUTS lpCommTimeouts
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-BuildCommDCBAndTimeoutsW(
-          LPCWSTR lpDef,
-         LPDCB lpDCB,
-         LPCOMMTIMEOUTS lpCommTimeouts
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CommConfigDialogA(
-             LPCSTR lpszName,
-           HWND hWnd,
-          LPCOMMCONFIG lpCC
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CommConfigDialogW(
-             LPCWSTR lpszName,
-           HWND hWnd,
-          LPCOMMCONFIG lpCC
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDefaultCommConfigA(
-            LPCSTR lpszName,
-           LPCOMMCONFIG lpCC,
-         LPDWORD lpdwSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetDefaultCommConfigW(
-            LPCWSTR lpszName,
-           LPCOMMCONFIG lpCC,
-         LPDWORD lpdwSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetDefaultCommConfigA(
-         LPCSTR lpszName,
-           LPCOMMCONFIG lpCC,
-         DWORD dwSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetDefaultCommConfigW(
-         LPCWSTR lpszName,
-           LPCOMMCONFIG lpCC,
-         DWORD dwSize
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetComputerNameA (
-           LPSTR lpBuffer,
-         LPDWORD nSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetComputerNameW (
-           LPWSTR lpBuffer,
-         LPDWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetComputerNameA (
-         LPCSTR lpComputerName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetComputerNameW (
-         LPCWSTR lpComputerName
-    );
-
-
-
-
-
-
-
-
-
-typedef enum _COMPUTER_NAME_FORMAT {
-    ComputerNameNetBIOS,
-    ComputerNameDnsHostname,
-    ComputerNameDnsDomain,
-    ComputerNameDnsFullyQualified,
-    ComputerNamePhysicalNetBIOS,
-    ComputerNamePhysicalDnsHostname,
-    ComputerNamePhysicalDnsDomain,
-    ComputerNamePhysicalDnsFullyQualified,
-    ComputerNameMax
-} COMPUTER_NAME_FORMAT ;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetComputerNameExA (
-            COMPUTER_NAME_FORMAT NameType,
-             LPSTR lpBuffer,
-         LPDWORD nSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetComputerNameExW (
-            COMPUTER_NAME_FORMAT NameType,
-             LPWSTR lpBuffer,
-         LPDWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetComputerNameExA (
-         COMPUTER_NAME_FORMAT NameType,
-         LPCSTR lpBuffer
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetComputerNameExW (
-         COMPUTER_NAME_FORMAT NameType,
-         LPCWSTR lpBuffer
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DnsHostnameToComputerNameA (
-            LPCSTR Hostname,
-             LPSTR ComputerName,
-         LPDWORD nSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-DnsHostnameToComputerNameW (
-            LPCWSTR Hostname,
-             LPWSTR ComputerName,
-         LPDWORD nSize
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetUserNameA (
-           LPSTR lpBuffer,
-         LPDWORD pcbBuffer
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetUserNameW (
-           LPWSTR lpBuffer,
-         LPDWORD pcbBuffer
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LogonUserA (
-                LPCSTR lpszUsername,
-              LPCSTR lpszDomain,
-                LPCSTR lpszPassword,
-                DWORD dwLogonType,
-                DWORD dwLogonProvider,
-                  PHANDLE phToken
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LogonUserW (
-                LPCWSTR lpszUsername,
-              LPCWSTR lpszDomain,
-                LPCWSTR lpszPassword,
-                DWORD dwLogonType,
-                DWORD dwLogonProvider,
-                  PHANDLE phToken
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LogonUserExA (
-                    LPCSTR lpszUsername,
-                  LPCSTR lpszDomain,
-                    LPCSTR lpszPassword,
-                    DWORD dwLogonType,
-                    DWORD dwLogonProvider,
-                    PHANDLE phToken,
-                    PSID  *ppLogonSid,
-                       PVOID *ppProfileBuffer,
-                 LPDWORD pdwProfileLength,
-                 PQUOTA_LIMITS pQuotaLimits
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-LogonUserExW (
-                    LPCWSTR lpszUsername,
-                  LPCWSTR lpszDomain,
-                    LPCWSTR lpszPassword,
-                    DWORD dwLogonType,
-                    DWORD dwLogonProvider,
-                    PHANDLE phToken,
-                    PSID  *ppLogonSid,
-                       PVOID *ppProfileBuffer,
-                 LPDWORD pdwProfileLength,
-                 PQUOTA_LIMITS pQuotaLimits
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ImpersonateLoggedOnUser(
-         HANDLE  hToken
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateProcessAsUserA (
-              HANDLE hToken,
-              LPCSTR lpApplicationName,
-           LPSTR lpCommandLine,
-              LPSECURITY_ATTRIBUTES lpProcessAttributes,
-              LPSECURITY_ATTRIBUTES lpThreadAttributes,
-                BOOL bInheritHandles,
-                DWORD dwCreationFlags,
-              LPVOID lpEnvironment,
-              LPCSTR lpCurrentDirectory,
-                LPSTARTUPINFOA lpStartupInfo,
-               LPPROCESS_INFORMATION lpProcessInformation
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateProcessAsUserW (
-              HANDLE hToken,
-              LPCWSTR lpApplicationName,
-           LPWSTR lpCommandLine,
-              LPSECURITY_ATTRIBUTES lpProcessAttributes,
-              LPSECURITY_ATTRIBUTES lpThreadAttributes,
-                BOOL bInheritHandles,
-                DWORD dwCreationFlags,
-              LPVOID lpEnvironment,
-              LPCWSTR lpCurrentDirectory,
-                LPSTARTUPINFOW lpStartupInfo,
-               LPPROCESS_INFORMATION lpProcessInformation
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateProcessWithLogonW(
-                LPCWSTR lpUsername,
-              LPCWSTR lpDomain,
-                LPCWSTR lpPassword,
-                DWORD dwLogonFlags,
-              LPCWSTR lpApplicationName,
-           LPWSTR lpCommandLine,
-                DWORD dwCreationFlags,
-              LPVOID lpEnvironment,
-              LPCWSTR lpCurrentDirectory,
-                LPSTARTUPINFOW lpStartupInfo,
-               LPPROCESS_INFORMATION lpProcessInformation
-      );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateProcessWithTokenW(
-                HANDLE hToken,
-                DWORD dwLogonFlags,
-              LPCWSTR lpApplicationName,
-           LPWSTR lpCommandLine,
-                DWORD dwCreationFlags,
-              LPVOID lpEnvironment,
-              LPCWSTR lpCurrentDirectory,
-                LPSTARTUPINFOW lpStartupInfo,
-               LPPROCESS_INFORMATION lpProcessInformation
-      );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ImpersonateAnonymousToken(
-         HANDLE ThreadHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DuplicateTokenEx(
-                HANDLE hExistingToken,
-                DWORD dwDesiredAccess,
-              LPSECURITY_ATTRIBUTES lpTokenAttributes,
-                SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
-                TOKEN_TYPE TokenType,
-                  PHANDLE phNewToken);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateRestrictedToken(
-                HANDLE ExistingTokenHandle,
-                DWORD Flags,
-                DWORD DisableSidCount,
-             PSID_AND_ATTRIBUTES SidsToDisable,
-                DWORD DeletePrivilegeCount,
-             PLUID_AND_ATTRIBUTES PrivilegesToDelete,
-                DWORD RestrictedSidCount,
-             PSID_AND_ATTRIBUTES SidsToRestrict,
-                  PHANDLE NewTokenHandle
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsTokenRestricted(
-         HANDLE TokenHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsTokenUntrusted(
-         HANDLE TokenHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckTokenMembership(
-           HANDLE TokenHandle,
-             PSID SidToCheck,
-            PBOOL IsMember
-    );
-
-
-
-
-
-
-
-typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK ;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RegisterWaitForSingleObject(
-                  PHANDLE phNewWaitObject,
-                HANDLE hObject,
-                WAITORTIMERCALLBACK Callback,
-              PVOID Context,
-                ULONG dwMilliseconds,
-                ULONG dwFlags
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-RegisterWaitForSingleObjectEx(
-             HANDLE hObject,
-             WAITORTIMERCALLBACK Callback,
-           PVOID Context,
-             ULONG dwMilliseconds,
-             ULONG dwFlags
-    );
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-UnregisterWait(
-         HANDLE WaitHandle
-    );
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-UnregisterWaitEx(
-             HANDLE WaitHandle,
-           HANDLE CompletionEvent
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueueUserWorkItem(
-             LPTHREAD_START_ROUTINE Function,
-           PVOID Context,
-             ULONG Flags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BindIoCompletionCallback (
-         HANDLE FileHandle,
-         LPOVERLAPPED_COMPLETION_ROUTINE Function,
-         ULONG Flags
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateTimerQueue(
-    void
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateTimerQueueTimer(
-                  PHANDLE phNewTimer,
-              HANDLE TimerQueue,
-                WAITORTIMERCALLBACK Callback,
-              PVOID Parameter,
-                DWORD DueTime,
-                DWORD Period,
-                ULONG Flags
-    ) ;
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-ChangeTimerQueueTimer(
-           HANDLE TimerQueue,
-          HANDLE Timer,
-             ULONG DueTime,
-             ULONG Period
-    );
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-DeleteTimerQueueTimer(
-           HANDLE TimerQueue,
-             HANDLE Timer,
-           HANDLE CompletionEvent
-    );
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-DeleteTimerQueueEx(
-             HANDLE TimerQueue,
-           HANDLE CompletionEvent
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-SetTimerQueueTimer(
-           HANDLE TimerQueue,
-             WAITORTIMERCALLBACK Callback,
-           PVOID Parameter,
-             DWORD DueTime,
-             DWORD Period,
-             BOOL PreferIo
-    );
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-CancelTimerQueueTimer(
-           HANDLE TimerQueue,
-             HANDLE Timer
-    );
-
-__declspec(dllimport)
-
-BOOL
-__stdcall
-DeleteTimerQueue(
-         HANDLE TimerQueue
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagHW_PROFILE_INFOA {
-    DWORD  dwDockInfo;
-    CHAR   szHwProfileGuid[39];
-    CHAR   szHwProfileName[80];
-} HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
-typedef struct tagHW_PROFILE_INFOW {
-    DWORD  dwDockInfo;
-    WCHAR  szHwProfileGuid[39];
-    WCHAR  szHwProfileName[80];
-} HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
-
-typedef HW_PROFILE_INFOW HW_PROFILE_INFO;
-typedef LPHW_PROFILE_INFOW LPHW_PROFILE_INFO;
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCurrentHwProfileA (
-         LPHW_PROFILE_INFOA  lpHwProfileInfo
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCurrentHwProfileW (
-         LPHW_PROFILE_INFOW  lpHwProfileInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryPerformanceCounter(
-         LARGE_INTEGER *lpPerformanceCount
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryPerformanceFrequency(
-         LARGE_INTEGER *lpFrequency
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVersionExA(
-         LPOSVERSIONINFOA lpVersionInformation
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVersionExW(
-         LPOSVERSIONINFOW lpVersionInformation
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-VerifyVersionInfoA(
-         LPOSVERSIONINFOEXA lpVersionInformation,
-            DWORD dwTypeMask,
-            DWORDLONG dwlConditionMask
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-VerifyVersionInfoW(
-         LPOSVERSIONINFOEXW lpVersionInformation,
-            DWORD dwTypeMask,
-            DWORDLONG dwlConditionMask
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
- 
- 
- 
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SYSTEM_POWER_STATUS {
-    BYTE ACLineStatus;
-    BYTE BatteryFlag;
-    BYTE BatteryLifePercent;
-    BYTE Reserved1;
-    DWORD BatteryLifeTime;
-    DWORD BatteryFullLifeTime;
-}   SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
-
-BOOL
-__stdcall
-GetSystemPowerStatus(
-         LPSYSTEM_POWER_STATUS lpSystemPowerStatus
-    );
-
-BOOL
-__stdcall
-SetSystemPowerState(
-         BOOL fSuspend,
-         BOOL fForce
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AllocateUserPhysicalPages(
-            HANDLE hProcess,
-         PULONG_PTR NumberOfPages,
-           PULONG_PTR PageArray
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FreeUserPhysicalPages(
-            HANDLE hProcess,
-         PULONG_PTR NumberOfPages,
-           PULONG_PTR PageArray
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MapUserPhysicalPages(
-         PVOID VirtualAddress,
-         ULONG_PTR NumberOfPages,
-             PULONG_PTR PageArray
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MapUserPhysicalPagesScatter(
-           PVOID *VirtualAddresses,
-         ULONG_PTR NumberOfPages,
-             PULONG_PTR PageArray
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateJobObjectA(
-           LPSECURITY_ATTRIBUTES lpJobAttributes,
-           LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateJobObjectW(
-           LPSECURITY_ATTRIBUTES lpJobAttributes,
-           LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenJobObjectA(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCSTR lpName
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-OpenJobObjectW(
-         DWORD dwDesiredAccess,
-         BOOL bInheritHandle,
-         LPCWSTR lpName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AssignProcessToJobObject(
-         HANDLE hJob,
-         HANDLE hProcess
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TerminateJobObject(
-         HANDLE hJob,
-         UINT uExitCode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryInformationJobObject(
-            HANDLE hJob,
-              JOBOBJECTINFOCLASS JobObjectInformationClass,
-           LPVOID lpJobObjectInformation,
-              DWORD cbJobObjectInformationLength,
-           LPDWORD lpReturnLength
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetInformationJobObject(
-         HANDLE hJob,
-         JOBOBJECTINFOCLASS JobObjectInformationClass,
-           LPVOID lpJobObjectInformation,
-         DWORD cbJobObjectInformationLength
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsProcessInJob (
-             HANDLE ProcessHandle,
-           HANDLE JobHandle,
-            PBOOL Result
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateJobSet (
-         ULONG NumJob,
-           PJOB_SET_ARRAY UserJobSet,
-         ULONG Flags);
-
-__declspec(dllimport)
-    
-PVOID
-__stdcall
-AddVectoredExceptionHandler (
-         ULONG First,
-         PVECTORED_EXCEPTION_HANDLER Handler
-    );
-
-__declspec(dllimport)
-ULONG
-__stdcall
-RemoveVectoredExceptionHandler (
-         PVOID Handle
-    );
-
-__declspec(dllimport)
-    
-PVOID
-__stdcall
-AddVectoredContinueHandler (
-         ULONG First,
-         PVECTORED_EXCEPTION_HANDLER Handler
-    );
-
-__declspec(dllimport)
-ULONG
-__stdcall
-RemoveVectoredContinueHandler (
-         PVOID Handle
-    );
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstVolumeA(
-         LPSTR lpszVolumeName,
-         DWORD cchBufferLength
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstVolumeW(
-         LPWSTR lpszVolumeName,
-         DWORD cchBufferLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextVolumeA(
-         HANDLE hFindVolume,
-         LPSTR lpszVolumeName,
-            DWORD cchBufferLength
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextVolumeW(
-         HANDLE hFindVolume,
-         LPWSTR lpszVolumeName,
-            DWORD cchBufferLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindVolumeClose(
-         HANDLE hFindVolume
-    );
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstVolumeMountPointA(
-         LPCSTR lpszRootPathName,
-         LPSTR lpszVolumeMountPoint,
-         DWORD cchBufferLength
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-FindFirstVolumeMountPointW(
-         LPCWSTR lpszRootPathName,
-         LPWSTR lpszVolumeMountPoint,
-         DWORD cchBufferLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextVolumeMountPointA(
-         HANDLE hFindVolumeMountPoint,
-         LPSTR lpszVolumeMountPoint,
-         DWORD cchBufferLength
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FindNextVolumeMountPointW(
-         HANDLE hFindVolumeMountPoint,
-         LPWSTR lpszVolumeMountPoint,
-         DWORD cchBufferLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindVolumeMountPointClose(
-         HANDLE hFindVolumeMountPoint
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetVolumeMountPointA(
-         LPCSTR lpszVolumeMountPoint,
-         LPCSTR lpszVolumeName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetVolumeMountPointW(
-         LPCWSTR lpszVolumeMountPoint,
-         LPCWSTR lpszVolumeName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteVolumeMountPointA(
-         LPCSTR lpszVolumeMountPoint
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteVolumeMountPointW(
-         LPCWSTR lpszVolumeMountPoint
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumeNameForVolumeMountPointA(
-         LPCSTR lpszVolumeMountPoint,
-         LPSTR lpszVolumeName,
-         DWORD cchBufferLength
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumeNameForVolumeMountPointW(
-         LPCWSTR lpszVolumeMountPoint,
-         LPWSTR lpszVolumeName,
-         DWORD cchBufferLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumePathNameA(
-         LPCSTR lpszFileName,
-         LPSTR lpszVolumePathName,
-         DWORD cchBufferLength
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumePathNameW(
-         LPCWSTR lpszFileName,
-         LPWSTR lpszVolumePathName,
-         DWORD cchBufferLength
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumePathNamesForVolumeNameA(
-          LPCSTR lpszVolumeName,
-              LPCH lpszVolumePathNames,
-          DWORD cchBufferLength,
-         PDWORD lpcchReturnLength
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetVolumePathNamesForVolumeNameW(
-          LPCWSTR lpszVolumeName,
-              LPWCH lpszVolumePathNames,
-          DWORD cchBufferLength,
-         PDWORD lpcchReturnLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagACTCTXA {
-    ULONG       cbSize;
-    DWORD       dwFlags;
-    LPCSTR      lpSource;
-    USHORT      wProcessorArchitecture;
-    LANGID      wLangId;
-    LPCSTR      lpAssemblyDirectory;
-    LPCSTR      lpResourceName;
-    LPCSTR      lpApplicationName;
-    HMODULE     hModule;
-} ACTCTXA, *PACTCTXA;
-typedef struct tagACTCTXW {
-    ULONG       cbSize;
-    DWORD       dwFlags;
-    LPCWSTR     lpSource;
-    USHORT      wProcessorArchitecture;
-    LANGID      wLangId;
-    LPCWSTR     lpAssemblyDirectory;
-    LPCWSTR     lpResourceName;
-    LPCWSTR     lpApplicationName;
-    HMODULE     hModule;
-} ACTCTXW, *PACTCTXW;
-
-typedef ACTCTXW ACTCTX;
-typedef PACTCTXW PACTCTX;
-
-
-
-
-
-typedef const ACTCTXA *PCACTCTXA;
-typedef const ACTCTXW *PCACTCTXW;
-
-typedef ACTCTXW ACTCTX;
-typedef PCACTCTXW PCACTCTX;
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateActCtxA(
-         PCACTCTXA pActCtx
-    );
-__declspec(dllimport)
-    
-HANDLE
-__stdcall
-CreateActCtxW(
-         PCACTCTXW pActCtx
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-AddRefActCtx(
-         HANDLE hActCtx
-    );
-
-
-__declspec(dllimport)
-void
-__stdcall
-ReleaseActCtx(
-         HANDLE hActCtx
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ZombifyActCtx(
-         HANDLE hActCtx
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ActivateActCtx(
-         HANDLE hActCtx,
-           ULONG_PTR *lpCookie
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeactivateActCtx(
-         DWORD dwFlags,
-         ULONG_PTR ulCookie
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCurrentActCtx(
-                  HANDLE *lphActCtx);
-
-
-
-
-
-typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
-    ULONG cbSize;
-    ULONG ulDataFormatVersion;
-    PVOID lpData;
-    ULONG ulLength;
-    PVOID lpSectionGlobalData;
-    ULONG ulSectionGlobalDataLength;
-    PVOID lpSectionBase;
-    ULONG ulSectionTotalLength;
-    HANDLE hActCtx;
-    ULONG ulAssemblyRosterIndex;
-} ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
-typedef const ACTCTX_SECTION_KEYED_DATA_2600 * PCACTCTX_SECTION_KEYED_DATA_2600;
-
-typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
-    PVOID lpInformation;
-    PVOID lpSectionBase;
-    ULONG ulSectionLength;
-    PVOID lpSectionGlobalDataBase;
-    ULONG ulSectionGlobalDataLength;
-} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
-typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
-
-typedef struct tagACTCTX_SECTION_KEYED_DATA {
-    ULONG cbSize;
-    ULONG ulDataFormatVersion;
-    PVOID lpData;
-    ULONG ulLength;
-    PVOID lpSectionGlobalData;
-    ULONG ulSectionGlobalDataLength;
-    PVOID lpSectionBase;
-    ULONG ulSectionTotalLength;
-    HANDLE hActCtx;
-    ULONG ulAssemblyRosterIndex;
-
-    ULONG ulFlags;
-    ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
-} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
-typedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA;
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindActCtxSectionStringA(
-               DWORD dwFlags,
-      const GUID *lpExtensionGuid,
-               ULONG ulSectionId,
-               LPCSTR lpStringToFind,
-              PACTCTX_SECTION_KEYED_DATA ReturnedData
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FindActCtxSectionStringW(
-               DWORD dwFlags,
-      const GUID *lpExtensionGuid,
-               ULONG ulSectionId,
-               LPCWSTR lpStringToFind,
-              PACTCTX_SECTION_KEYED_DATA ReturnedData
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FindActCtxSectionGuid(
-               DWORD dwFlags,
-      const GUID *lpExtensionGuid,
-               ULONG ulSectionId,
-             const GUID *lpGuidToFind,
-              PACTCTX_SECTION_KEYED_DATA ReturnedData
-    );
-
-
-
-
-
-
-
-
-typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
-    HANDLE  hActCtx;
-    DWORD   dwFlags;
-} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
-
-typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryActCtxW(
-              DWORD dwFlags,
-              HANDLE hActCtx,
-            PVOID pvSubInstance,
-              ULONG ulInfoClass,
-             PVOID pvBuffer,
-              SIZE_T cbBuffer,
-           SIZE_T *pcbWrittenOrRequired
-    );
-
-typedef BOOL (__stdcall * PQUERYACTCTXW_FUNC)(
-              DWORD dwFlags,
-              HANDLE hActCtx,
-            PVOID pvSubInstance,
-              ULONG ulInfoClass,
-             PVOID pvBuffer,
-              SIZE_T cbBuffer,
-           SIZE_T *pcbWrittenOrRequired
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ProcessIdToSessionId(
-          DWORD dwProcessId,
-         DWORD *pSessionId
-    );
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WTSGetActiveConsoleSessionId();
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWow64Process(
-          HANDLE hProcess,
-         PBOOL Wow64Process
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetLogicalProcessorInformation(
-           PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer,
-         PDWORD ReturnedLength
-    );
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumaHighestNodeNumber(
-         PULONG HighestNodeNumber
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumaProcessorNode(
-          UCHAR Processor,
-         PUCHAR NodeNumber
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumaNodeProcessorMask(
-          UCHAR Node,
-         PULONGLONG ProcessorMask
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumaAvailableMemoryNode(
-          UCHAR Node,
-         PULONGLONG AvailableBytes
-    );
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DRAWPATRECT {
-        POINT ptPosition;
-        POINT ptSize;
-        WORD wStyle;
-        WORD wPattern;
-} DRAWPATRECT, *PDRAWPATRECT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PSINJECTDATA {
-
-    DWORD   DataBytes;      
-    WORD    InjectionPoint; 
-    WORD    PageNumber;     
-
-    
-
-} PSINJECTDATA, *PPSINJECTDATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PSFEATURE_OUTPUT {
-
-    BOOL bPageIndependent;
-    BOOL bSetPageDevice;
-
-} PSFEATURE_OUTPUT, *PPSFEATURE_OUTPUT;
-
-
-
-
-
-typedef struct _PSFEATURE_CUSTPAPER {
-
-    LONG lOrientation;
-    LONG lWidth;
-    LONG lHeight;
-    LONG lWidthOffset;
-    LONG lHeightOffset;
-
-} PSFEATURE_CUSTPAPER, *PPSFEATURE_CUSTPAPER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct  tagXFORM
-  {
-    FLOAT   eM11;
-    FLOAT   eM12;
-    FLOAT   eM21;
-    FLOAT   eM22;
-    FLOAT   eDx;
-    FLOAT   eDy;
-  } XFORM, *PXFORM,  *LPXFORM;
-
-
-typedef struct tagBITMAP
-  {
-    LONG        bmType;
-    LONG        bmWidth;
-    LONG        bmHeight;
-    LONG        bmWidthBytes;
-    WORD        bmPlanes;
-    WORD        bmBitsPixel;
-    LPVOID      bmBits;
-  } BITMAP, *PBITMAP,  *NPBITMAP,  *LPBITMAP;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct tagRGBTRIPLE {
-        BYTE    rgbtBlue;
-        BYTE    rgbtGreen;
-        BYTE    rgbtRed;
-} RGBTRIPLE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-typedef struct tagRGBQUAD {
-        BYTE    rgbBlue;
-        BYTE    rgbGreen;
-        BYTE    rgbRed;
-        BYTE    rgbReserved;
-} RGBQUAD;
-typedef RGBQUAD * LPRGBQUAD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef LONG   LCSCSTYPE;
-
-
-typedef LONG    LCSGAMUTMATCH;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef long            FXPT16DOT16,  *LPFXPT16DOT16;
-typedef long            FXPT2DOT30,  *LPFXPT2DOT30;
-
-
-
-
-typedef struct tagCIEXYZ
-{
-        FXPT2DOT30 ciexyzX;
-        FXPT2DOT30 ciexyzY;
-        FXPT2DOT30 ciexyzZ;
-} CIEXYZ;
-typedef CIEXYZ   *LPCIEXYZ;
-
-typedef struct tagICEXYZTRIPLE
-{
-        CIEXYZ  ciexyzRed;
-        CIEXYZ  ciexyzGreen;
-        CIEXYZ  ciexyzBlue;
-} CIEXYZTRIPLE;
-typedef CIEXYZTRIPLE     *LPCIEXYZTRIPLE;
-
-
-
-
-
-
-typedef struct tagLOGCOLORSPACEA {
-    DWORD lcsSignature;
-    DWORD lcsVersion;
-    DWORD lcsSize;
-    LCSCSTYPE lcsCSType;
-    LCSGAMUTMATCH lcsIntent;
-    CIEXYZTRIPLE lcsEndpoints;
-    DWORD lcsGammaRed;
-    DWORD lcsGammaGreen;
-    DWORD lcsGammaBlue;
-    CHAR   lcsFilename[260];
-} LOGCOLORSPACEA, *LPLOGCOLORSPACEA;
-typedef struct tagLOGCOLORSPACEW {
-    DWORD lcsSignature;
-    DWORD lcsVersion;
-    DWORD lcsSize;
-    LCSCSTYPE lcsCSType;
-    LCSGAMUTMATCH lcsIntent;
-    CIEXYZTRIPLE lcsEndpoints;
-    DWORD lcsGammaRed;
-    DWORD lcsGammaGreen;
-    DWORD lcsGammaBlue;
-    WCHAR  lcsFilename[260];
-} LOGCOLORSPACEW, *LPLOGCOLORSPACEW;
-
-typedef LOGCOLORSPACEW LOGCOLORSPACE;
-typedef LPLOGCOLORSPACEW LPLOGCOLORSPACE;
-
-
-
-
-
-
-
-
-typedef struct tagBITMAPCOREHEADER {
-        DWORD   bcSize;                 
-        WORD    bcWidth;
-        WORD    bcHeight;
-        WORD    bcPlanes;
-        WORD    bcBitCount;
-} BITMAPCOREHEADER,  *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER;
-
-typedef struct tagBITMAPINFOHEADER{
-        DWORD      biSize;
-        LONG       biWidth;
-        LONG       biHeight;
-        WORD       biPlanes;
-        WORD       biBitCount;
-        DWORD      biCompression;
-        DWORD      biSizeImage;
-        LONG       biXPelsPerMeter;
-        LONG       biYPelsPerMeter;
-        DWORD      biClrUsed;
-        DWORD      biClrImportant;
-} BITMAPINFOHEADER,  *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
-
-
-typedef struct {
-        DWORD        bV4Size;
-        LONG         bV4Width;
-        LONG         bV4Height;
-        WORD         bV4Planes;
-        WORD         bV4BitCount;
-        DWORD        bV4V4Compression;
-        DWORD        bV4SizeImage;
-        LONG         bV4XPelsPerMeter;
-        LONG         bV4YPelsPerMeter;
-        DWORD        bV4ClrUsed;
-        DWORD        bV4ClrImportant;
-        DWORD        bV4RedMask;
-        DWORD        bV4GreenMask;
-        DWORD        bV4BlueMask;
-        DWORD        bV4AlphaMask;
-        DWORD        bV4CSType;
-        CIEXYZTRIPLE bV4Endpoints;
-        DWORD        bV4GammaRed;
-        DWORD        bV4GammaGreen;
-        DWORD        bV4GammaBlue;
-} BITMAPV4HEADER,  *LPBITMAPV4HEADER, *PBITMAPV4HEADER;
-
-
-
-typedef struct {
-        DWORD        bV5Size;
-        LONG         bV5Width;
-        LONG         bV5Height;
-        WORD         bV5Planes;
-        WORD         bV5BitCount;
-        DWORD        bV5Compression;
-        DWORD        bV5SizeImage;
-        LONG         bV5XPelsPerMeter;
-        LONG         bV5YPelsPerMeter;
-        DWORD        bV5ClrUsed;
-        DWORD        bV5ClrImportant;
-        DWORD        bV5RedMask;
-        DWORD        bV5GreenMask;
-        DWORD        bV5BlueMask;
-        DWORD        bV5AlphaMask;
-        DWORD        bV5CSType;
-        CIEXYZTRIPLE bV5Endpoints;
-        DWORD        bV5GammaRed;
-        DWORD        bV5GammaGreen;
-        DWORD        bV5GammaBlue;
-        DWORD        bV5Intent;
-        DWORD        bV5ProfileData;
-        DWORD        bV5ProfileSize;
-        DWORD        bV5Reserved;
-} BITMAPV5HEADER,  *LPBITMAPV5HEADER, *PBITMAPV5HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagBITMAPINFO {
-    BITMAPINFOHEADER    bmiHeader;
-    RGBQUAD             bmiColors[1];
-} BITMAPINFO,  *LPBITMAPINFO, *PBITMAPINFO;
-
-typedef struct tagBITMAPCOREINFO {
-    BITMAPCOREHEADER    bmciHeader;
-    RGBTRIPLE           bmciColors[1];
-} BITMAPCOREINFO,  *LPBITMAPCOREINFO, *PBITMAPCOREINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,2)
-
-
-
-
-
-
-
-
-typedef struct tagBITMAPFILEHEADER {
-        WORD    bfType;
-        DWORD   bfSize;
-        WORD    bfReserved1;
-        WORD    bfReserved2;
-        DWORD   bfOffBits;
-} BITMAPFILEHEADER,  *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagFONTSIGNATURE
-{
-    DWORD fsUsb[4];
-    DWORD fsCsb[2];
-} FONTSIGNATURE, *PFONTSIGNATURE, *LPFONTSIGNATURE;
-
-typedef struct tagCHARSETINFO
-{
-    UINT ciCharset;
-    UINT ciACP;
-    FONTSIGNATURE fs;
-} CHARSETINFO, *PCHARSETINFO,  *NPCHARSETINFO,  *LPCHARSETINFO;
-
-
-
-
-
-
-typedef struct tagLOCALESIGNATURE
-{
-    DWORD lsUsb[4];
-    DWORD lsCsbDefault[2];
-    DWORD lsCsbSupported[2];
-} LOCALESIGNATURE, *PLOCALESIGNATURE, *LPLOCALESIGNATURE;
-
-
-
-
-
-
-
-
-typedef struct tagHANDLETABLE
-  {
-    HGDIOBJ     objectHandle[1];
-  } HANDLETABLE, *PHANDLETABLE,  *LPHANDLETABLE;
-
-typedef struct tagMETARECORD
-  {
-    DWORD       rdSize;
-    WORD        rdFunction;
-    WORD        rdParm[1];
-  } METARECORD;
-typedef struct tagMETARECORD  *PMETARECORD;
-typedef struct tagMETARECORD   *LPMETARECORD;
-
-typedef struct tagMETAFILEPICT
-  {
-    LONG        mm;
-    LONG        xExt;
-    LONG        yExt;
-    HMETAFILE   hMF;
-  } METAFILEPICT,  *LPMETAFILEPICT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,2)
-
-
-
-
-
-
-
-
-typedef struct tagMETAHEADER
-{
-    WORD        mtType;
-    WORD        mtHeaderSize;
-    WORD        mtVersion;
-    DWORD       mtSize;
-    WORD        mtNoObjects;
-    DWORD       mtMaxRecord;
-    WORD        mtNoParameters;
-} METAHEADER;
-typedef struct tagMETAHEADER  *PMETAHEADER;
-typedef struct tagMETAHEADER   *LPMETAHEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-typedef struct tagENHMETARECORD
-{
-    DWORD   iType;              
-    DWORD   nSize;              
-    DWORD   dParm[1];           
-} ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD;
-
-typedef struct tagENHMETAHEADER
-{
-    DWORD   iType;              
-    DWORD   nSize;              
-                                
-    RECTL   rclBounds;          
-    RECTL   rclFrame;           
-    DWORD   dSignature;         
-    DWORD   nVersion;           
-    DWORD   nBytes;             
-    DWORD   nRecords;           
-    WORD    nHandles;           
-                                
-    WORD    sReserved;          
-    DWORD   nDescription;       
-                                
-    DWORD   offDescription;     
-                                
-    DWORD   nPalEntries;        
-    SIZEL   szlDevice;          
-    SIZEL   szlMillimeters;     
-
-    DWORD   cbPixelFormat;      
-                                
-    DWORD   offPixelFormat;     
-                                
-    DWORD   bOpenGL;            
-                                
-
-
-    SIZEL   szlMicrometers;     
-
-
-} ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    typedef WCHAR BCHAR;
-
-
-
-
-
-
-typedef struct tagTEXTMETRICA
-{
-    LONG        tmHeight;
-    LONG        tmAscent;
-    LONG        tmDescent;
-    LONG        tmInternalLeading;
-    LONG        tmExternalLeading;
-    LONG        tmAveCharWidth;
-    LONG        tmMaxCharWidth;
-    LONG        tmWeight;
-    LONG        tmOverhang;
-    LONG        tmDigitizedAspectX;
-    LONG        tmDigitizedAspectY;
-    BYTE        tmFirstChar;
-    BYTE        tmLastChar;
-    BYTE        tmDefaultChar;
-    BYTE        tmBreakChar;
-    BYTE        tmItalic;
-    BYTE        tmUnderlined;
-    BYTE        tmStruckOut;
-    BYTE        tmPitchAndFamily;
-    BYTE        tmCharSet;
-} TEXTMETRICA, *PTEXTMETRICA,  *NPTEXTMETRICA,  *LPTEXTMETRICA;
-typedef struct tagTEXTMETRICW
-{
-    LONG        tmHeight;
-    LONG        tmAscent;
-    LONG        tmDescent;
-    LONG        tmInternalLeading;
-    LONG        tmExternalLeading;
-    LONG        tmAveCharWidth;
-    LONG        tmMaxCharWidth;
-    LONG        tmWeight;
-    LONG        tmOverhang;
-    LONG        tmDigitizedAspectX;
-    LONG        tmDigitizedAspectY;
-    WCHAR       tmFirstChar;
-    WCHAR       tmLastChar;
-    WCHAR       tmDefaultChar;
-    WCHAR       tmBreakChar;
-    BYTE        tmItalic;
-    BYTE        tmUnderlined;
-    BYTE        tmStruckOut;
-    BYTE        tmPitchAndFamily;
-    BYTE        tmCharSet;
-} TEXTMETRICW, *PTEXTMETRICW,  *NPTEXTMETRICW,  *LPTEXTMETRICW;
-
-typedef TEXTMETRICW TEXTMETRIC;
-typedef PTEXTMETRICW PTEXTMETRIC;
-typedef NPTEXTMETRICW NPTEXTMETRIC;
-typedef LPTEXTMETRICW LPTEXTMETRIC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,4)
-
-
-
-
-
-
-
-
-typedef struct tagNEWTEXTMETRICA
-{
-    LONG        tmHeight;
-    LONG        tmAscent;
-    LONG        tmDescent;
-    LONG        tmInternalLeading;
-    LONG        tmExternalLeading;
-    LONG        tmAveCharWidth;
-    LONG        tmMaxCharWidth;
-    LONG        tmWeight;
-    LONG        tmOverhang;
-    LONG        tmDigitizedAspectX;
-    LONG        tmDigitizedAspectY;
-    BYTE        tmFirstChar;
-    BYTE        tmLastChar;
-    BYTE        tmDefaultChar;
-    BYTE        tmBreakChar;
-    BYTE        tmItalic;
-    BYTE        tmUnderlined;
-    BYTE        tmStruckOut;
-    BYTE        tmPitchAndFamily;
-    BYTE        tmCharSet;
-    DWORD   ntmFlags;
-    UINT    ntmSizeEM;
-    UINT    ntmCellHeight;
-    UINT    ntmAvgWidth;
-} NEWTEXTMETRICA, *PNEWTEXTMETRICA,  *NPNEWTEXTMETRICA,  *LPNEWTEXTMETRICA;
-typedef struct tagNEWTEXTMETRICW
-{
-    LONG        tmHeight;
-    LONG        tmAscent;
-    LONG        tmDescent;
-    LONG        tmInternalLeading;
-    LONG        tmExternalLeading;
-    LONG        tmAveCharWidth;
-    LONG        tmMaxCharWidth;
-    LONG        tmWeight;
-    LONG        tmOverhang;
-    LONG        tmDigitizedAspectX;
-    LONG        tmDigitizedAspectY;
-    WCHAR       tmFirstChar;
-    WCHAR       tmLastChar;
-    WCHAR       tmDefaultChar;
-    WCHAR       tmBreakChar;
-    BYTE        tmItalic;
-    BYTE        tmUnderlined;
-    BYTE        tmStruckOut;
-    BYTE        tmPitchAndFamily;
-    BYTE        tmCharSet;
-    DWORD   ntmFlags;
-    UINT    ntmSizeEM;
-    UINT    ntmCellHeight;
-    UINT    ntmAvgWidth;
-} NEWTEXTMETRICW, *PNEWTEXTMETRICW,  *NPNEWTEXTMETRICW,  *LPNEWTEXTMETRICW;
-
-typedef NEWTEXTMETRICW NEWTEXTMETRIC;
-typedef PNEWTEXTMETRICW PNEWTEXTMETRIC;
-typedef NPNEWTEXTMETRICW NPNEWTEXTMETRIC;
-typedef LPNEWTEXTMETRICW LPNEWTEXTMETRIC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-typedef struct tagNEWTEXTMETRICEXA
-{
-    NEWTEXTMETRICA  ntmTm;
-    FONTSIGNATURE   ntmFontSig;
-}NEWTEXTMETRICEXA;
-typedef struct tagNEWTEXTMETRICEXW
-{
-    NEWTEXTMETRICW  ntmTm;
-    FONTSIGNATURE   ntmFontSig;
-}NEWTEXTMETRICEXW;
-
-typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
-
-
-
-
-
-
-
-
-
-typedef struct tagPELARRAY
-  {
-    LONG        paXCount;
-    LONG        paYCount;
-    LONG        paXExt;
-    LONG        paYExt;
-    BYTE        paRGBs;
-  } PELARRAY, *PPELARRAY,  *NPPELARRAY,  *LPPELARRAY;
-
-
-typedef struct tagLOGBRUSH
-  {
-    UINT        lbStyle;
-    COLORREF    lbColor;
-    ULONG_PTR    lbHatch;    
-  } LOGBRUSH, *PLOGBRUSH,  *NPLOGBRUSH,  *LPLOGBRUSH;
-
-typedef struct tagLOGBRUSH32
-  {
-    UINT        lbStyle;
-    COLORREF    lbColor;
-    ULONG       lbHatch;
-  } LOGBRUSH32, *PLOGBRUSH32,  *NPLOGBRUSH32,  *LPLOGBRUSH32;
-
-typedef LOGBRUSH            PATTERN;
-typedef PATTERN             *PPATTERN;
-typedef PATTERN         *NPPATTERN;
-typedef PATTERN          *LPPATTERN;
-
-
-typedef struct tagLOGPEN
-  {
-    UINT        lopnStyle;
-    POINT       lopnWidth;
-    COLORREF    lopnColor;
-  } LOGPEN, *PLOGPEN,  *NPLOGPEN,  *LPLOGPEN;
-
-typedef struct tagEXTLOGPEN {
-    DWORD       elpPenStyle;
-    DWORD       elpWidth;
-    UINT        elpBrushStyle;
-    COLORREF    elpColor;
-    ULONG_PTR    elpHatch;     
-    DWORD       elpNumEntries;
-    DWORD       elpStyleEntry[1];
-} EXTLOGPEN, *PEXTLOGPEN,  *NPEXTLOGPEN,  *LPEXTLOGPEN;
-
-
-
-typedef struct tagPALETTEENTRY {
-    BYTE        peRed;
-    BYTE        peGreen;
-    BYTE        peBlue;
-    BYTE        peFlags;
-} PALETTEENTRY, *PPALETTEENTRY,  *LPPALETTEENTRY;
-
-
-
-
-
-typedef struct tagLOGPALETTE {
-    WORD        palVersion;
-    WORD        palNumEntries;
-    PALETTEENTRY        palPalEntry[1];
-} LOGPALETTE, *PLOGPALETTE,  *NPLOGPALETTE,  *LPLOGPALETTE;
-
-
-
-
-
-
-typedef struct tagLOGFONTA
-{
-    LONG      lfHeight;
-    LONG      lfWidth;
-    LONG      lfEscapement;
-    LONG      lfOrientation;
-    LONG      lfWeight;
-    BYTE      lfItalic;
-    BYTE      lfUnderline;
-    BYTE      lfStrikeOut;
-    BYTE      lfCharSet;
-    BYTE      lfOutPrecision;
-    BYTE      lfClipPrecision;
-    BYTE      lfQuality;
-    BYTE      lfPitchAndFamily;
-    CHAR      lfFaceName[32];
-} LOGFONTA, *PLOGFONTA,  *NPLOGFONTA,  *LPLOGFONTA;
-typedef struct tagLOGFONTW
-{
-    LONG      lfHeight;
-    LONG      lfWidth;
-    LONG      lfEscapement;
-    LONG      lfOrientation;
-    LONG      lfWeight;
-    BYTE      lfItalic;
-    BYTE      lfUnderline;
-    BYTE      lfStrikeOut;
-    BYTE      lfCharSet;
-    BYTE      lfOutPrecision;
-    BYTE      lfClipPrecision;
-    BYTE      lfQuality;
-    BYTE      lfPitchAndFamily;
-    WCHAR     lfFaceName[32];
-} LOGFONTW, *PLOGFONTW,  *NPLOGFONTW,  *LPLOGFONTW;
-
-typedef LOGFONTW LOGFONT;
-typedef PLOGFONTW PLOGFONT;
-typedef NPLOGFONTW NPLOGFONT;
-typedef LPLOGFONTW LPLOGFONT;
-
-
-
-
-
-
-
-
-
-
-typedef struct tagENUMLOGFONTA
-{
-    LOGFONTA elfLogFont;
-    BYTE     elfFullName[64];
-    BYTE     elfStyle[32];
-} ENUMLOGFONTA, * LPENUMLOGFONTA;
-
-typedef struct tagENUMLOGFONTW
-{
-    LOGFONTW elfLogFont;
-    WCHAR    elfFullName[64];
-    WCHAR    elfStyle[32];
-} ENUMLOGFONTW, * LPENUMLOGFONTW;
-
-typedef ENUMLOGFONTW ENUMLOGFONT;
-typedef LPENUMLOGFONTW LPENUMLOGFONT;
-
-
-
-
-
-
-typedef struct tagENUMLOGFONTEXA
-{
-    LOGFONTA    elfLogFont;
-    BYTE        elfFullName[64];
-    BYTE        elfStyle[32];
-    BYTE        elfScript[32];
-} ENUMLOGFONTEXA,  *LPENUMLOGFONTEXA;
-typedef struct tagENUMLOGFONTEXW
-{
-    LOGFONTW    elfLogFont;
-    WCHAR       elfFullName[64];
-    WCHAR       elfStyle[32];
-    WCHAR       elfScript[32];
-} ENUMLOGFONTEXW,  *LPENUMLOGFONTEXW;
-
-typedef ENUMLOGFONTEXW ENUMLOGFONTEX;
-typedef LPENUMLOGFONTEXW LPENUMLOGFONTEX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                    
-
-                                    
-
-                                    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagPANOSE
-{
-    BYTE    bFamilyType;
-    BYTE    bSerifStyle;
-    BYTE    bWeight;
-    BYTE    bProportion;
-    BYTE    bContrast;
-    BYTE    bStrokeVariation;
-    BYTE    bArmStyle;
-    BYTE    bLetterform;
-    BYTE    bMidline;
-    BYTE    bXHeight;
-} PANOSE, * LPPANOSE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagEXTLOGFONTA {
-    LOGFONTA    elfLogFont;
-    BYTE        elfFullName[64];
-    BYTE        elfStyle[32];
-    DWORD       elfVersion;     
-    DWORD       elfStyleSize;
-    DWORD       elfMatch;
-    DWORD       elfReserved;
-    BYTE        elfVendorId[4];
-    DWORD       elfCulture;     
-    PANOSE      elfPanose;
-} EXTLOGFONTA, *PEXTLOGFONTA,  *NPEXTLOGFONTA,  *LPEXTLOGFONTA;
-typedef struct tagEXTLOGFONTW {
-    LOGFONTW    elfLogFont;
-    WCHAR       elfFullName[64];
-    WCHAR       elfStyle[32];
-    DWORD       elfVersion;     
-    DWORD       elfStyleSize;
-    DWORD       elfMatch;
-    DWORD       elfReserved;
-    BYTE        elfVendorId[4];
-    DWORD       elfCulture;     
-    PANOSE      elfPanose;
-} EXTLOGFONTW, *PEXTLOGFONTW,  *NPEXTLOGFONTW,  *LPEXTLOGFONTW;
-
-typedef EXTLOGFONTW EXTLOGFONT;
-typedef PEXTLOGFONTW PEXTLOGFONT;
-typedef NPEXTLOGFONTW NPEXTLOGFONT;
-typedef LPEXTLOGFONTW LPEXTLOGFONT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                             
-
-                             
-
-                             
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _devicemodeA {
-    BYTE   dmDeviceName[32];
-    WORD dmSpecVersion;
-    WORD dmDriverVersion;
-    WORD dmSize;
-    WORD dmDriverExtra;
-    DWORD dmFields;
-    union {
-      
-      struct {
-        short dmOrientation;
-        short dmPaperSize;
-        short dmPaperLength;
-        short dmPaperWidth;
-        short dmScale;
-        short dmCopies;
-        short dmDefaultSource;
-        short dmPrintQuality;
-      };
-      
-      struct {
-        POINTL dmPosition;
-        DWORD  dmDisplayOrientation;
-        DWORD  dmDisplayFixedOutput; 
-      };
-    };
-    short dmColor;
-    short dmDuplex;
-    short dmYResolution;
-    short dmTTOption;
-    short dmCollate;
-    BYTE   dmFormName[32];
-    WORD   dmLogPixels;
-    DWORD  dmBitsPerPel;
-    DWORD  dmPelsWidth;
-    DWORD  dmPelsHeight;
-    union {
-        DWORD  dmDisplayFlags;
-        DWORD  dmNup;
-    };
-    DWORD  dmDisplayFrequency;
-
-    DWORD  dmICMMethod;
-    DWORD  dmICMIntent;
-    DWORD  dmMediaType;
-    DWORD  dmDitherType;
-    DWORD  dmReserved1;
-    DWORD  dmReserved2;
-
-    DWORD  dmPanningWidth;
-    DWORD  dmPanningHeight;
-
-
-} DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA;
-typedef struct _devicemodeW {
-    WCHAR  dmDeviceName[32];
-    WORD dmSpecVersion;
-    WORD dmDriverVersion;
-    WORD dmSize;
-    WORD dmDriverExtra;
-    DWORD dmFields;
-    union {
-      
-      struct {
-        short dmOrientation;
-        short dmPaperSize;
-        short dmPaperLength;
-        short dmPaperWidth;
-        short dmScale;
-        short dmCopies;
-        short dmDefaultSource;
-        short dmPrintQuality;
-      };
-      
-      struct {
-        POINTL dmPosition;
-        DWORD  dmDisplayOrientation;
-        DWORD  dmDisplayFixedOutput; 
-      };
-    };
-    short dmColor;
-    short dmDuplex;
-    short dmYResolution;
-    short dmTTOption;
-    short dmCollate;
-    WCHAR  dmFormName[32];
-    WORD   dmLogPixels;
-    DWORD  dmBitsPerPel;
-    DWORD  dmPelsWidth;
-    DWORD  dmPelsHeight;
-    union {
-        DWORD  dmDisplayFlags;
-        DWORD  dmNup;
-    };
-    DWORD  dmDisplayFrequency;
-
-    DWORD  dmICMMethod;
-    DWORD  dmICMIntent;
-    DWORD  dmMediaType;
-    DWORD  dmDitherType;
-    DWORD  dmReserved1;
-    DWORD  dmReserved2;
-
-    DWORD  dmPanningWidth;
-    DWORD  dmPanningHeight;
-
-
-} DEVMODEW, *PDEVMODEW, *NPDEVMODEW, *LPDEVMODEW;
-
-typedef DEVMODEW DEVMODE;
-typedef PDEVMODEW PDEVMODE;
-typedef NPDEVMODEW NPDEVMODE;
-typedef LPDEVMODEW LPDEVMODE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DISPLAY_DEVICEA {
-    DWORD  cb;
-    CHAR   DeviceName[32];
-    CHAR   DeviceString[128];
-    DWORD  StateFlags;
-    CHAR   DeviceID[128];
-    CHAR   DeviceKey[128];
-} DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA;
-typedef struct _DISPLAY_DEVICEW {
-    DWORD  cb;
-    WCHAR  DeviceName[32];
-    WCHAR  DeviceString[128];
-    DWORD  StateFlags;
-    WCHAR  DeviceID[128];
-    WCHAR  DeviceKey[128];
-} DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
-
-typedef DISPLAY_DEVICEW DISPLAY_DEVICE;
-typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE;
-typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _RGNDATAHEADER {
-    DWORD   dwSize;
-    DWORD   iType;
-    DWORD   nCount;
-    DWORD   nRgnSize;
-    RECT    rcBound;
-} RGNDATAHEADER, *PRGNDATAHEADER;
-
-typedef struct _RGNDATA {
-    RGNDATAHEADER   rdh;
-    char            Buffer[1];
-} RGNDATA, *PRGNDATA,  *NPRGNDATA,  *LPRGNDATA;
-
-
-
-
-
-typedef struct _ABC {
-    int     abcA;
-    UINT    abcB;
-    int     abcC;
-} ABC, *PABC,  *NPABC,  *LPABC;
-
-typedef struct _ABCFLOAT {
-    FLOAT   abcfA;
-    FLOAT   abcfB;
-    FLOAT   abcfC;
-} ABCFLOAT, *PABCFLOAT,  *NPABCFLOAT,  *LPABCFLOAT;
-
-
-
-
-
-
-typedef struct _OUTLINETEXTMETRICA {
-    UINT    otmSize;
-    TEXTMETRICA otmTextMetrics;
-    BYTE    otmFiller;
-    PANOSE  otmPanoseNumber;
-    UINT    otmfsSelection;
-    UINT    otmfsType;
-     int    otmsCharSlopeRise;
-     int    otmsCharSlopeRun;
-     int    otmItalicAngle;
-    UINT    otmEMSquare;
-     int    otmAscent;
-     int    otmDescent;
-    UINT    otmLineGap;
-    UINT    otmsCapEmHeight;
-    UINT    otmsXHeight;
-    RECT    otmrcFontBox;
-     int    otmMacAscent;
-     int    otmMacDescent;
-    UINT    otmMacLineGap;
-    UINT    otmusMinimumPPEM;
-    POINT   otmptSubscriptSize;
-    POINT   otmptSubscriptOffset;
-    POINT   otmptSuperscriptSize;
-    POINT   otmptSuperscriptOffset;
-    UINT    otmsStrikeoutSize;
-     int    otmsStrikeoutPosition;
-     int    otmsUnderscoreSize;
-     int    otmsUnderscorePosition;
-    PSTR    otmpFamilyName;
-    PSTR    otmpFaceName;
-    PSTR    otmpStyleName;
-    PSTR    otmpFullName;
-} OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA,  *NPOUTLINETEXTMETRICA,  *LPOUTLINETEXTMETRICA;
-typedef struct _OUTLINETEXTMETRICW {
-    UINT    otmSize;
-    TEXTMETRICW otmTextMetrics;
-    BYTE    otmFiller;
-    PANOSE  otmPanoseNumber;
-    UINT    otmfsSelection;
-    UINT    otmfsType;
-     int    otmsCharSlopeRise;
-     int    otmsCharSlopeRun;
-     int    otmItalicAngle;
-    UINT    otmEMSquare;
-     int    otmAscent;
-     int    otmDescent;
-    UINT    otmLineGap;
-    UINT    otmsCapEmHeight;
-    UINT    otmsXHeight;
-    RECT    otmrcFontBox;
-     int    otmMacAscent;
-     int    otmMacDescent;
-    UINT    otmMacLineGap;
-    UINT    otmusMinimumPPEM;
-    POINT   otmptSubscriptSize;
-    POINT   otmptSubscriptOffset;
-    POINT   otmptSuperscriptSize;
-    POINT   otmptSuperscriptOffset;
-    UINT    otmsStrikeoutSize;
-     int    otmsStrikeoutPosition;
-     int    otmsUnderscoreSize;
-     int    otmsUnderscorePosition;
-    PSTR    otmpFamilyName;
-    PSTR    otmpFaceName;
-    PSTR    otmpStyleName;
-    PSTR    otmpFullName;
-} OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW,  *NPOUTLINETEXTMETRICW,  *LPOUTLINETEXTMETRICW;
-
-typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC;
-typedef POUTLINETEXTMETRICW POUTLINETEXTMETRIC;
-typedef NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC;
-typedef LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagPOLYTEXTA
-{
-    int       x;
-    int       y;
-    UINT      n;
-    LPCSTR    lpstr;
-    UINT      uiFlags;
-    RECT      rcl;
-    int      *pdx;
-} POLYTEXTA, *PPOLYTEXTA,  *NPPOLYTEXTA,  *LPPOLYTEXTA;
-typedef struct tagPOLYTEXTW
-{
-    int       x;
-    int       y;
-    UINT      n;
-    LPCWSTR   lpstr;
-    UINT      uiFlags;
-    RECT      rcl;
-    int      *pdx;
-} POLYTEXTW, *PPOLYTEXTW,  *NPPOLYTEXTW,  *LPPOLYTEXTW;
-
-typedef POLYTEXTW POLYTEXT;
-typedef PPOLYTEXTW PPOLYTEXT;
-typedef NPPOLYTEXTW NPPOLYTEXT;
-typedef LPPOLYTEXTW LPPOLYTEXT;
-
-
-
-
-
-
-
-typedef struct _FIXED {
-
-    WORD    fract;
-    short   value;
-
-
-
-
-} FIXED;
-
-
-typedef struct _MAT2 {
-     FIXED  eM11;
-     FIXED  eM12;
-     FIXED  eM21;
-     FIXED  eM22;
-} MAT2,  *LPMAT2;
-
-
-
-typedef struct _GLYPHMETRICS {
-    UINT    gmBlackBoxX;
-    UINT    gmBlackBoxY;
-    POINT   gmptGlyphOrigin;
-    short   gmCellIncX;
-    short   gmCellIncY;
-} GLYPHMETRICS,  *LPGLYPHMETRICS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagPOINTFX
-{
-    FIXED x;
-    FIXED y;
-} POINTFX, * LPPOINTFX;
-
-typedef struct tagTTPOLYCURVE
-{
-    WORD    wType;
-    WORD    cpfx;
-    POINTFX apfx[1];
-} TTPOLYCURVE, * LPTTPOLYCURVE;
-
-typedef struct tagTTPOLYGONHEADER
-{
-    DWORD   cb;
-    DWORD   dwType;
-    POINTFX pfxStart;
-} TTPOLYGONHEADER, * LPTTPOLYGONHEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagGCP_RESULTSA
-    {
-    DWORD   lStructSize;
-    LPSTR     lpOutString;
-    UINT  *lpOrder;
-    int   *lpDx;
-    int   *lpCaretPos;
-    LPSTR   lpClass;
-    LPWSTR  lpGlyphs;
-    UINT    nGlyphs;
-    int     nMaxFit;
-    } GCP_RESULTSA, * LPGCP_RESULTSA;
-typedef struct tagGCP_RESULTSW
-    {
-    DWORD   lStructSize;
-    LPWSTR    lpOutString;
-    UINT  *lpOrder;
-    int   *lpDx;
-    int   *lpCaretPos;
-    LPSTR   lpClass;
-    LPWSTR  lpGlyphs;
-    UINT    nGlyphs;
-    int     nMaxFit;
-    } GCP_RESULTSW, * LPGCP_RESULTSW;
-
-typedef GCP_RESULTSW GCP_RESULTS;
-typedef LPGCP_RESULTSW LPGCP_RESULTS;
-
-
-
-
-
-
-typedef struct _RASTERIZER_STATUS {
-    short   nSize;
-    short   wFlags;
-    short   nLanguageID;
-} RASTERIZER_STATUS,  *LPRASTERIZER_STATUS;
-
-
-
-
-
-
-typedef struct tagPIXELFORMATDESCRIPTOR
-{
-    WORD  nSize;
-    WORD  nVersion;
-    DWORD dwFlags;
-    BYTE  iPixelType;
-    BYTE  cColorBits;
-    BYTE  cRedBits;
-    BYTE  cRedShift;
-    BYTE  cGreenBits;
-    BYTE  cGreenShift;
-    BYTE  cBlueBits;
-    BYTE  cBlueShift;
-    BYTE  cAlphaBits;
-    BYTE  cAlphaShift;
-    BYTE  cAccumBits;
-    BYTE  cAccumRedBits;
-    BYTE  cAccumGreenBits;
-    BYTE  cAccumBlueBits;
-    BYTE  cAccumAlphaBits;
-    BYTE  cDepthBits;
-    BYTE  cStencilBits;
-    BYTE  cAuxBuffers;
-    BYTE  iLayerType;
-    BYTE  bReserved;
-    DWORD dwLayerMask;
-    DWORD dwVisibleMask;
-    DWORD dwDamageMask;
-} PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR,  *LPPIXELFORMATDESCRIPTOR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int (__stdcall* OLDFONTENUMPROCA)(const LOGFONTA *, const TEXTMETRICA *, DWORD, LPARAM);
-typedef int (__stdcall* OLDFONTENUMPROCW)(const LOGFONTW *, const TEXTMETRICW *, DWORD, LPARAM);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef OLDFONTENUMPROCA    FONTENUMPROCA;
-typedef OLDFONTENUMPROCW    FONTENUMPROCW;
-
-typedef FONTENUMPROCW FONTENUMPROC;
-
-
-
-
-typedef int (__stdcall* GOBJENUMPROC)(LPVOID, LPARAM);
-typedef void (__stdcall* LINEDDAPROC)(int, int, LPARAM);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) int __stdcall AddFontResourceA(     LPCSTR);
-__declspec(dllimport) int __stdcall AddFontResourceW(     LPCWSTR);
-
-
-
-
-
-
-__declspec(dllimport) BOOL	__stdcall AnimatePalette(      HPALETTE hPal,      UINT iStartIndex,     	UINT cEntries,        const PALETTEENTRY * ppe);
-__declspec(dllimport) BOOL	__stdcall Arc(      HDC hdc,      int x1,      int y1,      int x2,      int y2,      int x3,      int y3,      int x4,      int y4);
-__declspec(dllimport) BOOL	__stdcall BitBlt(      HDC hdc,      int x,      int y,      int cx,      int cy,        HDC hdcSrc,      int x1,      int y1,      DWORD rop);
-__declspec(dllimport) BOOL  __stdcall CancelDC(      HDC hdc);
-__declspec(dllimport) BOOL  __stdcall Chord(      HDC hdc,      int x1,      int y1,      int x2,      int y2,      int x3,      int y3,      int x4,      int y4);
-__declspec(dllimport) int   __stdcall ChoosePixelFormat(      HDC hdc,      const PIXELFORMATDESCRIPTOR *ppfd);
-__declspec(dllimport) HMETAFILE  __stdcall CloseMetaFile(      HDC hdc);
-__declspec(dllimport) int     __stdcall CombineRgn(        HRGN hrgnDst,        HRGN hrgnSrc1,        HRGN hrgnSrc2,      int iMode);
-__declspec(dllimport) HMETAFILE __stdcall CopyMetaFileA(      HMETAFILE,        LPCSTR);
-__declspec(dllimport) HMETAFILE __stdcall CopyMetaFileW(      HMETAFILE,        LPCWSTR);
-
-
-
-
-
-__declspec(dllimport) HBITMAP __stdcall CreateBitmap(      int nWidth,      int nHeight,      UINT nPlanes,      UINT nBitCount,        const void *lpBits);
-__declspec(dllimport) HBITMAP __stdcall CreateBitmapIndirect(      const BITMAP *pbm);
-__declspec(dllimport) HBRUSH  __stdcall CreateBrushIndirect(      const LOGBRUSH *plbrush);
-__declspec(dllimport) HBITMAP __stdcall CreateCompatibleBitmap(      HDC hdc,      int cx,      int cy);
-__declspec(dllimport) HBITMAP __stdcall CreateDiscardableBitmap(      HDC hdc,      int cx,      int cy);
-__declspec(dllimport) HDC     __stdcall CreateCompatibleDC(        HDC hdc);
-__declspec(dllimport) HDC     __stdcall CreateDCA(        LPCSTR pwszDriver,        LPCSTR pwszDevice,        LPCSTR pszPort,        const DEVMODEA * pdm);
-__declspec(dllimport) HDC     __stdcall CreateDCW(        LPCWSTR pwszDriver,        LPCWSTR pwszDevice,        LPCWSTR pszPort,        const DEVMODEW * pdm);
-
-
-
-
-
-__declspec(dllimport) HBITMAP __stdcall CreateDIBitmap(      HDC hdc,        const BITMAPINFOHEADER *pbmih,      DWORD flInit,        const void *pjBits,        const BITMAPINFO *pbmi,      UINT iUsage);
-__declspec(dllimport) HBRUSH  __stdcall CreateDIBPatternBrush(      HGLOBAL h,      UINT iUsage);
-__declspec(dllimport) HBRUSH  __stdcall CreateDIBPatternBrushPt(      const void *lpPackedDIB,      UINT iUsage);
-__declspec(dllimport) HRGN    __stdcall CreateEllipticRgn(      int x1,      int y1,      int x2,      int y2);
-__declspec(dllimport) HRGN    __stdcall CreateEllipticRgnIndirect(      const RECT *lprect);
-__declspec(dllimport) HFONT   __stdcall CreateFontIndirectA(      const LOGFONTA *lplf);
-__declspec(dllimport) HFONT   __stdcall CreateFontIndirectW(      const LOGFONTW *lplf);
-
-
-
-
-
-__declspec(dllimport) HFONT   __stdcall CreateFontA(      int cHeight,      int cWidth,      int cEscapement,      int cOrientation,      int cWeight,      DWORD bItalic,
-                                  DWORD bUnderline,      DWORD bStrikeOut,      DWORD iCharSet,      DWORD iOutPrecision,      DWORD iClipPrecision,
-                                  DWORD iQuality,      DWORD iPitchAndFamily,        LPCSTR pszFaceName);
-__declspec(dllimport) HFONT   __stdcall CreateFontW(      int cHeight,      int cWidth,      int cEscapement,      int cOrientation,      int cWeight,      DWORD bItalic,
-                                  DWORD bUnderline,      DWORD bStrikeOut,      DWORD iCharSet,      DWORD iOutPrecision,      DWORD iClipPrecision,
-                                  DWORD iQuality,      DWORD iPitchAndFamily,        LPCWSTR pszFaceName);
-
-
-
-
-
-
-__declspec(dllimport) HBRUSH  __stdcall CreateHatchBrush(      int iHatch,      COLORREF color);
-__declspec(dllimport) HDC     __stdcall CreateICA(        LPCSTR pszDriver,        LPCSTR pszDevice,        LPCSTR pszPort,        const DEVMODEA * pdm);
-__declspec(dllimport) HDC     __stdcall CreateICW(        LPCWSTR pszDriver,        LPCWSTR pszDevice,        LPCWSTR pszPort,        const DEVMODEW * pdm);
-
-
-
-
-
-__declspec(dllimport) HDC     __stdcall CreateMetaFileA(        LPCSTR pszFile);
-__declspec(dllimport) HDC     __stdcall CreateMetaFileW(        LPCWSTR pszFile);
-
-
-
-
-
-__declspec(dllimport) HPALETTE __stdcall CreatePalette(      const LOGPALETTE * plpal);
-__declspec(dllimport) HPEN    __stdcall CreatePen(      int iStyle,      int cWidth,      COLORREF color);
-__declspec(dllimport) HPEN    __stdcall CreatePenIndirect(      const LOGPEN *plpen);
-__declspec(dllimport) HRGN    __stdcall CreatePolyPolygonRgn(       const POINT *pptl,
-                                                     const INT  *pc,
-                                                     int cPoly,
-                                                     int iMode);
-__declspec(dllimport) HBRUSH  __stdcall CreatePatternBrush(      HBITMAP hbm);
-__declspec(dllimport) HRGN    __stdcall CreateRectRgn(      int x1,      int y1,      int x2,      int y2);
-__declspec(dllimport) HRGN    __stdcall CreateRectRgnIndirect(      const RECT *lprect);
-__declspec(dllimport) HRGN    __stdcall CreateRoundRectRgn(      int x1,      int y1,      int x2,      int y2,      int w,      int h);
-__declspec(dllimport) BOOL    __stdcall CreateScalableFontResourceA(      DWORD fdwHidden,      LPCSTR lpszFont,      LPCSTR lpszFile,        LPCSTR lpszPath);
-__declspec(dllimport) BOOL    __stdcall CreateScalableFontResourceW(      DWORD fdwHidden,      LPCWSTR lpszFont,      LPCWSTR lpszFile,        LPCWSTR lpszPath);
-
-
-
-
-
-__declspec(dllimport) HBRUSH  __stdcall CreateSolidBrush(      COLORREF color);
-
-__declspec(dllimport) BOOL __stdcall DeleteDC(      HDC hdc);
-__declspec(dllimport) BOOL __stdcall DeleteMetaFile(      HMETAFILE hmf);
-__declspec(dllimport) BOOL __stdcall DeleteObject(      HGDIOBJ ho);
-__declspec(dllimport) int  __stdcall DescribePixelFormat(       HDC hdc, 
-                                                 int iPixelFormat, 
-                                                 UINT nBytes,
-                                                   LPPIXELFORMATDESCRIPTOR ppfd);
-
-
-
-
-
-typedef UINT   (__stdcall* LPFNDEVMODE)(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT);
-
-typedef DWORD  (__stdcall* LPFNDEVCAPS)(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-DeviceCapabilitiesA(
-         LPCSTR pDevice,
-           LPCSTR pPort,
-         WORD fwCapability,
-           LPSTR pOutput,
-           const DEVMODEA * pDevMode
-    );
-__declspec(dllimport)
-int
-__stdcall
-DeviceCapabilitiesW(
-         LPCWSTR pDevice,
-           LPCWSTR pPort,
-         WORD fwCapability,
-           LPWSTR pOutput,
-           const DEVMODEW * pDevMode
-    );
-
-
-
-
-
-
-__declspec(dllimport) int  __stdcall DrawEscape(        HDC    hdc,         
-                                         int    iEscape,     
-                                         int    cjIn,        
-                                             LPCSTR lpIn);
-__declspec(dllimport) BOOL __stdcall Ellipse(      HDC hdc,      int left,      int top,       int right,      int bottom);
-
-
-__declspec(dllimport) int  __stdcall EnumFontFamiliesExA(      HDC hdc,      LPLOGFONTA lpLogfont,      FONTENUMPROCA lpProc,      LPARAM lParam,      DWORD dwFlags);
-__declspec(dllimport) int  __stdcall EnumFontFamiliesExW(      HDC hdc,      LPLOGFONTW lpLogfont,      FONTENUMPROCW lpProc,      LPARAM lParam,      DWORD dwFlags);
-
-
-
-
-
-
-
-__declspec(dllimport) int  __stdcall EnumFontFamiliesA(      HDC hdc,        LPCSTR lpLogfont,      FONTENUMPROCA lpProc,      LPARAM lParam);
-__declspec(dllimport) int  __stdcall EnumFontFamiliesW(      HDC hdc,        LPCWSTR lpLogfont,      FONTENUMPROCW lpProc,      LPARAM lParam);
-
-
-
-
-
-__declspec(dllimport) int  __stdcall EnumFontsA(      HDC hdc,        LPCSTR lpLogfont,       FONTENUMPROCA lpProc,      LPARAM lParam);
-__declspec(dllimport) int  __stdcall EnumFontsW(      HDC hdc,        LPCWSTR lpLogfont,       FONTENUMPROCW lpProc,      LPARAM lParam);
-
-
-
-
-
-
-
-__declspec(dllimport) int  __stdcall EnumObjects(      HDC hdc,      int nType,      GOBJENUMPROC lpFunc,      LPARAM lParam);
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall EqualRgn(      HRGN hrgn1,      HRGN hrgn2);
-__declspec(dllimport) int  __stdcall Escape(        HDC hdc,           
-                                     int iEscape,       
-                                     int cjIn,          
-                                         LPCSTR pvIn,
-                                       LPVOID pvOut);
-__declspec(dllimport) int  __stdcall ExtEscape(         HDC hdc,         
-                                         int iEscape,     
-                                         int cjInput,     
-                                             LPCSTR lpInData,  
-                                         int cjOutput,   
-                                           LPSTR lpOutData);
-__declspec(dllimport) int  __stdcall ExcludeClipRect(      HDC hdc,      int left,      int top,      int right,      int bottom);
-__declspec(dllimport) HRGN __stdcall ExtCreateRegion(        const XFORM * lpx,      DWORD nCount,        const RGNDATA * lpData);
-__declspec(dllimport) BOOL __stdcall ExtFloodFill(      HDC hdc,      int x,      int y,      COLORREF color,      UINT type);
-__declspec(dllimport) BOOL __stdcall FillRgn(      HDC hdc,      HRGN hrgn,      HBRUSH hbr);
-__declspec(dllimport) BOOL __stdcall FloodFill(      HDC hdc,      int x,      int y,      COLORREF color);
-__declspec(dllimport) BOOL __stdcall FrameRgn(      HDC hdc,      HRGN hrgn,      HBRUSH hbr,      int w,      int h);
-__declspec(dllimport) int  __stdcall GetROP2(      HDC hdc);
-__declspec(dllimport) BOOL __stdcall GetAspectRatioFilterEx(      HDC hdc,      LPSIZE lpsize);
-__declspec(dllimport) COLORREF __stdcall GetBkColor(      HDC hdc);
-
-
-__declspec(dllimport) COLORREF __stdcall GetDCBrushColor(      HDC hdc);
-__declspec(dllimport) COLORREF __stdcall GetDCPenColor(      HDC hdc);
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetBkMode(
-         HDC hdc
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-GetBitmapBits(
-         HBITMAP hbit,
-         LONG cb,
-         LPVOID lpvBits
-    );
-
-__declspec(dllimport) BOOL  __stdcall GetBitmapDimensionEx(      HBITMAP hbit,      LPSIZE lpsize);
-__declspec(dllimport) UINT  __stdcall GetBoundsRect(      HDC hdc,      LPRECT lprect,      UINT flags);
-
-__declspec(dllimport) BOOL  __stdcall GetBrushOrgEx(      HDC hdc,      LPPOINT lppt);
-
-__declspec(dllimport) BOOL  __stdcall GetCharWidthA(      HDC hdc,      UINT iFirst,      UINT iLast,      LPINT lpBuffer);
-__declspec(dllimport) BOOL  __stdcall GetCharWidthW(      HDC hdc,      UINT iFirst,      UINT iLast,      LPINT lpBuffer);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetCharWidth32A(      HDC hdc,      UINT iFirst,      UINT iLast,       LPINT lpBuffer);
-__declspec(dllimport) BOOL  __stdcall GetCharWidth32W(      HDC hdc,      UINT iFirst,      UINT iLast,       LPINT lpBuffer);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetCharWidthFloatA(      HDC hdc,      UINT iFirst,      UINT iLast,      PFLOAT lpBuffer);
-__declspec(dllimport) BOOL  __stdcall GetCharWidthFloatW(      HDC hdc,      UINT iFirst,      UINT iLast,      PFLOAT lpBuffer);
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetCharABCWidthsA(      HDC hdc, 
-                                                 UINT wFirst, 
-                                                 UINT wLast, 
-                                                 LPABC lpABC);
-__declspec(dllimport) BOOL  __stdcall GetCharABCWidthsW(      HDC hdc, 
-                                                 UINT wFirst, 
-                                                 UINT wLast, 
-                                                 LPABC lpABC);
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetCharABCWidthsFloatA(      HDC hdc,      UINT iFirst,      UINT iLast,      LPABCFLOAT lpABC);
-__declspec(dllimport) BOOL  __stdcall GetCharABCWidthsFloatW(      HDC hdc,      UINT iFirst,      UINT iLast,      LPABCFLOAT lpABC);
-
-
-
-
-
-__declspec(dllimport) int   __stdcall GetClipBox(      HDC hdc,       LPRECT lprect);
-__declspec(dllimport) int	__stdcall GetClipRgn(      HDC hdc,      HRGN hrgn);
-__declspec(dllimport) int	__stdcall GetMetaRgn(      HDC hdc,      HRGN hrgn);
-__declspec(dllimport) HGDIOBJ __stdcall GetCurrentObject(      HDC hdc,      UINT type);
-__declspec(dllimport) BOOL  __stdcall GetCurrentPositionEx(      HDC hdc,       LPPOINT lppt);
-__declspec(dllimport) int   __stdcall GetDeviceCaps(        HDC hdc,      int index);
-__declspec(dllimport) int   __stdcall GetDIBits(      HDC hdc,      HBITMAP hbm,      UINT start,      UINT cLines,         LPVOID lpvBits,      LPBITMAPINFO lpbmi,      UINT usage);
-
-__declspec(dllimport) DWORD __stdcall GetFontData (         HDC     hdc,
-                                             DWORD   dwTable,
-                                             DWORD   dwOffset,
-                                                 PVOID pvBuffer,
-                                             DWORD   cjBuffer
-                                        );
-
-__declspec(dllimport) DWORD __stdcall GetGlyphOutlineA(         HDC hdc,
-                                                 UINT uChar,
-                                                 UINT fuFormat,
-                                                 LPGLYPHMETRICS lpgm,
-                                                 DWORD cjBuffer,
-                                                   LPVOID pvBuffer,
-                                                 const MAT2 *lpmat2
-                                        );
-__declspec(dllimport) DWORD __stdcall GetGlyphOutlineW(         HDC hdc,
-                                                 UINT uChar,
-                                                 UINT fuFormat,
-                                                 LPGLYPHMETRICS lpgm,
-                                                 DWORD cjBuffer,
-                                                   LPVOID pvBuffer,
-                                                 const MAT2 *lpmat2
-                                        );
-
-
-
-
-
-
-__declspec(dllimport) int   __stdcall GetGraphicsMode(      HDC hdc);
-__declspec(dllimport) int   __stdcall GetMapMode(      HDC hdc);
-__declspec(dllimport) UINT  __stdcall GetMetaFileBitsEx(     HMETAFILE hMF,      UINT cbBuffer,        LPVOID lpData);
-__declspec(dllimport) HMETAFILE   __stdcall GetMetaFileA(      LPCSTR lpName);
-__declspec(dllimport) HMETAFILE   __stdcall GetMetaFileW(      LPCWSTR lpName);
-
-
-
-
-
-__declspec(dllimport) COLORREF __stdcall GetNearestColor(      HDC hdc,      COLORREF color);
-__declspec(dllimport) UINT  __stdcall GetNearestPaletteIndex(      HPALETTE h,      COLORREF color);
-__declspec(dllimport) DWORD __stdcall GetObjectType(      HGDIOBJ h);
-
-
-
-__declspec(dllimport) UINT __stdcall GetOutlineTextMetricsA(      HDC hdc, 
-                                                     UINT cjCopy, 
-                                                       LPOUTLINETEXTMETRICA potm);
-__declspec(dllimport) UINT __stdcall GetOutlineTextMetricsW(      HDC hdc, 
-                                                     UINT cjCopy, 
-                                                       LPOUTLINETEXTMETRICW potm);
-
-
-
-
-
-
-
-
-__declspec(dllimport) UINT	__stdcall GetPaletteEntries(        HPALETTE hpal,
-                                                 UINT iStart,
-                                                 UINT cEntries,
-                                                 LPPALETTEENTRY pPalEntries);
-__declspec(dllimport) COLORREF __stdcall GetPixel(      HDC hdc,      int x,      int y);
-__declspec(dllimport) int   __stdcall GetPixelFormat(      HDC hdc);
-__declspec(dllimport) int   __stdcall GetPolyFillMode(      HDC hdc);
-__declspec(dllimport) BOOL  __stdcall GetRasterizerCaps(        LPRASTERIZER_STATUS lpraststat, 
-                                                 UINT cjBytes);
-
-__declspec(dllimport) int   __stdcall GetRandomRgn (     HDC hdc,      HRGN hrgn,      INT i);
-__declspec(dllimport) DWORD __stdcall GetRegionData(        HRGN hrgn,
-                                             DWORD nCount,
-                                                 LPRGNDATA lpRgnData);
-__declspec(dllimport) int   __stdcall GetRgnBox(      HRGN hrgn,       LPRECT lprc);
-__declspec(dllimport) HGDIOBJ __stdcall GetStockObject(      int i);
-__declspec(dllimport) int   __stdcall GetStretchBltMode(     HDC hdc);
-__declspec(dllimport)
-UINT
-__stdcall
-GetSystemPaletteEntries(
-         HDC  hdc,
-         UINT iStart,
-         UINT cEntries,
-           LPPALETTEENTRY pPalEntries
-    );
-
-__declspec(dllimport) UINT  __stdcall GetSystemPaletteUse(     HDC hdc);
-__declspec(dllimport) int   __stdcall GetTextCharacterExtra(     HDC hdc);
-__declspec(dllimport) UINT  __stdcall GetTextAlign(     HDC hdc);
-__declspec(dllimport) COLORREF __stdcall GetTextColor(     HDC hdc);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTextExtentPointA(
-         HDC hdc,
-           LPCSTR lpString,
-         int c,
-         LPSIZE lpsz
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTextExtentPointW(
-         HDC hdc,
-           LPCWSTR lpString,
-         int c,
-         LPSIZE lpsz
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTextExtentPoint32A(
-         HDC hdc,
-           LPCSTR lpString,
-         int c,
-         LPSIZE psizl
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTextExtentPoint32W(
-         HDC hdc,
-           LPCWSTR lpString,
-         int c,
-         LPSIZE psizl
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTextExtentExPointA(
-         HDC hdc,
-           LPCSTR lpszString,
-         int cchString,
-         int nMaxExtent,
-           LPINT lpnFit,
-             LPINT lpnDx,
-         LPSIZE lpSize
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTextExtentExPointW(
-         HDC hdc,
-           LPCWSTR lpszString,
-         int cchString,
-         int nMaxExtent,
-           LPINT lpnFit,
-             LPINT lpnDx,
-         LPSIZE lpSize
-    );
-
-
-
-
-
-
-
-__declspec(dllimport) int __stdcall GetTextCharset(      HDC hdc);
-__declspec(dllimport) int __stdcall GetTextCharsetInfo(      HDC hdc,        LPFONTSIGNATURE lpSig,      DWORD dwFlags);
-__declspec(dllimport) BOOL __stdcall TranslateCharsetInfo(      DWORD  *lpSrc,       LPCHARSETINFO lpCs,      DWORD dwFlags);
-__declspec(dllimport) DWORD __stdcall GetFontLanguageInfo(      HDC hdc);
-__declspec(dllimport) DWORD __stdcall GetCharacterPlacementA(       HDC hdc,        LPCSTR lpString,      int nCount,      int nMexExtent,      LPGCP_RESULTSA lpResults,      DWORD dwFlags);
-__declspec(dllimport) DWORD __stdcall GetCharacterPlacementW(       HDC hdc,        LPCWSTR lpString,      int nCount,      int nMexExtent,      LPGCP_RESULTSW lpResults,      DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-typedef struct tagWCRANGE
-{
-    WCHAR  wcLow;
-    USHORT cGlyphs;
-} WCRANGE, *PWCRANGE, *LPWCRANGE;
-
-
-typedef struct tagGLYPHSET
-{
-    DWORD    cbThis;
-    DWORD    flAccel;
-    DWORD    cGlyphsSupported;
-    DWORD    cRanges;
-    WCRANGE  ranges[1];
-} GLYPHSET, *PGLYPHSET,  *LPGLYPHSET;
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) DWORD __stdcall GetFontUnicodeRanges(      HDC hdc,        LPGLYPHSET lpgs);
-__declspec(dllimport) DWORD __stdcall GetGlyphIndicesA(      HDC hdc,        LPCSTR lpstr,      int c,      LPWORD pgi,      DWORD fl);
-__declspec(dllimport) DWORD __stdcall GetGlyphIndicesW(      HDC hdc,        LPCWSTR lpstr,      int c,      LPWORD pgi,      DWORD fl);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetTextExtentPointI(     HDC hdc,        LPWORD pgiIn,      int cgi,      LPSIZE psize);
-__declspec(dllimport) BOOL	__stdcall GetTextExtentExPointI (       HDC hdc,
-                                                       LPWORD lpwszString,
-                                                     int cwchString,
-                                                     int nMaxExtent,
-                                                       LPINT lpnFit,
-                                                         LPINT lpnDx,
-                                                     LPSIZE lpSize
-                                                );
-
-__declspec(dllimport) BOOL  __stdcall GetCharWidthI(        HDC hdc,
-                                             UINT giFirst,
-                                             UINT cgi,
-                                                 LPWORD pgi,
-                                             LPINT piWidths
-                                        );
-
-__declspec(dllimport) BOOL  __stdcall GetCharABCWidthsI(        HDC    hdc,
-                                                 UINT   giFirst,
-                                                 UINT   cgi,
-                                                     LPWORD pgi,
-                                                 LPABC  pabc
-                                        );
-
-
-
-
-
-
-
-
-typedef struct tagDESIGNVECTOR
-{
-    DWORD  dvReserved;
-    DWORD  dvNumAxes;
-    LONG   dvValues[16];
-} DESIGNVECTOR, *PDESIGNVECTOR,  *LPDESIGNVECTOR;
-
-__declspec(dllimport) int  __stdcall AddFontResourceExA(      LPCSTR name,      DWORD fl,   PVOID res);
-__declspec(dllimport) int  __stdcall AddFontResourceExW(      LPCWSTR name,      DWORD fl,   PVOID res);
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall RemoveFontResourceExA(      LPCSTR name,      DWORD fl,   PVOID pdv);
-__declspec(dllimport) BOOL __stdcall RemoveFontResourceExW(      LPCWSTR name,      DWORD fl,   PVOID pdv);
-
-
-
-
-
-__declspec(dllimport) HANDLE __stdcall AddFontMemResourceEx(          PVOID pFileView,
-                                                     DWORD cjSize,
-                                                  PVOID pvResrved,
-                                                     DWORD* pNumFonts);
-
-__declspec(dllimport) BOOL __stdcall RemoveFontMemResourceEx(      HANDLE h);
-
-
-
-
-
-
-
-
-
-typedef struct tagAXISINFOA
-{
-    LONG   axMinValue;
-    LONG   axMaxValue;
-    BYTE   axAxisName[16];
-} AXISINFOA, *PAXISINFOA,  *LPAXISINFOA;
-typedef struct tagAXISINFOW
-{
-    LONG   axMinValue;
-    LONG   axMaxValue;
-    WCHAR  axAxisName[16];
-} AXISINFOW, *PAXISINFOW,  *LPAXISINFOW;
-
-typedef AXISINFOW AXISINFO;
-typedef PAXISINFOW PAXISINFO;
-typedef LPAXISINFOW LPAXISINFO;
-
-
-
-
-
-
-typedef struct tagAXESLISTA
-{
-    DWORD     axlReserved;
-    DWORD     axlNumAxes;
-    AXISINFOA axlAxisInfo[16];
-} AXESLISTA, *PAXESLISTA,  *LPAXESLISTA;
-typedef struct tagAXESLISTW
-{
-    DWORD     axlReserved;
-    DWORD     axlNumAxes;
-    AXISINFOW axlAxisInfo[16];
-} AXESLISTW, *PAXESLISTW,  *LPAXESLISTW;
-
-typedef AXESLISTW AXESLIST;
-typedef PAXESLISTW PAXESLIST;
-typedef LPAXESLISTW LPAXESLIST;
-
-
-
-
-
-
-
-
-
-
-typedef struct tagENUMLOGFONTEXDVA
-{
-    ENUMLOGFONTEXA elfEnumLogfontEx;
-    DESIGNVECTOR   elfDesignVector;
-} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA,  *LPENUMLOGFONTEXDVA;
-typedef struct tagENUMLOGFONTEXDVW
-{
-    ENUMLOGFONTEXW elfEnumLogfontEx;
-    DESIGNVECTOR   elfDesignVector;
-} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW,  *LPENUMLOGFONTEXDVW;
-
-typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
-typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
-typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
-
-
-
-
-
-
-__declspec(dllimport) HFONT  __stdcall CreateFontIndirectExA(      const ENUMLOGFONTEXDVA *);
-__declspec(dllimport) HFONT  __stdcall CreateFontIndirectExW(      const ENUMLOGFONTEXDVW *);
-
-
-
-
-
-
-
-typedef struct tagENUMTEXTMETRICA
-{
-    NEWTEXTMETRICEXA etmNewTextMetricEx;
-    AXESLISTA        etmAxesList;
-} ENUMTEXTMETRICA, *PENUMTEXTMETRICA,  *LPENUMTEXTMETRICA;
-typedef struct tagENUMTEXTMETRICW
-{
-    NEWTEXTMETRICEXW etmNewTextMetricEx;
-    AXESLISTW        etmAxesList;
-} ENUMTEXTMETRICW, *PENUMTEXTMETRICW,  *LPENUMTEXTMETRICW;
-
-typedef ENUMTEXTMETRICW ENUMTEXTMETRIC;
-typedef PENUMTEXTMETRICW PENUMTEXTMETRIC;
-typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC;
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetViewportExtEx(      HDC hdc,      LPSIZE lpsize);
-__declspec(dllimport) BOOL  __stdcall GetViewportOrgEx(      HDC hdc,      LPPOINT lppoint);
-__declspec(dllimport) BOOL  __stdcall GetWindowExtEx(      HDC hdc,      LPSIZE lpsize);
-__declspec(dllimport) BOOL  __stdcall GetWindowOrgEx(      HDC hdc,      LPPOINT lppoint);
-
-__declspec(dllimport) int  __stdcall IntersectClipRect(      HDC hdc,      int left,      int top,      int right,      int bottom);
-__declspec(dllimport) BOOL __stdcall InvertRgn(      HDC hdc,      HRGN hrgn);
-__declspec(dllimport) BOOL __stdcall LineDDA(      int xStart,      int yStart,      int xEnd,      int yEnd,      LINEDDAPROC lpProc,        LPARAM data);
-__declspec(dllimport) BOOL __stdcall LineTo(      HDC hdc,      int x,      int y);
-__declspec(dllimport) BOOL __stdcall MaskBlt(      HDC hdcDest,      int xDest,      int yDest,      int width,      int height,
-                   HDC hdcSrc,      int xSrc,      int ySrc,      HBITMAP hbmMask,      int xMask,      int yMask,      DWORD rop);
-__declspec(dllimport) BOOL __stdcall PlgBlt(      HDC hdcDest,        const POINT * lpPoint,      HDC hdcSrc,      int xSrc,      int ySrc,      int width,
-                          int height,        HBITMAP hbmMask,      int xMask,      int yMask);
-
-__declspec(dllimport) int  __stdcall OffsetClipRgn(     HDC hdc,      int x,      int y);
-__declspec(dllimport) int  __stdcall OffsetRgn(     HRGN hrgn,      int x,      int y);
-__declspec(dllimport) BOOL __stdcall PatBlt(     HDC hdc,      int x,      int y,      int w,      int h,      DWORD rop);
-__declspec(dllimport) BOOL __stdcall Pie(     HDC hdc,      int left,      int top,      int right,      int bottom,      int xr1,      int yr1,      int xr2,      int yr2);
-__declspec(dllimport) BOOL __stdcall PlayMetaFile(     HDC hdc,      HMETAFILE hmf);
-__declspec(dllimport) BOOL __stdcall PaintRgn(     HDC hdc,      HRGN hrgn);
-__declspec(dllimport) BOOL __stdcall PolyPolygon(     HDC hdc,       const POINT *apt,         const INT *asz,       int csz);
-__declspec(dllimport) BOOL __stdcall PtInRegion(     HRGN hrgn,      int x,      int y);
-__declspec(dllimport) BOOL __stdcall PtVisible(     HDC hdc,      int x,      int y);
-__declspec(dllimport) BOOL __stdcall RectInRegion(     HRGN hrgn,      const RECT * lprect);
-__declspec(dllimport) BOOL __stdcall RectVisible(     HDC hdc,      const RECT * lprect);
-__declspec(dllimport) BOOL __stdcall Rectangle(     HDC hdc,      int left,      int top,      int right,      int bottom);
-__declspec(dllimport) BOOL __stdcall RestoreDC(     HDC hdc,      int nSavedDC);
-__declspec(dllimport) HDC  __stdcall ResetDCA(     HDC hdc,      const DEVMODEA * lpdm);
-__declspec(dllimport) HDC  __stdcall ResetDCW(     HDC hdc,      const DEVMODEW * lpdm);
-
-
-
-
-
-__declspec(dllimport) UINT __stdcall RealizePalette(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall RemoveFontResourceA(     LPCSTR lpFileName);
-__declspec(dllimport) BOOL __stdcall RemoveFontResourceW(     LPCWSTR lpFileName);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall RoundRect(     HDC hdc,      int left,      int top,      int right,      int bottom,      int width,      int height);
-__declspec(dllimport) BOOL __stdcall ResizePalette(     HPALETTE hpal,      UINT n);
-
-__declspec(dllimport) int  __stdcall SaveDC(     HDC hdc);
-__declspec(dllimport) int  __stdcall SelectClipRgn(     HDC hdc,        HRGN hrgn);
-__declspec(dllimport) int  __stdcall ExtSelectClipRgn(     HDC hdc,        HRGN hrgn,      int mode);
-__declspec(dllimport) int  __stdcall SetMetaRgn(     HDC hdc);
-__declspec(dllimport) HGDIOBJ __stdcall SelectObject(     HDC hdc,      HGDIOBJ h);
-__declspec(dllimport) HPALETTE __stdcall SelectPalette(     HDC hdc,      HPALETTE hPal,      BOOL bForceBkgd);
-__declspec(dllimport) COLORREF __stdcall SetBkColor(     HDC hdc,      COLORREF color);
-
-
-__declspec(dllimport) COLORREF __stdcall SetDCBrushColor(     HDC hdc,      COLORREF color);
-__declspec(dllimport) COLORREF __stdcall SetDCPenColor(     HDC hdc,      COLORREF color);
-
-
-__declspec(dllimport) int   __stdcall SetBkMode(     HDC hdc,      int mode);
-
-__declspec(dllimport)
-LONG __stdcall
-SetBitmapBits(
-         HBITMAP hbm,
-         DWORD cb,
-           const void *pvBits);
-
-__declspec(dllimport) UINT  __stdcall SetBoundsRect(     HDC hdc,        const RECT * lprect,      UINT flags);
-__declspec(dllimport) int	__stdcall SetDIBits(     HDC hdc,      HBITMAP hbm,      UINT start,      UINT cLines,      const void *lpBits,      const BITMAPINFO * lpbmi,      UINT ColorUse);
-__declspec(dllimport) int   __stdcall SetDIBitsToDevice(     HDC hdc,      int xDest,      int yDest,      DWORD w,      DWORD h,      int xSrc,
-             int ySrc,      UINT StartScan,      UINT cLines,      const void * lpvBits,      const BITMAPINFO * lpbmi,      UINT ColorUse);
-__declspec(dllimport) DWORD __stdcall SetMapperFlags(     HDC hdc,      DWORD flags);
-__declspec(dllimport) int   __stdcall SetGraphicsMode(     HDC hdc,      int iMode);
-__declspec(dllimport) int   __stdcall SetMapMode(     HDC hdc,      int iMode);
-
-
-__declspec(dllimport) DWORD __stdcall SetLayout(     HDC hdc,      DWORD l);
-__declspec(dllimport) DWORD __stdcall GetLayout(     HDC hdc);
-
-
-__declspec(dllimport) HMETAFILE   __stdcall SetMetaFileBitsEx(     UINT cbBuffer,        const BYTE *lpData);
-__declspec(dllimport) UINT  __stdcall SetPaletteEntries(        HPALETTE hpal,
-                                                 UINT iStart,
-                                                 UINT cEntries,
-                                                   const PALETTEENTRY *pPalEntries);
-__declspec(dllimport) COLORREF __stdcall SetPixel(     HDC hdc,      int x,      int y,      COLORREF color);
-__declspec(dllimport) BOOL   __stdcall SetPixelV(     HDC hdc,      int x,      int y,      COLORREF color);
-__declspec(dllimport) BOOL  __stdcall SetPixelFormat(     HDC hdc,      int format,      const PIXELFORMATDESCRIPTOR * ppfd);
-__declspec(dllimport) int   __stdcall SetPolyFillMode(     HDC hdc,      int mode);
-__declspec(dllimport) BOOL	 __stdcall StretchBlt(     HDC hdcDest,      int xDest,      int yDest,      int wDest,      int hDest,      HDC hdcSrc,      int xSrc,      int ySrc,      int wSrc,      int hSrc,      DWORD rop);
-__declspec(dllimport) BOOL   __stdcall SetRectRgn(     HRGN hrgn,      int left,      int top,      int right,      int bottom);
-__declspec(dllimport) int   __stdcall StretchDIBits(     HDC hdc,      int xDest,      int yDest,      int DestWidth,      int DestHeight,      int xSrc,      int ySrc,      int SrcWidth,      int SrcHeight,
-             const void * lpBits,      const BITMAPINFO * lpbmi,      UINT iUsage,      DWORD rop);
-__declspec(dllimport) int   __stdcall SetROP2(     HDC hdc,      int rop2);
-__declspec(dllimport) int   __stdcall SetStretchBltMode(     HDC hdc,      int mode);
-__declspec(dllimport) UINT  __stdcall SetSystemPaletteUse(     HDC hdc,      UINT use);
-__declspec(dllimport) int   __stdcall SetTextCharacterExtra(     HDC hdc,      int extra);
-__declspec(dllimport) COLORREF __stdcall SetTextColor(     HDC hdc,      COLORREF color);
-__declspec(dllimport) UINT  __stdcall SetTextAlign(     HDC hdc,      UINT align);
-__declspec(dllimport) BOOL  __stdcall SetTextJustification(     HDC hdc,      int extra,      int count);
-__declspec(dllimport) BOOL  __stdcall UpdateColors(     HDC hdc);
-
-
-
-
-
-
-
-typedef USHORT COLOR16;
-
-typedef struct _TRIVERTEX
-{
-    LONG    x;
-    LONG    y;
-    COLOR16 Red;
-    COLOR16 Green;
-    COLOR16 Blue;
-    COLOR16 Alpha;
-}TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX;
-
-typedef struct _GRADIENT_TRIANGLE
-{
-    ULONG Vertex1;
-    ULONG Vertex2;
-    ULONG Vertex3;
-} GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE;
-
-typedef struct _GRADIENT_RECT
-{
-    ULONG UpperLeft;
-    ULONG LowerRight;
-}GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT;
-
-typedef struct _BLENDFUNCTION
-{
-    BYTE   BlendOp;
-    BYTE   BlendFlags;
-    BYTE   SourceConstantAlpha;
-    BYTE   AlphaFormat;
-}BLENDFUNCTION,*PBLENDFUNCTION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall AlphaBlend(      HDC hdcDest,      int xoriginDest,      int yoriginDest,      int wDest,      int hDest,      HDC hdcSrc,      int xoriginSrc,      int yoriginSrc,      int wSrc,      int hSrc,      BLENDFUNCTION ftn);
-
-__declspec(dllimport) BOOL __stdcall TransparentBlt(     HDC hdcDest,     int xoriginDest,      int yoriginDest,      int wDest,      int hDest,      HDC hdcSrc,
-                                                int xoriginSrc,      int yoriginSrc,      int wSrc,      int hSrc,      UINT crTransparent);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GradientFill(
-         HDC hdc,
-           PTRIVERTEX pVertex,
-         ULONG nVertex,
-         PVOID pMesh,
-         ULONG nMesh,
-         ULONG ulMode
-    );
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall PlayMetaFileRecord(       HDC hdc,
-                                                   LPHANDLETABLE lpHandleTable,
-                                                 LPMETARECORD lpMR,
-                                                 UINT noObjs);
-
-typedef int (__stdcall* MFENUMPROC)(      HDC hdc,        HANDLETABLE * lpht,      METARECORD * lpMR,      int nObj,        LPARAM param);
-__declspec(dllimport) BOOL	__stdcall EnumMetaFile(      HDC hdc,      HMETAFILE hmf,      MFENUMPROC proc,        LPARAM param);
-
-typedef int (__stdcall* ENHMFENUMPROC)(     HDC hdc,        HANDLETABLE * lpht,      const ENHMETARECORD * lpmr,      int hHandles,        LPARAM data);
-
-
-
-__declspec(dllimport) HENHMETAFILE __stdcall CloseEnhMetaFile(      HDC hdc);
-__declspec(dllimport) HENHMETAFILE __stdcall CopyEnhMetaFileA(      HENHMETAFILE hEnh,        LPCSTR lpFileName);
-__declspec(dllimport) HENHMETAFILE __stdcall CopyEnhMetaFileW(      HENHMETAFILE hEnh,        LPCWSTR lpFileName);
-
-
-
-
-
-__declspec(dllimport) HDC   __stdcall CreateEnhMetaFileA(        HDC hdc,        LPCSTR lpFilename,        const RECT *lprc,        LPCSTR lpDesc);
-__declspec(dllimport) HDC   __stdcall CreateEnhMetaFileW(        HDC hdc,        LPCWSTR lpFilename,        const RECT *lprc,        LPCWSTR lpDesc);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall DeleteEnhMetaFile(      HENHMETAFILE hmf);
-__declspec(dllimport) BOOL  __stdcall EnumEnhMetaFile(        HDC hdc,      HENHMETAFILE hmf,      ENHMFENUMPROC proc,
-                                               LPVOID param,        const RECT * lpRect);
-__declspec(dllimport) HENHMETAFILE  __stdcall GetEnhMetaFileA(      LPCSTR lpName);
-__declspec(dllimport) HENHMETAFILE  __stdcall GetEnhMetaFileW(      LPCWSTR lpName);
-
-
-
-
-
-__declspec(dllimport) UINT	__stdcall GetEnhMetaFileBits(       HENHMETAFILE hEMF,
-                                                 UINT nSize,
-                                                   LPBYTE lpData);
-__declspec(dllimport) UINT	__stdcall GetEnhMetaFileDescriptionA(       HENHMETAFILE hemf,
-                                                         UINT cchBuffer,
-                                                           LPSTR lpDescription);
-__declspec(dllimport) UINT	__stdcall GetEnhMetaFileDescriptionW(       HENHMETAFILE hemf,
-                                                         UINT cchBuffer,
-                                                           LPWSTR lpDescription);
-
-
-
-
-
-__declspec(dllimport) UINT	__stdcall GetEnhMetaFileHeader(         HENHMETAFILE hemf,
-                                                     UINT nSize,
-                                                       LPENHMETAHEADER lpEnhMetaHeader);
-__declspec(dllimport) UINT	__stdcall GetEnhMetaFilePaletteEntries(     HENHMETAFILE hemf,
-                                                         UINT nNumEntries,
-                                                           LPPALETTEENTRY lpPaletteEntries);
-
-__declspec(dllimport) UINT  __stdcall GetEnhMetaFilePixelFormat(        HENHMETAFILE hemf,
-                                                         UINT cbBuffer,
-                                                           PIXELFORMATDESCRIPTOR *ppfd);
-__declspec(dllimport) UINT	__stdcall GetWinMetaFileBits(       HENHMETAFILE hemf,
-                                                 UINT cbData16,
-                                                   LPBYTE pData16,
-                                                 INT iMapMode,
-                                                 HDC hdcRef);
-__declspec(dllimport) BOOL  __stdcall PlayEnhMetaFile(      HDC hdc,      HENHMETAFILE hmf,      const RECT * lprect);
-__declspec(dllimport) BOOL  __stdcall PlayEnhMetaFileRecord(        HDC hdc,
-                                                       LPHANDLETABLE pht,
-                                                     const ENHMETARECORD *pmr,
-                                                     UINT cht);
-
-__declspec(dllimport) HENHMETAFILE  __stdcall SetEnhMetaFileBits(       UINT nSize,
-                                                           const BYTE * pb);
-
-__declspec(dllimport) HENHMETAFILE  __stdcall SetWinMetaFileBits(       UINT nSize,
-                                                           const BYTE *lpMeta16Data,
-                                                           HDC hdcRef,
-                                                           const METAFILEPICT *lpMFP);
-__declspec(dllimport) BOOL  __stdcall GdiComment(     HDC hdc,      UINT nSize,        const BYTE *lpData);
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall GetTextMetricsA(      HDC hdc,      LPTEXTMETRICA lptm);
-__declspec(dllimport) BOOL __stdcall GetTextMetricsW(      HDC hdc,      LPTEXTMETRICW lptm);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagDIBSECTION {
-    BITMAP		 dsBm;
-    BITMAPINFOHEADER    dsBmih;
-    DWORD               dsBitfields[3];
-    HANDLE              dshSection;
-    DWORD               dsOffset;
-} DIBSECTION,  *LPDIBSECTION, *PDIBSECTION;
-
-
-__declspec(dllimport) BOOL __stdcall AngleArc(      HDC hdc,      int x,      int y,      DWORD r,      FLOAT StartAngle,      FLOAT SweepAngle);
-__declspec(dllimport) BOOL __stdcall PolyPolyline(     HDC hdc,      const POINT *apt,        const DWORD *asz,      DWORD csz);
-__declspec(dllimport) BOOL __stdcall GetWorldTransform(      HDC hdc,      LPXFORM lpxf);
-__declspec(dllimport) BOOL __stdcall SetWorldTransform(      HDC hdc,      const XFORM * lpxf);
-__declspec(dllimport) BOOL __stdcall ModifyWorldTransform(      HDC hdc,        const XFORM * lpxf,      DWORD mode);
-__declspec(dllimport) BOOL __stdcall CombineTransform(      LPXFORM lpxfOut,      const XFORM *lpxf1,      const XFORM *lpxf2);
-__declspec(dllimport) HBITMAP __stdcall CreateDIBSection(       HDC hdc,      const BITMAPINFO *lpbmi,      UINT usage,                 void **ppvBits,        HANDLE hSection,      DWORD offset);
-__declspec(dllimport) UINT __stdcall GetDIBColorTable(      HDC  hdc,
-                                             UINT iStart,
-                                             UINT cEntries,
-                                             RGBQUAD *prgbq);
-__declspec(dllimport) UINT __stdcall SetDIBColorTable(      HDC  hdc,
-                                             UINT iStart,
-                                             UINT cEntries,
-                                               const RGBQUAD *prgbq);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct  tagCOLORADJUSTMENT {
-    WORD   caSize;
-    WORD   caFlags;
-    WORD   caIlluminantIndex;
-    WORD   caRedGamma;
-    WORD   caGreenGamma;
-    WORD   caBlueGamma;
-    WORD   caReferenceBlack;
-    WORD   caReferenceWhite;
-    SHORT  caContrast;
-    SHORT  caBrightness;
-    SHORT  caColorfulness;
-    SHORT  caRedGreenTint;
-} COLORADJUSTMENT, *PCOLORADJUSTMENT,  *LPCOLORADJUSTMENT;
-
-__declspec(dllimport) BOOL __stdcall SetColorAdjustment(      HDC hdc,      const COLORADJUSTMENT *lpca);
-__declspec(dllimport) BOOL __stdcall GetColorAdjustment(      HDC hdc,      LPCOLORADJUSTMENT lpca);
-__declspec(dllimport) HPALETTE __stdcall CreateHalftonePalette(        HDC hdc);
-
-
-typedef BOOL (__stdcall* ABORTPROC)(      HDC,      int);
-
-
-
-
-typedef struct _DOCINFOA {
-    int     cbSize;
-    LPCSTR   lpszDocName;
-    LPCSTR   lpszOutput;
-
-    LPCSTR   lpszDatatype;
-    DWORD    fwType;
-
-} DOCINFOA, *LPDOCINFOA;
-typedef struct _DOCINFOW {
-    int     cbSize;
-    LPCWSTR  lpszDocName;
-    LPCWSTR  lpszOutput;
-
-    LPCWSTR  lpszDatatype;
-    DWORD    fwType;
-
-} DOCINFOW, *LPDOCINFOW;
-
-typedef DOCINFOW DOCINFO;
-typedef LPDOCINFOW LPDOCINFO;
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) int __stdcall StartDocA(     HDC hdc,      const DOCINFOA *lpdi);
-__declspec(dllimport) int __stdcall StartDocW(     HDC hdc,      const DOCINFOW *lpdi);
-
-
-
-
-
-__declspec(dllimport) int __stdcall EndDoc(     HDC hdc);
-__declspec(dllimport) int __stdcall StartPage(     HDC hdc);
-__declspec(dllimport) int __stdcall EndPage(     HDC hdc);
-__declspec(dllimport) int __stdcall AbortDoc(     HDC hdc);
-__declspec(dllimport) int __stdcall SetAbortProc(     HDC hdc,      ABORTPROC proc);
-
-__declspec(dllimport) BOOL __stdcall AbortPath(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall ArcTo(     HDC hdc,      int left,      int top,      int right,      int bottom,      int xr1,      int yr1,      int xr2,      int yr2);
-__declspec(dllimport) BOOL __stdcall BeginPath(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall CloseFigure(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall EndPath(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall FillPath(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall FlattenPath(     HDC hdc);
-__declspec(dllimport) int  __stdcall GetPath(     HDC hdc,      LPPOINT apt,      LPBYTE aj, int cpt);
-__declspec(dllimport) HRGN __stdcall PathToRegion(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall PolyDraw(     HDC hdc,        const POINT * apt,        const BYTE * aj,      int cpt);
-__declspec(dllimport) BOOL __stdcall SelectClipPath(     HDC hdc,      int mode);
-__declspec(dllimport) int  __stdcall SetArcDirection(     HDC hdc,      int dir);
-__declspec(dllimport) BOOL __stdcall SetMiterLimit(     HDC hdc,      FLOAT limit,        PFLOAT old);
-__declspec(dllimport) BOOL __stdcall StrokeAndFillPath(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall StrokePath(     HDC hdc);
-__declspec(dllimport) BOOL __stdcall WidenPath(     HDC hdc);
-__declspec(dllimport) HPEN __stdcall ExtCreatePen(      DWORD iPenStyle,
-                                         DWORD cWidth,
-                                         const LOGBRUSH *plbrush,
-                                         DWORD cStyle,
-                                             const DWORD *pstyle);
-__declspec(dllimport) BOOL __stdcall GetMiterLimit(     HDC hdc,      PFLOAT plimit);
-__declspec(dllimport) int  __stdcall GetArcDirection(     HDC hdc);
-
-__declspec(dllimport) int   __stdcall GetObjectA(     HANDLE h,      int c,        LPVOID pv);
-__declspec(dllimport) int   __stdcall GetObjectW(     HANDLE h,      int c,        LPVOID pv);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall MoveToEx(      HDC hdc,      int x,      int y,        LPPOINT lppt);
-__declspec(dllimport) BOOL  __stdcall TextOutA(      HDC hdc,      int x,      int y,        LPCSTR lpString,      int c);
-__declspec(dllimport) BOOL  __stdcall TextOutW(      HDC hdc,      int x,      int y,        LPCWSTR lpString,      int c);
-
-
-
-
-
-__declspec(dllimport) BOOL	__stdcall ExtTextOutA(      HDC hdc,      int x,      int y,      UINT options,        const RECT * lprect,        LPCSTR lpString,      UINT c,          const INT * lpDx);
-__declspec(dllimport) BOOL	__stdcall ExtTextOutW(      HDC hdc,      int x,      int y,      UINT options,        const RECT * lprect,        LPCWSTR lpString,      UINT c,          const INT * lpDx);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall PolyTextOutA(     HDC hdc,        const POLYTEXTA * ppt,      int nstrings);
-__declspec(dllimport) BOOL  __stdcall PolyTextOutW(     HDC hdc,        const POLYTEXTW * ppt,      int nstrings);
-
-
-
-
-
-
-__declspec(dllimport) HRGN  __stdcall CreatePolygonRgn(           const POINT *pptl,
-                                                 int cPoint,
-                                                 int iMode);
-__declspec(dllimport) BOOL  __stdcall DPtoLP(      HDC hdc,        LPPOINT lppt,      int c);
-__declspec(dllimport) BOOL  __stdcall LPtoDP(      HDC hdc,        LPPOINT lppt,      int c);
-__declspec(dllimport) BOOL  __stdcall Polygon(     HDC hdc,        const POINT *apt,      int cpt);
-__declspec(dllimport) BOOL  __stdcall Polyline(     HDC hdc,        const POINT *apt,      int cpt);
-
-__declspec(dllimport) BOOL  __stdcall PolyBezier(     HDC hdc,        const POINT * apt,      DWORD cpt);
-__declspec(dllimport) BOOL  __stdcall PolyBezierTo(     HDC hdc,        const POINT * apt,      DWORD cpt);
-__declspec(dllimport) BOOL  __stdcall PolylineTo(     HDC hdc,        const POINT * apt,      DWORD cpt);
-
-__declspec(dllimport) BOOL  __stdcall SetViewportExtEx(      HDC hdc,      int x,      int y,        LPSIZE lpsz);
-__declspec(dllimport) BOOL  __stdcall SetViewportOrgEx(      HDC hdc,      int x,      int y,        LPPOINT lppt);
-__declspec(dllimport) BOOL  __stdcall SetWindowExtEx(      HDC hdc,      int x,      int y,        LPSIZE lpsz);
-__declspec(dllimport) BOOL  __stdcall SetWindowOrgEx(      HDC hdc,      int x,      int y,        LPPOINT lppt);
-
-__declspec(dllimport) BOOL  __stdcall OffsetViewportOrgEx(      HDC hdc,      int x,      int y,        LPPOINT lppt);
-__declspec(dllimport) BOOL  __stdcall OffsetWindowOrgEx(      HDC hdc,      int x,      int y,        LPPOINT lppt);
-__declspec(dllimport) BOOL  __stdcall ScaleViewportExtEx(      HDC hdc,      int xn,      int dx,      int yn,      int yd,        LPSIZE lpsz);
-__declspec(dllimport) BOOL  __stdcall ScaleWindowExtEx(      HDC hdc,      int xn,      int xd,      int yn,      int yd,        LPSIZE lpsz);
-__declspec(dllimport) BOOL  __stdcall SetBitmapDimensionEx(      HBITMAP hbm,      int w,      int h,        LPSIZE lpsz);
-__declspec(dllimport) BOOL  __stdcall SetBrushOrgEx(      HDC hdc,      int x,      int y,        LPPOINT lppt);
-
-__declspec(dllimport) int   __stdcall GetTextFaceA(      HDC hdc,      int c,           LPSTR lpName);
-__declspec(dllimport) int   __stdcall GetTextFaceW(      HDC hdc,      int c,           LPWSTR lpName);
-
-
-
-
-
-
-
-
-typedef struct tagKERNINGPAIR {
-   WORD wFirst;
-   WORD wSecond;
-   int  iKernAmount;
-} KERNINGPAIR, *LPKERNINGPAIR;
-
-__declspec(dllimport) DWORD __stdcall GetKerningPairsA(         HDC hdc, 
-                                                 DWORD nPairs, 
-                                                     LPKERNINGPAIR   lpKernPair);
-__declspec(dllimport) DWORD __stdcall GetKerningPairsW(         HDC hdc, 
-                                                 DWORD nPairs, 
-                                                     LPKERNINGPAIR   lpKernPair);
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetDCOrgEx(      HDC hdc,      LPPOINT lppt);
-__declspec(dllimport) BOOL  __stdcall FixBrushOrgEx(      HDC hdc,      int x,      int y,         LPPOINT ptl);
-__declspec(dllimport) BOOL  __stdcall UnrealizeObject(      HGDIOBJ h);
-
-__declspec(dllimport) BOOL  __stdcall GdiFlush();
-__declspec(dllimport) DWORD __stdcall GdiSetBatchLimit(      DWORD dw);
-__declspec(dllimport) DWORD __stdcall GdiGetBatchLimit();
-
-
-
-
-
-
-
-
-typedef int (__stdcall* ICMENUMPROCA)(LPSTR, LPARAM);
-typedef int (__stdcall* ICMENUMPROCW)(LPWSTR, LPARAM);
-
-
-
-
-
-
-__declspec(dllimport) int         __stdcall SetICMMode(      HDC hdc,      int mode);
-__declspec(dllimport) BOOL        __stdcall CheckColorsInGamut(         HDC hdc,
-                                                            LPVOID lpRGBTriple,
-                                                         LPVOID dlpBuffer,
-                                                         DWORD nCount);
-
-__declspec(dllimport) HCOLORSPACE __stdcall GetColorSpace(      HDC hdc);
-__declspec(dllimport) BOOL        __stdcall GetLogColorSpaceA(      HCOLORSPACE hColorSpace, 
-                                                     LPLOGCOLORSPACEA lpBuffer, 
-                                                     DWORD nSize);
-__declspec(dllimport) BOOL        __stdcall GetLogColorSpaceW(      HCOLORSPACE hColorSpace, 
-                                                     LPLOGCOLORSPACEW lpBuffer, 
-                                                     DWORD nSize);
-
-
-
-
-
-
-__declspec(dllimport) HCOLORSPACE __stdcall CreateColorSpaceA(      LPLOGCOLORSPACEA lplcs);
-__declspec(dllimport) HCOLORSPACE __stdcall CreateColorSpaceW(      LPLOGCOLORSPACEW lplcs);
-
-
-
-
-
-__declspec(dllimport) HCOLORSPACE __stdcall SetColorSpace(      HDC hdc,      HCOLORSPACE hcs);
-__declspec(dllimport) BOOL        __stdcall DeleteColorSpace(      HCOLORSPACE hcs);
-__declspec(dllimport) BOOL	      __stdcall GetICMProfileA(         HDC hdc, 
-                                                     LPDWORD pBufSize,
-                                                       LPSTR pszFilename);
-__declspec(dllimport) BOOL	      __stdcall GetICMProfileW(         HDC hdc, 
-                                                     LPDWORD pBufSize,
-                                                       LPWSTR pszFilename);
-
-
-
-
-
-
-__declspec(dllimport) BOOL        __stdcall SetICMProfileA(      HDC hdc,      LPSTR lpFileName);
-__declspec(dllimport) BOOL        __stdcall SetICMProfileW(      HDC hdc,      LPWSTR lpFileName);
-
-
-
-
-
-__declspec(dllimport) BOOL        __stdcall GetDeviceGammaRamp(      HDC hdc,      LPVOID lpRamp);
-__declspec(dllimport) BOOL        __stdcall SetDeviceGammaRamp(      HDC hdc,         LPVOID lpRamp);
-__declspec(dllimport) BOOL        __stdcall ColorMatchToTarget(      HDC hdc,      HDC hdcTarget,      DWORD action);
-__declspec(dllimport) int         __stdcall EnumICMProfilesA(      HDC hdc,      ICMENUMPROCA proc,        LPARAM param);
-__declspec(dllimport) int         __stdcall EnumICMProfilesW(      HDC hdc,      ICMENUMPROCW proc,        LPARAM param);
-
-
-
-
-
-__declspec(dllimport) BOOL	      __stdcall UpdateICMRegKeyA(   DWORD reserved,      LPSTR lpszCMID,      LPSTR lpszFileName,      UINT command);
-__declspec(dllimport) BOOL	      __stdcall UpdateICMRegKeyW(   DWORD reserved,      LPWSTR lpszCMID,      LPWSTR lpszFileName,      UINT command);
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL        __stdcall ColorCorrectPalette(      HDC hdc,      HPALETTE hPal,      DWORD deFirst,      DWORD num);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagEMR
-{
-    DWORD   iType;              
-    DWORD   nSize;              
-                                
-} EMR, *PEMR;
-
-
-
-typedef struct tagEMRTEXT
-{
-    POINTL  ptlReference;
-    DWORD   nChars;
-    DWORD   offString;          
-    DWORD   fOptions;
-    RECTL   rcl;
-    DWORD   offDx;              
-                                
-} EMRTEXT, *PEMRTEXT;
-
-
-
-typedef struct tagABORTPATH
-{
-    EMR     emr;
-} EMRABORTPATH,      *PEMRABORTPATH,
-  EMRBEGINPATH,      *PEMRBEGINPATH,
-  EMRENDPATH,        *PEMRENDPATH,
-  EMRCLOSEFIGURE,    *PEMRCLOSEFIGURE,
-  EMRFLATTENPATH,    *PEMRFLATTENPATH,
-  EMRWIDENPATH,      *PEMRWIDENPATH,
-  EMRSETMETARGN,     *PEMRSETMETARGN,
-  EMRSAVEDC,         *PEMRSAVEDC,
-  EMRREALIZEPALETTE, *PEMRREALIZEPALETTE;
-
-typedef struct tagEMRSELECTCLIPPATH
-{
-    EMR     emr;
-    DWORD   iMode;
-} EMRSELECTCLIPPATH,    *PEMRSELECTCLIPPATH,
-  EMRSETBKMODE,         *PEMRSETBKMODE,
-  EMRSETMAPMODE,        *PEMRSETMAPMODE,
-
-  EMRSETLAYOUT,         *PEMRSETLAYOUT,
-
-  EMRSETPOLYFILLMODE,   *PEMRSETPOLYFILLMODE,
-  EMRSETROP2,           *PEMRSETROP2,
-  EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE,
-  EMRSETICMMODE,        *PEMRSETICMMODE,
-  EMRSETTEXTALIGN,      *PEMRSETTEXTALIGN;
-
-typedef struct tagEMRSETMITERLIMIT
-{
-    EMR     emr;
-    FLOAT   eMiterLimit;
-} EMRSETMITERLIMIT, *PEMRSETMITERLIMIT;
-
-typedef struct tagEMRRESTOREDC
-{
-    EMR     emr;
-    LONG    iRelative;          
-} EMRRESTOREDC, *PEMRRESTOREDC;
-
-typedef struct tagEMRSETARCDIRECTION
-{
-    EMR     emr;
-    DWORD   iArcDirection;      
-                                
-} EMRSETARCDIRECTION, *PEMRSETARCDIRECTION;
-
-typedef struct tagEMRSETMAPPERFLAGS
-{
-    EMR     emr;
-    DWORD   dwFlags;
-} EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS;
-
-typedef struct tagEMRSETTEXTCOLOR
-{
-    EMR     emr;
-    COLORREF crColor;
-} EMRSETBKCOLOR,   *PEMRSETBKCOLOR,
-  EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR;
-
-typedef struct tagEMRSELECTOBJECT
-{
-    EMR     emr;
-    DWORD   ihObject;           
-} EMRSELECTOBJECT, *PEMRSELECTOBJECT,
-  EMRDELETEOBJECT, *PEMRDELETEOBJECT;
-
-typedef struct tagEMRSELECTPALETTE
-{
-    EMR     emr;
-    DWORD   ihPal;              
-} EMRSELECTPALETTE, *PEMRSELECTPALETTE;
-
-typedef struct tagEMRRESIZEPALETTE
-{
-    EMR     emr;
-    DWORD   ihPal;              
-    DWORD   cEntries;
-} EMRRESIZEPALETTE, *PEMRRESIZEPALETTE;
-
-typedef struct tagEMRSETPALETTEENTRIES
-{
-    EMR     emr;
-    DWORD   ihPal;              
-    DWORD   iStart;
-    DWORD   cEntries;
-    PALETTEENTRY aPalEntries[1];
-} EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES;
-
-typedef struct tagEMRSETCOLORADJUSTMENT
-{
-    EMR     emr;
-    COLORADJUSTMENT ColorAdjustment;
-} EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT;
-
-typedef struct tagEMRGDICOMMENT
-{
-    EMR     emr;
-    DWORD   cbData;             
-    BYTE    Data[1];
-} EMRGDICOMMENT, *PEMRGDICOMMENT;
-
-typedef struct tagEMREOF
-{
-    EMR     emr;
-    DWORD   nPalEntries;        
-    DWORD   offPalEntries;      
-    DWORD   nSizeLast;          
-                                
-                                
-} EMREOF, *PEMREOF;
-
-typedef struct tagEMRLINETO
-{
-    EMR     emr;
-    POINTL  ptl;
-} EMRLINETO,   *PEMRLINETO,
-  EMRMOVETOEX, *PEMRMOVETOEX;
-
-typedef struct tagEMROFFSETCLIPRGN
-{
-    EMR     emr;
-    POINTL  ptlOffset;
-} EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN;
-
-typedef struct tagEMRFILLPATH
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-} EMRFILLPATH,          *PEMRFILLPATH,
-  EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH,
-  EMRSTROKEPATH,        *PEMRSTROKEPATH;
-
-typedef struct tagEMREXCLUDECLIPRECT
-{
-    EMR     emr;
-    RECTL   rclClip;
-} EMREXCLUDECLIPRECT,   *PEMREXCLUDECLIPRECT,
-  EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT;
-
-typedef struct tagEMRSETVIEWPORTORGEX
-{
-    EMR     emr;
-    POINTL  ptlOrigin;
-} EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX,
-  EMRSETWINDOWORGEX,   *PEMRSETWINDOWORGEX,
-  EMRSETBRUSHORGEX,    *PEMRSETBRUSHORGEX;
-
-typedef struct tagEMRSETVIEWPORTEXTEX
-{
-    EMR     emr;
-    SIZEL   szlExtent;
-} EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX,
-  EMRSETWINDOWEXTEX,   *PEMRSETWINDOWEXTEX;
-
-typedef struct tagEMRSCALEVIEWPORTEXTEX
-{
-    EMR     emr;
-    LONG    xNum;
-    LONG    xDenom;
-    LONG    yNum;
-    LONG    yDenom;
-} EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX,
-  EMRSCALEWINDOWEXTEX,   *PEMRSCALEWINDOWEXTEX;
-
-typedef struct tagEMRSETWORLDTRANSFORM
-{
-    EMR     emr;
-    XFORM   xform;
-} EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM;
-
-typedef struct tagEMRMODIFYWORLDTRANSFORM
-{
-    EMR     emr;
-    XFORM   xform;
-    DWORD   iMode;
-} EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM;
-
-typedef struct tagEMRSETPIXELV
-{
-    EMR     emr;
-    POINTL  ptlPixel;
-    COLORREF crColor;
-} EMRSETPIXELV, *PEMRSETPIXELV;
-
-typedef struct tagEMREXTFLOODFILL
-{
-    EMR     emr;
-    POINTL  ptlStart;
-    COLORREF crColor;
-    DWORD   iMode;
-} EMREXTFLOODFILL, *PEMREXTFLOODFILL;
-
-typedef struct tagEMRELLIPSE
-{
-    EMR     emr;
-    RECTL   rclBox;             
-} EMRELLIPSE,  *PEMRELLIPSE,
-  EMRRECTANGLE, *PEMRRECTANGLE;
-
-
-typedef struct tagEMRROUNDRECT
-{
-    EMR     emr;
-    RECTL   rclBox;             
-    SIZEL   szlCorner;
-} EMRROUNDRECT, *PEMRROUNDRECT;
-
-typedef struct tagEMRARC
-{
-    EMR     emr;
-    RECTL   rclBox;             
-    POINTL  ptlStart;
-    POINTL  ptlEnd;
-} EMRARC,   *PEMRARC,
-  EMRARCTO, *PEMRARCTO,
-  EMRCHORD, *PEMRCHORD,
-  EMRPIE,   *PEMRPIE;
-
-typedef struct tagEMRANGLEARC
-{
-    EMR     emr;
-    POINTL  ptlCenter;
-    DWORD   nRadius;
-    FLOAT   eStartAngle;
-    FLOAT   eSweepAngle;
-} EMRANGLEARC, *PEMRANGLEARC;
-
-typedef struct tagEMRPOLYLINE
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cptl;
-    POINTL  aptl[1];
-} EMRPOLYLINE,     *PEMRPOLYLINE,
-  EMRPOLYBEZIER,   *PEMRPOLYBEZIER,
-  EMRPOLYGON,      *PEMRPOLYGON,
-  EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO,
-  EMRPOLYLINETO,   *PEMRPOLYLINETO;
-
-typedef struct tagEMRPOLYLINE16
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cpts;
-    POINTS  apts[1];
-} EMRPOLYLINE16,     *PEMRPOLYLINE16,
-  EMRPOLYBEZIER16,   *PEMRPOLYBEZIER16,
-  EMRPOLYGON16,      *PEMRPOLYGON16,
-  EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16,
-  EMRPOLYLINETO16,   *PEMRPOLYLINETO16;
-
-typedef struct tagEMRPOLYDRAW
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cptl;               
-    POINTL  aptl[1];            
-    BYTE    abTypes[1];         
-} EMRPOLYDRAW, *PEMRPOLYDRAW;
-
-typedef struct tagEMRPOLYDRAW16
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cpts;               
-    POINTS  apts[1];            
-    BYTE    abTypes[1];         
-} EMRPOLYDRAW16, *PEMRPOLYDRAW16;
-
-typedef struct tagEMRPOLYPOLYLINE
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   nPolys;             
-    DWORD   cptl;               
-    DWORD   aPolyCounts[1];     
-    POINTL  aptl[1];            
-} EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE,
-  EMRPOLYPOLYGON,  *PEMRPOLYPOLYGON;
-
-typedef struct tagEMRPOLYPOLYLINE16
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   nPolys;             
-    DWORD   cpts;               
-    DWORD   aPolyCounts[1];     
-    POINTS  apts[1];            
-} EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16,
-  EMRPOLYPOLYGON16,  *PEMRPOLYPOLYGON16;
-
-typedef struct tagEMRINVERTRGN
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cbRgnData;          
-    BYTE    RgnData[1];
-} EMRINVERTRGN, *PEMRINVERTRGN,
-  EMRPAINTRGN,  *PEMRPAINTRGN;
-
-typedef struct tagEMRFILLRGN
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cbRgnData;          
-    DWORD   ihBrush;            
-    BYTE    RgnData[1];
-} EMRFILLRGN, *PEMRFILLRGN;
-
-typedef struct tagEMRFRAMERGN
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cbRgnData;          
-    DWORD   ihBrush;            
-    SIZEL   szlStroke;
-    BYTE    RgnData[1];
-} EMRFRAMERGN, *PEMRFRAMERGN;
-
-typedef struct tagEMREXTSELECTCLIPRGN
-{
-    EMR     emr;
-    DWORD   cbRgnData;          
-    DWORD   iMode;
-    BYTE    RgnData[1];
-} EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN;
-
-typedef struct tagEMREXTTEXTOUTA
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   iGraphicsMode;      
-    FLOAT   exScale;            
-    FLOAT   eyScale;            
-    EMRTEXT emrtext;            
-                                
-} EMREXTTEXTOUTA, *PEMREXTTEXTOUTA,
-  EMREXTTEXTOUTW, *PEMREXTTEXTOUTW;
-
-typedef struct tagEMRPOLYTEXTOUTA
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   iGraphicsMode;      
-    FLOAT   exScale;            
-    FLOAT   eyScale;            
-    LONG    cStrings;
-    EMRTEXT aemrtext[1];        
-                                
-} EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA,
-  EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW;
-
-typedef struct tagEMRBITBLT
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    cxDest;
-    LONG    cyDest;
-    DWORD   dwRop;
-    LONG    xSrc;
-    LONG    ySrc;
-    XFORM   xformSrc;           
-    COLORREF crBkColorSrc;      
-    DWORD   iUsageSrc;          
-                                
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-} EMRBITBLT, *PEMRBITBLT;
-
-typedef struct tagEMRSTRETCHBLT
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    cxDest;
-    LONG    cyDest;
-    DWORD   dwRop;
-    LONG    xSrc;
-    LONG    ySrc;
-    XFORM   xformSrc;           
-    COLORREF crBkColorSrc;      
-    DWORD   iUsageSrc;          
-                                
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    LONG    cxSrc;
-    LONG    cySrc;
-} EMRSTRETCHBLT, *PEMRSTRETCHBLT;
-
-typedef struct tagEMRMASKBLT
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    cxDest;
-    LONG    cyDest;
-    DWORD   dwRop;
-    LONG    xSrc;
-    LONG    ySrc;
-    XFORM   xformSrc;           
-    COLORREF crBkColorSrc;      
-    DWORD   iUsageSrc;          
-                                
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    LONG    xMask;
-    LONG    yMask;
-    DWORD   iUsageMask;         
-    DWORD   offBmiMask;         
-    DWORD   cbBmiMask;          
-    DWORD   offBitsMask;        
-    DWORD   cbBitsMask;         
-} EMRMASKBLT, *PEMRMASKBLT;
-
-typedef struct tagEMRPLGBLT
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    POINTL  aptlDest[3];
-    LONG    xSrc;
-    LONG    ySrc;
-    LONG    cxSrc;
-    LONG    cySrc;
-    XFORM   xformSrc;           
-    COLORREF crBkColorSrc;      
-    DWORD   iUsageSrc;          
-                                
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    LONG    xMask;
-    LONG    yMask;
-    DWORD   iUsageMask;         
-    DWORD   offBmiMask;         
-    DWORD   cbBmiMask;          
-    DWORD   offBitsMask;        
-    DWORD   cbBitsMask;         
-} EMRPLGBLT, *PEMRPLGBLT;
-
-typedef struct tagEMRSETDIBITSTODEVICE
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    xSrc;
-    LONG    ySrc;
-    LONG    cxSrc;
-    LONG    cySrc;
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    DWORD   iUsageSrc;          
-    DWORD   iStartScan;
-    DWORD   cScans;
-} EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE;
-
-typedef struct tagEMRSTRETCHDIBITS
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    xSrc;
-    LONG    ySrc;
-    LONG    cxSrc;
-    LONG    cySrc;
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    DWORD   iUsageSrc;          
-    DWORD   dwRop;
-    LONG    cxDest;
-    LONG    cyDest;
-} EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS;
-
-typedef struct tagEMREXTCREATEFONTINDIRECTW
-{
-    EMR     emr;
-    DWORD   ihFont;             
-    EXTLOGFONTW elfw;
-} EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW;
-
-typedef struct tagEMRCREATEPALETTE
-{
-    EMR     emr;
-    DWORD   ihPal;              
-    LOGPALETTE lgpl;            
-                                
-} EMRCREATEPALETTE, *PEMRCREATEPALETTE;
-
-typedef struct tagEMRCREATEPEN
-{
-    EMR     emr;
-    DWORD   ihPen;              
-    LOGPEN  lopn;
-} EMRCREATEPEN, *PEMRCREATEPEN;
-
-typedef struct tagEMREXTCREATEPEN
-{
-    EMR     emr;
-    DWORD   ihPen;              
-    DWORD   offBmi;             
-    DWORD   cbBmi;              
-                                
-                                
-    DWORD   offBits;            
-    DWORD   cbBits;             
-    EXTLOGPEN elp;              
-} EMREXTCREATEPEN, *PEMREXTCREATEPEN;
-
-typedef struct tagEMRCREATEBRUSHINDIRECT
-{
-    EMR        emr;
-    DWORD      ihBrush;          
-    LOGBRUSH32 lb;               
-                                 
-} EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT;
-
-typedef struct tagEMRCREATEMONOBRUSH
-{
-    EMR     emr;
-    DWORD   ihBrush;            
-    DWORD   iUsage;             
-    DWORD   offBmi;             
-    DWORD   cbBmi;              
-    DWORD   offBits;            
-    DWORD   cbBits;             
-} EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH;
-
-typedef struct tagEMRCREATEDIBPATTERNBRUSHPT
-{
-    EMR     emr;
-    DWORD   ihBrush;            
-    DWORD   iUsage;             
-    DWORD   offBmi;             
-    DWORD   cbBmi;              
-                                
-                                
-    DWORD   offBits;            
-    DWORD   cbBits;             
-} EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT;
-
-typedef struct tagEMRFORMAT
-{
-    DWORD   dSignature;         
-    DWORD   nVersion;           
-    DWORD   cbData;             
-    DWORD   offData;            
-                                
-} EMRFORMAT, *PEMRFORMAT;
-
-
-
-typedef struct tagEMRGLSRECORD
-{
-    EMR     emr;
-    DWORD   cbData;             
-    BYTE    Data[1];
-} EMRGLSRECORD, *PEMRGLSRECORD;
-
-typedef struct tagEMRGLSBOUNDEDRECORD
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    DWORD   cbData;             
-    BYTE    Data[1];
-} EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD;
-
-typedef struct tagEMRPIXELFORMAT
-{
-    EMR     emr;
-    PIXELFORMATDESCRIPTOR pfd;
-} EMRPIXELFORMAT, *PEMRPIXELFORMAT;
-
-typedef struct tagEMRCREATECOLORSPACE
-{
-    EMR             emr;
-    DWORD           ihCS;       
-    LOGCOLORSPACEA  lcs;        
-} EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE;
-
-typedef struct tagEMRSETCOLORSPACE
-{
-    EMR     emr;
-    DWORD   ihCS;               
-} EMRSETCOLORSPACE,    *PEMRSETCOLORSPACE,
-  EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE,
-  EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE;
-
-
-
-
-
-typedef struct tagEMREXTESCAPE
-{
-    EMR     emr;
-    INT     iEscape;            
-    INT     cbEscData;          
-    BYTE    EscData[1];         
-} EMREXTESCAPE,  *PEMREXTESCAPE,
-  EMRDRAWESCAPE, *PEMRDRAWESCAPE;
-
-typedef struct tagEMRNAMEDESCAPE
-{
-    EMR     emr;
-    INT     iEscape;            
-    INT     cbDriver;           
-    INT     cbEscData;          
-    BYTE    EscData[1];         
-} EMRNAMEDESCAPE, *PEMRNAMEDESCAPE;
-
-
-
-typedef struct tagEMRSETICMPROFILE
-{
-    EMR     emr;
-    DWORD   dwFlags;            
-    DWORD   cbName;             
-    DWORD   cbData;             
-    BYTE    Data[1];            
-} EMRSETICMPROFILE,  *PEMRSETICMPROFILE,
-  EMRSETICMPROFILEA, *PEMRSETICMPROFILEA,
-  EMRSETICMPROFILEW, *PEMRSETICMPROFILEW;
-
-
-
-typedef struct tagEMRCREATECOLORSPACEW
-{
-    EMR             emr;
-    DWORD           ihCS;       
-    LOGCOLORSPACEW  lcs;        
-    DWORD           dwFlags;    
-    DWORD           cbData;     
-    BYTE            Data[1];    
-} EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW;
-
-
-
-typedef struct tagCOLORMATCHTOTARGET
-{
-    EMR     emr;
-    DWORD   dwAction;           
-    DWORD   dwFlags;            
-    DWORD   cbName;             
-    DWORD   cbData;             
-    BYTE    Data[1];            
-} EMRCOLORMATCHTOTARGET, *PEMRCOLORMATCHTOTARGET;
-
-typedef struct tagCOLORCORRECTPALETTE
-{
-    EMR     emr;
-    DWORD   ihPalette;          
-    DWORD   nFirstEntry;        
-    DWORD   nPalEntries;        
-    DWORD   nReserved;          
-} EMRCOLORCORRECTPALETTE, *PEMRCOLORCORRECTPALETTE;
-
-typedef struct tagEMRALPHABLEND
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    cxDest;
-    LONG    cyDest;
-    DWORD   dwRop;
-    LONG    xSrc;
-    LONG    ySrc;
-    XFORM   xformSrc;           
-    COLORREF crBkColorSrc;      
-    DWORD   iUsageSrc;          
-                                
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    LONG    cxSrc;
-    LONG    cySrc;
-} EMRALPHABLEND, *PEMRALPHABLEND;
-
-typedef struct tagEMRGRADIENTFILL
-{
-    EMR       emr;
-    RECTL     rclBounds;          
-    DWORD     nVer;
-    DWORD     nTri;
-    ULONG     ulMode;
-    TRIVERTEX Ver[1];
-}EMRGRADIENTFILL,*PEMRGRADIENTFILL;
-
-typedef struct tagEMRTRANSPARENTBLT
-{
-    EMR     emr;
-    RECTL   rclBounds;          
-    LONG    xDest;
-    LONG    yDest;
-    LONG    cxDest;
-    LONG    cyDest;
-    DWORD   dwRop;
-    LONG    xSrc;
-    LONG    ySrc;
-    XFORM   xformSrc;           
-    COLORREF crBkColorSrc;      
-    DWORD   iUsageSrc;          
-                                
-    DWORD   offBmiSrc;          
-    DWORD   cbBmiSrc;           
-    DWORD   offBitsSrc;         
-    DWORD   cbBitsSrc;          
-    LONG    cxSrc;
-    LONG    cySrc;
-} EMRTRANSPARENTBLT, *PEMRTRANSPARENTBLT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall wglCopyContext(HGLRC, HGLRC, UINT);
-__declspec(dllimport) HGLRC __stdcall wglCreateContext(HDC);
-__declspec(dllimport) HGLRC __stdcall wglCreateLayerContext(HDC, int);
-__declspec(dllimport) BOOL  __stdcall wglDeleteContext(HGLRC);
-__declspec(dllimport) HGLRC __stdcall wglGetCurrentContext(void);
-__declspec(dllimport) HDC   __stdcall wglGetCurrentDC(void);
-__declspec(dllimport) PROC  __stdcall wglGetProcAddress(LPCSTR);
-__declspec(dllimport) BOOL  __stdcall wglMakeCurrent(HDC, HGLRC);
-__declspec(dllimport) BOOL  __stdcall wglShareLists(HGLRC, HGLRC);
-__declspec(dllimport) BOOL  __stdcall wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD);
-__declspec(dllimport) BOOL  __stdcall wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall SwapBuffers(HDC);
-
-typedef struct _POINTFLOAT {
-    FLOAT   x;
-    FLOAT   y;
-} POINTFLOAT, *PPOINTFLOAT;
-
-typedef struct _GLYPHMETRICSFLOAT {
-    FLOAT       gmfBlackBoxX;
-    FLOAT       gmfBlackBoxY;
-    POINTFLOAT  gmfptGlyphOrigin;
-    FLOAT       gmfCellIncX;
-    FLOAT       gmfCellIncY;
-} GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT,  *LPGLYPHMETRICSFLOAT;
-
-
-
-__declspec(dllimport) BOOL  __stdcall wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT,
-                                           FLOAT, int, LPGLYPHMETRICSFLOAT);
-__declspec(dllimport) BOOL  __stdcall wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT,
-                                           FLOAT, int, LPGLYPHMETRICSFLOAT);
-
-
-
-
-
-
-
-typedef struct tagLAYERPLANEDESCRIPTOR { 
-    WORD  nSize;
-    WORD  nVersion;
-    DWORD dwFlags;
-    BYTE  iPixelType;
-    BYTE  cColorBits;
-    BYTE  cRedBits;
-    BYTE  cRedShift;
-    BYTE  cGreenBits;
-    BYTE  cGreenShift;
-    BYTE  cBlueBits;
-    BYTE  cBlueShift;
-    BYTE  cAlphaBits;
-    BYTE  cAlphaShift;
-    BYTE  cAccumBits;
-    BYTE  cAccumRedBits;
-    BYTE  cAccumGreenBits;
-    BYTE  cAccumBlueBits;
-    BYTE  cAccumAlphaBits;
-    BYTE  cDepthBits;
-    BYTE  cStencilBits;
-    BYTE  cAuxBuffers;
-    BYTE  iLayerPlane;
-    BYTE  bReserved;
-    COLORREF crTransparent;
-} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR,  *LPLAYERPLANEDESCRIPTOR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall wglDescribeLayerPlane(HDC, int, int, UINT,
-                                             LPLAYERPLANEDESCRIPTOR);
-__declspec(dllimport) int   __stdcall wglSetLayerPaletteEntries(HDC, int, int, int,
-                                                 const COLORREF *);
-__declspec(dllimport) int   __stdcall wglGetLayerPaletteEntries(HDC, int, int, int,
-                                                 COLORREF *);
-__declspec(dllimport) BOOL  __stdcall wglRealizeLayerPalette(HDC, int, BOOL);
-__declspec(dllimport) BOOL  __stdcall wglSwapLayerBuffers(HDC, UINT);
-
-
-
-typedef struct _WGLSWAP
-{
-    HDC hdc;
-    UINT uiFlags;
-} WGLSWAP, *PWGLSWAP,  *LPWGLSWAP;
-
-
-
-__declspec(dllimport) DWORD __stdcall wglSwapMultipleBuffers(UINT, const WGLSWAP *);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-typedef HANDLE HDWP;
-typedef void MENUTEMPLATEA;
-typedef void MENUTEMPLATEW;
-
-typedef MENUTEMPLATEW MENUTEMPLATE;
-
-
-
-typedef PVOID LPMENUTEMPLATEA;
-typedef PVOID LPMENUTEMPLATEW;
-
-typedef LPMENUTEMPLATEW LPMENUTEMPLATE;
-
-
-
-
-typedef LRESULT (__stdcall* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
-
-
-
-typedef INT_PTR (__stdcall* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
-typedef void (__stdcall* TIMERPROC)(HWND, UINT, UINT_PTR, DWORD);
-typedef BOOL (__stdcall* GRAYSTRINGPROC)(HDC, LPARAM, int);
-typedef BOOL (__stdcall* WNDENUMPROC)(HWND, LPARAM);
-typedef LRESULT (__stdcall* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
-typedef void (__stdcall* SENDASYNCPROC)(HWND, UINT, ULONG_PTR, LRESULT);
-
-typedef BOOL (__stdcall* PROPENUMPROCA)(HWND, LPCSTR, HANDLE);
-typedef BOOL (__stdcall* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE);
-
-typedef BOOL (__stdcall* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, ULONG_PTR);
-typedef BOOL (__stdcall* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, ULONG_PTR);
-
-typedef int (__stdcall* EDITWORDBREAKPROCA)(LPSTR lpch, int ichCurrent, int cch, int code);
-typedef int (__stdcall* EDITWORDBREAKPROCW)(LPWSTR lpch, int ichCurrent, int cch, int code);
-
-
-typedef BOOL (__stdcall* DRAWSTATEPROC)(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef PROPENUMPROCW        PROPENUMPROC;
-typedef PROPENUMPROCEXW      PROPENUMPROCEX;
-typedef EDITWORDBREAKPROCW   EDITWORDBREAKPROC;
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall* NAMEENUMPROCA)(LPSTR, LPARAM);
-typedef BOOL (__stdcall* NAMEENUMPROCW)(LPWSTR, LPARAM);
-
-typedef NAMEENUMPROCA   WINSTAENUMPROCA;
-typedef NAMEENUMPROCA   DESKTOPENUMPROCA;
-typedef NAMEENUMPROCW   WINSTAENUMPROCW;
-typedef NAMEENUMPROCW   DESKTOPENUMPROCW;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef WINSTAENUMPROCW     WINSTAENUMPROC;
-typedef DESKTOPENUMPROCW    DESKTOPENUMPROC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-wvsprintfA(
-         LPSTR,
-          LPCSTR,
-         va_list arglist);
-__declspec(dllimport)
-int
-__stdcall
-wvsprintfW(
-         LPWSTR,
-          LPCWSTR,
-         va_list arglist);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__cdecl
-wsprintfA(
-         LPSTR,
-          LPCSTR,
-    ...);
-__declspec(dllimport)
-int
-__cdecl
-wsprintfW(
-         LPWSTR,
-          LPCWSTR,
-    ...);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagCBT_CREATEWNDA
-{
-    struct tagCREATESTRUCTA *lpcs;
-    HWND           hwndInsertAfter;
-} CBT_CREATEWNDA, *LPCBT_CREATEWNDA;
-
-
-
-typedef struct tagCBT_CREATEWNDW
-{
-    struct tagCREATESTRUCTW *lpcs;
-    HWND           hwndInsertAfter;
-} CBT_CREATEWNDW, *LPCBT_CREATEWNDW;
-
-typedef CBT_CREATEWNDW CBT_CREATEWND;
-typedef LPCBT_CREATEWNDW LPCBT_CREATEWND;
-
-
-
-
-
-
-
-
-typedef struct tagCBTACTIVATESTRUCT
-{
-    BOOL    fMouse;
-    HWND    hWndActive;
-} CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT;
-
-
-
-
-
-typedef struct tagWTSSESSION_NOTIFICATION
-{
-    DWORD cbSize;
-    DWORD dwSessionId;
-
-} WTSSESSION_NOTIFICATION, *PWTSSESSION_NOTIFICATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct
-{
-    HWND    hwnd;
-    RECT    rc;
-} SHELLHOOKINFO, *LPSHELLHOOKINFO;
-
-
-
-
-typedef struct tagEVENTMSG {
-    UINT    message;
-    UINT    paramL;
-    UINT    paramH;
-    DWORD    time;
-    HWND     hwnd;
-} EVENTMSG, *PEVENTMSGMSG,  *NPEVENTMSGMSG,  *LPEVENTMSGMSG;
-
-typedef struct tagEVENTMSG *PEVENTMSG,  *NPEVENTMSG,  *LPEVENTMSG;
-
-
-
-
-typedef struct tagCWPSTRUCT {
-    LPARAM  lParam;
-    WPARAM  wParam;
-    UINT    message;
-    HWND    hwnd;
-} CWPSTRUCT, *PCWPSTRUCT,  *NPCWPSTRUCT,  *LPCWPSTRUCT;
-
-
-
-
-
-typedef struct tagCWPRETSTRUCT {
-    LRESULT lResult;
-    LPARAM  lParam;
-    WPARAM  wParam;
-    UINT    message;
-    HWND    hwnd;
-} CWPRETSTRUCT, *PCWPRETSTRUCT,  *NPCWPRETSTRUCT,  *LPCWPRETSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagKBDLLHOOKSTRUCT {
-    DWORD   vkCode;
-    DWORD   scanCode;
-    DWORD   flags;
-    DWORD   time;
-    ULONG_PTR dwExtraInfo;
-} KBDLLHOOKSTRUCT,  *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
-
-
-
-
-typedef struct tagMSLLHOOKSTRUCT {
-    POINT   pt;
-    DWORD   mouseData;
-    DWORD   flags;
-    DWORD   time;
-    ULONG_PTR dwExtraInfo;
-} MSLLHOOKSTRUCT,  *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
-
-
-
-
-
-
-typedef struct tagDEBUGHOOKINFO
-{
-    DWORD   idThread;
-    DWORD   idThreadInstaller;
-    LPARAM  lParam;
-    WPARAM  wParam;
-    int     code;
-} DEBUGHOOKINFO, *PDEBUGHOOKINFO,  *NPDEBUGHOOKINFO, * LPDEBUGHOOKINFO;
-
-
-
-
-typedef struct tagMOUSEHOOKSTRUCT {
-    POINT   pt;
-    HWND    hwnd;
-    UINT    wHitTestCode;
-    ULONG_PTR dwExtraInfo;
-} MOUSEHOOKSTRUCT,  *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT;
-
-
-
-typedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT
-{
-    DWORD   mouseData;
-} MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagHARDWAREHOOKSTRUCT {
-    HWND    hwnd;
-    UINT    message;
-    WPARAM  wParam;
-    LPARAM  lParam;
-} HARDWAREHOOKSTRUCT,  *LPHARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HKL
-__stdcall
-LoadKeyboardLayoutA(
-         LPCSTR pwszKLID,
-         UINT Flags);
-__declspec(dllimport)
-HKL
-__stdcall
-LoadKeyboardLayoutW(
-         LPCWSTR pwszKLID,
-         UINT Flags);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HKL
-__stdcall
-ActivateKeyboardLayout(
-         HKL hkl,
-         UINT Flags);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-ToUnicodeEx(
-         UINT wVirtKey,
-         UINT wScanCode,
-           const BYTE *lpKeyState,
-         LPWSTR pwszBuff,
-         int cchBuff,
-         UINT wFlags,
-           HKL dwhkl);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnloadKeyboardLayout(
-         HKL hkl);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetKeyboardLayoutNameA(
-         LPSTR pwszKLID);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetKeyboardLayoutNameW(
-         LPWSTR pwszKLID);
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetKeyboardLayoutList(
-         int nBuff,
-             HKL  *lpList);
-
-__declspec(dllimport)
-HKL
-__stdcall
-GetKeyboardLayout(
-         DWORD idThread);
-
-
-
-
-
-typedef struct tagMOUSEMOVEPOINT {
-    int   x;
-    int   y;
-    DWORD time;
-    ULONG_PTR dwExtraInfo;
-} MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, * LPMOUSEMOVEPOINT;
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetMouseMovePointsEx(
-         UINT cbSize,
-         LPMOUSEMOVEPOINT lppt,
-         LPMOUSEMOVEPOINT lpptBuf,
-         int nBufPoints,
-         DWORD resolution);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HDESK
-__stdcall
-CreateDesktopA(
-         LPCSTR lpszDesktop,
-      LPCSTR lpszDevice,
-      LPDEVMODEA pDevmode,
-         DWORD dwFlags,
-         ACCESS_MASK dwDesiredAccess,
-           LPSECURITY_ATTRIBUTES lpsa);
-__declspec(dllimport)
-HDESK
-__stdcall
-CreateDesktopW(
-         LPCWSTR lpszDesktop,
-      LPCWSTR lpszDevice,
-      LPDEVMODEW pDevmode,
-         DWORD dwFlags,
-         ACCESS_MASK dwDesiredAccess,
-           LPSECURITY_ATTRIBUTES lpsa);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HDESK
-__stdcall
-OpenDesktopA(
-         LPCSTR lpszDesktop,
-         DWORD dwFlags,
-         BOOL fInherit,
-         ACCESS_MASK dwDesiredAccess);
-__declspec(dllimport)
-HDESK
-__stdcall
-OpenDesktopW(
-         LPCWSTR lpszDesktop,
-         DWORD dwFlags,
-         BOOL fInherit,
-         ACCESS_MASK dwDesiredAccess);
-
-
-
-
-
-
-__declspec(dllimport)
-HDESK
-__stdcall
-OpenInputDesktop(
-         DWORD dwFlags,
-         BOOL fInherit,
-         ACCESS_MASK dwDesiredAccess);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDesktopsA(
-           HWINSTA hwinsta,
-         DESKTOPENUMPROCA lpEnumFunc,
-         LPARAM lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDesktopsW(
-           HWINSTA hwinsta,
-         DESKTOPENUMPROCW lpEnumFunc,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDesktopWindows(
-           HDESK hDesktop,
-         WNDENUMPROC lpfn,
-         LPARAM lParam);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SwitchDesktop(
-         HDESK hDesktop);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadDesktop(
-          HDESK hDesktop);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseDesktop(
-         HDESK hDesktop);
-
-__declspec(dllimport)
-HDESK
-__stdcall
-GetThreadDesktop(
-         DWORD dwThreadId);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWINSTA
-__stdcall
-CreateWindowStationA(
-           LPCSTR lpwinsta,
-         DWORD dwFlags,
-         ACCESS_MASK dwDesiredAccess,
-           LPSECURITY_ATTRIBUTES lpsa);
-__declspec(dllimport)
-HWINSTA
-__stdcall
-CreateWindowStationW(
-           LPCWSTR lpwinsta,
-         DWORD dwFlags,
-         ACCESS_MASK dwDesiredAccess,
-           LPSECURITY_ATTRIBUTES lpsa);
-
-
-
-
-
-
-__declspec(dllimport)
-HWINSTA
-__stdcall
-OpenWindowStationA(
-         LPCSTR lpszWinSta,
-         BOOL fInherit,
-         ACCESS_MASK dwDesiredAccess);
-__declspec(dllimport)
-HWINSTA
-__stdcall
-OpenWindowStationW(
-         LPCWSTR lpszWinSta,
-         BOOL fInherit,
-         ACCESS_MASK dwDesiredAccess);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumWindowStationsA(
-         WINSTAENUMPROCA lpEnumFunc,
-         LPARAM lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumWindowStationsW(
-         WINSTAENUMPROCW lpEnumFunc,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseWindowStation(
-         HWINSTA hWinSta);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessWindowStation(
-         HWINSTA hWinSta);
-
-__declspec(dllimport)
-HWINSTA
-__stdcall
-GetProcessWindowStation(
-    void);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetUserObjectSecurity(
-         HANDLE hObj,
-         PSECURITY_INFORMATION pSIRequested,
-         PSECURITY_DESCRIPTOR pSID);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetUserObjectSecurity(
-         HANDLE hObj,
-         PSECURITY_INFORMATION pSIRequested,
-           PSECURITY_DESCRIPTOR pSID,
-         DWORD nLength,
-         LPDWORD lpnLengthNeeded);
-
-
-
-
-
-
-typedef struct tagUSEROBJECTFLAGS {
-    BOOL fInherit;
-    BOOL fReserved;
-    DWORD dwFlags;
-} USEROBJECTFLAGS, *PUSEROBJECTFLAGS;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetUserObjectInformationA(
-         HANDLE hObj,
-         int nIndex,
-           PVOID pvInfo,
-         DWORD nLength,
-           LPDWORD lpnLengthNeeded);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetUserObjectInformationW(
-         HANDLE hObj,
-         int nIndex,
-           PVOID pvInfo,
-         DWORD nLength,
-           LPDWORD lpnLengthNeeded);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetUserObjectInformationA(
-         HANDLE hObj,
-         int nIndex,
-           PVOID pvInfo,
-         DWORD nLength);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetUserObjectInformationW(
-         HANDLE hObj,
-         int nIndex,
-           PVOID pvInfo,
-         DWORD nLength);
-
-
-
-
-
-
-
-
-
-typedef struct tagWNDCLASSEXA {
-    UINT        cbSize;
-    
-    UINT        style;
-    WNDPROC     lpfnWndProc;
-    int         cbClsExtra;
-    int         cbWndExtra;
-    HINSTANCE   hInstance;
-    HICON       hIcon;
-    HCURSOR     hCursor;
-    HBRUSH      hbrBackground;
-    LPCSTR      lpszMenuName;
-    LPCSTR      lpszClassName;
-    
-    HICON       hIconSm;
-} WNDCLASSEXA, *PWNDCLASSEXA,  *NPWNDCLASSEXA,  *LPWNDCLASSEXA;
-typedef struct tagWNDCLASSEXW {
-    UINT        cbSize;
-    
-    UINT        style;
-    WNDPROC     lpfnWndProc;
-    int         cbClsExtra;
-    int         cbWndExtra;
-    HINSTANCE   hInstance;
-    HICON       hIcon;
-    HCURSOR     hCursor;
-    HBRUSH      hbrBackground;
-    LPCWSTR     lpszMenuName;
-    LPCWSTR     lpszClassName;
-    
-    HICON       hIconSm;
-} WNDCLASSEXW, *PWNDCLASSEXW,  *NPWNDCLASSEXW,  *LPWNDCLASSEXW;
-
-typedef WNDCLASSEXW WNDCLASSEX;
-typedef PWNDCLASSEXW PWNDCLASSEX;
-typedef NPWNDCLASSEXW NPWNDCLASSEX;
-typedef LPWNDCLASSEXW LPWNDCLASSEX;
-
-
-
-
-
-
-
-
-typedef struct tagWNDCLASSA {
-    UINT        style;
-    WNDPROC     lpfnWndProc;
-    int         cbClsExtra;
-    int         cbWndExtra;
-    HINSTANCE   hInstance;
-    HICON       hIcon;
-    HCURSOR     hCursor;
-    HBRUSH      hbrBackground;
-    LPCSTR      lpszMenuName;
-    LPCSTR      lpszClassName;
-} WNDCLASSA, *PWNDCLASSA,  *NPWNDCLASSA,  *LPWNDCLASSA;
-typedef struct tagWNDCLASSW {
-    UINT        style;
-    WNDPROC     lpfnWndProc;
-    int         cbClsExtra;
-    int         cbWndExtra;
-    HINSTANCE   hInstance;
-    HICON       hIcon;
-    HCURSOR     hCursor;
-    HBRUSH      hbrBackground;
-    LPCWSTR     lpszMenuName;
-    LPCWSTR     lpszClassName;
-} WNDCLASSW, *PWNDCLASSW,  *NPWNDCLASSW,  *LPWNDCLASSW;
-
-typedef WNDCLASSW WNDCLASS;
-typedef PWNDCLASSW PWNDCLASS;
-typedef NPWNDCLASSW NPWNDCLASS;
-typedef LPWNDCLASSW LPWNDCLASS;
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsHungAppWindow(
-         HWND hwnd);
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-DisableProcessWindowsGhosting(
-    void);
-
-
-
-
-
-
-
-
-typedef struct tagMSG {
-    HWND        hwnd;
-    UINT        message;
-    WPARAM      wParam;
-    LPARAM      lParam;
-    DWORD       time;
-    POINT       pt;
-
-
-
-} MSG, *PMSG,  *NPMSG,  *LPMSG;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMINMAXINFO {
-    POINT ptReserved;
-    POINT ptMaxSize;
-    POINT ptMaxPosition;
-    POINT ptMinTrackSize;
-    POINT ptMaxTrackSize;
-} MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagCOPYDATASTRUCT {
-    ULONG_PTR dwData;
-    DWORD cbData;
-    PVOID lpData;
-} COPYDATASTRUCT, *PCOPYDATASTRUCT;
-
-
-typedef struct tagMDINEXTMENU
-{
-    HMENU   hmenuIn;
-    HMENU   hmenuNext;
-    HWND    hwndNext;
-} MDINEXTMENU, * PMDINEXTMENU,  * LPMDINEXTMENU;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-RegisterWindowMessageA(
-         LPCSTR lpString);
-__declspec(dllimport)
-UINT
-__stdcall
-RegisterWindowMessageW(
-         LPCWSTR lpString);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagWINDOWPOS {
-    HWND    hwnd;
-    HWND    hwndInsertAfter;
-    int     x;
-    int     y;
-    int     cx;
-    int     cy;
-    UINT    flags;
-} WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS;
-
-
-
-
-typedef struct tagNCCALCSIZE_PARAMS {
-    RECT       rgrc[3];
-    PWINDOWPOS lppos;
-} NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagTRACKMOUSEEVENT {
-    DWORD cbSize;
-    DWORD dwFlags;
-    HWND  hwndTrack;
-    DWORD dwHoverTime;
-} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TrackMouseEvent(
-         LPTRACKMOUSEEVENT lpEventTrack);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawEdge(
-         HDC hdc,
-         LPRECT qrc,
-         UINT edge,
-         UINT grfFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawFrameControl(
-         HDC,
-         LPRECT,
-         UINT,
-         UINT);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawCaption(
-         HWND hwnd,
-         HDC hdc,
-         const RECT * lprect,
-         UINT flags);
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawAnimatedRects(
-           HWND hwnd,
-         int idAni,
-         const RECT *lprcFrom,
-         const RECT *lprcTo);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagACCEL {
-
-    BYTE   fVirt;               
-    WORD   key;
-    WORD   cmd;
-
-
-
-
-
-} ACCEL, *LPACCEL;
-
-typedef struct tagPAINTSTRUCT {
-    HDC         hdc;
-    BOOL        fErase;
-    RECT        rcPaint;
-    BOOL        fRestore;
-    BOOL        fIncUpdate;
-    BYTE        rgbReserved[32];
-} PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT;
-
-typedef struct tagCREATESTRUCTA {
-    LPVOID      lpCreateParams;
-    HINSTANCE   hInstance;
-    HMENU       hMenu;
-    HWND        hwndParent;
-    int         cy;
-    int         cx;
-    int         y;
-    int         x;
-    LONG        style;
-    LPCSTR      lpszName;
-    LPCSTR      lpszClass;
-    DWORD       dwExStyle;
-} CREATESTRUCTA, *LPCREATESTRUCTA;
-typedef struct tagCREATESTRUCTW {
-    LPVOID      lpCreateParams;
-    HINSTANCE   hInstance;
-    HMENU       hMenu;
-    HWND        hwndParent;
-    int         cy;
-    int         cx;
-    int         y;
-    int         x;
-    LONG        style;
-    LPCWSTR     lpszName;
-    LPCWSTR     lpszClass;
-    DWORD       dwExStyle;
-} CREATESTRUCTW, *LPCREATESTRUCTW;
-
-typedef CREATESTRUCTW CREATESTRUCT;
-typedef LPCREATESTRUCTW LPCREATESTRUCT;
-
-
-
-
-
-typedef struct tagWINDOWPLACEMENT {
-    UINT  length;
-    UINT  flags;
-    UINT  showCmd;
-    POINT ptMinPosition;
-    POINT ptMaxPosition;
-    RECT  rcNormalPosition;
-
-
-
-} WINDOWPLACEMENT;
-typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT;
-
-
-
-
-
-
-
-
-typedef struct tagNMHDR
-{
-    HWND      hwndFrom;
-    UINT_PTR  idFrom;
-    UINT      code;         
-}   NMHDR;
-typedef NMHDR  * LPNMHDR;
-
-typedef struct tagSTYLESTRUCT
-{
-    DWORD   styleOld;
-    DWORD   styleNew;
-} STYLESTRUCT, * LPSTYLESTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMEASUREITEMSTRUCT {
-    UINT       CtlType;
-    UINT       CtlID;
-    UINT       itemID;
-    UINT       itemWidth;
-    UINT       itemHeight;
-    ULONG_PTR  itemData;
-} MEASUREITEMSTRUCT,  *PMEASUREITEMSTRUCT,  *LPMEASUREITEMSTRUCT;
-
-
-
-
-
-typedef struct tagDRAWITEMSTRUCT {
-    UINT        CtlType;
-    UINT        CtlID;
-    UINT        itemID;
-    UINT        itemAction;
-    UINT        itemState;
-    HWND        hwndItem;
-    HDC         hDC;
-    RECT        rcItem;
-    ULONG_PTR   itemData;
-} DRAWITEMSTRUCT,  *PDRAWITEMSTRUCT,  *LPDRAWITEMSTRUCT;
-
-
-
-
-typedef struct tagDELETEITEMSTRUCT {
-    UINT       CtlType;
-    UINT       CtlID;
-    UINT       itemID;
-    HWND       hwndItem;
-    ULONG_PTR  itemData;
-} DELETEITEMSTRUCT,  *PDELETEITEMSTRUCT,  *LPDELETEITEMSTRUCT;
-
-
-
-
-typedef struct tagCOMPAREITEMSTRUCT {
-    UINT        CtlType;
-    UINT        CtlID;
-    HWND        hwndItem;
-    UINT        itemID1;
-    ULONG_PTR   itemData1;
-    UINT        itemID2;
-    ULONG_PTR   itemData2;
-    DWORD       dwLocaleId;
-} COMPAREITEMSTRUCT,  *PCOMPAREITEMSTRUCT,  *LPCOMPAREITEMSTRUCT;
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMessageA(
-         LPMSG lpMsg,
-           HWND hWnd,
-         UINT wMsgFilterMin,
-         UINT wMsgFilterMax);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMessageW(
-         LPMSG lpMsg,
-           HWND hWnd,
-         UINT wMsgFilterMin,
-         UINT wMsgFilterMax);
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TranslateMessage(
-         const MSG *lpMsg);
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-DispatchMessageA(
-         const MSG *lpMsg);
-__declspec(dllimport)
-LRESULT
-__stdcall
-DispatchMessageW(
-         const MSG *lpMsg);
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMessageQueue(
-         int cMessagesMax);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PeekMessageA(
-         LPMSG lpMsg,
-           HWND hWnd,
-         UINT wMsgFilterMin,
-         UINT wMsgFilterMax,
-         UINT wRemoveMsg);
-__declspec(dllimport)
-BOOL
-__stdcall
-PeekMessageW(
-         LPMSG lpMsg,
-           HWND hWnd,
-         UINT wMsgFilterMin,
-         UINT wMsgFilterMax,
-         UINT wRemoveMsg);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RegisterHotKey(
-           HWND hWnd,
-         int id,
-         UINT fsModifiers,
-         UINT vk);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnregisterHotKey(
-           HWND hWnd,
-         int id);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ExitWindowsEx(
-         UINT uFlags,
-         DWORD dwReason);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SwapMouseButton(
-         BOOL fSwap);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetMessagePos(
-    void);
-
-__declspec(dllimport)
-LONG
-__stdcall
-GetMessageTime(
-    void);
-
-__declspec(dllimport)
-LPARAM
-__stdcall
-GetMessageExtraInfo(
-    void);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWow64Message(
-    void);
-
-
-
-__declspec(dllimport)
-LPARAM
-__stdcall
-SetMessageExtraInfo(
-         LPARAM lParam);
-
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-SendMessageA(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-LRESULT
-__stdcall
-SendMessageW(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-SendMessageTimeoutA(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam,
-         UINT fuFlags,
-         UINT uTimeout,
-           PDWORD_PTR lpdwResult);
-__declspec(dllimport)
-LRESULT
-__stdcall
-SendMessageTimeoutW(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam,
-         UINT fuFlags,
-         UINT uTimeout,
-           PDWORD_PTR lpdwResult);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SendNotifyMessageA(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-SendNotifyMessageW(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SendMessageCallbackA(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam,
-         SENDASYNCPROC lpResultCallBack,
-         ULONG_PTR dwData);
-__declspec(dllimport)
-BOOL
-__stdcall
-SendMessageCallbackW(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam,
-         SENDASYNCPROC lpResultCallBack,
-         ULONG_PTR dwData);
-
-
-
-
-
-
-
-typedef struct {
-    UINT  cbSize;
-    HDESK hdesk;
-    HWND  hwnd;
-    LUID  luid;
-} BSMINFO, *PBSMINFO;
-
-__declspec(dllimport)
-long
-__stdcall
-BroadcastSystemMessageExA(
-         DWORD flags,
-           LPDWORD lpInfo,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam,
-           PBSMINFO pbsmInfo);
-__declspec(dllimport)
-long
-__stdcall
-BroadcastSystemMessageExW(
-         DWORD flags,
-           LPDWORD lpInfo,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam,
-           PBSMINFO pbsmInfo);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-long
-__stdcall
-BroadcastSystemMessageA(
-         DWORD flags,
-           LPDWORD lpInfo,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-long
-__stdcall
-BroadcastSystemMessageW(
-         DWORD flags,
-           LPDWORD lpInfo,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  PVOID           HDEVNOTIFY;
-typedef  HDEVNOTIFY     *PHDEVNOTIFY;
-
-
-
-
-
-
-
-__declspec(dllimport)
-HDEVNOTIFY
-__stdcall
-RegisterDeviceNotificationA(
-         HANDLE hRecipient,
-         LPVOID NotificationFilter,
-         DWORD Flags);
-__declspec(dllimport)
-HDEVNOTIFY
-__stdcall
-RegisterDeviceNotificationW(
-         HANDLE hRecipient,
-         LPVOID NotificationFilter,
-         DWORD Flags);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnregisterDeviceNotification(
-         HDEVNOTIFY Handle);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PostMessageA(
-           HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-PostMessageW(
-           HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PostThreadMessageA(
-         DWORD idThread,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-PostThreadMessageW(
-         DWORD idThread,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AttachThreadInput(
-         DWORD idAttach,
-         DWORD idAttachTo,
-         BOOL fAttach);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReplyMessage(
-         LRESULT lResult);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WaitMessage(
-    void);
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-WaitForInputIdle(
-         HANDLE hProcess,
-         DWORD dwMilliseconds);
-
-__declspec(dllimport)
-
-LRESULT
-__stdcall
-
-
-
-
-DefWindowProcA(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-
-LRESULT
-__stdcall
-
-
-
-
-DefWindowProcW(
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-PostQuitMessage(
-         int nExitCode);
-
-
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-CallWindowProcA(
-         WNDPROC lpPrevWndFunc,
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-LRESULT
-__stdcall
-CallWindowProcW(
-         WNDPROC lpPrevWndFunc,
-         HWND hWnd,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InSendMessage(
-    void);
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-InSendMessageEx(
-      LPVOID lpReserved);
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetDoubleClickTime(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetDoubleClickTime(
-         UINT);
-
-__declspec(dllimport)
-ATOM
-__stdcall
-RegisterClassA(
-         const WNDCLASSA *lpWndClass);
-__declspec(dllimport)
-ATOM
-__stdcall
-RegisterClassW(
-         const WNDCLASSW *lpWndClass);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnregisterClassA(
-         LPCSTR lpClassName,
-         HINSTANCE hInstance);
-__declspec(dllimport)
-BOOL
-__stdcall
-UnregisterClassW(
-         LPCWSTR lpClassName,
-         HINSTANCE hInstance);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetClassInfoA(
-           HINSTANCE hInstance,
-         LPCSTR lpClassName,
-         LPWNDCLASSA lpWndClass);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetClassInfoW(
-           HINSTANCE hInstance,
-         LPCWSTR lpClassName,
-         LPWNDCLASSW lpWndClass);
-
-
-
-
-
-
-
-__declspec(dllimport)
-ATOM
-__stdcall
-RegisterClassExA(
-         const WNDCLASSEXA *);
-__declspec(dllimport)
-ATOM
-__stdcall
-RegisterClassExW(
-         const WNDCLASSEXW *);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetClassInfoExA(
-           HINSTANCE hInstance,
-         LPCSTR lpszClass,
-         LPWNDCLASSEXA lpwcx);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetClassInfoExW(
-           HINSTANCE hInstance,
-         LPCWSTR lpszClass,
-         LPWNDCLASSEXW lpwcx);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOLEAN (__stdcall * PREGISTERCLASSNAMEW)(LPCWSTR);
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-CreateWindowExA(
-         DWORD dwExStyle,
-           LPCSTR lpClassName,
-           LPCSTR lpWindowName,
-         DWORD dwStyle,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight,
-           HWND hWndParent,
-           HMENU hMenu,
-           HINSTANCE hInstance,
-           LPVOID lpParam);
-__declspec(dllimport)
-HWND
-__stdcall
-CreateWindowExW(
-         DWORD dwExStyle,
-           LPCWSTR lpClassName,
-           LPCWSTR lpWindowName,
-         DWORD dwStyle,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight,
-           HWND hWndParent,
-           HMENU hMenu,
-           HINSTANCE hInstance,
-           LPVOID lpParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWindow(
-           HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsMenu(
-         HMENU hMenu);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsChild(
-         HWND hWndParent,
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyWindow(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ShowWindow(
-         HWND hWnd,
-         int nCmdShow);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AnimateWindow(
-         HWND hWnd,
-         DWORD dwTime,
-         DWORD dwFlags);
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UpdateLayeredWindow(
-         HWND hWnd,
-           HDC hdcDst,
-           POINT *pptDst,
-           SIZE *psize,
-           HDC hdcSrc,
-           POINT *pptSrc,
-         COLORREF crKey,
-           BLENDFUNCTION *pblend,
-         DWORD dwFlags);
-
-
-
-
-
-
-typedef struct tagUPDATELAYEREDWINDOWINFO
-{
-                        DWORD               cbSize;
-                      HDC                 hdcDst;
-              POINT const         *pptDst;
-              SIZE const          *psize;
-                      HDC                 hdcSrc;
-              POINT const         *pptSrc;
-                      COLORREF            crKey;
-              BLENDFUNCTION const *pblend;
-                        DWORD               dwFlags;
-              RECT const          *prcDirty;
-} UPDATELAYEREDWINDOWINFO, *PUPDATELAYEREDWINDOWINFO;
-
-
-
-typedef
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UpdateLayeredWindowIndirect(
-         HWND hWnd,
-           UPDATELAYEREDWINDOWINFO const *pULWInfo);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetLayeredWindowAttributes(
-         HWND hwnd,
-           COLORREF *pcrKey,
-           BYTE *pbAlpha,
-           DWORD *pdwFlags);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PrintWindow(
-          HWND hwnd,
-          HDC hdcBlt,
-          UINT nFlags);
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetLayeredWindowAttributes(
-         HWND hwnd,
-         COLORREF crKey,
-         BYTE bAlpha,
-         DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ShowWindowAsync(
-          HWND hWnd,
-          int nCmdShow);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlashWindow(
-          HWND hWnd,
-          BOOL bInvert);
-
-
-typedef struct {
-    UINT  cbSize;
-    HWND  hwnd;
-    DWORD dwFlags;
-    UINT  uCount;
-    DWORD dwTimeout;
-} FLASHWINFO, *PFLASHWINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlashWindowEx(
-         PFLASHWINFO pfwi);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ShowOwnedPopups(
-          HWND hWnd,
-          BOOL fShow);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OpenIcon(
-          HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseWindow(
-          HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MoveWindow(
-         HWND hWnd,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight,
-         BOOL bRepaint);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetWindowPos(
-         HWND hWnd,
-           HWND hWndInsertAfter,
-         int X,
-         int Y,
-         int cx,
-         int cy,
-         UINT uFlags);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetWindowPlacement(
-         HWND hWnd,
-         WINDOWPLACEMENT *lpwndpl);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetWindowPlacement(
-         HWND hWnd,
-         const WINDOWPLACEMENT *lpwndpl);
-
-
-
-
-__declspec(dllimport)
-HDWP
-__stdcall
-BeginDeferWindowPos(
-         int nNumWindows);
-
-__declspec(dllimport)
-HDWP
-__stdcall
-DeferWindowPos(
-         HDWP hWinPosInfo,
-         HWND hWnd,
-           HWND hWndInsertAfter,
-         int x,
-         int y,
-         int cx,
-         int cy,
-         UINT uFlags);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EndDeferWindowPos(
-         HDWP hWinPosInfo);
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWindowVisible(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsIconic(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AnyPopup(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-BringWindowToTop(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsZoomed(
-         HWND hWnd);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,2)
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    DWORD style;
-    DWORD dwExtendedStyle;
-    WORD cdit;
-    short x;
-    short y;
-    short cx;
-    short cy;
-} DLGTEMPLATE;
-typedef DLGTEMPLATE *LPDLGTEMPLATEA;
-typedef DLGTEMPLATE *LPDLGTEMPLATEW;
-
-typedef LPDLGTEMPLATEW LPDLGTEMPLATE;
-
-
-
-typedef const DLGTEMPLATE *LPCDLGTEMPLATEA;
-typedef const DLGTEMPLATE *LPCDLGTEMPLATEW;
-
-typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE;
-
-
-
-
-
-
-
-typedef struct {
-    DWORD style;
-    DWORD dwExtendedStyle;
-    short x;
-    short y;
-    short cx;
-    short cy;
-    WORD id;
-} DLGITEMTEMPLATE;
-typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA;
-typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW;
-
-typedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE;
-
-
-
-typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA;
-typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW;
-
-typedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-CreateDialogParamA(
-           HINSTANCE hInstance,
-         LPCSTR lpTemplateName,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-__declspec(dllimport)
-HWND
-__stdcall
-CreateDialogParamW(
-           HINSTANCE hInstance,
-         LPCWSTR lpTemplateName,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-CreateDialogIndirectParamA(
-           HINSTANCE hInstance,
-         LPCDLGTEMPLATEA lpTemplate,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-__declspec(dllimport)
-HWND
-__stdcall
-CreateDialogIndirectParamW(
-           HINSTANCE hInstance,
-         LPCDLGTEMPLATEW lpTemplate,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT_PTR
-__stdcall
-DialogBoxParamA(
-           HINSTANCE hInstance,
-         LPCSTR lpTemplateName,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-__declspec(dllimport)
-INT_PTR
-__stdcall
-DialogBoxParamW(
-           HINSTANCE hInstance,
-         LPCWSTR lpTemplateName,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-
-
-
-
-
-
-__declspec(dllimport)
-INT_PTR
-__stdcall
-DialogBoxIndirectParamA(
-           HINSTANCE hInstance,
-         LPCDLGTEMPLATEA hDialogTemplate,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-__declspec(dllimport)
-INT_PTR
-__stdcall
-DialogBoxIndirectParamW(
-           HINSTANCE hInstance,
-         LPCDLGTEMPLATEW hDialogTemplate,
-           HWND hWndParent,
-           DLGPROC lpDialogFunc,
-         LPARAM dwInitParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EndDialog(
-         HWND hDlg,
-         INT_PTR nResult);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetDlgItem(
-           HWND hDlg,
-         int nIDDlgItem);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetDlgItemInt(
-         HWND hDlg,
-         int nIDDlgItem,
-         UINT uValue,
-         BOOL bSigned);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetDlgItemInt(
-         HWND hDlg,
-         int nIDDlgItem,
-           BOOL *lpTranslated,
-         BOOL bSigned);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetDlgItemTextA(
-         HWND hDlg,
-         int nIDDlgItem,
-         LPCSTR lpString);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetDlgItemTextW(
-         HWND hDlg,
-         int nIDDlgItem,
-         LPCWSTR lpString);
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetDlgItemTextA(
-         HWND hDlg,
-         int nIDDlgItem,
-         LPSTR lpString,
-         int cchMax);
-__declspec(dllimport)
-UINT
-__stdcall
-GetDlgItemTextW(
-         HWND hDlg,
-         int nIDDlgItem,
-         LPWSTR lpString,
-         int cchMax);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckDlgButton(
-         HWND hDlg,
-         int nIDButton,
-         UINT uCheck);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckRadioButton(
-         HWND hDlg,
-         int nIDFirstButton,
-         int nIDLastButton,
-         int nIDCheckButton);
-
-__declspec(dllimport)
-UINT
-__stdcall
-IsDlgButtonChecked(
-         HWND hDlg,
-         int nIDButton);
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-SendDlgItemMessageA(
-         HWND hDlg,
-         int nIDDlgItem,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-LRESULT
-__stdcall
-SendDlgItemMessageW(
-         HWND hDlg,
-         int nIDDlgItem,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetNextDlgGroupItem(
-         HWND hDlg,
-           HWND hCtl,
-         BOOL bPrevious);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetNextDlgTabItem(
-         HWND hDlg,
-           HWND hCtl,
-         BOOL bPrevious);
-
-__declspec(dllimport)
-int
-__stdcall
-GetDlgCtrlID(
-         HWND hWnd);
-
-__declspec(dllimport)
-long
-__stdcall
-GetDialogBaseUnits(void);
-
-__declspec(dllimport)
-
-LRESULT
-__stdcall
-
-
-
-
-DefDlgProcA(
-         HWND hDlg,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-
-LRESULT
-__stdcall
-
-
-
-
-DefDlgProcW(
-         HWND hDlg,
-         UINT Msg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CallMsgFilterA(
-         LPMSG lpMsg,
-         int nCode);
-__declspec(dllimport)
-BOOL
-__stdcall
-CallMsgFilterW(
-         LPMSG lpMsg,
-         int nCode);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OpenClipboard(
-           HWND hWndNewOwner);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseClipboard(
-    void);
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetClipboardSequenceNumber(
-    void);
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetClipboardOwner(
-    void);
-
-__declspec(dllimport)
-HWND
-__stdcall
-SetClipboardViewer(
-         HWND hWndNewViewer);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetClipboardViewer(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeClipboardChain(
-         HWND hWndRemove,
-         HWND hWndNewNext);
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-SetClipboardData(
-         UINT uFormat,
-           HANDLE hMem);
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-GetClipboardData(
-         UINT uFormat);
-
-__declspec(dllimport)
-UINT
-__stdcall
-RegisterClipboardFormatA(
-         LPCSTR lpszFormat);
-__declspec(dllimport)
-UINT
-__stdcall
-RegisterClipboardFormatW(
-         LPCWSTR lpszFormat);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-CountClipboardFormats(
-    void);
-
-__declspec(dllimport)
-UINT
-__stdcall
-EnumClipboardFormats(
-         UINT format);
-
-__declspec(dllimport)
-int
-__stdcall
-GetClipboardFormatNameA(
-         UINT format,
-         LPSTR lpszFormatName,
-         int cchMaxCount);
-__declspec(dllimport)
-int
-__stdcall
-GetClipboardFormatNameW(
-         UINT format,
-         LPWSTR lpszFormatName,
-         int cchMaxCount);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EmptyClipboard(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsClipboardFormatAvailable(
-         UINT format);
-
-__declspec(dllimport)
-int
-__stdcall
-GetPriorityClipboardFormat(
-           UINT *paFormatPriorityList,
-         int cFormats);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetOpenClipboardWindow(
-    void);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CharToOemA(
-         LPCSTR lpszSrc,
-         LPSTR lpszDst);
-__declspec(dllimport)
-BOOL
-__stdcall
-CharToOemW(
-         LPCWSTR lpszSrc,
-         LPSTR lpszDst);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OemToCharA(
-         LPCSTR lpszSrc,
-         LPSTR lpszDst);
-__declspec(dllimport)
-BOOL
-__stdcall
-OemToCharW(
-         LPCSTR lpszSrc,
-         LPWSTR lpszDst);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CharToOemBuffA(
-         LPCSTR lpszSrc,
-         LPSTR lpszDst,
-         DWORD cchDstLength);
-__declspec(dllimport)
-BOOL
-__stdcall
-CharToOemBuffW(
-         LPCWSTR lpszSrc,
-         LPSTR lpszDst,
-         DWORD cchDstLength);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OemToCharBuffA(
-         LPCSTR lpszSrc,
-         LPSTR lpszDst,
-         DWORD cchDstLength);
-__declspec(dllimport)
-BOOL
-__stdcall
-OemToCharBuffW(
-         LPCSTR lpszSrc,
-         LPWSTR lpszDst,
-         DWORD cchDstLength);
-
-
-
-
-
-
-__declspec(dllimport)
-LPSTR
-__stdcall
-CharUpperA(
-         LPSTR lpsz);
-__declspec(dllimport)
-LPWSTR
-__stdcall
-CharUpperW(
-         LPWSTR lpsz);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CharUpperBuffA(
-           LPSTR lpsz,
-         DWORD cchLength);
-__declspec(dllimport)
-DWORD
-__stdcall
-CharUpperBuffW(
-           LPWSTR lpsz,
-         DWORD cchLength);
-
-
-
-
-
-
-__declspec(dllimport)
-LPSTR
-__stdcall
-CharLowerA(
-         LPSTR lpsz);
-__declspec(dllimport)
-LPWSTR
-__stdcall
-CharLowerW(
-         LPWSTR lpsz);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CharLowerBuffA(
-           LPSTR lpsz,
-         DWORD cchLength);
-__declspec(dllimport)
-DWORD
-__stdcall
-CharLowerBuffW(
-           LPWSTR lpsz,
-         DWORD cchLength);
-
-
-
-
-
-
-__declspec(dllimport)
-LPSTR
-__stdcall
-CharNextA(
-         LPCSTR lpsz);
-__declspec(dllimport)
-LPWSTR
-__stdcall
-CharNextW(
-         LPCWSTR lpsz);
-
-
-
-
-
-
-__declspec(dllimport)
-LPSTR
-__stdcall
-CharPrevA(
-         LPCSTR lpszStart,
-         LPCSTR lpszCurrent);
-__declspec(dllimport)
-LPWSTR
-__stdcall
-CharPrevW(
-         LPCWSTR lpszStart,
-         LPCWSTR lpszCurrent);
-
-
-
-
-
-
-
-__declspec(dllimport)
-LPSTR
-__stdcall
-CharNextExA(
-          WORD CodePage,
-          LPCSTR lpCurrentChar,
-          DWORD dwFlags);
-
-__declspec(dllimport)
-LPSTR
-__stdcall
-CharPrevExA(
-          WORD CodePage,
-          LPCSTR lpStart,
-          LPCSTR lpCurrentChar,
-          DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharAlphaA(
-         CHAR ch);
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharAlphaW(
-         WCHAR ch);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharAlphaNumericA(
-         CHAR ch);
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharAlphaNumericW(
-         WCHAR ch);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharUpperA(
-         CHAR ch);
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharUpperW(
-         WCHAR ch);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharLowerA(
-         CHAR ch);
-__declspec(dllimport)
-BOOL
-__stdcall
-IsCharLowerW(
-         WCHAR ch);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-SetFocus(
-           HWND hWnd);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetActiveWindow(
-    void);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetFocus(
-    void);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetKBCodePage(
-    void);
-
-__declspec(dllimport)
-SHORT
-__stdcall
-GetKeyState(
-         int nVirtKey);
-
-__declspec(dllimport)
-SHORT
-__stdcall
-GetAsyncKeyState(
-         int vKey);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetKeyboardState(
-         PBYTE lpKeyState);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetKeyboardState(
-           LPBYTE lpKeyState);
-
-__declspec(dllimport)
-int
-__stdcall
-GetKeyNameTextA(
-         LONG lParam,
-         LPSTR lpString,
-         int cchSize);
-__declspec(dllimport)
-int
-__stdcall
-GetKeyNameTextW(
-         LONG lParam,
-         LPWSTR lpString,
-         int cchSize);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetKeyboardType(
-         int nTypeFlag);
-
-__declspec(dllimport)
-int
-__stdcall
-ToAscii(
-         UINT uVirtKey,
-         UINT uScanCode,
-             const BYTE *lpKeyState,
-         LPWORD lpChar,
-         UINT uFlags);
-
-
-__declspec(dllimport)
-int
-__stdcall
-ToAsciiEx(
-         UINT uVirtKey,
-         UINT uScanCode,
-             const BYTE *lpKeyState,
-         LPWORD lpChar,
-         UINT uFlags,
-           HKL dwhkl);
-
-
-__declspec(dllimport)
-int
-__stdcall
-ToUnicode(
-         UINT wVirtKey,
-         UINT wScanCode,
-             const BYTE *lpKeyState,
-         LPWSTR pwszBuff,
-         int cchBuff,
-         UINT wFlags);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-OemKeyScan(
-         WORD wOemChar);
-
-__declspec(dllimport)
-SHORT
-__stdcall
-VkKeyScanA(
-         CHAR ch);
-__declspec(dllimport)
-SHORT
-__stdcall
-VkKeyScanW(
-         WCHAR ch);
-
-
-
-
-
-
-
-__declspec(dllimport)
-SHORT
-__stdcall
-VkKeyScanExA(
-         CHAR ch,
-         HKL dwhkl);
-__declspec(dllimport)
-SHORT
-__stdcall
-VkKeyScanExW(
-         WCHAR ch,
-         HKL dwhkl);
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-keybd_event(
-         BYTE bVk,
-         BYTE bScan,
-         DWORD dwFlags,
-         ULONG_PTR dwExtraInfo);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-mouse_event(
-         DWORD dwFlags,
-         DWORD dx,
-         DWORD dy,
-         DWORD dwData,
-         ULONG_PTR dwExtraInfo);
-
-
-
-typedef struct tagMOUSEINPUT {
-    LONG    dx;
-    LONG    dy;
-    DWORD   mouseData;
-    DWORD   dwFlags;
-    DWORD   time;
-    ULONG_PTR dwExtraInfo;
-} MOUSEINPUT, *PMOUSEINPUT, * LPMOUSEINPUT;
-
-typedef struct tagKEYBDINPUT {
-    WORD    wVk;
-    WORD    wScan;
-    DWORD   dwFlags;
-    DWORD   time;
-    ULONG_PTR dwExtraInfo;
-} KEYBDINPUT, *PKEYBDINPUT, * LPKEYBDINPUT;
-
-typedef struct tagHARDWAREINPUT {
-    DWORD   uMsg;
-    WORD    wParamL;
-    WORD    wParamH;
-} HARDWAREINPUT, *PHARDWAREINPUT, * LPHARDWAREINPUT;
-
-
-
-
-
-typedef struct tagINPUT {
-    DWORD   type;
-
-    union
-    {
-        MOUSEINPUT      mi;
-        KEYBDINPUT      ki;
-        HARDWAREINPUT   hi;
-    };
-} INPUT, *PINPUT, * LPINPUT;
-
-__declspec(dllimport)
-UINT
-__stdcall
-SendInput(
-         UINT cInputs,                     
-           LPINPUT pInputs,  
-         int cbSize);                      
-
-
-
-
-typedef struct tagLASTINPUTINFO {
-    UINT cbSize;
-    DWORD dwTime;
-} LASTINPUTINFO, * PLASTINPUTINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetLastInputInfo(
-         PLASTINPUTINFO plii);
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-MapVirtualKeyA(
-         UINT uCode,
-         UINT uMapType);
-__declspec(dllimport)
-UINT
-__stdcall
-MapVirtualKeyW(
-         UINT uCode,
-         UINT uMapType);
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-MapVirtualKeyExA(
-         UINT uCode,
-         UINT uMapType,
-           HKL dwhkl);
-__declspec(dllimport)
-UINT
-__stdcall
-MapVirtualKeyExW(
-         UINT uCode,
-         UINT uMapType,
-           HKL dwhkl);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetInputState(
-    void);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetQueueStatus(
-         UINT flags);
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetCapture(
-    void);
-
-__declspec(dllimport)
-HWND
-__stdcall
-SetCapture(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReleaseCapture(
-    void);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-MsgWaitForMultipleObjects(
-         DWORD nCount,
-             const HANDLE *pHandles,
-         BOOL fWaitAll,
-         DWORD dwMilliseconds,
-         DWORD dwWakeMask);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-MsgWaitForMultipleObjectsEx(
-         DWORD nCount,
-             const HANDLE *pHandles,
-         DWORD dwMilliseconds,
-         DWORD dwWakeMask,
-         DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT_PTR
-__stdcall
-SetTimer(
-           HWND hWnd,
-         UINT_PTR nIDEvent,
-         UINT uElapse,
-           TIMERPROC lpTimerFunc);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-KillTimer(
-           HWND hWnd,
-         UINT_PTR uIDEvent);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWindowUnicode(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnableWindow(
-         HWND hWnd,
-         BOOL bEnable);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWindowEnabled(
-         HWND hWnd);
-
-__declspec(dllimport)
-HACCEL
-__stdcall
-LoadAcceleratorsA(
-           HINSTANCE hInstance,
-         LPCSTR lpTableName);
-__declspec(dllimport)
-HACCEL
-__stdcall
-LoadAcceleratorsW(
-           HINSTANCE hInstance,
-         LPCWSTR lpTableName);
-
-
-
-
-
-
-__declspec(dllimport)
-HACCEL
-__stdcall
-CreateAcceleratorTableA(
-           LPACCEL paccel, 
-         int cAccel);
-__declspec(dllimport)
-HACCEL
-__stdcall
-CreateAcceleratorTableW(
-           LPACCEL paccel, 
-         int cAccel);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyAcceleratorTable(
-         HACCEL hAccel);
-
-__declspec(dllimport)
-int
-__stdcall
-CopyAcceleratorTableA(
-         HACCEL hAccelSrc,
-             LPACCEL lpAccelDst,
-         int cAccelEntries);
-__declspec(dllimport)
-int
-__stdcall
-CopyAcceleratorTableW(
-         HACCEL hAccelSrc,
-             LPACCEL lpAccelDst,
-         int cAccelEntries);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-TranslateAcceleratorA(
-         HWND hWnd,
-         HACCEL hAccTable,
-         LPMSG lpMsg);
-__declspec(dllimport)
-int
-__stdcall
-TranslateAcceleratorW(
-         HWND hWnd,
-         HACCEL hAccTable,
-         LPMSG lpMsg);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetSystemMetrics(
-         int nIndex);
-
-
-
-
-
-
-__declspec(dllimport)
-HMENU
-__stdcall
-LoadMenuA(
-           HINSTANCE hInstance,
-         LPCSTR lpMenuName);
-__declspec(dllimport)
-HMENU
-__stdcall
-LoadMenuW(
-           HINSTANCE hInstance,
-         LPCWSTR lpMenuName);
-
-
-
-
-
-
-__declspec(dllimport)
-HMENU
-__stdcall
-LoadMenuIndirectA(
-         const MENUTEMPLATEA *lpMenuTemplate);
-__declspec(dllimport)
-HMENU
-__stdcall
-LoadMenuIndirectW(
-         const MENUTEMPLATEW *lpMenuTemplate);
-
-
-
-
-
-
-__declspec(dllimport)
-HMENU
-__stdcall
-GetMenu(
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenu(
-         HWND hWnd,
-           HMENU hMenu);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeMenuA(
-         HMENU hMenu,
-         UINT cmd,
-           LPCSTR lpszNewItem,
-         UINT cmdInsert,
-         UINT flags);
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeMenuW(
-         HMENU hMenu,
-         UINT cmd,
-           LPCWSTR lpszNewItem,
-         UINT cmdInsert,
-         UINT flags);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HiliteMenuItem(
-         HWND hWnd,
-         HMENU hMenu,
-         UINT uIDHiliteItem,
-         UINT uHilite);
-
-__declspec(dllimport)
-int
-__stdcall
-GetMenuStringA(
-         HMENU hMenu,
-         UINT uIDItem,
-           LPSTR lpString,
-         int cchMax,
-         UINT flags);
-__declspec(dllimport)
-int
-__stdcall
-GetMenuStringW(
-         HMENU hMenu,
-         UINT uIDItem,
-           LPWSTR lpString,
-         int cchMax,
-         UINT flags);
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetMenuState(
-         HMENU hMenu,
-         UINT uId,
-         UINT uFlags);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawMenuBar(
-         HWND hWnd);
-
-
-
-
-
-
-
-__declspec(dllimport)
-HMENU
-__stdcall
-GetSystemMenu(
-         HWND hWnd,
-         BOOL bRevert);
-
-
-__declspec(dllimport)
-HMENU
-__stdcall
-CreateMenu(
-    void);
-
-__declspec(dllimport)
-HMENU
-__stdcall
-CreatePopupMenu(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyMenu(
-         HMENU hMenu);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CheckMenuItem(
-         HMENU hMenu,
-         UINT uIDCheckItem,
-         UINT uCheck);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnableMenuItem(
-         HMENU hMenu,
-         UINT uIDEnableItem,
-         UINT uEnable);
-
-__declspec(dllimport)
-HMENU
-__stdcall
-GetSubMenu(
-         HMENU hMenu,
-         int nPos);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetMenuItemID(
-         HMENU hMenu,
-         int nPos);
-
-__declspec(dllimport)
-int
-__stdcall
-GetMenuItemCount(
-           HMENU hMenu);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InsertMenuA(
-         HMENU hMenu,
-         UINT uPosition,
-         UINT uFlags,
-         UINT_PTR uIDNewItem,
-           LPCSTR lpNewItem);
-__declspec(dllimport)
-BOOL
-__stdcall
-InsertMenuW(
-         HMENU hMenu,
-         UINT uPosition,
-         UINT uFlags,
-         UINT_PTR uIDNewItem,
-           LPCWSTR lpNewItem);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AppendMenuA(
-         HMENU hMenu,
-         UINT uFlags,
-         UINT_PTR uIDNewItem,
-           LPCSTR lpNewItem);
-__declspec(dllimport)
-BOOL
-__stdcall
-AppendMenuW(
-         HMENU hMenu,
-         UINT uFlags,
-         UINT_PTR uIDNewItem,
-           LPCWSTR lpNewItem);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ModifyMenuA(
-         HMENU hMnu,
-         UINT uPosition,
-         UINT uFlags,
-         UINT_PTR uIDNewItem,
-           LPCSTR lpNewItem);
-__declspec(dllimport)
-BOOL
-__stdcall
-ModifyMenuW(
-         HMENU hMnu,
-         UINT uPosition,
-         UINT uFlags,
-         UINT_PTR uIDNewItem,
-           LPCWSTR lpNewItem);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall RemoveMenu(
-         HMENU hMenu,
-         UINT uPosition,
-         UINT uFlags);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteMenu(
-         HMENU hMenu,
-         UINT uPosition,
-         UINT uFlags);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenuItemBitmaps(
-         HMENU hMenu,
-         UINT uPosition,
-         UINT uFlags,
-           HBITMAP hBitmapUnchecked,
-           HBITMAP hBitmapChecked);
-
-__declspec(dllimport)
-LONG
-__stdcall
-GetMenuCheckMarkDimensions(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TrackPopupMenu(
-         HMENU hMenu,
-         UINT uFlags,
-         int x,
-         int y,
-         int nReserved,
-         HWND hWnd,
-           const RECT *prcRect);
-
-
-
-
-
-
-
-
-typedef struct tagTPMPARAMS
-{
-    UINT    cbSize;     
-    RECT    rcExclude;  
-}   TPMPARAMS;
-typedef TPMPARAMS  *LPTPMPARAMS;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TrackPopupMenuEx(
-         HMENU,
-         UINT,
-         int,
-         int,
-         HWND,
-           LPTPMPARAMS);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMENUINFO
-{
-    DWORD   cbSize;
-    DWORD   fMask;
-    DWORD   dwStyle;
-    UINT    cyMax;
-    HBRUSH  hbrBack;
-    DWORD   dwContextHelpID;
-    ULONG_PTR dwMenuData;
-}   MENUINFO,  *LPMENUINFO;
-typedef MENUINFO const  *LPCMENUINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMenuInfo(
-         HMENU,
-         LPMENUINFO);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenuInfo(
-         HMENU,
-         LPCMENUINFO);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EndMenu(
-        void);
-
-
-
-
-
-
-
-typedef struct tagMENUGETOBJECTINFO
-{
-    DWORD dwFlags;
-    UINT uPos;
-    HMENU hmenu;
-    PVOID riid;
-    PVOID pvObj;
-} MENUGETOBJECTINFO, * PMENUGETOBJECTINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMENUITEMINFOA
-{
-    UINT     cbSize;
-    UINT     fMask;
-    UINT     fType;         
-    UINT     fState;        
-    UINT     wID;           
-    HMENU    hSubMenu;      
-    HBITMAP  hbmpChecked;   
-    HBITMAP  hbmpUnchecked; 
-    ULONG_PTR dwItemData;   
-    LPSTR    dwTypeData;    
-    UINT     cch;           
-
-    HBITMAP  hbmpItem;      
-
-}   MENUITEMINFOA,  *LPMENUITEMINFOA;
-typedef struct tagMENUITEMINFOW
-{
-    UINT     cbSize;
-    UINT     fMask;
-    UINT     fType;         
-    UINT     fState;        
-    UINT     wID;           
-    HMENU    hSubMenu;      
-    HBITMAP  hbmpChecked;   
-    HBITMAP  hbmpUnchecked; 
-    ULONG_PTR dwItemData;   
-    LPWSTR   dwTypeData;    
-    UINT     cch;           
-
-    HBITMAP  hbmpItem;      
-
-}   MENUITEMINFOW,  *LPMENUITEMINFOW;
-
-typedef MENUITEMINFOW MENUITEMINFO;
-typedef LPMENUITEMINFOW LPMENUITEMINFO;
-
-
-
-
-typedef MENUITEMINFOA const  *LPCMENUITEMINFOA;
-typedef MENUITEMINFOW const  *LPCMENUITEMINFOW;
-
-typedef LPCMENUITEMINFOW LPCMENUITEMINFO;
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InsertMenuItemA(
-         HMENU hmenu,
-         UINT item,
-         BOOL fByPosition,
-         LPCMENUITEMINFOA lpmi);
-__declspec(dllimport)
-BOOL
-__stdcall
-InsertMenuItemW(
-         HMENU hmenu,
-         UINT item,
-         BOOL fByPosition,
-         LPCMENUITEMINFOW lpmi);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMenuItemInfoA(
-         HMENU hmenu,
-         UINT item,
-         BOOL fByPosition,
-         LPMENUITEMINFOA lpmii);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMenuItemInfoW(
-         HMENU hmenu,
-         UINT item,
-         BOOL fByPosition,
-         LPMENUITEMINFOW lpmii);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenuItemInfoA(
-         HMENU hmenu,
-         UINT item,
-         BOOL fByPositon,
-         LPCMENUITEMINFOA lpmii);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenuItemInfoW(
-         HMENU hmenu,
-         UINT item,
-         BOOL fByPositon,
-         LPCMENUITEMINFOW lpmii);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetMenuDefaultItem(
-         HMENU hMenu,
-         UINT fByPos,
-         UINT gmdiFlags);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenuDefaultItem(
-         HMENU hMenu,
-         UINT uItem,
-         UINT fByPos);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMenuItemRect(
-           HWND hWnd,
-         HMENU hMenu,
-         UINT uItem,
-         LPRECT lprcItem);
-
-__declspec(dllimport)
-int
-__stdcall
-MenuItemFromPoint(
-           HWND hWnd,
-         HMENU hMenu,
-         POINT ptScreen);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagDROPSTRUCT
-{
-    HWND    hwndSource;
-    HWND    hwndSink;
-    DWORD   wFmt;
-    ULONG_PTR dwData;
-    POINT   ptDrop;
-    DWORD   dwControlData;
-} DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-DragObject(
-         HWND hwndParent,
-         HWND hwndFrom,
-         UINT fmt,
-         ULONG_PTR data,
-           HCURSOR hcur);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DragDetect(
-         HWND hwnd,
-         POINT pt);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawIcon(
-         HDC hDC,
-         int X,
-         int Y,
-         HICON hIcon);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagDRAWTEXTPARAMS
-{
-    UINT    cbSize;
-    int     iTabLength;
-    int     iLeftMargin;
-    int     iRightMargin;
-    UINT    uiLengthDrawn;
-} DRAWTEXTPARAMS,  *LPDRAWTEXTPARAMS;
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-DrawTextA(
-         HDC hdc,
-           LPCSTR lpchText,
-         int cchText,
-         LPRECT lprc,
-         UINT format);
-__declspec(dllimport)
-int
-__stdcall
-DrawTextW(
-         HDC hdc,
-           LPCWSTR lpchText,
-         int cchText,
-         LPRECT lprc,
-         UINT format);
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-DrawTextExA(
-         HDC hdc,
-           LPSTR lpchText,
-         int cchText,
-         LPRECT lprc,
-         UINT format,
-           LPDRAWTEXTPARAMS lpdtp);
-__declspec(dllimport)
-int
-__stdcall
-DrawTextExW(
-         HDC hdc,
-           LPWSTR lpchText,
-         int cchText,
-         LPRECT lprc,
-         UINT format,
-           LPDRAWTEXTPARAMS lpdtp);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GrayStringA(
-         HDC hDC,
-           HBRUSH hBrush,
-           GRAYSTRINGPROC lpOutputFunc,
-         LPARAM lpData,
-         int nCount,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight);
-__declspec(dllimport)
-BOOL
-__stdcall
-GrayStringW(
-         HDC hDC,
-           HBRUSH hBrush,
-           GRAYSTRINGPROC lpOutputFunc,
-         LPARAM lpData,
-         int nCount,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawStateA(
-         HDC hdc,
-           HBRUSH hbrFore,
-           DRAWSTATEPROC qfnCallBack,
-         LPARAM lData,
-         WPARAM wData,
-         int x,
-         int y,
-         int cx,
-         int cy,
-         UINT uFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawStateW(
-         HDC hdc,
-           HBRUSH hbrFore,
-           DRAWSTATEPROC qfnCallBack,
-         LPARAM lData,
-         WPARAM wData,
-         int x,
-         int y,
-         int cx,
-         int cy,
-         UINT uFlags);
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-TabbedTextOutA(
-         HDC hdc,
-         int x,
-         int y,
-           LPCSTR lpString,
-         int chCount,
-         int nTabPositions,
-             const INT *lpnTabStopPositions,
-         int nTabOrigin);
-__declspec(dllimport)
-LONG
-__stdcall
-TabbedTextOutW(
-         HDC hdc,
-         int x,
-         int y,
-           LPCWSTR lpString,
-         int chCount,
-         int nTabPositions,
-             const INT *lpnTabStopPositions,
-         int nTabOrigin);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTabbedTextExtentA(
-         HDC hdc,
-           LPCSTR lpString,
-         int chCount,
-         int nTabPositions,
-             const INT *lpnTabStopPositions);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetTabbedTextExtentW(
-         HDC hdc,
-           LPCWSTR lpString,
-         int chCount,
-         int nTabPositions,
-             const INT *lpnTabStopPositions);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UpdateWindow(
-         HWND hWnd);
-
-__declspec(dllimport)
-HWND
-__stdcall
-SetActiveWindow(
-         HWND hWnd);
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetForegroundWindow(
-    void);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PaintDesktop(
-         HDC hdc);
-
-__declspec(dllimport)
-void
-__stdcall
-SwitchToThisWindow(
-         HWND hwnd,
-         BOOL fUnknown);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetForegroundWindow(
-         HWND hWnd);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AllowSetForegroundWindow(
-         DWORD dwProcessId);
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LockSetForegroundWindow(
-         UINT uLockCode);
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-WindowFromDC(
-         HDC hDC);
-
-__declspec(dllimport)
-HDC
-__stdcall
-GetDC(
-           HWND hWnd);
-
-__declspec(dllimport)
-HDC
-__stdcall
-GetDCEx(
-           HWND hWnd,
-           HRGN hrgnClip,
-         DWORD flags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HDC
-__stdcall
-GetWindowDC(
-           HWND hWnd);
-
-__declspec(dllimport)
-int
-__stdcall
-ReleaseDC(
-           HWND hWnd,
-         HDC hDC);
-
-__declspec(dllimport)
-HDC
-__stdcall
-BeginPaint(
-         HWND hWnd,
-         LPPAINTSTRUCT lpPaint);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EndPaint(
-         HWND hWnd,
-         const PAINTSTRUCT *lpPaint);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetUpdateRect(
-         HWND hWnd,
-           LPRECT lpRect,
-         BOOL bErase);
-
-__declspec(dllimport)
-int
-__stdcall
-GetUpdateRgn(
-         HWND hWnd,
-         HRGN hRgn,
-         BOOL bErase);
-
-__declspec(dllimport)
-int
-__stdcall
-SetWindowRgn(
-         HWND hWnd,
-           HRGN hRgn,
-         BOOL bRedraw);
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetWindowRgn(
-         HWND hWnd,
-         HRGN hRgn);
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetWindowRgnBox(
-         HWND hWnd,
-         LPRECT lprc);
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-ExcludeUpdateRgn(
-         HDC hDC,
-         HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InvalidateRect(
-           HWND hWnd,
-           const RECT *lpRect,
-         BOOL bErase);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ValidateRect(
-           HWND hWnd,
-           const RECT *lpRect);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InvalidateRgn(
-         HWND hWnd,
-           HRGN hRgn,
-         BOOL bErase);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ValidateRgn(
-         HWND hWnd,
-           HRGN hRgn);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RedrawWindow(
-           HWND hWnd,
-           const RECT *lprcUpdate,
-           HRGN hrgnUpdate,
-         UINT flags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LockWindowUpdate(
-           HWND hWndLock);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ScrollWindow(
-         HWND hWnd,
-         int XAmount,
-         int YAmount,
-           const RECT *lpRect,
-           const RECT *lpClipRect);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ScrollDC(
-         HDC hDC,
-         int dx,
-         int dy,
-           const RECT *lprcScroll,
-           const RECT *lprcClip,
-           HRGN hrgnUpdate,
-           LPRECT lprcUpdate);
-
-__declspec(dllimport)
-int
-__stdcall
-ScrollWindowEx(
-         HWND hWnd,
-         int dx,
-         int dy,
-           const RECT *prcScroll,
-           const RECT *prcClip,
-           HRGN hrgnUpdate,
-           LPRECT prcUpdate,
-         UINT flags);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-SetScrollPos(
-         HWND hWnd,
-         int nBar,
-         int nPos,
-         BOOL bRedraw);
-
-__declspec(dllimport)
-int
-__stdcall
-GetScrollPos(
-         HWND hWnd,
-         int nBar);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetScrollRange(
-         HWND hWnd,
-         int nBar,
-         int nMinPos,
-         int nMaxPos,
-         BOOL bRedraw);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetScrollRange(
-         HWND hWnd,
-         int nBar,
-         LPINT lpMinPos,
-         LPINT lpMaxPos);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ShowScrollBar(
-         HWND hWnd,
-         int wBar,
-         BOOL bShow);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnableScrollBar(
-         HWND hWnd,
-         UINT wSBflags,
-         UINT wArrows);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetPropA(
-         HWND hWnd,
-         LPCSTR lpString,
-           HANDLE hData);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetPropW(
-         HWND hWnd,
-         LPCWSTR lpString,
-           HANDLE hData);
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-GetPropA(
-         HWND hWnd,
-         LPCSTR lpString);
-__declspec(dllimport)
-HANDLE
-__stdcall
-GetPropW(
-         HWND hWnd,
-         LPCWSTR lpString);
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-RemovePropA(
-         HWND hWnd,
-         LPCSTR lpString);
-__declspec(dllimport)
-HANDLE
-__stdcall
-RemovePropW(
-         HWND hWnd,
-         LPCWSTR lpString);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-EnumPropsExA(
-         HWND hWnd,
-         PROPENUMPROCEXA lpEnumFunc,
-         LPARAM lParam);
-__declspec(dllimport)
-int
-__stdcall
-EnumPropsExW(
-         HWND hWnd,
-         PROPENUMPROCEXW lpEnumFunc,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-EnumPropsA(
-         HWND hWnd,
-         PROPENUMPROCA lpEnumFunc);
-__declspec(dllimport)
-int
-__stdcall
-EnumPropsW(
-         HWND hWnd,
-         PROPENUMPROCW lpEnumFunc);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetWindowTextA(
-         HWND hWnd,
-           LPCSTR lpString);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetWindowTextW(
-         HWND hWnd,
-           LPCWSTR lpString);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetWindowTextA(
-         HWND hWnd,
-         LPSTR lpString,
-         int nMaxCount);
-__declspec(dllimport)
-int
-__stdcall
-GetWindowTextW(
-         HWND hWnd,
-         LPWSTR lpString,
-         int nMaxCount);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetWindowTextLengthA(
-         HWND hWnd);
-__declspec(dllimport)
-int
-__stdcall
-GetWindowTextLengthW(
-         HWND hWnd);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetClientRect(
-         HWND hWnd,
-         LPRECT lpRect);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetWindowRect(
-         HWND hWnd,
-         LPRECT lpRect);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AdjustWindowRect(
-         LPRECT lpRect,
-         DWORD dwStyle,
-         BOOL bMenu);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AdjustWindowRectEx(
-         LPRECT lpRect,
-         DWORD dwStyle,
-         BOOL bMenu,
-         DWORD dwExStyle);
-
-
-
-
-
-typedef struct tagHELPINFO      
-{
-    UINT    cbSize;             
-    int     iContextType;       
-    int     iCtrlId;            
-    HANDLE  hItemHandle;        
-    DWORD_PTR dwContextId;      
-    POINT   MousePos;           
-}  HELPINFO,  *LPHELPINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetWindowContextHelpId(
-         HWND,
-         DWORD);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetWindowContextHelpId(
-         HWND);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetMenuContextHelpId(
-         HMENU,
-         DWORD);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetMenuContextHelpId(
-         HMENU);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-MessageBoxA(
-           HWND hWnd,
-           LPCSTR lpText,
-           LPCSTR lpCaption,
-         UINT uType);
-__declspec(dllimport)
-int
-__stdcall
-MessageBoxW(
-           HWND hWnd,
-           LPCWSTR lpText,
-           LPCWSTR lpCaption,
-         UINT uType);
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-MessageBoxExA(
-           HWND hWnd,
-           LPCSTR lpText,
-           LPCSTR lpCaption,
-         UINT uType,
-         WORD wLanguageId);
-__declspec(dllimport)
-int
-__stdcall
-MessageBoxExW(
-           HWND hWnd,
-           LPCWSTR lpText,
-           LPCWSTR lpCaption,
-         UINT uType,
-         WORD wLanguageId);
-
-
-
-
-
-
-
-
-typedef void (__stdcall *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
-
-typedef struct tagMSGBOXPARAMSA
-{
-    UINT        cbSize;
-    HWND        hwndOwner;
-    HINSTANCE   hInstance;
-    LPCSTR      lpszText;
-    LPCSTR      lpszCaption;
-    DWORD       dwStyle;
-    LPCSTR      lpszIcon;
-    DWORD_PTR   dwContextHelpId;
-    MSGBOXCALLBACK      lpfnMsgBoxCallback;
-    DWORD       dwLanguageId;
-} MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA;
-typedef struct tagMSGBOXPARAMSW
-{
-    UINT        cbSize;
-    HWND        hwndOwner;
-    HINSTANCE   hInstance;
-    LPCWSTR     lpszText;
-    LPCWSTR     lpszCaption;
-    DWORD       dwStyle;
-    LPCWSTR     lpszIcon;
-    DWORD_PTR   dwContextHelpId;
-    MSGBOXCALLBACK      lpfnMsgBoxCallback;
-    DWORD       dwLanguageId;
-} MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW;
-
-typedef MSGBOXPARAMSW MSGBOXPARAMS;
-typedef PMSGBOXPARAMSW PMSGBOXPARAMS;
-typedef LPMSGBOXPARAMSW LPMSGBOXPARAMS;
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-MessageBoxIndirectA(
-         const MSGBOXPARAMSA * lpmbp);
-__declspec(dllimport)
-int
-__stdcall
-MessageBoxIndirectW(
-         const MSGBOXPARAMSW * lpmbp);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MessageBeep(
-         UINT uType);
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-ShowCursor(
-         BOOL bShow);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCursorPos(
-         int X,
-         int Y);
-
-__declspec(dllimport)
-HCURSOR
-__stdcall
-SetCursor(
-           HCURSOR hCursor);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCursorPos(
-         LPPOINT lpPoint);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ClipCursor(
-           const RECT *lpRect);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetClipCursor(
-         LPRECT lpRect);
-
-__declspec(dllimport)
-HCURSOR
-__stdcall
-GetCursor(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CreateCaret(
-         HWND hWnd,
-           HBITMAP hBitmap,
-         int nWidth,
-         int nHeight);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetCaretBlinkTime(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCaretBlinkTime(
-         UINT uMSeconds);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyCaret(
-    void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-HideCaret(
-           HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ShowCaret(
-           HWND hWnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCaretPos(
-         int X,
-         int Y);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCaretPos(
-         LPPOINT lpPoint);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ClientToScreen(
-         HWND hWnd,
-         LPPOINT lpPoint);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ScreenToClient(
-         HWND hWnd,
-         LPPOINT lpPoint);
-
-__declspec(dllimport)
-int
-__stdcall
-MapWindowPoints(
-           HWND hWndFrom,
-           HWND hWndTo,
-           LPPOINT lpPoints,
-         UINT cPoints);
-
-__declspec(dllimport)
-HWND
-__stdcall
-WindowFromPoint(
-         POINT Point);
-
-__declspec(dllimport)
-HWND
-__stdcall
-ChildWindowFromPoint(
-         HWND hWndParent,
-         POINT Point);
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-ChildWindowFromPointEx(
-         HWND hwnd,
-         POINT pt,
-         UINT flags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetSysColor(
-         int nIndex);
-
-
-__declspec(dllimport)
-HBRUSH
-__stdcall
-GetSysColorBrush(
-         int nIndex);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSysColors(
-         int cElements,
-           const INT * lpaElements,
-           const COLORREF * lpaRgbValues);
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DrawFocusRect(
-         HDC hDC,
-         const RECT * lprc);
-
-__declspec(dllimport)
-int
-__stdcall
-FillRect(
-         HDC hDC,
-         const RECT *lprc,
-         HBRUSH hbr);
-
-__declspec(dllimport)
-int
-__stdcall
-FrameRect(
-         HDC hDC,
-         const RECT *lprc,
-         HBRUSH hbr);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InvertRect(
-         HDC hDC,
-         const RECT *lprc);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetRect(
-         LPRECT lprc,
-         int xLeft,
-         int yTop,
-         int xRight,
-         int yBottom);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetRectEmpty(
-         LPRECT lprc);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CopyRect(
-         LPRECT lprcDst,
-         const RECT *lprcSrc);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InflateRect(
-         LPRECT lprc,
-         int dx,
-         int dy);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IntersectRect(
-         LPRECT lprcDst,
-         const RECT *lprcSrc1,
-         const RECT *lprcSrc2);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnionRect(
-         LPRECT lprcDst,
-         const RECT *lprcSrc1,
-         const RECT *lprcSrc2);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SubtractRect(
-         LPRECT lprcDst,
-         const RECT *lprcSrc1,
-         const RECT *lprcSrc2);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-OffsetRect(
-         LPRECT lprc,
-         int dx,
-         int dy);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsRectEmpty(
-         const RECT *lprc);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EqualRect(
-         const RECT *lprc1,
-         const RECT *lprc2);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PtInRect(
-         const RECT *lprc,
-         POINT pt);
-
-
-
-__declspec(dllimport)
-WORD
-__stdcall
-GetWindowWord(
-         HWND hWnd,
-         int nIndex);
-
-__declspec(dllimport)
-WORD
-__stdcall
-SetWindowWord(
-         HWND hWnd,
-         int nIndex,
-         WORD wNewWord);
-
-__declspec(dllimport)
-LONG
-__stdcall
-GetWindowLongA(
-         HWND hWnd,
-         int nIndex);
-__declspec(dllimport)
-LONG
-__stdcall
-GetWindowLongW(
-         HWND hWnd,
-         int nIndex);
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-SetWindowLongA(
-         HWND hWnd,
-         int nIndex,
-         LONG dwNewLong);
-__declspec(dllimport)
-LONG
-__stdcall
-SetWindowLongW(
-         HWND hWnd,
-         int nIndex,
-         LONG dwNewLong);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-WORD
-__stdcall
-GetClassWord(
-         HWND hWnd,
-         int nIndex);
-
-__declspec(dllimport)
-WORD
-__stdcall
-SetClassWord(
-         HWND hWnd,
-         int nIndex,
-         WORD wNewWord);
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetClassLongA(
-         HWND hWnd,
-         int nIndex);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetClassLongW(
-         HWND hWnd,
-         int nIndex);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetClassLongA(
-         HWND hWnd,
-         int nIndex,
-         LONG dwNewLong);
-__declspec(dllimport)
-DWORD
-__stdcall
-SetClassLongW(
-         HWND hWnd,
-         int nIndex,
-         LONG dwNewLong);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetProcessDefaultLayout(
-         DWORD *pdwDefaultLayout);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetProcessDefaultLayout(
-         DWORD dwDefaultLayout);
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetDesktopWindow(
-    void);
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetParent(
-         HWND hWnd);
-
-__declspec(dllimport)
-HWND
-__stdcall
-SetParent(
-         HWND hWndChild,
-           HWND hWndNewParent);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumChildWindows(
-           HWND hWndParent,
-         WNDENUMPROC lpEnumFunc,
-         LPARAM lParam);
-
-__declspec(dllimport)
-HWND
-__stdcall
-FindWindowA(
-           LPCSTR lpClassName,
-           LPCSTR lpWindowName);
-__declspec(dllimport)
-HWND
-__stdcall
-FindWindowW(
-           LPCWSTR lpClassName,
-           LPCWSTR lpWindowName);
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-FindWindowExA(
-           HWND hWndParent,
-           HWND hWndChildAfter,
-           LPCSTR lpszClass,
-           LPCSTR lpszWindow);
-__declspec(dllimport)
-HWND
-__stdcall
-FindWindowExW(
-           HWND hWndParent,
-           HWND hWndChildAfter,
-           LPCWSTR lpszClass,
-           LPCWSTR lpszWindow);
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetShellWindow(
-    void);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RegisterShellHookWindow(
-         HWND hwnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeregisterShellHookWindow(
-         HWND hwnd);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumWindows(
-         WNDENUMPROC lpEnumFunc,
-         LPARAM lParam);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumThreadWindows(
-         DWORD dwThreadId,
-         WNDENUMPROC lpfn,
-         LPARAM lParam);
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetClassNameA(
-         HWND hWnd,
-           LPSTR lpClassName,
-         int nMaxCount
-    );
-__declspec(dllimport)
-int
-__stdcall
-GetClassNameW(
-         HWND hWnd,
-           LPWSTR lpClassName,
-         int nMaxCount
-    );
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetTopWindow(
-           HWND hWnd);
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetWindowThreadProcessId(
-         HWND hWnd,
-           LPDWORD lpdwProcessId);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsGUIThread(
-         BOOL bConvert);
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetLastActivePopup(
-         HWND hWnd);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetWindow(
-         HWND hWnd,
-         UINT uCmd);
-
-
-
-
-
-
-__declspec(dllimport)
-HHOOK
-__stdcall
-SetWindowsHookA(
-         int nFilterType,
-         HOOKPROC pfnFilterProc);
-__declspec(dllimport)
-HHOOK
-__stdcall
-SetWindowsHookW(
-         int nFilterType,
-         HOOKPROC pfnFilterProc);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnhookWindowsHook(
-         int nCode,
-         HOOKPROC pfnFilterProc);
-
-__declspec(dllimport)
-HHOOK
-__stdcall
-SetWindowsHookExA(
-         int idHook,
-         HOOKPROC lpfn,
-           HINSTANCE hmod,
-         DWORD dwThreadId);
-__declspec(dllimport)
-HHOOK
-__stdcall
-SetWindowsHookExW(
-         int idHook,
-         HOOKPROC lpfn,
-           HINSTANCE hmod,
-         DWORD dwThreadId);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnhookWindowsHookEx(
-         HHOOK hhk);
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-CallNextHookEx(
-           HHOOK hhk,
-         int nCode,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CheckMenuRadioItem(
-         HMENU hmenu,
-         UINT first,
-         UINT last,
-         UINT check,
-         UINT flags);
-
-
-
-
-
-typedef struct {
-    WORD versionNumber;
-    WORD offset;
-} MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER;
-
-typedef struct {        
-    WORD mtOption;
-    WORD mtID;
-    WCHAR mtString[1];
-} MENUITEMTEMPLATE, *PMENUITEMTEMPLATE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HBITMAP
-__stdcall
-LoadBitmapA(
-           HINSTANCE hInstance,
-         LPCSTR lpBitmapName);
-__declspec(dllimport)
-HBITMAP
-__stdcall
-LoadBitmapW(
-           HINSTANCE hInstance,
-         LPCWSTR lpBitmapName);
-
-
-
-
-
-
-__declspec(dllimport)
-HCURSOR
-__stdcall
-LoadCursorA(
-           HINSTANCE hInstance,
-         LPCSTR lpCursorName);
-__declspec(dllimport)
-HCURSOR
-__stdcall
-LoadCursorW(
-           HINSTANCE hInstance,
-         LPCWSTR lpCursorName);
-
-
-
-
-
-
-__declspec(dllimport)
-HCURSOR
-__stdcall
-LoadCursorFromFileA(
-         LPCSTR lpFileName);
-__declspec(dllimport)
-HCURSOR
-__stdcall
-LoadCursorFromFileW(
-         LPCWSTR lpFileName);
-
-
-
-
-
-
-__declspec(dllimport)
-HCURSOR
-__stdcall
-CreateCursor(
-           HINSTANCE hInst,
-         int xHotSpot,
-         int yHotSpot,
-         int nWidth,
-         int nHeight,
-         const void *pvANDPlane,
-         const void *pvXORPlane);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyCursor(
-         HCURSOR hCursor);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetSystemCursor(
-         HCURSOR hcur,
-         DWORD id);
-
-typedef struct _ICONINFO {
-    BOOL    fIcon;
-    DWORD   xHotspot;
-    DWORD   yHotspot;
-    HBITMAP hbmMask;
-    HBITMAP hbmColor;
-} ICONINFO;
-typedef ICONINFO *PICONINFO;
-
-__declspec(dllimport)
-HICON
-__stdcall
-LoadIconA(
-           HINSTANCE hInstance,
-         LPCSTR lpIconName);
-__declspec(dllimport)
-HICON
-__stdcall
-LoadIconW(
-           HINSTANCE hInstance,
-         LPCWSTR lpIconName);
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-PrivateExtractIconsA(
-         LPCSTR szFileName,
-         int nIconIndex,
-         int cxIcon,
-         int cyIcon,
-             HICON *phicon,
-             UINT *piconid,
-         UINT nIcons,
-         UINT flags);
-__declspec(dllimport)
-UINT
-__stdcall
-PrivateExtractIconsW(
-         LPCWSTR szFileName,
-         int nIconIndex,
-         int cxIcon,
-         int cyIcon,
-             HICON *phicon,
-             UINT *piconid,
-         UINT nIcons,
-         UINT flags);
-
-
-
-
-
-
-__declspec(dllimport)
-HICON
-__stdcall
-CreateIcon(
-           HINSTANCE hInstance,
-         int nWidth,
-         int nHeight,
-         BYTE cPlanes,
-         BYTE cBitsPixel,
-         const BYTE *lpbANDbits,
-         const BYTE *lpbXORbits);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DestroyIcon(
-         HICON hIcon);
-
-__declspec(dllimport)
-int
-__stdcall
-LookupIconIdFromDirectory(
-         PBYTE presbits,
-         BOOL fIcon);
-
-
-__declspec(dllimport)
-int
-__stdcall
-LookupIconIdFromDirectoryEx(
-         PBYTE presbits,
-         BOOL fIcon,
-         int cxDesired,
-         int cyDesired,
-         UINT Flags);
-
-
-__declspec(dllimport)
-HICON
-__stdcall
-CreateIconFromResource(
-         PBYTE presbits,
-         DWORD dwResSize,
-         BOOL fIcon,
-         DWORD dwVer);
-
-
-__declspec(dllimport)
-HICON
-__stdcall
-CreateIconFromResourceEx(
-         PBYTE presbits,
-         DWORD dwResSize,
-         BOOL fIcon,
-         DWORD dwVer,
-         int cxDesired,
-         int cyDesired,
-         UINT Flags);
-
-
-typedef struct tagCURSORSHAPE
-{
-    int     xHotSpot;
-    int     yHotSpot;
-    int     cx;
-    int     cy;
-    int     cbWidth;
-    BYTE    Planes;
-    BYTE    BitsPixel;
-} CURSORSHAPE,  *LPCURSORSHAPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-LoadImageA(
-           HINSTANCE hInst,
-         LPCSTR name,
-         UINT type,
-         int cx,
-         int cy,
-         UINT fuLoad);
-__declspec(dllimport)
-HANDLE
-__stdcall
-LoadImageW(
-           HINSTANCE hInst,
-         LPCWSTR name,
-         UINT type,
-         int cx,
-         int cy,
-         UINT fuLoad);
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-CopyImage(
-         HANDLE h,
-         UINT type,
-         int cx,
-         int cy,
-         UINT flags);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall DrawIconEx(
-         HDC hdc,
-         int xLeft,
-         int yTop,
-         HICON hIcon,
-         int cxWidth,
-         int cyWidth,
-         UINT istepIfAniCur,
-           HBRUSH hbrFlickerFreeDraw,
-         UINT diFlags);
-
-
-
-__declspec(dllimport)
-HICON
-__stdcall
-CreateIconIndirect(
-         PICONINFO piconinfo);
-
-__declspec(dllimport)
-HICON
-__stdcall
-CopyIcon(
-         HICON hIcon);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetIconInfo(
-         HICON hIcon,
-         PICONINFO piconinfo);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-LoadStringA(
-           HINSTANCE hInstance,
-         UINT uID,
-         LPSTR lpBuffer,
-         int cchBufferMax);
-__declspec(dllimport)
-int
-__stdcall
-LoadStringW(
-           HINSTANCE hInstance,
-         UINT uID,
-         LPWSTR lpBuffer,
-         int cchBufferMax);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsDialogMessageA(
-         HWND hDlg,
-         LPMSG lpMsg);
-__declspec(dllimport)
-BOOL
-__stdcall
-IsDialogMessageW(
-         HWND hDlg,
-         LPMSG lpMsg);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-MapDialogRect(
-         HWND hDlg,
-         LPRECT lpRect);
-
-__declspec(dllimport)
-int
-__stdcall
-DlgDirListA(
-         HWND hDlg,
-         LPSTR lpPathSpec,
-         int nIDListBox,
-         int nIDStaticPath,
-         UINT uFileType);
-__declspec(dllimport)
-int
-__stdcall
-DlgDirListW(
-         HWND hDlg,
-         LPWSTR lpPathSpec,
-         int nIDListBox,
-         int nIDStaticPath,
-         UINT uFileType);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DlgDirSelectExA(
-         HWND hwndDlg,
-         LPSTR lpString,
-         int chCount,
-         int idListBox);
-__declspec(dllimport)
-BOOL
-__stdcall
-DlgDirSelectExW(
-         HWND hwndDlg,
-         LPWSTR lpString,
-         int chCount,
-         int idListBox);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-DlgDirListComboBoxA(
-         HWND hDlg,
-         LPSTR lpPathSpec,
-         int nIDComboBox,
-         int nIDStaticPath,
-         UINT uFiletype);
-__declspec(dllimport)
-int
-__stdcall
-DlgDirListComboBoxW(
-         HWND hDlg,
-         LPWSTR lpPathSpec,
-         int nIDComboBox,
-         int nIDStaticPath,
-         UINT uFiletype);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DlgDirSelectComboBoxExA(
-         HWND hwndDlg,
-         LPSTR lpString,
-         int cchOut,
-         int idComboBox);
-__declspec(dllimport)
-BOOL
-__stdcall
-DlgDirSelectComboBoxExW(
-         HWND hwndDlg,
-         LPWSTR lpString,
-         int cchOut,
-         int idComboBox);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSCROLLINFO
-{
-    UINT    cbSize;
-    UINT    fMask;
-    int     nMin;
-    int     nMax;
-    UINT    nPage;
-    int     nPos;
-    int     nTrackPos;
-}   SCROLLINFO,  *LPSCROLLINFO;
-typedef SCROLLINFO const  *LPCSCROLLINFO;
-
-__declspec(dllimport)
-int
-__stdcall
-SetScrollInfo(
-         HWND hwnd,
-         int nBar,
-         LPCSCROLLINFO lpsi,
-         BOOL redraw);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetScrollInfo(
-         HWND hwnd,
-         int nBar,
-         LPSCROLLINFO lpsi);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMDICREATESTRUCTA {
-    LPCSTR   szClass;
-    LPCSTR   szTitle;
-    HANDLE hOwner;
-    int x;
-    int y;
-    int cx;
-    int cy;
-    DWORD style;
-    LPARAM lParam;        
-} MDICREATESTRUCTA, *LPMDICREATESTRUCTA;
-typedef struct tagMDICREATESTRUCTW {
-    LPCWSTR  szClass;
-    LPCWSTR  szTitle;
-    HANDLE hOwner;
-    int x;
-    int y;
-    int cx;
-    int cy;
-    DWORD style;
-    LPARAM lParam;        
-} MDICREATESTRUCTW, *LPMDICREATESTRUCTW;
-
-typedef MDICREATESTRUCTW MDICREATESTRUCT;
-typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT;
-
-
-
-
-
-typedef struct tagCLIENTCREATESTRUCT {
-    HANDLE hWindowMenu;
-    UINT idFirstChild;
-} CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT;
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-DefFrameProcA(
-         HWND hWnd,
-           HWND hWndMDIClient,
-         UINT uMsg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-LRESULT
-__stdcall
-DefFrameProcW(
-         HWND hWnd,
-           HWND hWndMDIClient,
-         UINT uMsg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-
-LRESULT
-__stdcall
-
-
-
-
-DefMDIChildProcA(
-         HWND hWnd,
-         UINT uMsg,
-         WPARAM wParam,
-         LPARAM lParam);
-__declspec(dllimport)
-
-LRESULT
-__stdcall
-
-
-
-
-DefMDIChildProcW(
-         HWND hWnd,
-         UINT uMsg,
-         WPARAM wParam,
-         LPARAM lParam);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-TranslateMDISysAccel(
-         HWND hWndClient,
-         LPMSG lpMsg);
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-ArrangeIconicWindows(
-         HWND hWnd);
-
-__declspec(dllimport)
-HWND
-__stdcall
-CreateMDIWindowA(
-         LPCSTR lpClassName,
-         LPCSTR lpWindowName,
-         DWORD dwStyle,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight,
-           HWND hWndParent,
-           HINSTANCE hInstance,
-         LPARAM lParam);
-__declspec(dllimport)
-HWND
-__stdcall
-CreateMDIWindowW(
-         LPCWSTR lpClassName,
-         LPCWSTR lpWindowName,
-         DWORD dwStyle,
-         int X,
-         int Y,
-         int nWidth,
-         int nHeight,
-           HWND hWndParent,
-           HINSTANCE hInstance,
-         LPARAM lParam);
-
-
-
-
-
-
-
-__declspec(dllimport) 
-WORD 
-__stdcall 
-TileWindows(
-           HWND hwndParent,
-         UINT wHow,
-           const RECT * lpRect,
-         UINT cKids,
-             const HWND  * lpKids);
-
-__declspec(dllimport)
-WORD
-__stdcall CascadeWindows(
-           HWND hwndParent,
-         UINT wHow,
-           const RECT * lpRect,
-         UINT cKids,
-             const HWND  * lpKids);
-
-
-
-
-
-
-
-
-
-
-typedef DWORD HELPPOLY;
-typedef struct tagMULTIKEYHELPA {
-
-    DWORD  mkSize;
-
-
-
-    CHAR   mkKeylist;
-    CHAR   szKeyphrase[1];
-} MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA;
-typedef struct tagMULTIKEYHELPW {
-
-    DWORD  mkSize;
-
-
-
-    WCHAR  mkKeylist;
-    WCHAR  szKeyphrase[1];
-} MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW;
-
-typedef MULTIKEYHELPW MULTIKEYHELP;
-typedef PMULTIKEYHELPW PMULTIKEYHELP;
-typedef LPMULTIKEYHELPW LPMULTIKEYHELP;
-
-
-
-
-
-
-typedef struct tagHELPWININFOA {
-    int  wStructSize;
-    int  x;
-    int  y;
-    int  dx;
-    int  dy;
-    int  wMax;
-    CHAR   rgchMember[2];
-} HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA;
-typedef struct tagHELPWININFOW {
-    int  wStructSize;
-    int  x;
-    int  y;
-    int  dx;
-    int  dy;
-    int  wMax;
-    WCHAR  rgchMember[2];
-} HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW;
-
-typedef HELPWININFOW HELPWININFO;
-typedef PHELPWININFOW PHELPWININFO;
-typedef LPHELPWININFOW LPHELPWININFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WinHelpA(
-           HWND hWndMain,
-           LPCSTR lpszHelp,
-         UINT uCommand,
-         ULONG_PTR dwData);
-__declspec(dllimport)
-BOOL
-__stdcall
-WinHelpW(
-           HWND hWndMain,
-           LPCWSTR lpszHelp,
-         UINT uCommand,
-         ULONG_PTR dwData);
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetGuiResources(
-         HANDLE hProcess,
-         DWORD uiFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagNONCLIENTMETRICSA
-{
-    UINT    cbSize;
-    int     iBorderWidth;
-    int     iScrollWidth;
-    int     iScrollHeight;
-    int     iCaptionWidth;
-    int     iCaptionHeight;
-    LOGFONTA lfCaptionFont;
-    int     iSmCaptionWidth;
-    int     iSmCaptionHeight;
-    LOGFONTA lfSmCaptionFont;
-    int     iMenuWidth;
-    int     iMenuHeight;
-    LOGFONTA lfMenuFont;
-    LOGFONTA lfStatusFont;
-    LOGFONTA lfMessageFont;
-}   NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, * LPNONCLIENTMETRICSA;
-typedef struct tagNONCLIENTMETRICSW
-{
-    UINT    cbSize;
-    int     iBorderWidth;
-    int     iScrollWidth;
-    int     iScrollHeight;
-    int     iCaptionWidth;
-    int     iCaptionHeight;
-    LOGFONTW lfCaptionFont;
-    int     iSmCaptionWidth;
-    int     iSmCaptionHeight;
-    LOGFONTW lfSmCaptionFont;
-    int     iMenuWidth;
-    int     iMenuHeight;
-    LOGFONTW lfMenuFont;
-    LOGFONTW lfStatusFont;
-    LOGFONTW lfMessageFont;
-}   NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, * LPNONCLIENTMETRICSW;
-
-typedef NONCLIENTMETRICSW NONCLIENTMETRICS;
-typedef PNONCLIENTMETRICSW PNONCLIENTMETRICS;
-typedef LPNONCLIENTMETRICSW LPNONCLIENTMETRICS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMINIMIZEDMETRICS
-{
-    UINT    cbSize;
-    int     iWidth;
-    int     iHorzGap;
-    int     iVertGap;
-    int     iArrange;
-}   MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS;
-
-
-
-typedef struct tagICONMETRICSA
-{
-    UINT    cbSize;
-    int     iHorzSpacing;
-    int     iVertSpacing;
-    int     iTitleWrap;
-    LOGFONTA lfFont;
-}   ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA;
-typedef struct tagICONMETRICSW
-{
-    UINT    cbSize;
-    int     iHorzSpacing;
-    int     iVertSpacing;
-    int     iTitleWrap;
-    LOGFONTW lfFont;
-}   ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW;
-
-typedef ICONMETRICSW ICONMETRICS;
-typedef PICONMETRICSW PICONMETRICS;
-typedef LPICONMETRICSW LPICONMETRICS;
-
-
-
-
-
-
-
-
-typedef struct tagANIMATIONINFO
-{
-    UINT    cbSize;
-    int     iMinAnimate;
-}   ANIMATIONINFO, *LPANIMATIONINFO;
-
-typedef struct tagSERIALKEYSA
-{
-    UINT    cbSize;
-    DWORD   dwFlags;
-    LPSTR     lpszActivePort;
-    LPSTR     lpszPort;
-    UINT    iBaudRate;
-    UINT    iPortState;
-    UINT    iActive;
-}   SERIALKEYSA, *LPSERIALKEYSA;
-typedef struct tagSERIALKEYSW
-{
-    UINT    cbSize;
-    DWORD   dwFlags;
-    LPWSTR    lpszActivePort;
-    LPWSTR    lpszPort;
-    UINT    iBaudRate;
-    UINT    iPortState;
-    UINT    iActive;
-}   SERIALKEYSW, *LPSERIALKEYSW;
-
-typedef SERIALKEYSW SERIALKEYS;
-typedef LPSERIALKEYSW LPSERIALKEYS;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagHIGHCONTRASTA
-{
-    UINT    cbSize;
-    DWORD   dwFlags;
-    LPSTR   lpszDefaultScheme;
-}   HIGHCONTRASTA, *LPHIGHCONTRASTA;
-typedef struct tagHIGHCONTRASTW
-{
-    UINT    cbSize;
-    DWORD   dwFlags;
-    LPWSTR  lpszDefaultScheme;
-}   HIGHCONTRASTW, *LPHIGHCONTRASTW;
-
-typedef HIGHCONTRASTW HIGHCONTRAST;
-typedef LPHIGHCONTRASTW LPHIGHCONTRAST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-typedef struct _VIDEOPARAMETERS {
-    GUID  Guid;                         
-    ULONG dwOffset;                     
-    ULONG dwCommand;                    
-    ULONG dwFlags;                      
-    ULONG dwMode;                       
-    ULONG dwTVStandard;                 
-    ULONG dwAvailableModes;             
-    ULONG dwAvailableTVStandard;        
-    ULONG dwFlickerFilter;              
-    ULONG dwOverScanX;                  
-    ULONG dwOverScanY;                  
-    ULONG dwMaxUnscaledX;               
-    ULONG dwMaxUnscaledY;               
-    ULONG dwPositionX;                  
-    ULONG dwPositionY;                  
-    ULONG dwBrightness;                 
-    ULONG dwContrast;                   
-    ULONG dwCPType;                     
-    ULONG dwCPCommand;                  
-    ULONG dwCPStandard;                 
-    ULONG dwCPKey;
-    ULONG bCP_APSTriggerBits;           
-    UCHAR bOEMCopyProtection[256];      
-} VIDEOPARAMETERS, *PVIDEOPARAMETERS, *LPVIDEOPARAMETERS;
-
-
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-ChangeDisplaySettingsA(
-           LPDEVMODEA lpDevMode,
-         DWORD dwFlags);
-__declspec(dllimport)
-LONG
-__stdcall
-ChangeDisplaySettingsW(
-           LPDEVMODEW lpDevMode,
-         DWORD dwFlags);
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-ChangeDisplaySettingsExA(
-           LPCSTR lpszDeviceName,
-           LPDEVMODEA lpDevMode,
-      HWND hwnd,
-         DWORD dwflags,
-           LPVOID lParam);
-__declspec(dllimport)
-LONG
-__stdcall
-ChangeDisplaySettingsExW(
-           LPCWSTR lpszDeviceName,
-           LPDEVMODEW lpDevMode,
-      HWND hwnd,
-         DWORD dwflags,
-           LPVOID lParam);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplaySettingsA(
-           LPCSTR lpszDeviceName,
-         DWORD iModeNum,
-         LPDEVMODEA lpDevMode);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplaySettingsW(
-           LPCWSTR lpszDeviceName,
-         DWORD iModeNum,
-         LPDEVMODEW lpDevMode);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplaySettingsExA(
-           LPCSTR lpszDeviceName,
-         DWORD iModeNum,
-         LPDEVMODEA lpDevMode,
-         DWORD dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplaySettingsExW(
-           LPCWSTR lpszDeviceName,
-         DWORD iModeNum,
-         LPDEVMODEW lpDevMode,
-         DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplayDevicesA(
-           LPCSTR lpDevice,
-         DWORD iDevNum,
-         PDISPLAY_DEVICEA lpDisplayDevice,
-         DWORD dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplayDevicesW(
-           LPCWSTR lpDevice,
-         DWORD iDevNum,
-         PDISPLAY_DEVICEW lpDisplayDevice,
-         DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SystemParametersInfoA(
-         UINT uiAction,
-         UINT uiParam,
-           PVOID pvParam,
-         UINT fWinIni);
-__declspec(dllimport)
-BOOL
-__stdcall
-SystemParametersInfoW(
-         UINT uiAction,
-         UINT uiParam,
-           PVOID pvParam,
-         UINT fWinIni);
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagFILTERKEYS
-{
-    UINT  cbSize;
-    DWORD dwFlags;
-    DWORD iWaitMSec;            
-    DWORD iDelayMSec;           
-    DWORD iRepeatMSec;          
-    DWORD iBounceMSec;          
-} FILTERKEYS, *LPFILTERKEYS;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSTICKYKEYS
-{
-    UINT  cbSize;
-    DWORD dwFlags;
-} STICKYKEYS, *LPSTICKYKEYS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMOUSEKEYS
-{
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iMaxSpeed;
-    DWORD iTimeToMaxSpeed;
-    DWORD iCtrlSpeed;
-    DWORD dwReserved1;
-    DWORD dwReserved2;
-} MOUSEKEYS, *LPMOUSEKEYS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagACCESSTIMEOUT
-{
-    UINT  cbSize;
-    DWORD dwFlags;
-    DWORD iTimeOutMSec;
-} ACCESSTIMEOUT, *LPACCESSTIMEOUT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSOUNDSENTRYA
-{
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iFSTextEffect;
-    DWORD iFSTextEffectMSec;
-    DWORD iFSTextEffectColorBits;
-    DWORD iFSGrafEffect;
-    DWORD iFSGrafEffectMSec;
-    DWORD iFSGrafEffectColor;
-    DWORD iWindowsEffect;
-    DWORD iWindowsEffectMSec;
-    LPSTR   lpszWindowsEffectDLL;
-    DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRYA, *LPSOUNDSENTRYA;
-typedef struct tagSOUNDSENTRYW
-{
-    UINT cbSize;
-    DWORD dwFlags;
-    DWORD iFSTextEffect;
-    DWORD iFSTextEffectMSec;
-    DWORD iFSTextEffectColorBits;
-    DWORD iFSGrafEffect;
-    DWORD iFSGrafEffectMSec;
-    DWORD iFSGrafEffectColor;
-    DWORD iWindowsEffect;
-    DWORD iWindowsEffectMSec;
-    LPWSTR  lpszWindowsEffectDLL;
-    DWORD iWindowsEffectOrdinal;
-} SOUNDSENTRYW, *LPSOUNDSENTRYW;
-
-typedef SOUNDSENTRYW SOUNDSENTRY;
-typedef LPSOUNDSENTRYW LPSOUNDSENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagTOGGLEKEYS
-{
-    UINT cbSize;
-    DWORD dwFlags;
-} TOGGLEKEYS, *LPTOGGLEKEYS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-SetDebugErrorLevel(
-         DWORD dwLevel);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-SetLastErrorEx(
-         DWORD dwErrCode,
-         DWORD dwType);
-
-__declspec(dllimport)
-int
-__stdcall
-InternalGetWindowText(
-         HWND hWnd,
-           LPWSTR pString,
-         int cchMaxCount);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HMONITOR
-__stdcall
-MonitorFromPoint(
-         POINT pt,
-         DWORD dwFlags);
-
-__declspec(dllimport)
-HMONITOR
-__stdcall
-MonitorFromRect(
-         LPCRECT lprc,
-         DWORD dwFlags);
-
-__declspec(dllimport)
-HMONITOR
-__stdcall
-MonitorFromWindow(
-         HWND hwnd,
-         DWORD dwFlags);
-
-
-
-
-
-
-
-typedef struct tagMONITORINFO
-{
-    DWORD   cbSize;
-    RECT    rcMonitor;
-    RECT    rcWork;
-    DWORD   dwFlags;
-} MONITORINFO, *LPMONITORINFO;
-
-
-typedef struct tagMONITORINFOEXA : public tagMONITORINFO
-{
-    CHAR        szDevice[32];
-} MONITORINFOEXA, *LPMONITORINFOEXA;
-typedef struct tagMONITORINFOEXW : public tagMONITORINFO
-{
-    WCHAR       szDevice[32];
-} MONITORINFOEXW, *LPMONITORINFOEXW;
-
-typedef MONITORINFOEXW MONITORINFOEX;
-typedef LPMONITORINFOEXW LPMONITORINFOEX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMonitorInfoA(
-         HMONITOR hMonitor,
-         LPMONITORINFO lpmi);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMonitorInfoW(
-         HMONITOR hMonitor,
-         LPMONITORINFO lpmi);
-
-
-
-
-
-
-typedef BOOL (__stdcall* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDisplayMonitors(
-           HDC hdc,
-           LPCRECT lprcClip,
-         MONITORENUMPROC lpfnEnum,
-         LPARAM dwData);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NotifyWinEvent(
-         DWORD event,
-         HWND  hwnd,
-         LONG  idObject,
-         LONG  idChild);
-
-typedef void (__stdcall* WINEVENTPROC)(
-    HWINEVENTHOOK hWinEventHook,
-    DWORD         event,
-    HWND          hwnd,
-    LONG          idObject,
-    LONG          idChild,
-    DWORD         idEventThread,
-    DWORD         dwmsEventTime);
-
-__declspec(dllimport)
-HWINEVENTHOOK
-__stdcall
-SetWinEventHook(
-         DWORD eventMin,
-         DWORD eventMax,
-           HMODULE hmodWinEventProc,
-         WINEVENTPROC pfnWinEventProc,
-         DWORD idProcess,
-         DWORD idThread,
-         DWORD dwFlags);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsWinEventHookInstalled(
-         DWORD event);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnhookWinEvent(
-         HWINEVENTHOOK hWinEventHook);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagGUITHREADINFO
-{
-    DWORD   cbSize;
-    DWORD   flags;
-    HWND    hwndActive;
-    HWND    hwndFocus;
-    HWND    hwndCapture;
-    HWND    hwndMenuOwner;
-    HWND    hwndMoveSize;
-    HWND    hwndCaret;
-    RECT    rcCaret;
-} GUITHREADINFO, *PGUITHREADINFO,  * LPGUITHREADINFO;
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetGUIThreadInfo(
-         DWORD idThread,
-         PGUITHREADINFO pgui);
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetWindowModuleFileNameA(
-         HWND hwnd,
-           LPSTR pszFileName,
-         UINT cchFileNameMax);
-__declspec(dllimport)
-UINT
-__stdcall
-GetWindowModuleFileNameW(
-         HWND hwnd,
-           LPWSTR pszFileName,
-         UINT cchFileNameMax);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagCURSORINFO
-{
-    DWORD   cbSize;
-    DWORD   flags;
-    HCURSOR hCursor;
-    POINT   ptScreenPos;
-} CURSORINFO, *PCURSORINFO, *LPCURSORINFO;
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCursorInfo(
-         PCURSORINFO pci);
-
-
-
-
-typedef struct tagWINDOWINFO
-{
-    DWORD cbSize;
-    RECT rcWindow;
-    RECT rcClient;
-    DWORD dwStyle;
-    DWORD dwExStyle;
-    DWORD dwWindowStatus;
-    UINT cxWindowBorders;
-    UINT cyWindowBorders;
-    ATOM atomWindowType;
-    WORD wCreatorVersion;
-} WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO;
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetWindowInfo(
-         HWND hwnd,
-         PWINDOWINFO pwi);
-
-
-
-
-typedef struct tagTITLEBARINFO
-{
-    DWORD cbSize;
-    RECT rcTitleBar;
-    DWORD rgstate[5 + 1];
-} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetTitleBarInfo(
-         HWND hwnd,
-         PTITLEBARINFO pti);
-
-
-
-
-typedef struct tagMENUBARINFO
-{
-    DWORD cbSize;
-    RECT rcBar;          
-    HMENU hMenu;         
-    HWND hwndMenu;       
-    BOOL fBarFocused:1;  
-    BOOL fFocused:1;     
-} MENUBARINFO, *PMENUBARINFO, *LPMENUBARINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetMenuBarInfo(
-         HWND hwnd,
-         LONG idObject,
-         LONG idItem,
-         PMENUBARINFO pmbi);
-
-
-
-
-typedef struct tagSCROLLBARINFO
-{
-    DWORD cbSize;
-    RECT rcScrollBar;
-    int dxyLineButton;
-    int xyThumbTop;
-    int xyThumbBottom;
-    int reserved;
-    DWORD rgstate[5 + 1];
-} SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetScrollBarInfo(
-         HWND hwnd,
-         LONG idObject,
-         PSCROLLBARINFO psbi);
-
-
-
-
-typedef struct tagCOMBOBOXINFO
-{
-    DWORD cbSize;
-    RECT rcItem;
-    RECT rcButton;
-    DWORD stateButton;
-    HWND hwndCombo;
-    HWND hwndItem;
-    HWND hwndList;
-} COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetComboBoxInfo(
-         HWND hwndCombo,
-         PCOMBOBOXINFO pcbi);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetAncestor(
-         HWND hwnd,
-         UINT gaFlags);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HWND
-__stdcall
-RealChildWindowFromPoint(
-         HWND hwndParent,
-         POINT ptParentClientCoords);
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-RealGetWindowClassA(
-         HWND hwnd,
-           LPSTR ptszClassName,
-         UINT cchClassNameMax);
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-RealGetWindowClassW(
-         HWND hwnd,
-           LPWSTR ptszClassName,
-         UINT cchClassNameMax);
-
-
-
-
-
-
-
-
-
-typedef struct tagALTTABINFO
-{
-    DWORD cbSize;
-    int cItems;
-    int cColumns;
-    int cRows;
-    int iColFocus;
-    int iRowFocus;
-    int cxItem;
-    int cyItem;
-    POINT ptStart;
-} ALTTABINFO, *PALTTABINFO, *LPALTTABINFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetAltTabInfoA(
-           HWND hwnd,
-         int iItem,
-         PALTTABINFO pati,
-           LPSTR pszItemText,
-         UINT cchItemText);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetAltTabInfoW(
-           HWND hwnd,
-         int iItem,
-         PALTTABINFO pati,
-           LPWSTR pszItemText,
-         UINT cchItemText);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetListBoxInfo(
-         HWND hwnd);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-LockWorkStation(
-    void);
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UserHandleGrantAccess(
-         HANDLE hUserHandle,
-         HANDLE hJob,
-         BOOL   bGrant);
-
-
-
-
-
-
-
-
-
-struct HRAWINPUT__ { int unused; }; typedef struct HRAWINPUT__ *HRAWINPUT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagRAWINPUTHEADER {
-    DWORD dwType;
-    DWORD dwSize;
-    HANDLE hDevice;
-    WPARAM wParam;
-} RAWINPUTHEADER, *PRAWINPUTHEADER, *LPRAWINPUTHEADER;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagRAWMOUSE {
-    
-
-
-    USHORT usFlags;
-
-    
-
-
-    union {
-        ULONG ulButtons;
-        struct  {
-            USHORT  usButtonFlags;
-            USHORT  usButtonData;
-        };
-    };
-
-
-    
-
-
-    ULONG ulRawButtons;
-
-    
-
-
-    LONG lLastX;
-
-    
-
-
-    LONG lLastY;
-
-    
-
-
-    ULONG ulExtraInformation;
-
-} RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagRAWKEYBOARD {
-    
-
-
-    USHORT MakeCode;
-
-    
-
-
-
-    USHORT Flags;
-
-    USHORT Reserved;
-
-    
-
-
-    USHORT VKey;
-    UINT   Message;
-
-    
-
-
-    ULONG ExtraInformation;
-
-
-} RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagRAWHID {
-    DWORD dwSizeHid;    
-    DWORD dwCount;      
-    BYTE bRawData[1];
-} RAWHID, *PRAWHID, *LPRAWHID;
-
-
-
-
-typedef struct tagRAWINPUT {
-    RAWINPUTHEADER header;
-    union {
-        RAWMOUSE    mouse;
-        RAWKEYBOARD keyboard;
-        RAWHID      hid;
-    } data;
-} RAWINPUT, *PRAWINPUT, *LPRAWINPUT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetRawInputData(
-         HRAWINPUT hRawInput,
-         UINT uiCommand,
-             LPVOID pData,
-         PUINT pcbSize,
-         UINT cbSizeHeader);
-
-
-
-
-
-
-
-
-typedef struct tagRID_DEVICE_INFO_MOUSE {
-    DWORD dwId;
-    DWORD dwNumberOfButtons;
-    DWORD dwSampleRate;
-} RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE;
-
-typedef struct tagRID_DEVICE_INFO_KEYBOARD {
-    DWORD dwType;
-    DWORD dwSubType;
-    DWORD dwKeyboardMode;
-    DWORD dwNumberOfFunctionKeys;
-    DWORD dwNumberOfIndicators;
-    DWORD dwNumberOfKeysTotal;
-} RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD;
-
-typedef struct tagRID_DEVICE_INFO_HID {
-    DWORD dwVendorId;
-    DWORD dwProductId;
-    DWORD dwVersionNumber;
-
-    
-
-
-    USHORT usUsagePage;
-    USHORT usUsage;
-} RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID;
-
-typedef struct tagRID_DEVICE_INFO {
-    DWORD cbSize;
-    DWORD dwType;
-    union {
-        RID_DEVICE_INFO_MOUSE mouse;
-        RID_DEVICE_INFO_KEYBOARD keyboard;
-        RID_DEVICE_INFO_HID hid;
-    };
-} RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO;
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetRawInputDeviceInfoA(
-           HANDLE hDevice,
-         UINT uiCommand,
-                 LPVOID pData,
-         PUINT pcbSize);
-__declspec(dllimport)
-UINT
-__stdcall
-GetRawInputDeviceInfoW(
-           HANDLE hDevice,
-         UINT uiCommand,
-                 LPVOID pData,
-         PUINT pcbSize);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetRawInputBuffer(
-           PRAWINPUT pData,
-         PUINT pcbSize,
-         UINT cbSizeHeader);
-
-
-
-
-typedef struct tagRAWINPUTDEVICE {
-    USHORT usUsagePage; 
-    USHORT usUsage;     
-    DWORD dwFlags;
-    HWND hwndTarget;    
-} RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE;
-
-typedef const RAWINPUTDEVICE* PCRAWINPUTDEVICE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-RegisterRawInputDevices(
-           PCRAWINPUTDEVICE pRawInputDevices,
-         UINT uiNumDevices,
-         UINT cbSize);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetRegisteredRawInputDevices(
-           PRAWINPUTDEVICE pRawInputDevices,
-         PUINT puiNumDevices,
-         UINT cbSize);
-
-
-typedef struct tagRAWINPUTDEVICELIST {
-    HANDLE hDevice;
-    DWORD dwType;
-} RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST;
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetRawInputDeviceList(
-           PRAWINPUTDEVICELIST pRawInputDeviceList,
-         PUINT puiNumDevices,
-         UINT cbSize);
-
-__declspec(dllimport)
-LRESULT
-__stdcall
-DefRawInputProc(
-           PRAWINPUT* paRawInput,
-         INT nInput,
-         UINT cbSizeHeader);
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef DWORD LGRPID;
-
-
-
-
-
-typedef DWORD LCTYPE;
-
-
-
-
-
-typedef DWORD CALTYPE;
-
-
-
-
-
-typedef DWORD CALID;
-
-
-
-
-
-
-typedef struct _cpinfo {
-    UINT    MaxCharSize;                    
-    BYTE    DefaultChar[2];   
-    BYTE    LeadByte[12];        
-} CPINFO, *LPCPINFO;
-
-typedef struct _cpinfoexA {
-    UINT    MaxCharSize;                    
-    BYTE    DefaultChar[2];   
-    BYTE    LeadByte[12];        
-    WCHAR   UnicodeDefaultChar;             
-    UINT    CodePage;                       
-    CHAR    CodePageName[260];         
-} CPINFOEXA, *LPCPINFOEXA;
-typedef struct _cpinfoexW {
-    UINT    MaxCharSize;                    
-    BYTE    DefaultChar[2];   
-    BYTE    LeadByte[12];        
-    WCHAR   UnicodeDefaultChar;             
-    UINT    CodePage;                       
-    WCHAR   CodePageName[260];         
-} CPINFOEXW, *LPCPINFOEXW;
-
-typedef CPINFOEXW CPINFOEX;
-typedef LPCPINFOEXW LPCPINFOEX;
-
-
-
-
-
-
-
-
-
-
-typedef struct _numberfmtA {
-    UINT    NumDigits;                 
-    UINT    LeadingZero;               
-    UINT    Grouping;                  
-    LPSTR   lpDecimalSep;              
-    LPSTR   lpThousandSep;             
-    UINT    NegativeOrder;             
-} NUMBERFMTA, *LPNUMBERFMTA;
-typedef struct _numberfmtW {
-    UINT    NumDigits;                 
-    UINT    LeadingZero;               
-    UINT    Grouping;                  
-    LPWSTR  lpDecimalSep;              
-    LPWSTR  lpThousandSep;             
-    UINT    NegativeOrder;             
-} NUMBERFMTW, *LPNUMBERFMTW;
-
-typedef NUMBERFMTW NUMBERFMT;
-typedef LPNUMBERFMTW LPNUMBERFMT;
-
-
-
-
-
-
-
-
-
-
-typedef struct _currencyfmtA {
-    UINT    NumDigits;                 
-    UINT    LeadingZero;               
-    UINT    Grouping;                  
-    LPSTR   lpDecimalSep;              
-    LPSTR   lpThousandSep;             
-    UINT    NegativeOrder;             
-    UINT    PositiveOrder;             
-    LPSTR   lpCurrencySymbol;          
-} CURRENCYFMTA, *LPCURRENCYFMTA;
-typedef struct _currencyfmtW {
-    UINT    NumDigits;                 
-    UINT    LeadingZero;               
-    UINT    Grouping;                  
-    LPWSTR  lpDecimalSep;              
-    LPWSTR  lpThousandSep;             
-    UINT    NegativeOrder;             
-    UINT    PositiveOrder;             
-    LPWSTR  lpCurrencySymbol;          
-} CURRENCYFMTW, *LPCURRENCYFMTW;
-
-typedef CURRENCYFMTW CURRENCYFMT;
-typedef LPCURRENCYFMTW LPCURRENCYFMT;
-
-
-
-
-
-
-
-
-
-enum SYSNLS_FUNCTION{
-    COMPARE_STRING    =  0x0001,
-};
-typedef DWORD NLS_FUNCTION;
-
-
-
-
-
-
-typedef struct _nlsversioninfo{ 
-    DWORD dwNLSVersionInfoSize; 
-    DWORD dwNLSVersion; 
-    DWORD dwDefinedVersion; 
-} NLSVERSIONINFO, *LPNLSVERSIONINFO; 
-
-
-
-
-
-
-typedef LONG    GEOID;
-typedef DWORD   GEOTYPE;
-typedef DWORD   GEOCLASS;
-
-
-
-
-
-
-
-enum SYSGEOTYPE {
-    GEO_NATION      =       0x0001,
-    GEO_LATITUDE    =       0x0002,
-    GEO_LONGITUDE   =       0x0003,
-    GEO_ISO2        =       0x0004,
-    GEO_ISO3        =       0x0005,
-    GEO_RFC1766     =       0x0006,
-    GEO_LCID        =       0x0007,
-    GEO_FRIENDLYNAME=       0x0008,
-    GEO_OFFICIALNAME=       0x0009,
-    GEO_TIMEZONES   =       0x000A,
-    GEO_OFFICIALLANGUAGES = 0x000B,
-};
-
-
-
-
-
-enum SYSGEOCLASS {
-    GEOCLASS_NATION  = 16,
-    GEOCLASS_REGION  = 14,
-};
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR);
-typedef BOOL (__stdcall* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR);
-typedef BOOL (__stdcall* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
-typedef BOOL (__stdcall* LOCALE_ENUMPROCA)(LPSTR);
-typedef BOOL (__stdcall* CODEPAGE_ENUMPROCA)(LPSTR);
-typedef BOOL (__stdcall* DATEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXA)(LPSTR, CALID);
-typedef BOOL (__stdcall* TIMEFMT_ENUMPROCA)(LPSTR);
-typedef BOOL (__stdcall* CALINFO_ENUMPROCA)(LPSTR);
-typedef BOOL (__stdcall* CALINFO_ENUMPROCEXA)(LPSTR, CALID);
-
-typedef BOOL (__stdcall* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR);
-typedef BOOL (__stdcall* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR);
-typedef BOOL (__stdcall* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR);
-typedef BOOL (__stdcall* LOCALE_ENUMPROCW)(LPWSTR);
-typedef BOOL (__stdcall* CODEPAGE_ENUMPROCW)(LPWSTR);
-typedef BOOL (__stdcall* DATEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (__stdcall* TIMEFMT_ENUMPROCW)(LPWSTR);
-typedef BOOL (__stdcall* CALINFO_ENUMPROCW)(LPWSTR);
-typedef BOOL (__stdcall* CALINFO_ENUMPROCEXW)(LPWSTR, CALID);
-typedef BOOL (__stdcall* GEO_ENUMPROC)(GEOID);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsValidCodePage(
-         UINT  CodePage);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetACP(void);
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetOEMCP(void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCPInfo(
-         UINT       CodePage,
-         LPCPINFO  lpCPInfo);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCPInfoExA(
-         UINT          CodePage,
-         DWORD         dwFlags,
-         LPCPINFOEXA  lpCPInfoEx);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCPInfoExW(
-         UINT          CodePage,
-         DWORD         dwFlags,
-         LPCPINFOEXW  lpCPInfoEx);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsDBCSLeadByte(
-         BYTE  TestChar);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsDBCSLeadByteEx(
-         UINT  CodePage,
-         BYTE  TestChar);
-
-__declspec(dllimport)
-int
-__stdcall
-MultiByteToWideChar(
-         UINT     CodePage,
-         DWORD    dwFlags,
-         LPCSTR   lpMultiByteStr,
-         int      cbMultiByte,
-           LPWSTR  lpWideCharStr,
-         int      cchWideChar);
-
-__declspec(dllimport)
-int
-__stdcall
-WideCharToMultiByte(
-         UINT     CodePage,
-         DWORD    dwFlags,
-           LPCWSTR  lpWideCharStr,
-         int      cchWideChar,
-           LPSTR   lpMultiByteStr,
-         int      cbMultiByte,
-           LPCSTR   lpDefaultChar,
-           LPBOOL  lpUsedDefaultChar);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-CompareStringA(
-         LCID     Locale,
-         DWORD    dwCmpFlags,
-         LPCSTR  lpString1,
-         int      cchCount1,
-         LPCSTR  lpString2,
-         int      cchCount2);
-__declspec(dllimport)
-int
-__stdcall
-CompareStringW(
-         LCID     Locale,
-         DWORD    dwCmpFlags,
-         LPCWSTR  lpString1,
-         int      cchCount1,
-         LPCWSTR  lpString2,
-         int      cchCount2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-LCMapStringA(
-         LCID     Locale,
-         DWORD    dwMapFlags,
-         LPCSTR  lpSrcStr,
-         int      cchSrc,
-           LPSTR  lpDestStr,
-         int      cchDest);
-__declspec(dllimport)
-int
-__stdcall
-LCMapStringW(
-         LCID     Locale,
-         DWORD    dwMapFlags,
-         LPCWSTR  lpSrcStr,
-         int      cchSrc,
-           LPWSTR  lpDestStr,
-         int      cchDest);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetLocaleInfoA(
-         LCID     Locale,
-         LCTYPE   LCType,
-           LPSTR  lpLCData,
-         int      cchData);
-__declspec(dllimport)
-int
-__stdcall
-GetLocaleInfoW(
-         LCID     Locale,
-         LCTYPE   LCType,
-           LPWSTR  lpLCData,
-         int      cchData);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetLocaleInfoA(
-         LCID     Locale,
-         LCTYPE   LCType,
-         LPCSTR  lpLCData);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetLocaleInfoW(
-         LCID     Locale,
-         LCTYPE   LCType,
-         LPCWSTR  lpLCData);
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetCalendarInfoA(
-         LCID     Locale,
-         CALID    Calendar,
-         CALTYPE  CalType,
-           LPSTR   lpCalData,
-         int      cchData,
-           LPDWORD  lpValue);
-__declspec(dllimport)
-int
-__stdcall
-GetCalendarInfoW(
-         LCID     Locale,
-         CALID    Calendar,
-         CALTYPE  CalType,
-           LPWSTR   lpCalData,
-         int      cchData,
-           LPDWORD  lpValue);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCalendarInfoA(
-         LCID     Locale,
-         CALID    Calendar,
-         CALTYPE  CalType,
-         LPCSTR  lpCalData);
-__declspec(dllimport)
-BOOL
-__stdcall
-SetCalendarInfoW(
-         LCID     Locale,
-         CALID    Calendar,
-         CALTYPE  CalType,
-         LPCWSTR  lpCalData);
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetTimeFormatA(
-         LCID             Locale,
-         DWORD            dwFlags,
-           const SYSTEMTIME *lpTime,
-           LPCSTR          lpFormat,
-           LPSTR          lpTimeStr,
-         int              cchTime);
-__declspec(dllimport)
-int
-__stdcall
-GetTimeFormatW(
-         LCID             Locale,
-         DWORD            dwFlags,
-           const SYSTEMTIME *lpTime,
-           LPCWSTR          lpFormat,
-           LPWSTR          lpTimeStr,
-         int              cchTime);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetDateFormatA(
-         LCID             Locale,
-         DWORD            dwFlags,
-           const SYSTEMTIME *lpDate,
-           LPCSTR          lpFormat,
-           LPSTR          lpDateStr,
-         int              cchDate);
-__declspec(dllimport)
-int
-__stdcall
-GetDateFormatW(
-         LCID             Locale,
-         DWORD            dwFlags,
-           const SYSTEMTIME *lpDate,
-           LPCWSTR          lpFormat,
-           LPWSTR          lpDateStr,
-         int              cchDate);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetNumberFormatA(
-         LCID             Locale,
-         DWORD            dwFlags,
-         LPCSTR          lpValue,
-           const NUMBERFMTA *lpFormat,
-           LPSTR          lpNumberStr,
-         int              cchNumber);
-__declspec(dllimport)
-int
-__stdcall
-GetNumberFormatW(
-         LCID             Locale,
-         DWORD            dwFlags,
-         LPCWSTR          lpValue,
-           const NUMBERFMTW *lpFormat,
-           LPWSTR          lpNumberStr,
-         int              cchNumber);
-
-
-
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-GetCurrencyFormatA(
-         LCID               Locale,
-         DWORD              dwFlags,
-         LPCSTR            lpValue,
-           const CURRENCYFMTA *lpFormat,
-           LPSTR            lpCurrencyStr,
-         int                cchCurrency);
-__declspec(dllimport)
-int
-__stdcall
-GetCurrencyFormatW(
-         LCID               Locale,
-         DWORD              dwFlags,
-         LPCWSTR            lpValue,
-           const CURRENCYFMTW *lpFormat,
-           LPWSTR            lpCurrencyStr,
-         int                cchCurrency);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumCalendarInfoA(
-         CALINFO_ENUMPROCA lpCalInfoEnumProc,
-         LCID              Locale,
-         CALID             Calendar,
-         CALTYPE           CalType);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumCalendarInfoW(
-         CALINFO_ENUMPROCW lpCalInfoEnumProc,
-         LCID              Locale,
-         CALID             Calendar,
-         CALTYPE           CalType);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumCalendarInfoExA(
-         CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx,
-         LCID                Locale,
-         CALID               Calendar,
-         CALTYPE             CalType);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumCalendarInfoExW(
-         CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx,
-         LCID                Locale,
-         CALID               Calendar,
-         CALTYPE             CalType);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumTimeFormatsA(
-         TIMEFMT_ENUMPROCA lpTimeFmtEnumProc,
-         LCID              Locale,
-         DWORD             dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumTimeFormatsW(
-         TIMEFMT_ENUMPROCW lpTimeFmtEnumProc,
-         LCID              Locale,
-         DWORD             dwFlags);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDateFormatsA(
-         DATEFMT_ENUMPROCA lpDateFmtEnumProc,
-         LCID              Locale,
-         DWORD             dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDateFormatsW(
-         DATEFMT_ENUMPROCW lpDateFmtEnumProc,
-         LCID              Locale,
-         DWORD             dwFlags);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDateFormatsExA(
-         DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx,
-         LCID                Locale,
-         DWORD               dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDateFormatsExW(
-         DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx,
-         LCID                Locale,
-         DWORD               dwFlags);
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsValidLanguageGroup(
-         LGRPID  LanguageGroup,
-         DWORD   dwFlags);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNLSVersion(
-         NLS_FUNCTION     Function,
-         LCID             Locale,
-         LPNLSVERSIONINFO lpVersionInformation);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsNLSDefinedString(
-         NLS_FUNCTION     Function,
-         DWORD            dwFlags,
-         LPNLSVERSIONINFO lpVersionInformation,
-         LPCWSTR          lpString,
-         INT              cchStr);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-IsValidLocale(
-         LCID   Locale,
-         DWORD  dwFlags);
-
-__declspec(dllimport)
-int
-__stdcall
-GetGeoInfoA(
-         GEOID       Location,
-         GEOTYPE     GeoType,
-           LPSTR     lpGeoData,
-         int         cchData,
-         LANGID      LangId);
-__declspec(dllimport)
-int
-__stdcall
-GetGeoInfoW(
-         GEOID       Location,
-         GEOTYPE     GeoType,
-           LPWSTR     lpGeoData,
-         int         cchData,
-         LANGID      LangId);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemGeoID(
-         GEOCLASS        GeoClass,
-         GEOID           ParentGeoId,
-         GEO_ENUMPROC    lpGeoEnumProc);
-
-__declspec(dllimport)
-GEOID
-__stdcall
-GetUserGeoID(
-         GEOCLASS    GeoClass);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetUserGeoID(
-         GEOID       GeoId);
-
-__declspec(dllimport)
-LCID
-__stdcall
-ConvertDefaultLocale(
-         LCID   Locale);
-
-__declspec(dllimport)
-LCID
-__stdcall
-GetThreadLocale(void);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetThreadLocale(
-         LCID  Locale
-    );
-
-
-__declspec(dllimport)
-LANGID
-__stdcall
-GetSystemDefaultUILanguage(void);
-
-__declspec(dllimport)
-LANGID
-__stdcall
-GetUserDefaultUILanguage(void);
-
-
-__declspec(dllimport)
-LANGID
-__stdcall
-GetSystemDefaultLangID(void);
-
-__declspec(dllimport)
-LANGID
-__stdcall
-GetUserDefaultLangID(void);
-
-__declspec(dllimport)
-LCID
-__stdcall
-GetSystemDefaultLCID(void);
-
-__declspec(dllimport)
-LCID
-__stdcall
-GetUserDefaultLCID(void);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetStringTypeExA(
-         LCID     Locale,
-         DWORD    dwInfoType,
-         LPCSTR  lpSrcStr,
-         int      cchSrc,
-         LPWORD  lpCharType);
-__declspec(dllimport)
-BOOL
-__stdcall
-GetStringTypeExW(
-         LCID     Locale,
-         DWORD    dwInfoType,
-         LPCWSTR  lpSrcStr,
-         int      cchSrc,
-         LPWORD  lpCharType);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetStringTypeA(
-         LCID     Locale,
-         DWORD    dwInfoType,
-         LPCSTR   lpSrcStr,
-         int      cchSrc,
-         LPWORD  lpCharType);
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetStringTypeW(
-         DWORD    dwInfoType,
-         LPCWSTR  lpSrcStr,
-         int      cchSrc,
-         LPWORD  lpCharType);
-
-
-__declspec(dllimport)
-int
-__stdcall
-FoldStringA(
-         DWORD    dwMapFlags,
-         LPCSTR  lpSrcStr,
-         int      cchSrc,
-           LPSTR  lpDestStr,
-         int      cchDest);
-__declspec(dllimport)
-int
-__stdcall
-FoldStringW(
-         DWORD    dwMapFlags,
-         LPCWSTR  lpSrcStr,
-         int      cchSrc,
-           LPWSTR  lpDestStr,
-         int      cchDest);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemLanguageGroupsA(
-         LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,
-         DWORD                   dwFlags,
-         LONG_PTR                lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemLanguageGroupsW(
-         LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc,
-         DWORD                   dwFlags,
-         LONG_PTR                lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumLanguageGroupLocalesA(
-         LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc,
-         LGRPID                    LanguageGroup,
-         DWORD                     dwFlags,
-         LONG_PTR                  lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumLanguageGroupLocalesW(
-         LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc,
-         LGRPID                    LanguageGroup,
-         DWORD                     dwFlags,
-         LONG_PTR                  lParam);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumUILanguagesA(
-         UILANGUAGE_ENUMPROCA lpUILanguageEnumProc,
-         DWORD                dwFlags,
-         LONG_PTR             lParam);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumUILanguagesW(
-         UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
-         DWORD                dwFlags,
-         LONG_PTR             lParam);
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemLocalesA(
-         LOCALE_ENUMPROCA lpLocaleEnumProc,
-         DWORD            dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemLocalesW(
-         LOCALE_ENUMPROCW lpLocaleEnumProc,
-         DWORD            dwFlags);
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemCodePagesA(
-         CODEPAGE_ENUMPROCA lpCodePageEnumProc,
-         DWORD              dwFlags);
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumSystemCodePagesW(
-         CODEPAGE_ENUMPROCW lpCodePageEnumProc,
-         DWORD              dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-typedef struct _COORD {
-    SHORT X;
-    SHORT Y;
-} COORD, *PCOORD;
-
-typedef struct _SMALL_RECT {
-    SHORT Left;
-    SHORT Top;
-    SHORT Right;
-    SHORT Bottom;
-} SMALL_RECT, *PSMALL_RECT;
-
-typedef struct _KEY_EVENT_RECORD {
-    BOOL bKeyDown;
-    WORD wRepeatCount;
-    WORD wVirtualKeyCode;
-    WORD wVirtualScanCode;
-    union {
-        WCHAR UnicodeChar;
-        CHAR   AsciiChar;
-    } uChar;
-    DWORD dwControlKeyState;
-} KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _MOUSE_EVENT_RECORD {
-    COORD dwMousePosition;
-    DWORD dwButtonState;
-    DWORD dwControlKeyState;
-    DWORD dwEventFlags;
-} MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _WINDOW_BUFFER_SIZE_RECORD {
-    COORD dwSize;
-} WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
-
-typedef struct _MENU_EVENT_RECORD {
-    UINT dwCommandId;
-} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
-
-typedef struct _FOCUS_EVENT_RECORD {
-    BOOL bSetFocus;
-} FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD;
-
-typedef struct _INPUT_RECORD {
-    WORD EventType;
-    union {
-        KEY_EVENT_RECORD KeyEvent;
-        MOUSE_EVENT_RECORD MouseEvent;
-        WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
-        MENU_EVENT_RECORD MenuEvent;
-        FOCUS_EVENT_RECORD FocusEvent;
-    } Event;
-} INPUT_RECORD, *PINPUT_RECORD;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CHAR_INFO {
-    union {
-        WCHAR UnicodeChar;
-        CHAR   AsciiChar;
-    } Char;
-    WORD Attributes;
-} CHAR_INFO, *PCHAR_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
-    COORD dwSize;
-    COORD dwCursorPosition;
-    WORD  wAttributes;
-    SMALL_RECT srWindow;
-    COORD dwMaximumWindowSize;
-} CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO;
-
-typedef struct _CONSOLE_CURSOR_INFO {
-    DWORD  dwSize;
-    BOOL   bVisible;
-} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
-
-typedef struct _CONSOLE_FONT_INFO {
-    DWORD  nFont;
-    COORD  dwFontSize;
-} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
-
-
-typedef struct _CONSOLE_SELECTION_INFO {
-    DWORD dwFlags;
-    COORD dwSelectionAnchor;
-    SMALL_RECT srSelection;
-} CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef
-BOOL
-(__stdcall *PHANDLER_ROUTINE)(
-    DWORD CtrlType
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PeekConsoleInputA(
-     HANDLE hConsoleInput,
-     PINPUT_RECORD lpBuffer,
-     DWORD nLength,
-     LPDWORD lpNumberOfEventsRead
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-PeekConsoleInputW(
-     HANDLE hConsoleInput,
-     PINPUT_RECORD lpBuffer,
-     DWORD nLength,
-     LPDWORD lpNumberOfEventsRead
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleInputA(
-     HANDLE hConsoleInput,
-     PINPUT_RECORD lpBuffer,
-     DWORD nLength,
-     LPDWORD lpNumberOfEventsRead
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleInputW(
-     HANDLE hConsoleInput,
-     PINPUT_RECORD lpBuffer,
-     DWORD nLength,
-     LPDWORD lpNumberOfEventsRead
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleInputA(
-     HANDLE hConsoleInput,
-     const INPUT_RECORD *lpBuffer,
-     DWORD nLength,
-     LPDWORD lpNumberOfEventsWritten
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleInputW(
-     HANDLE hConsoleInput,
-     const INPUT_RECORD *lpBuffer,
-     DWORD nLength,
-     LPDWORD lpNumberOfEventsWritten
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleOutputA(
-     HANDLE hConsoleOutput,
-     PCHAR_INFO lpBuffer,
-     COORD dwBufferSize,
-     COORD dwBufferCoord,
-      PSMALL_RECT lpReadRegion
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleOutputW(
-     HANDLE hConsoleOutput,
-     PCHAR_INFO lpBuffer,
-     COORD dwBufferSize,
-     COORD dwBufferCoord,
-      PSMALL_RECT lpReadRegion
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleOutputA(
-     HANDLE hConsoleOutput,
-     const CHAR_INFO *lpBuffer,
-     COORD dwBufferSize,
-     COORD dwBufferCoord,
-      PSMALL_RECT lpWriteRegion
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleOutputW(
-     HANDLE hConsoleOutput,
-     const CHAR_INFO *lpBuffer,
-     COORD dwBufferSize,
-     COORD dwBufferCoord,
-      PSMALL_RECT lpWriteRegion
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleOutputCharacterA(
-     HANDLE hConsoleOutput,
-     LPSTR lpCharacter,
-      DWORD nLength,
-     COORD dwReadCoord,
-     LPDWORD lpNumberOfCharsRead
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleOutputCharacterW(
-     HANDLE hConsoleOutput,
-     LPWSTR lpCharacter,
-      DWORD nLength,
-     COORD dwReadCoord,
-     LPDWORD lpNumberOfCharsRead
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleOutputAttribute(
-     HANDLE hConsoleOutput,
-     LPWORD lpAttribute,
-     DWORD nLength,
-     COORD dwReadCoord,
-     LPDWORD lpNumberOfAttrsRead
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleOutputCharacterA(
-     HANDLE hConsoleOutput,
-     LPCSTR lpCharacter,
-     DWORD nLength,
-     COORD dwWriteCoord,
-     LPDWORD lpNumberOfCharsWritten
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleOutputCharacterW(
-     HANDLE hConsoleOutput,
-     LPCWSTR lpCharacter,
-     DWORD nLength,
-     COORD dwWriteCoord,
-     LPDWORD lpNumberOfCharsWritten
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleOutputAttribute(
-     HANDLE hConsoleOutput,
-     const WORD *lpAttribute,
-     DWORD nLength,
-     COORD dwWriteCoord,
-     LPDWORD lpNumberOfAttrsWritten
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FillConsoleOutputCharacterA(
-     HANDLE hConsoleOutput,
-     CHAR  cCharacter,
-     DWORD  nLength,
-     COORD  dwWriteCoord,
-     LPDWORD lpNumberOfCharsWritten
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-FillConsoleOutputCharacterW(
-     HANDLE hConsoleOutput,
-     WCHAR  cCharacter,
-     DWORD  nLength,
-     COORD  dwWriteCoord,
-     LPDWORD lpNumberOfCharsWritten
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FillConsoleOutputAttribute(
-     HANDLE hConsoleOutput,
-     WORD   wAttribute,
-     DWORD  nLength,
-     COORD  dwWriteCoord,
-     LPDWORD lpNumberOfAttrsWritten
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetConsoleMode(
-     HANDLE hConsoleHandle,
-     LPDWORD lpMode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumberOfConsoleInputEvents(
-     HANDLE hConsoleInput,
-     LPDWORD lpNumberOfEvents
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetConsoleScreenBufferInfo(
-     HANDLE hConsoleOutput,
-     PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
-    );
-
-__declspec(dllimport)
-COORD
-__stdcall
-GetLargestConsoleWindowSize(
-     HANDLE hConsoleOutput
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetConsoleCursorInfo(
-     HANDLE hConsoleOutput,
-     PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetCurrentConsoleFont(
-     HANDLE hConsoleOutput,
-     BOOL bMaximumWindow,
-     PCONSOLE_FONT_INFO lpConsoleCurrentFont
-    );
-
-__declspec(dllimport)
-COORD
-__stdcall
-GetConsoleFontSize(
-     HANDLE hConsoleOutput,
-     DWORD nFont
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetConsoleSelectionInfo(
-     PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo
-    );
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetNumberOfConsoleMouseButtons(
-     LPDWORD lpNumberOfMouseButtons
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleMode(
-     HANDLE hConsoleHandle,
-     DWORD dwMode
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleActiveScreenBuffer(
-     HANDLE hConsoleOutput
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FlushConsoleInputBuffer(
-     HANDLE hConsoleInput
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleScreenBufferSize(
-     HANDLE hConsoleOutput,
-     COORD dwSize
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleCursorPosition(
-     HANDLE hConsoleOutput,
-     COORD dwCursorPosition
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleCursorInfo(
-     HANDLE hConsoleOutput,
-     const CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ScrollConsoleScreenBufferA(
-     HANDLE hConsoleOutput,
-     const SMALL_RECT *lpScrollRectangle,
-     const SMALL_RECT *lpClipRectangle,
-     COORD dwDestinationOrigin,
-     const CHAR_INFO *lpFill
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ScrollConsoleScreenBufferW(
-     HANDLE hConsoleOutput,
-     const SMALL_RECT *lpScrollRectangle,
-     const SMALL_RECT *lpClipRectangle,
-     COORD dwDestinationOrigin,
-     const CHAR_INFO *lpFill
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleWindowInfo(
-     HANDLE hConsoleOutput,
-     BOOL bAbsolute,
-     const SMALL_RECT *lpConsoleWindow
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleTextAttribute(
-     HANDLE hConsoleOutput,
-     WORD wAttributes
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleCtrlHandler(
-     PHANDLER_ROUTINE HandlerRoutine,
-     BOOL Add
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GenerateConsoleCtrlEvent(
-     DWORD dwCtrlEvent,
-     DWORD dwProcessGroupId
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AllocConsole( void );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-FreeConsole( void );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AttachConsole(
-     DWORD dwProcessId
-    );
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleTitleA(
-     LPSTR lpConsoleTitle,
-     DWORD nSize
-    );
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleTitleW(
-     LPWSTR lpConsoleTitle,
-     DWORD nSize
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleTitleA(
-     LPCSTR lpConsoleTitle
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleTitleW(
-     LPCWSTR lpConsoleTitle
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleA(
-     HANDLE hConsoleInput,
-     LPVOID lpBuffer,
-     DWORD nNumberOfCharsToRead,
-     LPDWORD lpNumberOfCharsRead,
-     LPVOID lpReserved
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ReadConsoleW(
-     HANDLE hConsoleInput,
-     LPVOID lpBuffer,
-     DWORD nNumberOfCharsToRead,
-     LPDWORD lpNumberOfCharsRead,
-     LPVOID lpReserved
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleA(
-     HANDLE hConsoleOutput,
-     const void *lpBuffer,
-     DWORD nNumberOfCharsToWrite,
-     LPDWORD lpNumberOfCharsWritten,
-     LPVOID lpReserved
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-WriteConsoleW(
-     HANDLE hConsoleOutput,
-     const void *lpBuffer,
-     DWORD nNumberOfCharsToWrite,
-     LPDWORD lpNumberOfCharsWritten,
-     LPVOID lpReserved
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
-__stdcall
-CreateConsoleScreenBuffer(
-     DWORD dwDesiredAccess,
-     DWORD dwShareMode,
-     const SECURITY_ATTRIBUTES *lpSecurityAttributes,
-     DWORD dwFlags,
-     LPVOID lpScreenBufferData
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetConsoleCP( void );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleCP(
-     UINT wCodePageID
-    );
-
-__declspec(dllimport)
-UINT
-__stdcall
-GetConsoleOutputCP( void );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetConsoleOutputCP(
-     UINT wCodePageID
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetConsoleDisplayMode(
-     LPDWORD lpModeFlags
-    );
-
-__declspec(dllimport)
-HWND
-__stdcall
-GetConsoleWindow(
-    void
-    );
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleProcessList(
-     LPDWORD lpdwProcessList,
-     DWORD dwProcessCount);
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AddConsoleAliasA(
-     LPSTR Source,
-     LPSTR Target,
-     LPSTR ExeName);
-__declspec(dllimport)
-BOOL
-__stdcall
-AddConsoleAliasW(
-     LPWSTR Source,
-     LPWSTR Target,
-     LPWSTR ExeName);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasA(
-     LPSTR Source,
-     LPSTR TargetBuffer,
-     DWORD TargetBufferLength,
-     LPSTR ExeName);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasW(
-     LPWSTR Source,
-     LPWSTR TargetBuffer,
-     DWORD TargetBufferLength,
-     LPWSTR ExeName);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasesLengthA(
-     LPSTR ExeName);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasesLengthW(
-     LPWSTR ExeName);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasExesLengthA(
-    void);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasExesLengthW(
-    void);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasesA(
-     LPSTR AliasBuffer,
-     DWORD AliasBufferLength,
-     LPSTR ExeName);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasesW(
-     LPWSTR AliasBuffer,
-     DWORD AliasBufferLength,
-     LPWSTR ExeName);
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasExesA(
-     LPSTR ExeNameBuffer,
-     DWORD ExeNameBufferLength);
-__declspec(dllimport)
-DWORD
-__stdcall
-GetConsoleAliasExesW(
-     LPWSTR ExeNameBuffer,
-     DWORD ExeNameBufferLength);
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagVS_FIXEDFILEINFO
-{
-    DWORD   dwSignature;            
-    DWORD   dwStrucVersion;         
-    DWORD   dwFileVersionMS;        
-    DWORD   dwFileVersionLS;        
-    DWORD   dwProductVersionMS;     
-    DWORD   dwProductVersionLS;     
-    DWORD   dwFileFlagsMask;        
-    DWORD   dwFileFlags;            
-    DWORD   dwFileOS;               
-    DWORD   dwFileType;             
-    DWORD   dwFileSubtype;          
-    DWORD   dwFileDateMS;           
-    DWORD   dwFileDateLS;           
-} VS_FIXEDFILEINFO;
-
-
-
-DWORD
-__stdcall
-VerFindFileA(
-        DWORD uFlags,
-        LPSTR szFileName,
-        LPSTR szWinDir,
-        LPSTR szAppDir,
-        LPSTR szCurDir,
-        PUINT lpuCurDirLen,
-        LPSTR szDestDir,
-        PUINT lpuDestDirLen
-        );
-DWORD
-__stdcall
-VerFindFileW(
-        DWORD uFlags,
-        LPWSTR szFileName,
-        LPWSTR szWinDir,
-        LPWSTR szAppDir,
-        LPWSTR szCurDir,
-        PUINT lpuCurDirLen,
-        LPWSTR szDestDir,
-        PUINT lpuDestDirLen
-        );
-
-
-
-
-
-
-DWORD
-__stdcall
-VerInstallFileA(
-        DWORD uFlags,
-        LPSTR szSrcFileName,
-        LPSTR szDestFileName,
-        LPSTR szSrcDir,
-        LPSTR szDestDir,
-        LPSTR szCurDir,
-        LPSTR szTmpFile,
-        PUINT lpuTmpFileLen
-        );
-DWORD
-__stdcall
-VerInstallFileW(
-        DWORD uFlags,
-        LPWSTR szSrcFileName,
-        LPWSTR szDestFileName,
-        LPWSTR szSrcDir,
-        LPWSTR szDestDir,
-        LPWSTR szCurDir,
-        LPWSTR szTmpFile,
-        PUINT lpuTmpFileLen
-        );
-
-
-
-
-
-
-
-DWORD
-__stdcall
-GetFileVersionInfoSizeA(
-         LPCSTR lptstrFilename, 
-           LPDWORD lpdwHandle
-    );                      
-
-DWORD
-__stdcall
-GetFileVersionInfoSizeW(
-         LPCWSTR lptstrFilename, 
-           LPDWORD lpdwHandle
-    );                      
-
-
-
-
-
-
-
-BOOL
-__stdcall
-GetFileVersionInfoA(
-         LPCSTR lptstrFilename, 
-         DWORD dwHandle,         
-         DWORD dwLen,            
-         LPVOID lpData
-    );                      
-
-BOOL
-__stdcall
-GetFileVersionInfoW(
-         LPCWSTR lptstrFilename, 
-         DWORD dwHandle,         
-         DWORD dwLen,            
-         LPVOID lpData
-    );                      
-
-
-
-
-
-
-DWORD
-__stdcall
-VerLanguageNameA(
-        DWORD wLang,
-        LPSTR szLang,
-        DWORD nSize
-        );
-DWORD
-__stdcall
-VerLanguageNameW(
-        DWORD wLang,
-        LPWSTR szLang,
-        DWORD nSize
-        );
-
-
-
-
-
-
-BOOL
-__stdcall
-VerQueryValueA(
-        const LPVOID pBlock,
-        LPSTR lpSubBlock,
-        LPVOID * lplpBuffer,
-        PUINT puLen
-        );
-BOOL
-__stdcall
-VerQueryValueW(
-        const LPVOID pBlock,
-        LPWSTR lpSubBlock,
-        LPVOID * lplpBuffer,
-        PUINT puLen
-        );
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef ACCESS_MASK REGSAM;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct val_context {
-    int valuelen;       
-    LPVOID value_context;   
-    LPVOID val_buff_ptr;    
-};
-
-typedef struct val_context  *PVALCONTEXT;
-
-typedef struct pvalueA {           
-    LPSTR   pv_valuename;          
-    int pv_valuelen;
-    LPVOID pv_value_context;
-    DWORD pv_type;
-}PVALUEA,  *PPVALUEA;
-typedef struct pvalueW {           
-    LPWSTR  pv_valuename;          
-    int pv_valuelen;
-    LPVOID pv_value_context;
-    DWORD pv_type;
-}PVALUEW,  *PPVALUEW;
-
-typedef PVALUEW PVALUE;
-typedef PPVALUEW PPVALUE;
-
-
-
-
-
-typedef
-DWORD _cdecl
-QUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals,
-          LPVOID outputbuffer, DWORD  *total_outlen, DWORD input_blen);
-
-typedef QUERYHANDLER  *PQUERYHANDLER;
-
-typedef struct provider_info {
-    PQUERYHANDLER pi_R0_1val;
-    PQUERYHANDLER pi_R0_allvals;
-    PQUERYHANDLER pi_R3_1val;
-    PQUERYHANDLER pi_R3_allvals;
-    DWORD pi_flags;    
-    LPVOID pi_key_context;
-}REG_PROVIDER;
-
-typedef struct provider_info  *PPROVIDER;
-
-typedef struct value_entA {
-    LPSTR   ve_valuename;
-    DWORD ve_valuelen;
-    DWORD_PTR ve_valueptr;
-    DWORD ve_type;
-}VALENTA,  *PVALENTA;
-typedef struct value_entW {
-    LPWSTR  ve_valuename;
-    DWORD ve_valuelen;
-    DWORD_PTR ve_valueptr;
-    DWORD ve_type;
-}VALENTW,  *PVALENTW;
-
-typedef VALENTW VALENT;
-typedef PVALENTW PVALENT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegCloseKey (
-         HKEY hKey
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegOverridePredefKey (
-         HKEY hKey,
-           HKEY hNewHKey
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegOpenUserClassesRoot(
-         HANDLE hToken,
-      DWORD dwOptions,
-         REGSAM samDesired,
-         PHKEY  phkResult
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegOpenCurrentUser(
-         REGSAM samDesired,
-         PHKEY phkResult
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegDisablePredefinedCache(
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegConnectRegistryA (
-           LPCSTR lpMachineName,
-         HKEY hKey,
-         PHKEY phkResult
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegConnectRegistryW (
-           LPCWSTR lpMachineName,
-         HKEY hKey,
-         PHKEY phkResult
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegConnectRegistryExA (
-           LPCSTR lpMachineName,
-         HKEY hKey,
-         ULONG Flags,
-         PHKEY phkResult
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegConnectRegistryExW (
-           LPCWSTR lpMachineName,
-         HKEY hKey,
-         ULONG Flags,
-         PHKEY phkResult
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegCreateKeyA (
-         HKEY hKey,
-           LPCSTR lpSubKey,
-         PHKEY phkResult
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegCreateKeyW (
-         HKEY hKey,
-           LPCWSTR lpSubKey,
-         PHKEY phkResult
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegCreateKeyExA (
-         HKEY hKey,
-         LPCSTR lpSubKey,
-      DWORD Reserved,
-           LPSTR lpClass,
-         DWORD dwOptions,
-         REGSAM samDesired,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-         PHKEY phkResult,
-           LPDWORD lpdwDisposition
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegCreateKeyExW (
-         HKEY hKey,
-         LPCWSTR lpSubKey,
-      DWORD Reserved,
-           LPWSTR lpClass,
-         DWORD dwOptions,
-         REGSAM samDesired,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-         PHKEY phkResult,
-           LPDWORD lpdwDisposition
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegDeleteKeyA (
-         HKEY hKey,
-         LPCSTR lpSubKey
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegDeleteKeyW (
-         HKEY hKey,
-         LPCWSTR lpSubKey
-    );
-
-
-
-
-
-    
-__declspec(dllimport)
-LONG
-__stdcall
-RegDeleteKeyExA (
-         HKEY hKey,
-         LPCSTR lpSubKey,
-         REGSAM samDesired,
-      DWORD Reserved
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegDeleteKeyExW (
-         HKEY hKey,
-         LPCWSTR lpSubKey,
-         REGSAM samDesired,
-      DWORD Reserved
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegDisableReflectionKey (
-         HKEY hBase
-    );    
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnableReflectionKey (
-         HKEY hBase
-    );    
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryReflectionKey (
-         HKEY hBase,
-         BOOL *bIsReflectionDisabled
-    );    
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegDeleteValueA (
-         HKEY hKey,
-           LPCSTR lpValueName
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegDeleteValueW (
-         HKEY hKey,
-           LPCWSTR lpValueName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnumKeyA (
-         HKEY hKey,
-         DWORD dwIndex,
-           LPSTR lpName,
-         DWORD cchName
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnumKeyW (
-         HKEY hKey,
-         DWORD dwIndex,
-           LPWSTR lpName,
-         DWORD cchName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnumKeyExA (
-         HKEY hKey,
-         DWORD dwIndex,
-           LPSTR lpName,
-         LPDWORD lpcchName,
-      LPDWORD lpReserved,
-             LPSTR lpClass,
-           LPDWORD lpcchClass,
-           PFILETIME lpftLastWriteTime
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnumKeyExW (
-         HKEY hKey,
-         DWORD dwIndex,
-           LPWSTR lpName,
-         LPDWORD lpcchName,
-      LPDWORD lpReserved,
-             LPWSTR lpClass,
-           LPDWORD lpcchClass,
-           PFILETIME lpftLastWriteTime
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnumValueA (
-         HKEY hKey,
-         DWORD dwIndex,
-           LPSTR lpValueName,
-         LPDWORD lpcchValueName,
-      LPDWORD lpReserved,
-           LPDWORD lpType,
-           LPBYTE lpData,
-           LPDWORD lpcbData
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegEnumValueW (
-         HKEY hKey,
-         DWORD dwIndex,
-           LPWSTR lpValueName,
-         LPDWORD lpcchValueName,
-      LPDWORD lpReserved,
-           LPDWORD lpType,
-           LPBYTE lpData,
-           LPDWORD lpcbData
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegFlushKey (
-         HKEY hKey
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegGetKeySecurity (
-         HKEY hKey,
-         SECURITY_INFORMATION SecurityInformation,
-           PSECURITY_DESCRIPTOR pSecurityDescriptor,
-         LPDWORD lpcbSecurityDescriptor
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegLoadKeyA (
-         HKEY    hKey,
-           LPCSTR  lpSubKey,
-         LPCSTR  lpFile
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegLoadKeyW (
-         HKEY    hKey,
-           LPCWSTR  lpSubKey,
-         LPCWSTR  lpFile
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegNotifyChangeKeyValue (
-         HKEY hKey,
-         BOOL bWatchSubtree,
-         DWORD dwNotifyFilter,
-           HANDLE hEvent,
-         BOOL fAsynchronous
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegOpenKeyA (
-         HKEY hKey,
-           LPCSTR lpSubKey,
-         PHKEY phkResult
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegOpenKeyW (
-         HKEY hKey,
-           LPCWSTR lpSubKey,
-         PHKEY phkResult
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegOpenKeyExA (
-         HKEY hKey,
-           LPCSTR lpSubKey,
-      DWORD ulOptions,
-         REGSAM samDesired,
-         PHKEY phkResult
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegOpenKeyExW (
-         HKEY hKey,
-           LPCWSTR lpSubKey,
-      DWORD ulOptions,
-         REGSAM samDesired,
-         PHKEY phkResult
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryInfoKeyA (
-         HKEY hKey,
-           LPSTR lpClass,
-           LPDWORD lpcchClass,
-      LPDWORD lpReserved,
-           LPDWORD lpcSubKeys,
-           LPDWORD lpcbMaxSubKeyLen,
-           LPDWORD lpcbMaxClassLen,
-           LPDWORD lpcValues,
-           LPDWORD lpcbMaxValueNameLen,
-           LPDWORD lpcbMaxValueLen,
-           LPDWORD lpcbSecurityDescriptor,
-           PFILETIME lpftLastWriteTime
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryInfoKeyW (
-         HKEY hKey,
-           LPWSTR lpClass,
-           LPDWORD lpcchClass,
-      LPDWORD lpReserved,
-           LPDWORD lpcSubKeys,
-           LPDWORD lpcbMaxSubKeyLen,
-           LPDWORD lpcbMaxClassLen,
-           LPDWORD lpcValues,
-           LPDWORD lpcbMaxValueNameLen,
-           LPDWORD lpcbMaxValueLen,
-           LPDWORD lpcbSecurityDescriptor,
-           PFILETIME lpftLastWriteTime
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryValueA (
-         HKEY hKey,
-           LPCSTR lpSubKey,
-           LPSTR lpData,
-           PLONG lpcbData
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryValueW (
-         HKEY hKey,
-           LPCWSTR lpSubKey,
-           LPWSTR lpData,
-           PLONG lpcbData
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryMultipleValuesA (
-         HKEY hKey,
-         PVALENTA val_list,
-         DWORD num_vals,
-           LPSTR lpValueBuf,
-           LPDWORD ldwTotsize
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryMultipleValuesW (
-         HKEY hKey,
-         PVALENTW val_list,
-         DWORD num_vals,
-           LPWSTR lpValueBuf,
-           LPDWORD ldwTotsize
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryValueExA (
-         HKEY hKey,
-           LPCSTR lpValueName,
-      LPDWORD lpReserved,
-           LPDWORD lpType,
-           LPBYTE lpData,
-           LPDWORD lpcbData
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegQueryValueExW (
-         HKEY hKey,
-           LPCWSTR lpValueName,
-      LPDWORD lpReserved,
-           LPDWORD lpType,
-           LPBYTE lpData,
-           LPDWORD lpcbData
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegReplaceKeyA (
-         HKEY hKey,
-           LPCSTR lpSubKey,
-         LPCSTR lpNewFile,
-         LPCSTR lpOldFile
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegReplaceKeyW (
-         HKEY hKey,
-           LPCWSTR lpSubKey,
-         LPCWSTR lpNewFile,
-         LPCWSTR lpOldFile
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegRestoreKeyA (
-         HKEY hKey,
-         LPCSTR lpFile,
-         DWORD dwFlags
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegRestoreKeyW (
-         HKEY hKey,
-         LPCWSTR lpFile,
-         DWORD dwFlags
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegSaveKeyA (
-         HKEY hKey,
-         LPCSTR lpFile,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegSaveKeyW (
-         HKEY hKey,
-         LPCWSTR lpFile,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegSetKeySecurity (
-         HKEY hKey,
-         SECURITY_INFORMATION SecurityInformation,
-         PSECURITY_DESCRIPTOR pSecurityDescriptor
-    );
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegSetValueA (
-         HKEY hKey,
-           LPCSTR lpSubKey,
-         DWORD dwType,
-             LPCSTR lpData,
-         DWORD cbData
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegSetValueW (
-         HKEY hKey,
-           LPCWSTR lpSubKey,
-         DWORD dwType,
-             LPCWSTR lpData,
-         DWORD cbData
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegSetValueExA (
-         HKEY hKey,
-           LPCSTR lpValueName,
-      DWORD Reserved,
-         DWORD dwType,
-             const BYTE* lpData,
-         DWORD cbData
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegSetValueExW (
-         HKEY hKey,
-           LPCWSTR lpValueName,
-      DWORD Reserved,
-         DWORD dwType,
-             const BYTE* lpData,
-         DWORD cbData
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegUnLoadKeyA (
-         HKEY    hKey,
-           LPCSTR lpSubKey
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegUnLoadKeyW (
-         HKEY    hKey,
-           LPCWSTR lpSubKey
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegGetValueA (
-         HKEY    hkey,
-           LPCSTR  lpSubKey,
-           LPCSTR  lpValue,
-           DWORD    dwFlags,
-           LPDWORD pdwType,
-           PVOID   pvData,
-           LPDWORD pcbData 
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegGetValueW (
-         HKEY    hkey,
-           LPCWSTR  lpSubKey,
-           LPCWSTR  lpValue,
-           DWORD    dwFlags,
-           LPDWORD pdwType,
-           PVOID   pvData,
-           LPDWORD pcbData 
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitiateSystemShutdownA(
-           LPSTR lpMachineName,
-           LPSTR lpMessage,
-         DWORD dwTimeout,
-         BOOL bForceAppsClosed,
-         BOOL bRebootAfterShutdown
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-InitiateSystemShutdownW(
-           LPWSTR lpMachineName,
-           LPWSTR lpMessage,
-         DWORD dwTimeout,
-         BOOL bForceAppsClosed,
-         BOOL bRebootAfterShutdown
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-AbortSystemShutdownA(
-           LPSTR lpMachineName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-AbortSystemShutdownW(
-           LPWSTR lpMachineName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-InitiateSystemShutdownExA(
-           LPSTR lpMachineName,
-           LPSTR lpMessage,
-         DWORD dwTimeout,
-         BOOL bForceAppsClosed,
-         BOOL bRebootAfterShutdown,
-         DWORD dwReason
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-InitiateSystemShutdownExW(
-           LPWSTR lpMachineName,
-           LPWSTR lpMessage,
-         DWORD dwTimeout,
-         BOOL bForceAppsClosed,
-         BOOL bRebootAfterShutdown,
-         DWORD dwReason
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-RegSaveKeyExA (
-         HKEY hKey,
-         LPCSTR lpFile,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-         DWORD Flags
-    );
-__declspec(dllimport)
-LONG
-__stdcall
-RegSaveKeyExW (
-         HKEY hKey,
-         LPCWSTR lpFile,
-           LPSECURITY_ATTRIBUTES lpSecurityAttributes,
-         DWORD Flags
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-Wow64Win32ApiEntry (
-         DWORD dwFuncNumber,
-         DWORD dwFlag,
-         DWORD dwRes
-    );
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct  _NETRESOURCEA {
-    DWORD    dwScope;
-    DWORD    dwType;
-    DWORD    dwDisplayType;
-    DWORD    dwUsage;
-    LPSTR    lpLocalName;
-    LPSTR    lpRemoteName;
-    LPSTR    lpComment ;
-    LPSTR    lpProvider;
-}NETRESOURCEA, *LPNETRESOURCEA;
-typedef struct  _NETRESOURCEW {
-    DWORD    dwScope;
-    DWORD    dwType;
-    DWORD    dwDisplayType;
-    DWORD    dwUsage;
-    LPWSTR   lpLocalName;
-    LPWSTR   lpRemoteName;
-    LPWSTR   lpComment ;
-    LPWSTR   lpProvider;
-}NETRESOURCEW, *LPNETRESOURCEW;
-
-typedef NETRESOURCEW NETRESOURCE;
-typedef LPNETRESOURCEW LPNETRESOURCE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetAddConnectionA(
-      LPCSTR   lpRemoteName,
-      LPCSTR   lpPassword,
-      LPCSTR   lpLocalName
-    );
-DWORD __stdcall
-WNetAddConnectionW(
-      LPCWSTR   lpRemoteName,
-      LPCWSTR   lpPassword,
-      LPCWSTR   lpLocalName
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetAddConnection2A(
-      LPNETRESOURCEA lpNetResource,
-      LPCSTR       lpPassword,
-      LPCSTR       lpUserName,
-      DWORD          dwFlags
-    );
-DWORD __stdcall
-WNetAddConnection2W(
-      LPNETRESOURCEW lpNetResource,
-      LPCWSTR       lpPassword,
-      LPCWSTR       lpUserName,
-      DWORD          dwFlags
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetAddConnection3A(
-      HWND           hwndOwner,
-      LPNETRESOURCEA lpNetResource,
-      LPCSTR       lpPassword,
-      LPCSTR       lpUserName,
-      DWORD          dwFlags
-    );
-DWORD __stdcall
-WNetAddConnection3W(
-      HWND           hwndOwner,
-      LPNETRESOURCEW lpNetResource,
-      LPCWSTR       lpPassword,
-      LPCWSTR       lpUserName,
-      DWORD          dwFlags
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetCancelConnectionA(
-      LPCSTR lpName,
-      BOOL     fForce
-    );
-DWORD __stdcall
-WNetCancelConnectionW(
-      LPCWSTR lpName,
-      BOOL     fForce
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetCancelConnection2A(
-      LPCSTR lpName,
-      DWORD    dwFlags,
-      BOOL     fForce
-    );
-DWORD __stdcall
-WNetCancelConnection2W(
-      LPCWSTR lpName,
-      DWORD    dwFlags,
-      BOOL     fForce
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetGetConnectionA(
-      LPCSTR lpLocalName,
-      LPSTR  lpRemoteName,
-       LPDWORD  lpnLength
-    );
-DWORD __stdcall
-WNetGetConnectionW(
-      LPCWSTR lpLocalName,
-      LPWSTR  lpRemoteName,
-       LPDWORD  lpnLength
-    );
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetRestoreConnectionA(
-     HWND     hwndParent,
-     LPCSTR lpDevice
-    );
-DWORD __stdcall
-WNetRestoreConnectionW(
-     HWND     hwndParent,
-     LPCWSTR lpDevice
-    );
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetUseConnectionA(
-     HWND            hwndOwner,
-     LPNETRESOURCEA  lpNetResource,
-     LPCSTR        lpPassword,
-     LPCSTR        lpUserID,
-     DWORD           dwFlags,
-     LPSTR        lpAccessName,
-      LPDWORD     lpBufferSize,
-     LPDWORD        lpResult
-    );
-DWORD __stdcall
-WNetUseConnectionW(
-     HWND            hwndOwner,
-     LPNETRESOURCEW  lpNetResource,
-     LPCWSTR        lpPassword,
-     LPCWSTR        lpUserID,
-     DWORD           dwFlags,
-     LPWSTR        lpAccessName,
-      LPDWORD     lpBufferSize,
-     LPDWORD        lpResult
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetConnectionDialog(
-     HWND  hwnd,
-     DWORD dwType
-    );
-
-DWORD __stdcall
-WNetDisconnectDialog(
-     HWND  hwnd,
-     DWORD dwType
-    );
-
-
-typedef struct _CONNECTDLGSTRUCTA{
-    DWORD cbStructure;       
-    HWND hwndOwner;          
-    LPNETRESOURCEA lpConnRes;
-    DWORD dwFlags;           
-    DWORD dwDevNum;          
-} CONNECTDLGSTRUCTA,  *LPCONNECTDLGSTRUCTA;
-typedef struct _CONNECTDLGSTRUCTW{
-    DWORD cbStructure;       
-    HWND hwndOwner;          
-    LPNETRESOURCEW lpConnRes;
-    DWORD dwFlags;           
-    DWORD dwDevNum;          
-} CONNECTDLGSTRUCTW,  *LPCONNECTDLGSTRUCTW;
-
-typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT;
-typedef LPCONNECTDLGSTRUCTW LPCONNECTDLGSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetConnectionDialog1A(
-      LPCONNECTDLGSTRUCTA lpConnDlgStruct
-    );
-DWORD __stdcall
-WNetConnectionDialog1W(
-      LPCONNECTDLGSTRUCTW lpConnDlgStruct
-    );
-
-
-
-
-
-
-typedef struct _DISCDLGSTRUCTA{
-    DWORD           cbStructure;      
-    HWND            hwndOwner;        
-    LPSTR           lpLocalName;      
-    LPSTR           lpRemoteName;     
-    DWORD           dwFlags;          
-} DISCDLGSTRUCTA,  *LPDISCDLGSTRUCTA;
-typedef struct _DISCDLGSTRUCTW{
-    DWORD           cbStructure;      
-    HWND            hwndOwner;        
-    LPWSTR          lpLocalName;      
-    LPWSTR          lpRemoteName;     
-    DWORD           dwFlags;          
-} DISCDLGSTRUCTW,  *LPDISCDLGSTRUCTW;
-
-typedef DISCDLGSTRUCTW DISCDLGSTRUCT;
-typedef LPDISCDLGSTRUCTW LPDISCDLGSTRUCT;
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetDisconnectDialog1A(
-     LPDISCDLGSTRUCTA lpConnDlgStruct
-    );
-DWORD __stdcall
-WNetDisconnectDialog1W(
-     LPDISCDLGSTRUCTW lpConnDlgStruct
-    );
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetOpenEnumA(
-      DWORD          dwScope,
-      DWORD          dwType,
-      DWORD          dwUsage,
-      LPNETRESOURCEA lpNetResource,
-      LPHANDLE       lphEnum
-    );
-DWORD __stdcall
-WNetOpenEnumW(
-      DWORD          dwScope,
-      DWORD          dwType,
-      DWORD          dwUsage,
-      LPNETRESOURCEW lpNetResource,
-      LPHANDLE       lphEnum
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetEnumResourceA(
-      HANDLE  hEnum,
-       LPDWORD lpcCount,
-      LPVOID  lpBuffer,
-       LPDWORD lpBufferSize
-    );
-DWORD __stdcall
-WNetEnumResourceW(
-      HANDLE  hEnum,
-       LPDWORD lpcCount,
-      LPVOID  lpBuffer,
-       LPDWORD lpBufferSize
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetCloseEnum(
-     HANDLE   hEnum
-    );
-
-
-DWORD __stdcall
-WNetGetResourceParentA(
-     LPNETRESOURCEA lpNetResource,
-     LPVOID lpBuffer,
-      LPDWORD lpcbBuffer
-    );
-DWORD __stdcall
-WNetGetResourceParentW(
-     LPNETRESOURCEW lpNetResource,
-     LPVOID lpBuffer,
-      LPDWORD lpcbBuffer
-    );
-
-
-
-
-
-
-DWORD __stdcall
-WNetGetResourceInformationA(
-     LPNETRESOURCEA  lpNetResource,
-     LPVOID          lpBuffer,
-      LPDWORD         lpcbBuffer,
-     LPSTR         *lplpSystem
-    );
-DWORD __stdcall
-WNetGetResourceInformationW(
-     LPNETRESOURCEW  lpNetResource,
-     LPVOID          lpBuffer,
-      LPDWORD         lpcbBuffer,
-     LPWSTR         *lplpSystem
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct  _UNIVERSAL_NAME_INFOA {
-    LPSTR    lpUniversalName;
-}UNIVERSAL_NAME_INFOA, *LPUNIVERSAL_NAME_INFOA;
-typedef struct  _UNIVERSAL_NAME_INFOW {
-    LPWSTR   lpUniversalName;
-}UNIVERSAL_NAME_INFOW, *LPUNIVERSAL_NAME_INFOW;
-
-typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO;
-typedef LPUNIVERSAL_NAME_INFOW LPUNIVERSAL_NAME_INFO;
-
-
-
-
-
-typedef struct  _REMOTE_NAME_INFOA {
-    LPSTR    lpUniversalName;
-    LPSTR    lpConnectionName;
-    LPSTR    lpRemainingPath;
-}REMOTE_NAME_INFOA, *LPREMOTE_NAME_INFOA;
-typedef struct  _REMOTE_NAME_INFOW {
-    LPWSTR   lpUniversalName;
-    LPWSTR   lpConnectionName;
-    LPWSTR   lpRemainingPath;
-}REMOTE_NAME_INFOW, *LPREMOTE_NAME_INFOW;
-
-typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO;
-typedef LPREMOTE_NAME_INFOW LPREMOTE_NAME_INFO;
-
-
-
-
-
-DWORD __stdcall
-WNetGetUniversalNameA(
-      LPCSTR lpLocalPath,
-      DWORD    dwInfoLevel,
-      LPVOID   lpBuffer,
-       LPDWORD  lpBufferSize
-     );
-DWORD __stdcall
-WNetGetUniversalNameW(
-      LPCWSTR lpLocalPath,
-      DWORD    dwInfoLevel,
-      LPVOID   lpBuffer,
-       LPDWORD  lpBufferSize
-     );
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetGetUserA(
-      LPCSTR  lpName,
-      LPSTR   lpUserName,
-       LPDWORD   lpnLength
-    );
-DWORD __stdcall
-WNetGetUserW(
-      LPCWSTR  lpName,
-      LPWSTR   lpUserName,
-       LPDWORD   lpnLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetGetProviderNameA(
-     DWORD   dwNetType,
-     LPSTR lpProviderName,
-      LPDWORD lpBufferSize
-    );
-DWORD __stdcall
-WNetGetProviderNameW(
-     DWORD   dwNetType,
-     LPWSTR lpProviderName,
-      LPDWORD lpBufferSize
-    );
-
-
-
-
-
-
-typedef struct _NETINFOSTRUCT{
-    DWORD cbStructure;
-    DWORD dwProviderVersion;
-    DWORD dwStatus;
-    DWORD dwCharacteristics;
-    ULONG_PTR dwHandle;
-    WORD  wNetType;
-    DWORD dwPrinters;
-    DWORD dwDrives;
-} NETINFOSTRUCT,  *LPNETINFOSTRUCT;
-
-
-
-
-
-DWORD __stdcall
-WNetGetNetworkInformationA(
-     LPCSTR          lpProvider,
-     LPNETINFOSTRUCT   lpNetInfoStruct
-    );
-DWORD __stdcall
-WNetGetNetworkInformationW(
-     LPCWSTR          lpProvider,
-     LPNETINFOSTRUCT   lpNetInfoStruct
-    );
-
-
-
-
-
-
-
-
-
-
-typedef UINT ( __stdcall *PFNGETPROFILEPATHA) (
-    LPCSTR    pszUsername,
-    LPSTR     pszBuffer,
-    UINT        cbBuffer
-    );
-typedef UINT ( __stdcall *PFNGETPROFILEPATHW) (
-    LPCWSTR    pszUsername,
-    LPWSTR     pszBuffer,
-    UINT        cbBuffer
-    );
-
-
-
-
-
-
-typedef UINT ( __stdcall *PFNRECONCILEPROFILEA) (
-    LPCSTR    pszCentralFile,
-    LPCSTR    pszLocalFile,
-    DWORD       dwFlags
-    );
-typedef UINT ( __stdcall *PFNRECONCILEPROFILEW) (
-    LPCWSTR    pszCentralFile,
-    LPCWSTR    pszLocalFile,
-    DWORD       dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL ( __stdcall *PFNPROCESSPOLICIESA) (
-    HWND        hwnd,
-    LPCSTR    pszPath,
-    LPCSTR    pszUsername,
-    LPCSTR    pszComputerName,
-    DWORD       dwFlags
-    );
-typedef BOOL ( __stdcall *PFNPROCESSPOLICIESW) (
-    HWND        hwnd,
-    LPCWSTR    pszPath,
-    LPCWSTR    pszUsername,
-    LPCWSTR    pszComputerName,
-    DWORD       dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall
-WNetGetLastErrorA(
-      LPDWORD    lpError,
-      LPSTR    lpErrorBuf,
-      DWORD      nErrorBufSize,
-      LPSTR    lpNameBuf,
-      DWORD      nNameBufSize
-    );
-DWORD __stdcall
-WNetGetLastErrorW(
-      LPDWORD    lpError,
-      LPWSTR    lpErrorBuf,
-      DWORD      nErrorBufSize,
-      LPWSTR    lpNameBuf,
-      DWORD      nNameBufSize
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _NETCONNECTINFOSTRUCT{
-    DWORD cbStructure;
-    DWORD dwFlags;
-    DWORD dwSpeed;
-    DWORD dwDelay;
-    DWORD dwOptDataSize;
-} NETCONNECTINFOSTRUCT,  *LPNETCONNECTINFOSTRUCT;
-
-
-
-
-
-
-DWORD __stdcall
-MultinetGetConnectionPerformanceA(
-         LPNETRESOURCEA lpNetResource,
-         LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct
-        );
-DWORD __stdcall
-MultinetGetConnectionPerformanceW(
-         LPNETRESOURCEW lpNetResource,
-         LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct
-        );
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-        unsigned short bAppReturnCode:8,
-                 reserved:6,
-                 fBusy:1,
-		 fAck:1;
-
-
-
-} DDEACK;
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-        unsigned short reserved:14,
-                 fDeferUpd:1,
-		 fAckReq:1;
-
-
-
-	short     cfFormat;
-} DDEADVISE;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-	unsigned short unused:12,
-                 fResponse:1,
-                 fRelease:1,
-                 reserved:1,
-                 fAckReq:1;
-
-
-
-	short	 cfFormat;
-	BYTE	 Value[1];
-} DDEDATA;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-	unsigned short unused:13,  
-                             
-		 fRelease:1,
-		 fReserved:2;
-
-
-
-	short    cfFormat;
-	BYTE	 Value[1];  
-                            
-
-} DDEPOKE;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-        unsigned short unused:13,
-                 fRelease:1,
-                 fDeferUpd:1,
-		 fAckReq:1;
-
-
-
-	short	 cfFormat;
-} DDELN;
-
-typedef struct {
-
-	unsigned short unused:12,
-                 fAck:1,
-                 fRelease:1,
-                 fReserved:1,
-                 fAckReq:1;
-
-
-
-	short	 cfFormat;
-	BYTE	 rgb[1];
-} DDEUP;
-
-
-
-
-
-
-BOOL
-__stdcall
-DdeSetQualityOfService(
-    HWND hwndClient,
-    const SECURITY_QUALITY_OF_SERVICE *pqosNew,
-    PSECURITY_QUALITY_OF_SERVICE pqosPrev);
-
-BOOL
-__stdcall
-ImpersonateDdeClientWindow(
-    HWND hWndClient,
-    HWND hWndServer);
-
-
-
-
-LPARAM __stdcall PackDDElParam(UINT msg, UINT_PTR uiLo, UINT_PTR uiHi);
-BOOL   __stdcall UnpackDDElParam(UINT msg, LPARAM lParam, PUINT_PTR puiLo, PUINT_PTR puiHi);
-BOOL   __stdcall FreeDDElParam(UINT msg, LPARAM lParam);
-LPARAM __stdcall ReuseDDElParam(LPARAM lParam, UINT msgIn, UINT msgOut, UINT_PTR uiLo, UINT_PTR uiHi);
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-struct HCONVLIST__ { int unused; }; typedef struct HCONVLIST__ *HCONVLIST;
-struct HCONV__ { int unused; }; typedef struct HCONV__ *HCONV;
-struct HSZ__ { int unused; }; typedef struct HSZ__ *HSZ;
-struct HDDEDATA__ { int unused; }; typedef struct HDDEDATA__ *HDDEDATA;
-
-
-
-
-typedef struct tagHSZPAIR {
-    HSZ hszSvc;
-    HSZ hszTopic;
-} HSZPAIR;
-typedef HSZPAIR  *PHSZPAIR;
-
-
-
-
-typedef struct tagCONVCONTEXT {
-    UINT        cb;             
-    UINT        wFlags;         
-    UINT        wCountryID;     
-    int         iCodePage;      
-    DWORD       dwLangID;       
-    DWORD       dwSecurity;     
-    SECURITY_QUALITY_OF_SERVICE qos;  
-} CONVCONTEXT;
-typedef CONVCONTEXT  *PCONVCONTEXT;
-
-
-
-
-typedef struct tagCONVINFO {
-    DWORD   cb;            
-    DWORD_PTR hUser;       
-    HCONV   hConvPartner;  
-    HSZ     hszSvcPartner; 
-    HSZ     hszServiceReq; 
-    HSZ     hszTopic;      
-    HSZ     hszItem;       
-    UINT    wFmt;          
-    UINT    wType;         
-    UINT    wStatus;       
-    UINT    wConvst;       
-    UINT    wLastError;    
-    HCONVLIST hConvList;   
-    CONVCONTEXT ConvCtxt;  
-    HWND    hwnd;          
-    HWND    hwndPartner;   
-} CONVINFO;
-typedef CONVINFO  *PCONVINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef HDDEDATA __stdcall FNCALLBACK(UINT wType, UINT wFmt, HCONV hConv,
-        HSZ hsz1, HSZ hsz2, HDDEDATA hData, ULONG_PTR dwData1, ULONG_PTR dwData2);
-typedef HDDEDATA (__stdcall *PFNCALLBACK)(UINT wType, UINT wFmt, HCONV hConv,
-        HSZ hsz1, HSZ hsz2, HDDEDATA hData, ULONG_PTR dwData1, ULONG_PTR dwData2);
-
-
-
-
-
-UINT __stdcall DdeInitializeA(   LPDWORD pidInst,  PFNCALLBACK pfnCallback,
-         DWORD afCmd,  DWORD ulRes);
-UINT __stdcall DdeInitializeW(   LPDWORD pidInst,  PFNCALLBACK pfnCallback,
-         DWORD afCmd,  DWORD ulRes);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-BOOL __stdcall DdeUninitialize(  DWORD idInst);
-
-
-
-
-
-HCONVLIST __stdcall DdeConnectList(  DWORD idInst,  HSZ hszService,  HSZ hszTopic,
-         HCONVLIST hConvList,  PCONVCONTEXT pCC);
-HCONV __stdcall DdeQueryNextServer(  HCONVLIST hConvList,  HCONV hConvPrev);
-BOOL __stdcall DdeDisconnectList(  HCONVLIST hConvList);
-
-
-
-
-
-HCONV __stdcall DdeConnect(  DWORD idInst,  HSZ hszService,  HSZ hszTopic,
-         PCONVCONTEXT pCC);
-BOOL __stdcall DdeDisconnect(   HCONV hConv);
-HCONV __stdcall DdeReconnect(  HCONV hConv);
-UINT __stdcall DdeQueryConvInfo(  HCONV hConv,  DWORD idTransaction,   PCONVINFO pConvInfo);
-BOOL __stdcall DdeSetUserHandle(  HCONV hConv,  DWORD id,  DWORD_PTR hUser);
-BOOL __stdcall DdeAbandonTransaction(  DWORD idInst,  HCONV hConv,  DWORD idTransaction);
-
-
-
-
-
-
-BOOL __stdcall DdePostAdvise(  DWORD idInst,  HSZ hszTopic,  HSZ hszItem);
-BOOL __stdcall DdeEnableCallback(  DWORD idInst,  HCONV hConv,  UINT wCmd);
-BOOL __stdcall DdeImpersonateClient(  HCONV hConv);
-
-
-
-
-
-
-HDDEDATA __stdcall DdeNameService(  DWORD idInst,  HSZ hsz1,  HSZ hsz2,  UINT afCmd);
-
-
-
-
-
-
-
-
-
-
-HDDEDATA __stdcall DdeClientTransaction(  LPBYTE pData,  DWORD cbData,
-         HCONV hConv,  HSZ hszItem,  UINT wFmt,  UINT wType,
-         DWORD dwTimeout,  LPDWORD pdwResult);
-
-
-
-
-
-HDDEDATA __stdcall DdeCreateDataHandle(  DWORD idInst,  LPBYTE pSrc,  DWORD cb,
-         DWORD cbOff,  HSZ hszItem,  UINT wFmt,  UINT afCmd);
-HDDEDATA __stdcall DdeAddData(  HDDEDATA hData,  LPBYTE pSrc,  DWORD cb,  DWORD cbOff);
-DWORD __stdcall DdeGetData(  HDDEDATA hData,  LPBYTE pDst,  DWORD cbMax,  DWORD cbOff);
-LPBYTE __stdcall DdeAccessData(  HDDEDATA hData,  LPDWORD pcbDataSize);
-BOOL __stdcall DdeUnaccessData(  HDDEDATA hData);
-BOOL __stdcall DdeFreeDataHandle(   HDDEDATA hData);
-
-
-
-
-UINT __stdcall DdeGetLastError(  DWORD idInst);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HSZ  __stdcall DdeCreateStringHandleA(  DWORD idInst,  LPCSTR psz,  int iCodePage);
-HSZ  __stdcall DdeCreateStringHandleW(  DWORD idInst,  LPCWSTR psz,  int iCodePage);
-
-
-
-
-
-DWORD __stdcall DdeQueryStringA(  DWORD idInst,  HSZ hsz,   LPSTR psz,  DWORD cchMax,  int iCodePage);
-DWORD __stdcall DdeQueryStringW(  DWORD idInst,  HSZ hsz,   LPWSTR psz,  DWORD cchMax,  int iCodePage);
-
-
-
-
-
-BOOL __stdcall DdeFreeStringHandle(  DWORD idInst,   HSZ hsz);
-BOOL __stdcall DdeKeepStringHandle(  DWORD idInst,   HSZ hsz);
-int __stdcall DdeCmpStringHandles(  HSZ hsz1,  HSZ hsz2);
-
-
-
-
-
-
-
-typedef struct tagDDEML_MSG_HOOK_DATA {    
-    UINT_PTR uiLo;  
-    UINT_PTR uiHi;
-    DWORD cbData;   
-    DWORD Data[8];  
-} DDEML_MSG_HOOK_DATA, *PDDEML_MSG_HOOK_DATA;
-
-
-typedef struct tagMONMSGSTRUCT {
-    UINT    cb;
-    HWND    hwndTo;
-    DWORD   dwTime;
-    HANDLE  hTask;
-    UINT    wMsg;
-    WPARAM  wParam;
-    LPARAM  lParam;
-    DDEML_MSG_HOOK_DATA dmhd;       
-} MONMSGSTRUCT, *PMONMSGSTRUCT;
-
-typedef struct tagMONCBSTRUCT {
-    UINT   cb;
-    DWORD  dwTime;
-    HANDLE hTask;
-    DWORD  dwRet;
-    UINT   wType;
-    UINT   wFmt;
-    HCONV  hConv;
-    HSZ    hsz1;
-    HSZ    hsz2;
-    HDDEDATA hData;
-    ULONG_PTR dwData1;
-    ULONG_PTR dwData2;
-    CONVCONTEXT cc;                 
-    DWORD  cbData;                  
-    DWORD  Data[8];                 
-} MONCBSTRUCT, *PMONCBSTRUCT;
-
-typedef struct tagMONHSZSTRUCTA {
-    UINT   cb;
-    BOOL   fsAction;    
-    DWORD  dwTime;
-    HSZ    hsz;
-    HANDLE hTask;
-    CHAR    str[1];
-} MONHSZSTRUCTA, *PMONHSZSTRUCTA;
-typedef struct tagMONHSZSTRUCTW {
-    UINT   cb;
-    BOOL   fsAction;    
-    DWORD  dwTime;
-    HSZ    hsz;
-    HANDLE hTask;
-    WCHAR   str[1];
-} MONHSZSTRUCTW, *PMONHSZSTRUCTW;
-
-typedef MONHSZSTRUCTW MONHSZSTRUCT;
-typedef PMONHSZSTRUCTW PMONHSZSTRUCT;
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMONERRSTRUCT {
-    UINT    cb;
-    UINT    wLastError;
-    DWORD   dwTime;
-    HANDLE  hTask;
-} MONERRSTRUCT, *PMONERRSTRUCT;
-
-typedef struct tagMONLINKSTRUCT {
-    UINT    cb;
-    DWORD   dwTime;
-    HANDLE  hTask;
-    BOOL    fEstablished;
-    BOOL    fNoData;
-    HSZ     hszSvc;
-    HSZ     hszTopic;
-    HSZ     hszItem;
-    UINT    wFmt;
-    BOOL    fServer;
-    HCONV   hConvServer;
-    HCONV   hConvClient;
-} MONLINKSTRUCT, *PMONLINKSTRUCT;
-
-typedef struct tagMONCONVSTRUCT {
-    UINT    cb;
-    BOOL    fConnect;
-    DWORD   dwTime;
-    HANDLE  hTask;
-    HSZ     hszSvc;
-    HSZ     hszTopic;
-    HCONV   hConvClient;        
-    HCONV   hConvServer;        
-} MONCONVSTRUCT, *PMONCONVSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagCRGB
-{
-    BYTE    bRed;
-    BYTE    bGreen;
-    BYTE    bBlue;
-    BYTE    bExtra;
-} CRGB;           
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-INT
-__stdcall
-LZStart(
-	void
-	);
-
-void
-__stdcall
-LZDone(
-	void
-	);
-
-LONG
-__stdcall
-CopyLZFile(
-	INT,
-	INT
-	);
-
-LONG
-__stdcall
-LZCopy(
-	INT,
-	INT
-	);
-
-INT
-__stdcall
-LZInit(
-	INT
-	);
-
-INT
-__stdcall
-GetExpandedNameA(
-	LPSTR,
-	LPSTR
-	);
-INT
-__stdcall
-GetExpandedNameW(
-	LPWSTR,
-	LPWSTR
-	);
-
-
-
-
-
-
-INT
-__stdcall
-LZOpenFileA(
-	LPSTR,
-	LPOFSTRUCT,
-	WORD
-	);
-INT
-__stdcall
-LZOpenFileW(
-	LPWSTR,
-	LPOFSTRUCT,
-	WORD
-	);
-
-
-
-
-
-
-LONG
-__stdcall
-LZSeek(
-	INT,
-	LONG,
-	INT
-	);
-
-INT
-__stdcall
-LZRead(
-	INT,
-	LPSTR,
-	INT
-	);
-
-void
-__stdcall
-LZClose(
-	INT
-	);
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {            
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT        MMVERSION;  
-
-
-
-typedef UINT        MMRESULT;   
-                                
-
-
-typedef UINT    *LPUINT;
-
-
-
-
-typedef struct mmtime_tag
-{
-    UINT            wType;      
-    union
-    {
-        DWORD       ms;         
-        DWORD       sample;     
-        DWORD       cb;         
-        DWORD       ticks;      
-
-        
-        struct
-        {
-            BYTE    hour;       
-            BYTE    min;        
-            BYTE    sec;        
-            BYTE    frame;      
-            BYTE    fps;        
-            BYTE    dummy;      
-
-            BYTE    pad[2];
-
-        } smpte;
-
-        
-        struct
-        {
-            DWORD songptrpos;   
-        } midi;
-    } u;
-} MMTIME, *PMMTIME,  *NPMMTIME,  *LPMMTIME;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
- 
- 
- 
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                   
-                                                   
-
-
-
-
-
-
-
-
-
-
-
-
-struct HDRVR__ { int unused; }; typedef struct HDRVR__ *HDRVR;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct DRVCONFIGINFOEX {
-    DWORD   dwDCISize;
-    LPCWSTR  lpszDCISectionName;
-    LPCWSTR  lpszDCIAliasName;
-    DWORD    dnDevNode;
-} DRVCONFIGINFOEX, *PDRVCONFIGINFOEX,  *NPDRVCONFIGINFOEX,  *LPDRVCONFIGINFOEX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagDRVCONFIGINFO {
-    DWORD   dwDCISize;
-    LPCWSTR  lpszDCISectionName;
-    LPCWSTR  lpszDCIAliasName;
-} DRVCONFIGINFO, *PDRVCONFIGINFO,  *NPDRVCONFIGINFO,  *LPDRVCONFIGINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef LRESULT (__stdcall* DRIVERPROC)(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM);
-
-__declspec(dllimport) LRESULT   __stdcall CloseDriver(  HDRVR hDriver,  LPARAM lParam1,  LPARAM lParam2);
-__declspec(dllimport) HDRVR     __stdcall OpenDriver(  LPCWSTR szDriverName,  LPCWSTR szSectionName,  LPARAM lParam2);
-__declspec(dllimport) LRESULT   __stdcall SendDriverMessage(  HDRVR hDriver,  UINT message,  LPARAM lParam1,  LPARAM lParam2);
-__declspec(dllimport) HMODULE   __stdcall DrvGetModuleHandle(  HDRVR hDriver);
-__declspec(dllimport) HMODULE   __stdcall GetDriverModuleHandle(  HDRVR hDriver);
-__declspec(dllimport) LRESULT   __stdcall DefDriverProc(  DWORD_PTR dwDriverIdentifier,  HDRVR hdrvr,  UINT uMsg,  LPARAM lParam1,  LPARAM lParam2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);
-
-typedef DRVCALLBACK  *LPDRVCALLBACK;
-
-typedef DRVCALLBACK     *PDRVCALLBACK;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall sndPlaySoundA(  LPCSTR pszSound,  UINT fuSound);
-__declspec(dllimport) BOOL __stdcall sndPlaySoundW(  LPCWSTR pszSound,  UINT fuSound);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall PlaySoundA(  LPCSTR pszSound,  HMODULE hmod,  DWORD fdwSound);
-__declspec(dllimport) BOOL __stdcall PlaySoundW(  LPCWSTR pszSound,  HMODULE hmod,  DWORD fdwSound);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct HWAVE__ { int unused; }; typedef struct HWAVE__ *HWAVE;
-struct HWAVEIN__ { int unused; }; typedef struct HWAVEIN__ *HWAVEIN;
-struct HWAVEOUT__ { int unused; }; typedef struct HWAVEOUT__ *HWAVEOUT;
-typedef HWAVEIN  *LPHWAVEIN;
-typedef HWAVEOUT  *LPHWAVEOUT;
-typedef DRVCALLBACK WAVECALLBACK;
-typedef WAVECALLBACK  *LPWAVECALLBACK;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct wavehdr_tag {
-    LPSTR       lpData;                 
-    DWORD       dwBufferLength;         
-    DWORD       dwBytesRecorded;        
-    DWORD_PTR   dwUser;                 
-    DWORD       dwFlags;                
-    DWORD       dwLoops;                
-    struct wavehdr_tag  *lpNext;     
-    DWORD_PTR   reserved;               
-} WAVEHDR, *PWAVEHDR,  *NPWAVEHDR,  *LPWAVEHDR;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagWAVEOUTCAPSA {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    CHAR    szPname[32];  
-    DWORD   dwFormats;             
-    WORD    wChannels;             
-    WORD    wReserved1;            
-    DWORD   dwSupport;             
-} WAVEOUTCAPSA, *PWAVEOUTCAPSA, *NPWAVEOUTCAPSA, *LPWAVEOUTCAPSA;
-typedef struct tagWAVEOUTCAPSW {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    WCHAR   szPname[32];  
-    DWORD   dwFormats;             
-    WORD    wChannels;             
-    WORD    wReserved1;            
-    DWORD   dwSupport;             
-} WAVEOUTCAPSW, *PWAVEOUTCAPSW, *NPWAVEOUTCAPSW, *LPWAVEOUTCAPSW;
-
-typedef WAVEOUTCAPSW WAVEOUTCAPS;
-typedef PWAVEOUTCAPSW PWAVEOUTCAPS;
-typedef NPWAVEOUTCAPSW NPWAVEOUTCAPS;
-typedef LPWAVEOUTCAPSW LPWAVEOUTCAPS;
-
-
-
-
-
-
-typedef struct tagWAVEOUTCAPS2A {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    CHAR    szPname[32];  
-    DWORD   dwFormats;             
-    WORD    wChannels;             
-    WORD    wReserved1;            
-    DWORD   dwSupport;             
-    GUID    ManufacturerGuid;      
-    GUID    ProductGuid;           
-    GUID    NameGuid;              
-} WAVEOUTCAPS2A, *PWAVEOUTCAPS2A, *NPWAVEOUTCAPS2A, *LPWAVEOUTCAPS2A;
-typedef struct tagWAVEOUTCAPS2W {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    WCHAR   szPname[32];  
-    DWORD   dwFormats;             
-    WORD    wChannels;             
-    WORD    wReserved1;            
-    DWORD   dwSupport;             
-    GUID    ManufacturerGuid;      
-    GUID    ProductGuid;           
-    GUID    NameGuid;              
-} WAVEOUTCAPS2W, *PWAVEOUTCAPS2W, *NPWAVEOUTCAPS2W, *LPWAVEOUTCAPS2W;
-
-typedef WAVEOUTCAPS2W WAVEOUTCAPS2;
-typedef PWAVEOUTCAPS2W PWAVEOUTCAPS2;
-typedef NPWAVEOUTCAPS2W NPWAVEOUTCAPS2;
-typedef LPWAVEOUTCAPS2W LPWAVEOUTCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagWAVEINCAPSA {
-    WORD    wMid;                    
-    WORD    wPid;                    
-    MMVERSION vDriverVersion;        
-    CHAR    szPname[32];    
-    DWORD   dwFormats;               
-    WORD    wChannels;               
-    WORD    wReserved1;              
-} WAVEINCAPSA, *PWAVEINCAPSA, *NPWAVEINCAPSA, *LPWAVEINCAPSA;
-typedef struct tagWAVEINCAPSW {
-    WORD    wMid;                    
-    WORD    wPid;                    
-    MMVERSION vDriverVersion;        
-    WCHAR   szPname[32];    
-    DWORD   dwFormats;               
-    WORD    wChannels;               
-    WORD    wReserved1;              
-} WAVEINCAPSW, *PWAVEINCAPSW, *NPWAVEINCAPSW, *LPWAVEINCAPSW;
-
-typedef WAVEINCAPSW WAVEINCAPS;
-typedef PWAVEINCAPSW PWAVEINCAPS;
-typedef NPWAVEINCAPSW NPWAVEINCAPS;
-typedef LPWAVEINCAPSW LPWAVEINCAPS;
-
-
-
-
-
-
-typedef struct tagWAVEINCAPS2A {
-    WORD    wMid;                    
-    WORD    wPid;                    
-    MMVERSION vDriverVersion;        
-    CHAR    szPname[32];    
-    DWORD   dwFormats;               
-    WORD    wChannels;               
-    WORD    wReserved1;              
-    GUID    ManufacturerGuid;        
-    GUID    ProductGuid;             
-    GUID    NameGuid;                
-} WAVEINCAPS2A, *PWAVEINCAPS2A, *NPWAVEINCAPS2A, *LPWAVEINCAPS2A;
-typedef struct tagWAVEINCAPS2W {
-    WORD    wMid;                    
-    WORD    wPid;                    
-    MMVERSION vDriverVersion;        
-    WCHAR   szPname[32];    
-    DWORD   dwFormats;               
-    WORD    wChannels;               
-    WORD    wReserved1;              
-    GUID    ManufacturerGuid;        
-    GUID    ProductGuid;             
-    GUID    NameGuid;                
-} WAVEINCAPS2W, *PWAVEINCAPS2W, *NPWAVEINCAPS2W, *LPWAVEINCAPS2W;
-
-typedef WAVEINCAPS2W WAVEINCAPS2;
-typedef PWAVEINCAPS2W PWAVEINCAPS2;
-typedef NPWAVEINCAPS2W NPWAVEINCAPS2;
-typedef LPWAVEINCAPS2W LPWAVEINCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct waveformat_tag {
-    WORD    wFormatTag;        
-    WORD    nChannels;         
-    DWORD   nSamplesPerSec;    
-    DWORD   nAvgBytesPerSec;   
-    WORD    nBlockAlign;       
-} WAVEFORMAT, *PWAVEFORMAT,  *NPWAVEFORMAT,  *LPWAVEFORMAT;
-
-
-
-
-
-
-typedef struct pcmwaveformat_tag {
-    WAVEFORMAT  wf;
-    WORD        wBitsPerSample;
-} PCMWAVEFORMAT, *PPCMWAVEFORMAT,  *NPPCMWAVEFORMAT,  *LPPCMWAVEFORMAT;
-
-
-
-
-
-
-
-
-
-typedef struct tWAVEFORMATEX
-{
-    WORD        wFormatTag;         
-    WORD        nChannels;          
-    DWORD       nSamplesPerSec;     
-    DWORD       nAvgBytesPerSec;    
-    WORD        nBlockAlign;        
-    WORD        wBitsPerSample;     
-    WORD        cbSize;             
-                                    
-} WAVEFORMATEX, *PWAVEFORMATEX,  *NPWAVEFORMATEX,  *LPWAVEFORMATEX;
-
-
-typedef const WAVEFORMATEX  *LPCWAVEFORMATEX;
-
-
-__declspec(dllimport) UINT __stdcall waveOutGetNumDevs(void);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveOutGetDevCapsA(  UINT_PTR uDeviceID,  LPWAVEOUTCAPSA pwoc,  UINT cbwoc);
-__declspec(dllimport) MMRESULT __stdcall waveOutGetDevCapsW(  UINT_PTR uDeviceID,  LPWAVEOUTCAPSW pwoc,  UINT cbwoc);
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveOutGetVolume(  HWAVEOUT hwo,  LPDWORD pdwVolume);
-__declspec(dllimport) MMRESULT __stdcall waveOutSetVolume(  HWAVEOUT hwo,  DWORD dwVolume);
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveOutGetErrorTextA(  MMRESULT mmrError,  LPSTR pszText,  UINT cchText);
-__declspec(dllimport) MMRESULT __stdcall waveOutGetErrorTextW(  MMRESULT mmrError,  LPWSTR pszText,  UINT cchText);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveOutOpen(  LPHWAVEOUT phwo,  UINT uDeviceID,
-     LPCWAVEFORMATEX pwfx,  DWORD_PTR dwCallback,  DWORD_PTR dwInstance,  DWORD fdwOpen);
-
-__declspec(dllimport) MMRESULT __stdcall waveOutClose(   HWAVEOUT hwo);
-__declspec(dllimport) MMRESULT __stdcall waveOutPrepareHeader(  HWAVEOUT hwo,   LPWAVEHDR pwh,  UINT cbwh);
-__declspec(dllimport) MMRESULT __stdcall waveOutUnprepareHeader(  HWAVEOUT hwo,   LPWAVEHDR pwh,  UINT cbwh);
-__declspec(dllimport) MMRESULT __stdcall waveOutWrite(  HWAVEOUT hwo,   LPWAVEHDR pwh,  UINT cbwh);
-__declspec(dllimport) MMRESULT __stdcall waveOutPause(  HWAVEOUT hwo);
-__declspec(dllimport) MMRESULT __stdcall waveOutRestart(  HWAVEOUT hwo);
-__declspec(dllimport) MMRESULT __stdcall waveOutReset(  HWAVEOUT hwo);
-__declspec(dllimport) MMRESULT __stdcall waveOutBreakLoop(  HWAVEOUT hwo);
-__declspec(dllimport) MMRESULT __stdcall waveOutGetPosition(  HWAVEOUT hwo,   LPMMTIME pmmt,  UINT cbmmt);
-__declspec(dllimport) MMRESULT __stdcall waveOutGetPitch(  HWAVEOUT hwo,  LPDWORD pdwPitch);
-__declspec(dllimport) MMRESULT __stdcall waveOutSetPitch(  HWAVEOUT hwo,  DWORD dwPitch);
-__declspec(dllimport) MMRESULT __stdcall waveOutGetPlaybackRate(  HWAVEOUT hwo,  LPDWORD pdwRate);
-__declspec(dllimport) MMRESULT __stdcall waveOutSetPlaybackRate(  HWAVEOUT hwo,  DWORD dwRate);
-__declspec(dllimport) MMRESULT __stdcall waveOutGetID(  HWAVEOUT hwo,  LPUINT puDeviceID);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveOutMessage(  HWAVEOUT hwo,  UINT uMsg,  DWORD_PTR dw1,  DWORD_PTR dw2);
-
-
-
-
-
-__declspec(dllimport) UINT __stdcall waveInGetNumDevs(void);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveInGetDevCapsA(  UINT_PTR uDeviceID,  LPWAVEINCAPSA pwic,  UINT cbwic);
-__declspec(dllimport) MMRESULT __stdcall waveInGetDevCapsW(  UINT_PTR uDeviceID,  LPWAVEINCAPSW pwic,  UINT cbwic);
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveInGetErrorTextA( MMRESULT mmrError,  LPSTR pszText,  UINT cchText);
-__declspec(dllimport) MMRESULT __stdcall waveInGetErrorTextW( MMRESULT mmrError,  LPWSTR pszText,  UINT cchText);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveInOpen(  LPHWAVEIN phwi,  UINT uDeviceID,
-     LPCWAVEFORMATEX pwfx,  DWORD_PTR dwCallback,  DWORD_PTR dwInstance,  DWORD fdwOpen);
-
-__declspec(dllimport) MMRESULT __stdcall waveInClose(   HWAVEIN hwi);
-__declspec(dllimport) MMRESULT __stdcall waveInPrepareHeader(  HWAVEIN hwi,   LPWAVEHDR pwh,  UINT cbwh);
-__declspec(dllimport) MMRESULT __stdcall waveInUnprepareHeader(  HWAVEIN hwi,   LPWAVEHDR pwh, UINT cbwh);
-__declspec(dllimport) MMRESULT __stdcall waveInAddBuffer(  HWAVEIN hwi,   LPWAVEHDR pwh,  UINT cbwh);
-__declspec(dllimport) MMRESULT __stdcall waveInStart(  HWAVEIN hwi);
-__declspec(dllimport) MMRESULT __stdcall waveInStop(  HWAVEIN hwi);
-__declspec(dllimport) MMRESULT __stdcall waveInReset(  HWAVEIN hwi);
-__declspec(dllimport) MMRESULT __stdcall waveInGetPosition(  HWAVEIN hwi,   LPMMTIME pmmt,  UINT cbmmt);
-__declspec(dllimport) MMRESULT __stdcall waveInGetID(  HWAVEIN hwi,  LPUINT puDeviceID);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall waveInMessage(  HWAVEIN hwi,  UINT uMsg,  DWORD_PTR dw1,  DWORD_PTR dw2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct HMIDI__ { int unused; }; typedef struct HMIDI__ *HMIDI;
-struct HMIDIIN__ { int unused; }; typedef struct HMIDIIN__ *HMIDIIN;
-struct HMIDIOUT__ { int unused; }; typedef struct HMIDIOUT__ *HMIDIOUT;
-struct HMIDISTRM__ { int unused; }; typedef struct HMIDISTRM__ *HMIDISTRM;
-typedef HMIDI  *LPHMIDI;
-typedef HMIDIIN  *LPHMIDIIN;
-typedef HMIDIOUT  *LPHMIDIOUT;
-typedef HMIDISTRM  *LPHMIDISTRM;
-typedef DRVCALLBACK MIDICALLBACK;
-typedef MIDICALLBACK  *LPMIDICALLBACK;
-
-typedef WORD PATCHARRAY[128];
-typedef WORD  *LPPATCHARRAY;
-typedef WORD KEYARRAY[128];
-typedef WORD  *LPKEYARRAY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMIDIOUTCAPSA {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    CHAR    szPname[32];  
-    WORD    wTechnology;           
-    WORD    wVoices;               
-    WORD    wNotes;                
-    WORD    wChannelMask;          
-    DWORD   dwSupport;             
-} MIDIOUTCAPSA, *PMIDIOUTCAPSA, *NPMIDIOUTCAPSA, *LPMIDIOUTCAPSA;
-typedef struct tagMIDIOUTCAPSW {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    WCHAR   szPname[32];  
-    WORD    wTechnology;           
-    WORD    wVoices;               
-    WORD    wNotes;                
-    WORD    wChannelMask;          
-    DWORD   dwSupport;             
-} MIDIOUTCAPSW, *PMIDIOUTCAPSW, *NPMIDIOUTCAPSW, *LPMIDIOUTCAPSW;
-
-typedef MIDIOUTCAPSW MIDIOUTCAPS;
-typedef PMIDIOUTCAPSW PMIDIOUTCAPS;
-typedef NPMIDIOUTCAPSW NPMIDIOUTCAPS;
-typedef LPMIDIOUTCAPSW LPMIDIOUTCAPS;
-
-
-
-
-
-
-typedef struct tagMIDIOUTCAPS2A {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    CHAR    szPname[32];  
-    WORD    wTechnology;           
-    WORD    wVoices;               
-    WORD    wNotes;                
-    WORD    wChannelMask;          
-    DWORD   dwSupport;             
-    GUID    ManufacturerGuid;      
-    GUID    ProductGuid;           
-    GUID    NameGuid;              
-} MIDIOUTCAPS2A, *PMIDIOUTCAPS2A, *NPMIDIOUTCAPS2A, *LPMIDIOUTCAPS2A;
-typedef struct tagMIDIOUTCAPS2W {
-    WORD    wMid;                  
-    WORD    wPid;                  
-    MMVERSION vDriverVersion;      
-    WCHAR   szPname[32];  
-    WORD    wTechnology;           
-    WORD    wVoices;               
-    WORD    wNotes;                
-    WORD    wChannelMask;          
-    DWORD   dwSupport;             
-    GUID    ManufacturerGuid;      
-    GUID    ProductGuid;           
-    GUID    NameGuid;              
-} MIDIOUTCAPS2W, *PMIDIOUTCAPS2W, *NPMIDIOUTCAPS2W, *LPMIDIOUTCAPS2W;
-
-typedef MIDIOUTCAPS2W MIDIOUTCAPS2;
-typedef PMIDIOUTCAPS2W PMIDIOUTCAPS2;
-typedef NPMIDIOUTCAPS2W NPMIDIOUTCAPS2;
-typedef LPMIDIOUTCAPS2W LPMIDIOUTCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMIDIINCAPSA {
-    WORD        wMid;                   
-    WORD        wPid;                   
-    MMVERSION   vDriverVersion;         
-    CHAR        szPname[32];   
-
-    DWORD   dwSupport;             
-
-} MIDIINCAPSA, *PMIDIINCAPSA, *NPMIDIINCAPSA, *LPMIDIINCAPSA;
-typedef struct tagMIDIINCAPSW {
-    WORD        wMid;                   
-    WORD        wPid;                   
-    MMVERSION   vDriverVersion;         
-    WCHAR       szPname[32];   
-
-    DWORD   dwSupport;             
-
-} MIDIINCAPSW, *PMIDIINCAPSW, *NPMIDIINCAPSW, *LPMIDIINCAPSW;
-
-typedef MIDIINCAPSW MIDIINCAPS;
-typedef PMIDIINCAPSW PMIDIINCAPS;
-typedef NPMIDIINCAPSW NPMIDIINCAPS;
-typedef LPMIDIINCAPSW LPMIDIINCAPS;
-
-
-
-
-
-
-typedef struct tagMIDIINCAPS2A {
-    WORD        wMid;                   
-    WORD        wPid;                   
-    MMVERSION   vDriverVersion;         
-    CHAR        szPname[32];   
-
-    DWORD       dwSupport;              
-
-    GUID        ManufacturerGuid;       
-    GUID        ProductGuid;            
-    GUID        NameGuid;               
-} MIDIINCAPS2A, *PMIDIINCAPS2A, *NPMIDIINCAPS2A, *LPMIDIINCAPS2A;
-typedef struct tagMIDIINCAPS2W {
-    WORD        wMid;                   
-    WORD        wPid;                   
-    MMVERSION   vDriverVersion;         
-    WCHAR       szPname[32];   
-
-    DWORD       dwSupport;              
-
-    GUID        ManufacturerGuid;       
-    GUID        ProductGuid;            
-    GUID        NameGuid;               
-} MIDIINCAPS2W, *PMIDIINCAPS2W, *NPMIDIINCAPS2W, *LPMIDIINCAPS2W;
-
-typedef MIDIINCAPS2W MIDIINCAPS2;
-typedef PMIDIINCAPS2W PMIDIINCAPS2;
-typedef NPMIDIINCAPS2W NPMIDIINCAPS2;
-typedef LPMIDIINCAPS2W LPMIDIINCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct midihdr_tag {
-    LPSTR       lpData;               
-    DWORD       dwBufferLength;       
-    DWORD       dwBytesRecorded;      
-    DWORD_PTR   dwUser;               
-    DWORD       dwFlags;              
-    struct midihdr_tag  *lpNext;   
-    DWORD_PTR   reserved;             
-
-    DWORD       dwOffset;             
-    DWORD_PTR   dwReserved[8];        
-
-} MIDIHDR, *PMIDIHDR,  *NPMIDIHDR,  *LPMIDIHDR;
-
-
-
-typedef struct midievent_tag
-{
-    DWORD       dwDeltaTime;          
-    DWORD       dwStreamID;           
-    DWORD       dwEvent;              
-    DWORD       dwParms[1];           
-} MIDIEVENT;
-
-typedef struct midistrmbuffver_tag
-{
-    DWORD       dwVersion;                  
-    DWORD       dwMid;                      
-    DWORD       dwOEMVersion;               
-} MIDISTRMBUFFVER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct midiproptimediv_tag
-{
-    DWORD       cbStruct;
-    DWORD       dwTimeDiv;
-} MIDIPROPTIMEDIV,  *LPMIDIPROPTIMEDIV;
-
-typedef struct midiproptempo_tag
-{
-    DWORD       cbStruct;
-    DWORD       dwTempo;
-} MIDIPROPTEMPO,  *LPMIDIPROPTEMPO;
-
-
-
-
-__declspec(dllimport) UINT __stdcall midiOutGetNumDevs(void);
-
-__declspec(dllimport) MMRESULT __stdcall midiStreamOpen(  LPHMIDISTRM phms,  LPUINT puDeviceID,  DWORD cMidi,  DWORD_PTR dwCallback,  DWORD_PTR dwInstance,  DWORD fdwOpen);
-__declspec(dllimport) MMRESULT __stdcall midiStreamClose(  HMIDISTRM hms);
-
-__declspec(dllimport) MMRESULT __stdcall midiStreamProperty(  HMIDISTRM hms,  LPBYTE lppropdata,  DWORD dwProperty);
-__declspec(dllimport) MMRESULT __stdcall midiStreamPosition(  HMIDISTRM hms,  LPMMTIME lpmmt,  UINT cbmmt);
-
-__declspec(dllimport) MMRESULT __stdcall midiStreamOut(  HMIDISTRM hms,  LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiStreamPause(  HMIDISTRM hms);
-__declspec(dllimport) MMRESULT __stdcall midiStreamRestart(  HMIDISTRM hms);
-__declspec(dllimport) MMRESULT __stdcall midiStreamStop(  HMIDISTRM hms);
-
-
-__declspec(dllimport) MMRESULT __stdcall midiConnect(  HMIDI hmi,  HMIDIOUT hmo,  LPVOID pReserved);
-__declspec(dllimport) MMRESULT __stdcall midiDisconnect(  HMIDI hmi,  HMIDIOUT hmo,  LPVOID pReserved);
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiOutGetDevCapsA(  UINT_PTR uDeviceID,  LPMIDIOUTCAPSA pmoc,  UINT cbmoc);
-__declspec(dllimport) MMRESULT __stdcall midiOutGetDevCapsW(  UINT_PTR uDeviceID,  LPMIDIOUTCAPSW pmoc,  UINT cbmoc);
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiOutGetVolume(  HMIDIOUT hmo,  LPDWORD pdwVolume);
-__declspec(dllimport) MMRESULT __stdcall midiOutSetVolume(  HMIDIOUT hmo,  DWORD dwVolume);
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiOutGetErrorTextA(  MMRESULT mmrError,  LPSTR pszText,  UINT cchText);
-__declspec(dllimport) MMRESULT __stdcall midiOutGetErrorTextW(  MMRESULT mmrError,  LPWSTR pszText,  UINT cchText);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiOutOpen(  LPHMIDIOUT phmo,  UINT uDeviceID,
-     DWORD_PTR dwCallback,  DWORD_PTR dwInstance,  DWORD fdwOpen);
-__declspec(dllimport) MMRESULT __stdcall midiOutClose(   HMIDIOUT hmo);
-__declspec(dllimport) MMRESULT __stdcall midiOutPrepareHeader(  HMIDIOUT hmo,   LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiOutUnprepareHeader( HMIDIOUT hmo,   LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiOutShortMsg(  HMIDIOUT hmo,  DWORD dwMsg);
-__declspec(dllimport) MMRESULT __stdcall midiOutLongMsg( HMIDIOUT hmo,  LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiOutReset(  HMIDIOUT hmo);
-__declspec(dllimport) MMRESULT __stdcall midiOutCachePatches(  HMIDIOUT hmo,  UINT uBank,  LPWORD pwpa,  UINT fuCache);
-__declspec(dllimport) MMRESULT __stdcall midiOutCacheDrumPatches(  HMIDIOUT hmo,  UINT uPatch,  LPWORD pwkya,  UINT fuCache);
-__declspec(dllimport) MMRESULT __stdcall midiOutGetID(  HMIDIOUT hmo,  LPUINT puDeviceID);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiOutMessage(  HMIDIOUT hmo,  UINT uMsg,  DWORD_PTR dw1,  DWORD_PTR dw2);
-
-
-
-
-
-__declspec(dllimport) UINT __stdcall midiInGetNumDevs(void);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiInGetDevCapsA(  UINT_PTR uDeviceID,  LPMIDIINCAPSA pmic,  UINT cbmic);
-__declspec(dllimport) MMRESULT __stdcall midiInGetDevCapsW(  UINT_PTR uDeviceID,  LPMIDIINCAPSW pmic,  UINT cbmic);
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiInGetErrorTextA(  MMRESULT mmrError,  LPSTR pszText,  UINT cchText);
-__declspec(dllimport) MMRESULT __stdcall midiInGetErrorTextW(  MMRESULT mmrError,  LPWSTR pszText,  UINT cchText);
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiInOpen(  LPHMIDIIN phmi,  UINT uDeviceID,
-         DWORD_PTR dwCallback,  DWORD_PTR dwInstance,  DWORD fdwOpen);
-__declspec(dllimport) MMRESULT __stdcall midiInClose(   HMIDIIN hmi);
-__declspec(dllimport) MMRESULT __stdcall midiInPrepareHeader(  HMIDIIN hmi,   LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiInUnprepareHeader(  HMIDIIN hmi,   LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiInAddBuffer(  HMIDIIN hmi,  LPMIDIHDR pmh,  UINT cbmh);
-__declspec(dllimport) MMRESULT __stdcall midiInStart(  HMIDIIN hmi);
-__declspec(dllimport) MMRESULT __stdcall midiInStop(  HMIDIIN hmi);
-__declspec(dllimport) MMRESULT __stdcall midiInReset(  HMIDIIN hmi);
-__declspec(dllimport) MMRESULT __stdcall midiInGetID(  HMIDIIN hmi,  LPUINT puDeviceID);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall midiInMessage(  HMIDIIN hmi,  UINT uMsg,  DWORD_PTR dw1,  DWORD_PTR dw2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagAUXCAPSA {
-    WORD        wMid;                
-    WORD        wPid;                
-    MMVERSION   vDriverVersion;      
-    CHAR        szPname[32];
-    WORD        wTechnology;         
-    WORD        wReserved1;          
-    DWORD       dwSupport;           
-} AUXCAPSA, *PAUXCAPSA, *NPAUXCAPSA, *LPAUXCAPSA;
-typedef struct tagAUXCAPSW {
-    WORD        wMid;                
-    WORD        wPid;                
-    MMVERSION   vDriverVersion;      
-    WCHAR       szPname[32];
-    WORD        wTechnology;         
-    WORD        wReserved1;          
-    DWORD       dwSupport;           
-} AUXCAPSW, *PAUXCAPSW, *NPAUXCAPSW, *LPAUXCAPSW;
-
-typedef AUXCAPSW AUXCAPS;
-typedef PAUXCAPSW PAUXCAPS;
-typedef NPAUXCAPSW NPAUXCAPS;
-typedef LPAUXCAPSW LPAUXCAPS;
-
-
-
-
-
-
-typedef struct tagAUXCAPS2A {
-    WORD        wMid;                
-    WORD        wPid;                
-    MMVERSION   vDriverVersion;      
-    CHAR        szPname[32];
-    WORD        wTechnology;         
-    WORD        wReserved1;          
-    DWORD       dwSupport;           
-    GUID        ManufacturerGuid;    
-    GUID        ProductGuid;         
-    GUID        NameGuid;            
-} AUXCAPS2A, *PAUXCAPS2A, *NPAUXCAPS2A, *LPAUXCAPS2A;
-typedef struct tagAUXCAPS2W {
-    WORD        wMid;                
-    WORD        wPid;                
-    MMVERSION   vDriverVersion;      
-    WCHAR       szPname[32];
-    WORD        wTechnology;         
-    WORD        wReserved1;          
-    DWORD       dwSupport;           
-    GUID        ManufacturerGuid;    
-    GUID        ProductGuid;         
-    GUID        NameGuid;            
-} AUXCAPS2W, *PAUXCAPS2W, *NPAUXCAPS2W, *LPAUXCAPS2W;
-
-typedef AUXCAPS2W AUXCAPS2;
-typedef PAUXCAPS2W PAUXCAPS2;
-typedef NPAUXCAPS2W NPAUXCAPS2;
-typedef LPAUXCAPS2W LPAUXCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) UINT __stdcall auxGetNumDevs(void);
-
-
-__declspec(dllimport) MMRESULT __stdcall auxGetDevCapsA(  UINT_PTR uDeviceID,  LPAUXCAPSA pac,  UINT cbac);
-__declspec(dllimport) MMRESULT __stdcall auxGetDevCapsW(  UINT_PTR uDeviceID,  LPAUXCAPSW pac,  UINT cbac);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall auxSetVolume(  UINT uDeviceID,  DWORD dwVolume);
-__declspec(dllimport) MMRESULT __stdcall auxGetVolume(  UINT uDeviceID,  LPDWORD pdwVolume);
-
-
-
-__declspec(dllimport) MMRESULT __stdcall auxOutMessage(  UINT uDeviceID,  UINT uMsg,  DWORD_PTR dw1,  DWORD_PTR dw2);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct HMIXEROBJ__ { int unused; }; typedef struct HMIXEROBJ__ *HMIXEROBJ;
-typedef HMIXEROBJ  *LPHMIXEROBJ;
-
-struct HMIXER__ { int unused; }; typedef struct HMIXER__ *HMIXER;
-typedef HMIXER      *LPHMIXER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) UINT __stdcall mixerGetNumDevs(void);
-
-
-
-typedef struct tagMIXERCAPSA {
-    WORD            wMid;                   
-    WORD            wPid;                   
-    MMVERSION       vDriverVersion;         
-    CHAR            szPname[32];   
-    DWORD           fdwSupport;             
-    DWORD           cDestinations;          
-} MIXERCAPSA, *PMIXERCAPSA, *LPMIXERCAPSA;
-typedef struct tagMIXERCAPSW {
-    WORD            wMid;                   
-    WORD            wPid;                   
-    MMVERSION       vDriverVersion;         
-    WCHAR           szPname[32];   
-    DWORD           fdwSupport;             
-    DWORD           cDestinations;          
-} MIXERCAPSW, *PMIXERCAPSW, *LPMIXERCAPSW;
-
-typedef MIXERCAPSW MIXERCAPS;
-typedef PMIXERCAPSW PMIXERCAPS;
-typedef LPMIXERCAPSW LPMIXERCAPS;
-
-
-
-
-
-typedef struct tagMIXERCAPS2A {
-    WORD            wMid;                   
-    WORD            wPid;                   
-    MMVERSION       vDriverVersion;         
-    CHAR            szPname[32];   
-    DWORD           fdwSupport;             
-    DWORD           cDestinations;          
-    GUID            ManufacturerGuid;       
-    GUID            ProductGuid;            
-    GUID            NameGuid;               
-} MIXERCAPS2A, *PMIXERCAPS2A, *LPMIXERCAPS2A;
-typedef struct tagMIXERCAPS2W {
-    WORD            wMid;                   
-    WORD            wPid;                   
-    MMVERSION       vDriverVersion;         
-    WCHAR           szPname[32];   
-    DWORD           fdwSupport;             
-    DWORD           cDestinations;          
-    GUID            ManufacturerGuid;       
-    GUID            ProductGuid;            
-    GUID            NameGuid;               
-} MIXERCAPS2W, *PMIXERCAPS2W, *LPMIXERCAPS2W;
-
-typedef MIXERCAPS2W MIXERCAPS2;
-typedef PMIXERCAPS2W PMIXERCAPS2;
-typedef LPMIXERCAPS2W LPMIXERCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerGetDevCapsA(  UINT_PTR uMxId,  LPMIXERCAPSA pmxcaps,  UINT cbmxcaps);
-__declspec(dllimport) MMRESULT __stdcall mixerGetDevCapsW(  UINT_PTR uMxId,  LPMIXERCAPSW pmxcaps,  UINT cbmxcaps);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerOpen(  LPHMIXER phmx,  UINT uMxId,  DWORD_PTR dwCallback,  DWORD_PTR dwInstance,  DWORD fdwOpen);
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerClose(   HMIXER hmx);
-
-__declspec(dllimport) DWORD __stdcall mixerMessage(  HMIXER hmx,  UINT uMsg,  DWORD_PTR dwParam1,  DWORD_PTR dwParam2);
-
-
-
-typedef struct tagMIXERLINEA {
-    DWORD       cbStruct;               
-    DWORD       dwDestination;          
-    DWORD       dwSource;               
-    DWORD       dwLineID;               
-    DWORD       fdwLine;                
-    DWORD_PTR   dwUser;                 
-    DWORD       dwComponentType;        
-    DWORD       cChannels;              
-    DWORD       cConnections;           
-    DWORD       cControls;              
-    CHAR        szShortName[16];
-    CHAR        szName[64];
-    struct {
-        DWORD       dwType;                 
-        DWORD       dwDeviceID;             
-        WORD        wMid;                   
-        WORD        wPid;                   
-        MMVERSION   vDriverVersion;         
-        CHAR        szPname[32];   
-    } Target;
-} MIXERLINEA, *PMIXERLINEA, *LPMIXERLINEA;
-typedef struct tagMIXERLINEW {
-    DWORD       cbStruct;               
-    DWORD       dwDestination;          
-    DWORD       dwSource;               
-    DWORD       dwLineID;               
-    DWORD       fdwLine;                
-    DWORD_PTR   dwUser;                 
-    DWORD       dwComponentType;        
-    DWORD       cChannels;              
-    DWORD       cConnections;           
-    DWORD       cControls;              
-    WCHAR       szShortName[16];
-    WCHAR       szName[64];
-    struct {
-        DWORD       dwType;                 
-        DWORD       dwDeviceID;             
-        WORD        wMid;                   
-        WORD        wPid;                   
-        MMVERSION   vDriverVersion;         
-        WCHAR       szPname[32];   
-    } Target;
-} MIXERLINEW, *PMIXERLINEW, *LPMIXERLINEW;
-
-typedef MIXERLINEW MIXERLINE;
-typedef PMIXERLINEW PMIXERLINE;
-typedef LPMIXERLINEW LPMIXERLINE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerGetLineInfoA(  HMIXEROBJ hmxobj,  LPMIXERLINEA pmxl,  DWORD fdwInfo);
-__declspec(dllimport) MMRESULT __stdcall mixerGetLineInfoW(  HMIXEROBJ hmxobj,  LPMIXERLINEW pmxl,  DWORD fdwInfo);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerGetID(  HMIXEROBJ hmxobj,  UINT  *puMxId,  DWORD fdwId);
-
-
-
-
-
-
-
-
-typedef struct tagMIXERCONTROLA {
-    DWORD           cbStruct;           
-    DWORD           dwControlID;        
-    DWORD           dwControlType;      
-    DWORD           fdwControl;         
-    DWORD           cMultipleItems;     
-    CHAR            szShortName[16];
-    CHAR            szName[64];
-    union {
-        struct {
-            LONG    lMinimum;           
-            LONG    lMaximum;           
-        };
-        struct {
-            DWORD   dwMinimum;          
-            DWORD   dwMaximum;          
-        };
-        DWORD       dwReserved[6];
-    } Bounds;
-    union {
-        DWORD       cSteps;             
-        DWORD       cbCustomData;       
-        DWORD       dwReserved[6];      
-    } Metrics;
-} MIXERCONTROLA, *PMIXERCONTROLA, *LPMIXERCONTROLA;
-typedef struct tagMIXERCONTROLW {
-    DWORD           cbStruct;           
-    DWORD           dwControlID;        
-    DWORD           dwControlType;      
-    DWORD           fdwControl;         
-    DWORD           cMultipleItems;     
-    WCHAR           szShortName[16];
-    WCHAR           szName[64];
-    union {
-        struct {
-            LONG    lMinimum;           
-            LONG    lMaximum;           
-        };
-        struct {
-            DWORD   dwMinimum;          
-            DWORD   dwMaximum;          
-        };
-        DWORD       dwReserved[6];
-    } Bounds;
-    union {
-        DWORD       cSteps;             
-        DWORD       cbCustomData;       
-        DWORD       dwReserved[6];      
-    } Metrics;
-} MIXERCONTROLW, *PMIXERCONTROLW, *LPMIXERCONTROLW;
-
-typedef MIXERCONTROLW MIXERCONTROL;
-typedef PMIXERCONTROLW PMIXERCONTROL;
-typedef LPMIXERCONTROLW LPMIXERCONTROL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMIXERLINECONTROLSA {
-    DWORD           cbStruct;       
-    DWORD           dwLineID;       
-    union {
-        DWORD       dwControlID;    
-        DWORD       dwControlType;  
-    };
-    DWORD           cControls;      
-    DWORD           cbmxctrl;       
-    LPMIXERCONTROLA pamxctrl;       
-} MIXERLINECONTROLSA, *PMIXERLINECONTROLSA, *LPMIXERLINECONTROLSA;
-typedef struct tagMIXERLINECONTROLSW {
-    DWORD           cbStruct;       
-    DWORD           dwLineID;       
-    union {
-        DWORD       dwControlID;    
-        DWORD       dwControlType;  
-    };
-    DWORD           cControls;      
-    DWORD           cbmxctrl;       
-    LPMIXERCONTROLW pamxctrl;       
-} MIXERLINECONTROLSW, *PMIXERLINECONTROLSW, *LPMIXERLINECONTROLSW;
-
-typedef MIXERLINECONTROLSW MIXERLINECONTROLS;
-typedef PMIXERLINECONTROLSW PMIXERLINECONTROLS;
-typedef LPMIXERLINECONTROLSW LPMIXERLINECONTROLS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerGetLineControlsA(  HMIXEROBJ hmxobj,   LPMIXERLINECONTROLSA pmxlc,  DWORD fdwControls);
-__declspec(dllimport) MMRESULT __stdcall mixerGetLineControlsW(  HMIXEROBJ hmxobj,   LPMIXERLINECONTROLSW pmxlc,  DWORD fdwControls);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tMIXERCONTROLDETAILS {
-    DWORD           cbStruct;       
-    DWORD           dwControlID;    
-    DWORD           cChannels;      
-    union {
-        HWND        hwndOwner;      
-        DWORD       cMultipleItems; 
-    };
-    DWORD           cbDetails;      
-    LPVOID          paDetails;      
-} MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS,  *LPMIXERCONTROLDETAILS;
-
-
-
-
-
-
-
-
-typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
-    DWORD           dwParam1;
-    DWORD           dwParam2;
-    CHAR            szName[64];
-} MIXERCONTROLDETAILS_LISTTEXTA, *PMIXERCONTROLDETAILS_LISTTEXTA, *LPMIXERCONTROLDETAILS_LISTTEXTA;
-typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
-    DWORD           dwParam1;
-    DWORD           dwParam2;
-    WCHAR           szName[64];
-} MIXERCONTROLDETAILS_LISTTEXTW, *PMIXERCONTROLDETAILS_LISTTEXTW, *LPMIXERCONTROLDETAILS_LISTTEXTW;
-
-typedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT;
-typedef PMIXERCONTROLDETAILS_LISTTEXTW PMIXERCONTROLDETAILS_LISTTEXT;
-typedef LPMIXERCONTROLDETAILS_LISTTEXTW LPMIXERCONTROLDETAILS_LISTTEXT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
-    LONG            fValue;
-}       MIXERCONTROLDETAILS_BOOLEAN,
-      *PMIXERCONTROLDETAILS_BOOLEAN,
-  *LPMIXERCONTROLDETAILS_BOOLEAN;
-
-typedef struct tMIXERCONTROLDETAILS_SIGNED {
-    LONG            lValue;
-}       MIXERCONTROLDETAILS_SIGNED,
-      *PMIXERCONTROLDETAILS_SIGNED,
-  *LPMIXERCONTROLDETAILS_SIGNED;
-
-
-typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
-    DWORD           dwValue;
-}       MIXERCONTROLDETAILS_UNSIGNED,
-      *PMIXERCONTROLDETAILS_UNSIGNED,
-  *LPMIXERCONTROLDETAILS_UNSIGNED;
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerGetControlDetailsA(  HMIXEROBJ hmxobj,   LPMIXERCONTROLDETAILS pmxcd,  DWORD fdwDetails);
-__declspec(dllimport) MMRESULT __stdcall mixerGetControlDetailsW(  HMIXEROBJ hmxobj,   LPMIXERCONTROLDETAILS pmxcd,  DWORD fdwDetails);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mixerSetControlDetails(  HMIXEROBJ hmxobj,  LPMIXERCONTROLDETAILS pmxcd,  DWORD fdwDetails);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);
-
-typedef TIMECALLBACK  *LPTIMECALLBACK;
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-                                        
-
-
-
-
-
-typedef struct timecaps_tag {
-    UINT    wPeriodMin;     
-    UINT    wPeriodMax;     
-} TIMECAPS, *PTIMECAPS,  *NPTIMECAPS,  *LPTIMECAPS;
-
-
-__declspec(dllimport) MMRESULT __stdcall timeGetSystemTime(  LPMMTIME pmmt,  UINT cbmmt);
-__declspec(dllimport) DWORD __stdcall timeGetTime(void);
-__declspec(dllimport) MMRESULT __stdcall timeSetEvent(  UINT uDelay,  UINT uResolution,
-     LPTIMECALLBACK fptc,  DWORD_PTR dwUser,  UINT fuEvent);
-__declspec(dllimport) MMRESULT __stdcall timeKillEvent(  UINT uTimerID);
-__declspec(dllimport) MMRESULT __stdcall timeGetDevCaps(  LPTIMECAPS ptc,  UINT cbtc);
-__declspec(dllimport) MMRESULT __stdcall timeBeginPeriod(  UINT uPeriod);
-__declspec(dllimport) MMRESULT __stdcall timeEndPeriod(  UINT uPeriod);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagJOYCAPSA {
-    WORD    wMid;                
-    WORD    wPid;                
-    CHAR    szPname[32];
-    UINT    wXmin;               
-    UINT    wXmax;               
-    UINT    wYmin;               
-    UINT    wYmax;               
-    UINT    wZmin;               
-    UINT    wZmax;               
-    UINT    wNumButtons;         
-    UINT    wPeriodMin;          
-    UINT    wPeriodMax;          
-
-    UINT    wRmin;               
-    UINT    wRmax;               
-    UINT    wUmin;               
-    UINT    wUmax;               
-    UINT    wVmin;               
-    UINT    wVmax;               
-    UINT    wCaps;               
-    UINT    wMaxAxes;            
-    UINT    wNumAxes;            
-    UINT    wMaxButtons;         
-    CHAR    szRegKey[32];
-    CHAR    szOEMVxD[260]; 
-
-} JOYCAPSA, *PJOYCAPSA, *NPJOYCAPSA, *LPJOYCAPSA;
-typedef struct tagJOYCAPSW {
-    WORD    wMid;                
-    WORD    wPid;                
-    WCHAR   szPname[32];
-    UINT    wXmin;               
-    UINT    wXmax;               
-    UINT    wYmin;               
-    UINT    wYmax;               
-    UINT    wZmin;               
-    UINT    wZmax;               
-    UINT    wNumButtons;         
-    UINT    wPeriodMin;          
-    UINT    wPeriodMax;          
-
-    UINT    wRmin;               
-    UINT    wRmax;               
-    UINT    wUmin;               
-    UINT    wUmax;               
-    UINT    wVmin;               
-    UINT    wVmax;               
-    UINT    wCaps;               
-    UINT    wMaxAxes;            
-    UINT    wNumAxes;            
-    UINT    wMaxButtons;         
-    WCHAR   szRegKey[32];
-    WCHAR   szOEMVxD[260]; 
-
-} JOYCAPSW, *PJOYCAPSW, *NPJOYCAPSW, *LPJOYCAPSW;
-
-typedef JOYCAPSW JOYCAPS;
-typedef PJOYCAPSW PJOYCAPS;
-typedef NPJOYCAPSW NPJOYCAPS;
-typedef LPJOYCAPSW LPJOYCAPS;
-
-
-
-
-
-
-typedef struct tagJOYCAPS2A {
-    WORD    wMid;                
-    WORD    wPid;                
-    CHAR    szPname[32];
-    UINT    wXmin;               
-    UINT    wXmax;               
-    UINT    wYmin;               
-    UINT    wYmax;               
-    UINT    wZmin;               
-    UINT    wZmax;               
-    UINT    wNumButtons;         
-    UINT    wPeriodMin;          
-    UINT    wPeriodMax;          
-    UINT    wRmin;               
-    UINT    wRmax;               
-    UINT    wUmin;               
-    UINT    wUmax;               
-    UINT    wVmin;               
-    UINT    wVmax;               
-    UINT    wCaps;               
-    UINT    wMaxAxes;            
-    UINT    wNumAxes;            
-    UINT    wMaxButtons;         
-    CHAR    szRegKey[32];
-    CHAR    szOEMVxD[260]; 
-    GUID    ManufacturerGuid;    
-    GUID    ProductGuid;         
-    GUID    NameGuid;            
-} JOYCAPS2A, *PJOYCAPS2A, *NPJOYCAPS2A, *LPJOYCAPS2A;
-typedef struct tagJOYCAPS2W {
-    WORD    wMid;                
-    WORD    wPid;                
-    WCHAR   szPname[32];
-    UINT    wXmin;               
-    UINT    wXmax;               
-    UINT    wYmin;               
-    UINT    wYmax;               
-    UINT    wZmin;               
-    UINT    wZmax;               
-    UINT    wNumButtons;         
-    UINT    wPeriodMin;          
-    UINT    wPeriodMax;          
-    UINT    wRmin;               
-    UINT    wRmax;               
-    UINT    wUmin;               
-    UINT    wUmax;               
-    UINT    wVmin;               
-    UINT    wVmax;               
-    UINT    wCaps;               
-    UINT    wMaxAxes;            
-    UINT    wNumAxes;            
-    UINT    wMaxButtons;         
-    WCHAR   szRegKey[32];
-    WCHAR   szOEMVxD[260]; 
-    GUID    ManufacturerGuid;    
-    GUID    ProductGuid;         
-    GUID    NameGuid;            
-} JOYCAPS2W, *PJOYCAPS2W, *NPJOYCAPS2W, *LPJOYCAPS2W;
-
-typedef JOYCAPS2W JOYCAPS2;
-typedef PJOYCAPS2W PJOYCAPS2;
-typedef NPJOYCAPS2W NPJOYCAPS2;
-typedef LPJOYCAPS2W LPJOYCAPS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct joyinfo_tag {
-    UINT wXpos;                 
-    UINT wYpos;                 
-    UINT wZpos;                 
-    UINT wButtons;              
-} JOYINFO, *PJOYINFO,  *NPJOYINFO,  *LPJOYINFO;
-
-
-typedef struct joyinfoex_tag {
-    DWORD dwSize;                
-    DWORD dwFlags;               
-    DWORD dwXpos;                
-    DWORD dwYpos;                
-    DWORD dwZpos;                
-    DWORD dwRpos;                
-    DWORD dwUpos;                
-    DWORD dwVpos;                
-    DWORD dwButtons;             
-    DWORD dwButtonNumber;        
-    DWORD dwPOV;                 
-    DWORD dwReserved1;           
-    DWORD dwReserved2;           
-} JOYINFOEX, *PJOYINFOEX,  *NPJOYINFOEX,  *LPJOYINFOEX;
-
-
-
-__declspec(dllimport) UINT __stdcall joyGetNumDevs(void);
-
-
-__declspec(dllimport) MMRESULT __stdcall joyGetDevCapsA(  UINT_PTR uJoyID,  LPJOYCAPSA pjc,  UINT cbjc);
-__declspec(dllimport) MMRESULT __stdcall joyGetDevCapsW(  UINT_PTR uJoyID,  LPJOYCAPSW pjc,  UINT cbjc);
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall joyGetPos(  UINT uJoyID,  LPJOYINFO pji);
-
-
-__declspec(dllimport) MMRESULT __stdcall joyGetPosEx(  UINT uJoyID,  LPJOYINFOEX pji);
-
-
-__declspec(dllimport) MMRESULT __stdcall joyGetThreshold(  UINT uJoyID,  LPUINT puThreshold);
-__declspec(dllimport) MMRESULT __stdcall joyReleaseCapture(  UINT uJoyID);
-__declspec(dllimport) MMRESULT __stdcall joySetCapture(  HWND hwnd,  UINT uJoyID,  UINT uPeriod,
-     BOOL fChanged);
-__declspec(dllimport) MMRESULT __stdcall joySetThreshold(  UINT uJoyID,  UINT uThreshold);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef DWORD           FOURCC;         
-typedef char  *    HPSTR;          
-struct HMMIO__ { int unused; }; typedef struct HMMIO__ *HMMIO;                  
-typedef LRESULT (__stdcall MMIOPROC)(LPSTR lpmmioinfo, UINT uMsg,
-            LPARAM lParam1, LPARAM lParam2);
-typedef MMIOPROC  *LPMMIOPROC;
-
-
-
-typedef struct _MMIOINFO
-{
-        
-        DWORD           dwFlags;        
-        FOURCC          fccIOProc;      
-        LPMMIOPROC      pIOProc;        
-        UINT            wErrorRet;      
-        HTASK           htask;          
-
-        
-        LONG            cchBuffer;      
-        HPSTR           pchBuffer;      
-        HPSTR           pchNext;        
-        HPSTR           pchEndRead;     
-        HPSTR           pchEndWrite;    
-        LONG            lBufOffset;     
-
-        
-        LONG            lDiskOffset;    
-        DWORD           adwInfo[3];     
-
-        
-        DWORD           dwReserved1;    
-        DWORD           dwReserved2;    
-        HMMIO           hmmio;          
-} MMIOINFO, *PMMIOINFO,  *NPMMIOINFO,  *LPMMIOINFO;
-typedef const MMIOINFO  *LPCMMIOINFO;
-
-
-typedef struct _MMCKINFO
-{
-        FOURCC          ckid;           
-        DWORD           cksize;         
-        FOURCC          fccType;        
-        DWORD           dwDataOffset;   
-        DWORD           dwFlags;        
-} MMCKINFO, *PMMCKINFO,  *NPMMCKINFO,  *LPMMCKINFO;
-typedef const MMCKINFO *LPCMMCKINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) FOURCC __stdcall mmioStringToFOURCCA(  LPCSTR sz,  UINT uFlags);
-__declspec(dllimport) FOURCC __stdcall mmioStringToFOURCCW(  LPCWSTR sz,  UINT uFlags);
-
-
-
-
-
-__declspec(dllimport) LPMMIOPROC __stdcall mmioInstallIOProcA(  FOURCC fccIOProc,  LPMMIOPROC pIOProc,  DWORD dwFlags);
-__declspec(dllimport) LPMMIOPROC __stdcall mmioInstallIOProcW(  FOURCC fccIOProc,  LPMMIOPROC pIOProc,  DWORD dwFlags);
-
-
-
-
-
-__declspec(dllimport) HMMIO __stdcall mmioOpenA(   LPSTR pszFileName,   LPMMIOINFO pmmioinfo,  DWORD fdwOpen);
-__declspec(dllimport) HMMIO __stdcall mmioOpenW(   LPWSTR pszFileName,   LPMMIOINFO pmmioinfo,  DWORD fdwOpen);
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mmioRenameA(  LPCSTR pszFileName,  LPCSTR pszNewFileName,  LPCMMIOINFO pmmioinfo,  DWORD fdwRename);
-__declspec(dllimport) MMRESULT __stdcall mmioRenameW(  LPCWSTR pszFileName,  LPCWSTR pszNewFileName,  LPCMMIOINFO pmmioinfo,  DWORD fdwRename);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) MMRESULT __stdcall mmioClose(  HMMIO hmmio,  UINT fuClose);
-__declspec(dllimport) LONG __stdcall mmioRead(  HMMIO hmmio,  HPSTR pch,  LONG cch);
-__declspec(dllimport) LONG __stdcall mmioWrite(  HMMIO hmmio,  const char * pch,  LONG cch);
-__declspec(dllimport) LONG __stdcall mmioSeek(  HMMIO hmmio,  LONG lOffset,  int iOrigin);
-__declspec(dllimport) MMRESULT __stdcall mmioGetInfo(  HMMIO hmmio,  LPMMIOINFO pmmioinfo,  UINT fuInfo);
-__declspec(dllimport) MMRESULT __stdcall mmioSetInfo(  HMMIO hmmio,  LPCMMIOINFO pmmioinfo,  UINT fuInfo);
-__declspec(dllimport) MMRESULT __stdcall mmioSetBuffer(  HMMIO hmmio,  LPSTR pchBuffer,  LONG cchBuffer,
-     UINT fuBuffer);
-__declspec(dllimport) MMRESULT __stdcall mmioFlush(  HMMIO hmmio,  UINT fuFlush);
-__declspec(dllimport) MMRESULT __stdcall mmioAdvance(  HMMIO hmmio,   LPMMIOINFO pmmioinfo,  UINT fuAdvance);
-__declspec(dllimport) LRESULT __stdcall mmioSendMessage(  HMMIO hmmio,  UINT uMsg,
-     LPARAM lParam1,  LPARAM lParam2);
-__declspec(dllimport) MMRESULT __stdcall mmioDescend(  HMMIO hmmio,   LPMMCKINFO pmmcki,
-     const MMCKINFO * pmmckiParent,  UINT fuDescend);
-__declspec(dllimport) MMRESULT __stdcall mmioAscend(  HMMIO hmmio,  LPMMCKINFO pmmcki,  UINT fuAscend);
-__declspec(dllimport) MMRESULT __stdcall mmioCreateChunk( HMMIO hmmio,  LPMMCKINFO pmmcki,  UINT fuCreate);
-
-
-
-
-
-
-
-
-
-
-
-
-typedef DWORD   MCIERROR;       
-
-
-
-
-typedef UINT    MCIDEVICEID;    
-
-
-
-typedef UINT (__stdcall *YIELDPROC)(MCIDEVICEID mciId, DWORD dwYieldData);
-
-
-
-
-__declspec(dllimport) MCIERROR __stdcall mciSendCommandA(  MCIDEVICEID mciId,  UINT uMsg,  DWORD_PTR dwParam1,  DWORD_PTR dwParam2);
-__declspec(dllimport) MCIERROR __stdcall mciSendCommandW(  MCIDEVICEID mciId,  UINT uMsg,  DWORD_PTR dwParam1,  DWORD_PTR dwParam2);
-
-
-
-
-
-__declspec(dllimport) MCIERROR  __stdcall mciSendStringA(  LPCSTR lpstrCommand,  LPSTR lpstrReturnString,  UINT uReturnLength,  HWND hwndCallback);
-__declspec(dllimport) MCIERROR  __stdcall mciSendStringW(  LPCWSTR lpstrCommand,  LPWSTR lpstrReturnString,  UINT uReturnLength,  HWND hwndCallback);
-
-
-
-
-
-__declspec(dllimport) MCIDEVICEID __stdcall mciGetDeviceIDA(  LPCSTR pszDevice);
-__declspec(dllimport) MCIDEVICEID __stdcall mciGetDeviceIDW(  LPCWSTR pszDevice);
-
-
-
-
-
-__declspec(dllimport) MCIDEVICEID __stdcall mciGetDeviceIDFromElementIDA(  DWORD dwElementID,  LPCSTR lpstrType );
-__declspec(dllimport) MCIDEVICEID __stdcall mciGetDeviceIDFromElementIDW(  DWORD dwElementID,  LPCWSTR lpstrType );
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall mciGetErrorStringA(  MCIERROR mcierr,  LPSTR pszText,  UINT cchText);
-__declspec(dllimport) BOOL __stdcall mciGetErrorStringW(  MCIERROR mcierr,  LPWSTR pszText,  UINT cchText);
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall mciSetYieldProc(  MCIDEVICEID mciId,  YIELDPROC fpYieldProc,
-     DWORD dwYieldData);
-
-
-__declspec(dllimport) HTASK __stdcall mciGetCreatorTask(  MCIDEVICEID mciId);
-__declspec(dllimport) YIELDPROC __stdcall mciGetYieldProc(  MCIDEVICEID mciId,  LPDWORD pdwYieldData);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_GENERIC_PARMS {
-    DWORD_PTR   dwCallback;
-} MCI_GENERIC_PARMS, *PMCI_GENERIC_PARMS,  *LPMCI_GENERIC_PARMS;
-
-
-
-
-
-typedef struct tagMCI_OPEN_PARMSA {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCSTR     lpstrDeviceType;
-    LPCSTR     lpstrElementName;
-    LPCSTR     lpstrAlias;
-} MCI_OPEN_PARMSA, *PMCI_OPEN_PARMSA, *LPMCI_OPEN_PARMSA;
-typedef struct tagMCI_OPEN_PARMSW {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCWSTR    lpstrDeviceType;
-    LPCWSTR    lpstrElementName;
-    LPCWSTR    lpstrAlias;
-} MCI_OPEN_PARMSW, *PMCI_OPEN_PARMSW, *LPMCI_OPEN_PARMSW;
-
-typedef MCI_OPEN_PARMSW MCI_OPEN_PARMS;
-typedef PMCI_OPEN_PARMSW PMCI_OPEN_PARMS;
-typedef LPMCI_OPEN_PARMSW LPMCI_OPEN_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_PLAY_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrom;
-    DWORD       dwTo;
-} MCI_PLAY_PARMS, *PMCI_PLAY_PARMS,  *LPMCI_PLAY_PARMS;
-
-
-
-typedef struct tagMCI_SEEK_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwTo;
-} MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,  *LPMCI_SEEK_PARMS;
-
-
-
-typedef struct tagMCI_STATUS_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD_PTR   dwReturn;
-    DWORD       dwItem;
-    DWORD       dwTrack;
-} MCI_STATUS_PARMS, *PMCI_STATUS_PARMS,  * LPMCI_STATUS_PARMS;
-
-
-
-
-
-typedef struct tagMCI_INFO_PARMSA {
-    DWORD_PTR dwCallback;
-    LPSTR     lpstrReturn;
-    DWORD     dwRetSize;
-} MCI_INFO_PARMSA, * LPMCI_INFO_PARMSA;
-typedef struct tagMCI_INFO_PARMSW {
-    DWORD_PTR dwCallback;
-    LPWSTR    lpstrReturn;
-    DWORD     dwRetSize;
-} MCI_INFO_PARMSW, * LPMCI_INFO_PARMSW;
-
-typedef MCI_INFO_PARMSW MCI_INFO_PARMS;
-typedef LPMCI_INFO_PARMSW LPMCI_INFO_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_GETDEVCAPS_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwReturn;
-    DWORD       dwItem;
-} MCI_GETDEVCAPS_PARMS, *PMCI_GETDEVCAPS_PARMS,  * LPMCI_GETDEVCAPS_PARMS;
-
-
-
-
-
-typedef struct tagMCI_SYSINFO_PARMSA {
-    DWORD_PTR   dwCallback;
-    LPSTR       lpstrReturn;
-    DWORD       dwRetSize;
-    DWORD       dwNumber;
-    UINT        wDeviceType;
-} MCI_SYSINFO_PARMSA, *PMCI_SYSINFO_PARMSA, * LPMCI_SYSINFO_PARMSA;
-typedef struct tagMCI_SYSINFO_PARMSW {
-    DWORD_PTR   dwCallback;
-    LPWSTR      lpstrReturn;
-    DWORD       dwRetSize;
-    DWORD       dwNumber;
-    UINT        wDeviceType;
-} MCI_SYSINFO_PARMSW, *PMCI_SYSINFO_PARMSW, * LPMCI_SYSINFO_PARMSW;
-
-typedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS;
-typedef PMCI_SYSINFO_PARMSW PMCI_SYSINFO_PARMS;
-typedef LPMCI_SYSINFO_PARMSW LPMCI_SYSINFO_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_SET_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwTimeFormat;
-    DWORD       dwAudio;
-} MCI_SET_PARMS, *PMCI_SET_PARMS,  *LPMCI_SET_PARMS;
-
-
-
-typedef struct tagMCI_BREAK_PARMS {
-    DWORD_PTR   dwCallback;
-
-    int         nVirtKey;
-    HWND        hwndBreak;
-
-
-
-
-
-
-} MCI_BREAK_PARMS, *PMCI_BREAK_PARMS,  * LPMCI_BREAK_PARMS;
-
-
-
-
-
-typedef struct tagMCI_SAVE_PARMSA {
-    DWORD_PTR    dwCallback;
-    LPCSTR       lpfilename;
-} MCI_SAVE_PARMSA, *PMCI_SAVE_PARMSA, * LPMCI_SAVE_PARMSA;
-typedef struct tagMCI_SAVE_PARMSW {
-    DWORD_PTR    dwCallback;
-    LPCWSTR      lpfilename;
-} MCI_SAVE_PARMSW, *PMCI_SAVE_PARMSW, * LPMCI_SAVE_PARMSW;
-
-typedef MCI_SAVE_PARMSW MCI_SAVE_PARMS;
-typedef PMCI_SAVE_PARMSW PMCI_SAVE_PARMS;
-typedef LPMCI_SAVE_PARMSW LPMCI_SAVE_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_LOAD_PARMSA {
-    DWORD_PTR    dwCallback;
-    LPCSTR       lpfilename;
-} MCI_LOAD_PARMSA, *PMCI_LOAD_PARMSA, * LPMCI_LOAD_PARMSA;
-typedef struct tagMCI_LOAD_PARMSW {
-    DWORD_PTR    dwCallback;
-    LPCWSTR      lpfilename;
-} MCI_LOAD_PARMSW, *PMCI_LOAD_PARMSW, * LPMCI_LOAD_PARMSW;
-
-typedef MCI_LOAD_PARMSW MCI_LOAD_PARMS;
-typedef PMCI_LOAD_PARMSW PMCI_LOAD_PARMS;
-typedef LPMCI_LOAD_PARMSW LPMCI_LOAD_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_RECORD_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrom;
-    DWORD       dwTo;
-} MCI_RECORD_PARMS,  *LPMCI_RECORD_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_VD_PLAY_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrom;
-    DWORD       dwTo;
-    DWORD       dwSpeed;
-} MCI_VD_PLAY_PARMS, *PMCI_VD_PLAY_PARMS,  *LPMCI_VD_PLAY_PARMS;
-
-
-
-typedef struct tagMCI_VD_STEP_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrames;
-} MCI_VD_STEP_PARMS, *PMCI_VD_STEP_PARMS,  *LPMCI_VD_STEP_PARMS;
-
-
-
-
-
-typedef struct tagMCI_VD_ESCAPE_PARMSA {
-    DWORD_PTR   dwCallback;
-    LPCSTR      lpstrCommand;
-} MCI_VD_ESCAPE_PARMSA, *PMCI_VD_ESCAPE_PARMSA, *LPMCI_VD_ESCAPE_PARMSA;
-typedef struct tagMCI_VD_ESCAPE_PARMSW {
-    DWORD_PTR   dwCallback;
-    LPCWSTR     lpstrCommand;
-} MCI_VD_ESCAPE_PARMSW, *PMCI_VD_ESCAPE_PARMSW, *LPMCI_VD_ESCAPE_PARMSW;
-
-typedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS;
-typedef PMCI_VD_ESCAPE_PARMSW PMCI_VD_ESCAPE_PARMS;
-typedef LPMCI_VD_ESCAPE_PARMSW LPMCI_VD_ESCAPE_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_WAVE_OPEN_PARMSA {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCSTR      lpstrDeviceType;
-    LPCSTR      lpstrElementName;
-    LPCSTR      lpstrAlias;
-    DWORD   dwBufferSeconds;
-} MCI_WAVE_OPEN_PARMSA, *PMCI_WAVE_OPEN_PARMSA, *LPMCI_WAVE_OPEN_PARMSA;
-typedef struct tagMCI_WAVE_OPEN_PARMSW {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCWSTR     lpstrDeviceType;
-    LPCWSTR     lpstrElementName;
-    LPCWSTR     lpstrAlias;
-    DWORD   dwBufferSeconds;
-} MCI_WAVE_OPEN_PARMSW, *PMCI_WAVE_OPEN_PARMSW, *LPMCI_WAVE_OPEN_PARMSW;
-
-typedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS;
-typedef PMCI_WAVE_OPEN_PARMSW PMCI_WAVE_OPEN_PARMS;
-typedef LPMCI_WAVE_OPEN_PARMSW LPMCI_WAVE_OPEN_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_WAVE_DELETE_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrom;
-    DWORD       dwTo;
-} MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,  *LPMCI_WAVE_DELETE_PARMS;
-
-
-
-typedef struct tagMCI_WAVE_SET_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwTimeFormat;
-    DWORD       dwAudio;
-
-    UINT    wInput;
-    UINT    wOutput;
-
-
-
-
-
-
-    WORD    wFormatTag;
-    WORD    wReserved2;
-    WORD    nChannels;
-    WORD    wReserved3;
-    DWORD   nSamplesPerSec;
-    DWORD   nAvgBytesPerSec;
-    WORD    nBlockAlign;
-    WORD    wReserved4;
-    WORD    wBitsPerSample;
-    WORD    wReserved5;
-} MCI_WAVE_SET_PARMS, *PMCI_WAVE_SET_PARMS,  * LPMCI_WAVE_SET_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_SEQ_SET_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwTimeFormat;
-    DWORD       dwAudio;
-    DWORD       dwTempo;
-    DWORD       dwPort;
-    DWORD       dwSlave;
-    DWORD       dwMaster;
-    DWORD       dwOffset;
-} MCI_SEQ_SET_PARMS, *PMCI_SEQ_SET_PARMS,  * LPMCI_SEQ_SET_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_ANIM_OPEN_PARMSA {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCSTR      lpstrDeviceType;
-    LPCSTR      lpstrElementName;
-    LPCSTR      lpstrAlias;
-    DWORD   dwStyle;
-    HWND    hWndParent;
-} MCI_ANIM_OPEN_PARMSA, *PMCI_ANIM_OPEN_PARMSA, *LPMCI_ANIM_OPEN_PARMSA;
-typedef struct tagMCI_ANIM_OPEN_PARMSW {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCWSTR     lpstrDeviceType;
-    LPCWSTR     lpstrElementName;
-    LPCWSTR     lpstrAlias;
-    DWORD   dwStyle;
-    HWND    hWndParent;
-} MCI_ANIM_OPEN_PARMSW, *PMCI_ANIM_OPEN_PARMSW, *LPMCI_ANIM_OPEN_PARMSW;
-
-typedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS;
-typedef PMCI_ANIM_OPEN_PARMSW PMCI_ANIM_OPEN_PARMS;
-typedef LPMCI_ANIM_OPEN_PARMSW LPMCI_ANIM_OPEN_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_ANIM_PLAY_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrom;
-    DWORD       dwTo;
-    DWORD       dwSpeed;
-} MCI_ANIM_PLAY_PARMS, *PMCI_ANIM_PLAY_PARMS,  *LPMCI_ANIM_PLAY_PARMS;
-
-
-
-typedef struct tagMCI_ANIM_STEP_PARMS {
-    DWORD_PTR   dwCallback;
-    DWORD       dwFrames;
-} MCI_ANIM_STEP_PARMS, *PMCI_ANIM_STEP_PARMS,  *LPMCI_ANIM_STEP_PARMS;
-
-
-
-
-
-typedef struct tagMCI_ANIM_WINDOW_PARMSA {
-    DWORD_PTR   dwCallback;
-    HWND        hWnd;
-    UINT        nCmdShow;
-    LPCSTR     lpstrText;
-} MCI_ANIM_WINDOW_PARMSA, *PMCI_ANIM_WINDOW_PARMSA, * LPMCI_ANIM_WINDOW_PARMSA;
-typedef struct tagMCI_ANIM_WINDOW_PARMSW {
-    DWORD_PTR   dwCallback;
-    HWND        hWnd;
-    UINT        nCmdShow;
-    LPCWSTR    lpstrText;
-} MCI_ANIM_WINDOW_PARMSW, *PMCI_ANIM_WINDOW_PARMSW, * LPMCI_ANIM_WINDOW_PARMSW;
-
-typedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS;
-typedef PMCI_ANIM_WINDOW_PARMSW PMCI_ANIM_WINDOW_PARMS;
-typedef LPMCI_ANIM_WINDOW_PARMSW LPMCI_ANIM_WINDOW_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_ANIM_RECT_PARMS {
-    DWORD_PTR   dwCallback;
-
-
-
-
-    RECT    rc;
-
-} MCI_ANIM_RECT_PARMS;
-typedef MCI_ANIM_RECT_PARMS * PMCI_ANIM_RECT_PARMS;
-typedef MCI_ANIM_RECT_PARMS  * LPMCI_ANIM_RECT_PARMS;
-
-
-
-typedef struct tagMCI_ANIM_UPDATE_PARMS {
-    DWORD_PTR   dwCallback;
-    RECT        rc;
-    HDC         hDC;
-} MCI_ANIM_UPDATE_PARMS, *PMCI_ANIM_UPDATE_PARMS,  * LPMCI_ANIM_UPDATE_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_OVLY_OPEN_PARMSA {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCSTR      lpstrDeviceType;
-    LPCSTR      lpstrElementName;
-    LPCSTR      lpstrAlias;
-    DWORD   dwStyle;
-    HWND    hWndParent;
-} MCI_OVLY_OPEN_PARMSA, *PMCI_OVLY_OPEN_PARMSA, *LPMCI_OVLY_OPEN_PARMSA;
-typedef struct tagMCI_OVLY_OPEN_PARMSW {
-    DWORD_PTR   dwCallback;
-    MCIDEVICEID wDeviceID;
-    LPCWSTR     lpstrDeviceType;
-    LPCWSTR     lpstrElementName;
-    LPCWSTR     lpstrAlias;
-    DWORD   dwStyle;
-    HWND    hWndParent;
-} MCI_OVLY_OPEN_PARMSW, *PMCI_OVLY_OPEN_PARMSW, *LPMCI_OVLY_OPEN_PARMSW;
-
-typedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS;
-typedef PMCI_OVLY_OPEN_PARMSW PMCI_OVLY_OPEN_PARMS;
-typedef LPMCI_OVLY_OPEN_PARMSW LPMCI_OVLY_OPEN_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_OVLY_WINDOW_PARMSA {
-    DWORD_PTR   dwCallback;
-    HWND        hWnd;
-    UINT        nCmdShow;
-    LPCSTR      lpstrText;
-} MCI_OVLY_WINDOW_PARMSA, *PMCI_OVLY_WINDOW_PARMSA, * LPMCI_OVLY_WINDOW_PARMSA;
-typedef struct tagMCI_OVLY_WINDOW_PARMSW {
-    DWORD_PTR   dwCallback;
-    HWND        hWnd;
-    UINT        nCmdShow;
-    LPCWSTR     lpstrText;
-} MCI_OVLY_WINDOW_PARMSW, *PMCI_OVLY_WINDOW_PARMSW, * LPMCI_OVLY_WINDOW_PARMSW;
-
-typedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS;
-typedef PMCI_OVLY_WINDOW_PARMSW PMCI_OVLY_WINDOW_PARMS;
-typedef LPMCI_OVLY_WINDOW_PARMSW LPMCI_OVLY_WINDOW_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_OVLY_RECT_PARMS {
-    DWORD_PTR   dwCallback;
-
-
-
-
-    RECT    rc;
-
-} MCI_OVLY_RECT_PARMS, *PMCI_OVLY_RECT_PARMS,  * LPMCI_OVLY_RECT_PARMS;
-
-
-
-
-
-typedef struct tagMCI_OVLY_SAVE_PARMSA {
-    DWORD_PTR   dwCallback;
-    LPCSTR      lpfilename;
-    RECT        rc;
-} MCI_OVLY_SAVE_PARMSA, *PMCI_OVLY_SAVE_PARMSA, * LPMCI_OVLY_SAVE_PARMSA;
-typedef struct tagMCI_OVLY_SAVE_PARMSW {
-    DWORD_PTR   dwCallback;
-    LPCWSTR     lpfilename;
-    RECT        rc;
-} MCI_OVLY_SAVE_PARMSW, *PMCI_OVLY_SAVE_PARMSW, * LPMCI_OVLY_SAVE_PARMSW;
-
-typedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS;
-typedef PMCI_OVLY_SAVE_PARMSW PMCI_OVLY_SAVE_PARMS;
-typedef LPMCI_OVLY_SAVE_PARMSW LPMCI_OVLY_SAVE_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMCI_OVLY_LOAD_PARMSA {
-    DWORD_PTR   dwCallback;
-    LPCSTR      lpfilename;
-    RECT    rc;
-} MCI_OVLY_LOAD_PARMSA, *PMCI_OVLY_LOAD_PARMSA, * LPMCI_OVLY_LOAD_PARMSA;
-typedef struct tagMCI_OVLY_LOAD_PARMSW {
-    DWORD_PTR   dwCallback;
-    LPCWSTR     lpfilename;
-    RECT    rc;
-} MCI_OVLY_LOAD_PARMSW, *PMCI_OVLY_LOAD_PARMSW, * LPMCI_OVLY_LOAD_PARMSW;
-
-typedef MCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMS;
-typedef PMCI_OVLY_LOAD_PARMSW PMCI_OVLY_LOAD_PARMS;
-typedef LPMCI_OVLY_LOAD_PARMSW LPMCI_OVLY_LOAD_PARMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}                       
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _NCB {
-    UCHAR   ncb_command;            
-    UCHAR   ncb_retcode;            
-    UCHAR   ncb_lsn;                
-    UCHAR   ncb_num;                
-    PUCHAR  ncb_buffer;             
-    WORD    ncb_length;             
-    UCHAR   ncb_callname[16]; 
-    UCHAR   ncb_name[16];     
-    UCHAR   ncb_rto;                
-    UCHAR   ncb_sto;                
-    void (__stdcall *ncb_post)( struct _NCB * ); 
-    UCHAR   ncb_lana_num;           
-    UCHAR   ncb_cmd_cplt;           
-
-
-
-    UCHAR   ncb_reserve[10];        
-
-    HANDLE  ncb_event;              
-                                    
-                                    
-                                    
-} NCB, *PNCB;
-
-
-
-
-
-
-typedef struct _ADAPTER_STATUS {
-    UCHAR   adapter_address[6];
-    UCHAR   rev_major;
-    UCHAR   reserved0;
-    UCHAR   adapter_type;
-    UCHAR   rev_minor;
-    WORD    duration;
-    WORD    frmr_recv;
-    WORD    frmr_xmit;
-
-    WORD    iframe_recv_err;
-
-    WORD    xmit_aborts;
-    DWORD   xmit_success;
-    DWORD   recv_success;
-
-    WORD    iframe_xmit_err;
-
-    WORD    recv_buff_unavail;
-    WORD    t1_timeouts;
-    WORD    ti_timeouts;
-    DWORD   reserved1;
-    WORD    free_ncbs;
-    WORD    max_cfg_ncbs;
-    WORD    max_ncbs;
-    WORD    xmit_buf_unavail;
-    WORD    max_dgram_size;
-    WORD    pending_sess;
-    WORD    max_cfg_sess;
-    WORD    max_sess;
-    WORD    max_sess_pkt_size;
-    WORD    name_count;
-} ADAPTER_STATUS, *PADAPTER_STATUS;
-
-typedef struct _NAME_BUFFER {
-    UCHAR   name[16];
-    UCHAR   name_num;
-    UCHAR   name_flags;
-} NAME_BUFFER, *PNAME_BUFFER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SESSION_HEADER {
-    UCHAR   sess_name;
-    UCHAR   num_sess;
-    UCHAR   rcv_dg_outstanding;
-    UCHAR   rcv_any_outstanding;
-} SESSION_HEADER, *PSESSION_HEADER;
-
-typedef struct _SESSION_BUFFER {
-    UCHAR   lsn;
-    UCHAR   state;
-    UCHAR   local_name[16];
-    UCHAR   remote_name[16];
-    UCHAR   rcvs_outstanding;
-    UCHAR   sends_outstanding;
-} SESSION_BUFFER, *PSESSION_BUFFER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _LANA_ENUM {
-    UCHAR   length;         
-    UCHAR   lana[254+1];
-} LANA_ENUM, *PLANA_ENUM;
-
-
-
-
-
-
-typedef struct _FIND_NAME_HEADER {
-    WORD    node_count;
-    UCHAR   reserved;
-    UCHAR   unique_group;
-} FIND_NAME_HEADER, *PFIND_NAME_HEADER;
-
-typedef struct _FIND_NAME_BUFFER {
-    UCHAR   length;
-    UCHAR   access_control;
-    UCHAR   frame_control;
-    UCHAR   destination_addr[6];
-    UCHAR   source_addr[6];
-    UCHAR   routing_info[18];
-} FIND_NAME_BUFFER, *PFIND_NAME_BUFFER;
-
-
-
-
-
-
-typedef struct _ACTION_HEADER {
-    ULONG   transport_id;
-    USHORT  action_code;
-    USHORT  reserved;
-} ACTION_HEADER, *PACTION_HEADER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-UCHAR
-__stdcall
-Netbios(
-    PNCB pncb
-    );
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void * I_RPC_HANDLE;
-typedef long RPC_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  unsigned char  *RPC_CSTR;
-typedef  unsigned short  *RPC_WSTR;
-
-typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
-typedef RPC_BINDING_HANDLE handle_t;
-
-
-
-
-
-
-
-
-typedef GUID UUID;
-
-
-
-
-
-typedef struct _RPC_BINDING_VECTOR
-{
-    unsigned long Count;
-    RPC_BINDING_HANDLE BindingH[1];
-} RPC_BINDING_VECTOR;
-
-
-
-
-typedef struct _UUID_VECTOR
-{
-  unsigned long Count;
-  UUID *Uuid[1];
-} UUID_VECTOR;
-
-
-
-
-typedef void  * RPC_IF_HANDLE;
-
-
-
-typedef struct _RPC_IF_ID
-{
-    UUID Uuid;
-    unsigned short VersMajor;
-    unsigned short VersMinor;
-} RPC_IF_ID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _RPC_PROTSEQ_VECTORA
-{
-    unsigned int Count;
-    unsigned char  * Protseq[1];
-} RPC_PROTSEQ_VECTORA;
-
-typedef struct _RPC_PROTSEQ_VECTORW
-{
-    unsigned int Count;
-    unsigned short  * Protseq[1];
-} RPC_PROTSEQ_VECTORW;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _RPC_POLICY {
-    unsigned int Length ;
-    unsigned long EndpointFlags ;
-    unsigned long NICFlags ;
-    } RPC_POLICY,   *PRPC_POLICY ;
-
-typedef void __stdcall
-RPC_OBJECT_INQ_FN (
-     UUID  * ObjectUuid,
-     UUID  * TypeUuid,
-     RPC_STATUS  * Status
-    );
-
-typedef RPC_STATUS __stdcall
-RPC_IF_CALLBACK_FN (
-     RPC_IF_HANDLE  InterfaceUuid,
-     void *Context
-    ) ;
-
-typedef void __stdcall
-RPC_SECURITY_CALLBACK_FN (
-     void *Context
-    ) ;
-
-
-
-typedef struct
-{
-    unsigned int Count;
-    unsigned long Stats[1];
-} RPC_STATS_VECTOR;
-
-
-
-
-
-
-typedef struct
-{
-  unsigned long Count;
-  RPC_IF_ID  * IfId[1];
-} RPC_IF_ID_VECTOR;
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingCopy (
-     RPC_BINDING_HANDLE SourceBinding,
-     RPC_BINDING_HANDLE  * DestinationBinding
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingFree (
-      RPC_BINDING_HANDLE  * Binding
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingSetOption(  RPC_BINDING_HANDLE hBinding,
-                      unsigned long      option,
-                      ULONG_PTR          optionValue );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqOption(   RPC_BINDING_HANDLE hBinding,
-                       unsigned long      option,
-                      ULONG_PTR         *pOptionValue );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingFromStringBindingA (
-         RPC_CSTR StringBinding,
-         RPC_BINDING_HANDLE  *Binding
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingFromStringBindingW (
-         RPC_WSTR StringBinding,
-         RPC_BINDING_HANDLE  *Binding
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSsGetContextBinding (
-     void *ContextHandle,
-     RPC_BINDING_HANDLE  * Binding
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqObject (
-     RPC_BINDING_HANDLE Binding,
-     UUID  * ObjectUuid
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingReset (
-     RPC_BINDING_HANDLE Binding
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingSetObject (
-     RPC_BINDING_HANDLE Binding,
-     UUID  * ObjectUuid
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtInqDefaultProtectLevel(
-      unsigned long AuthnSvc,
-     unsigned long  *AuthnLevel
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingToStringBindingA (
-         RPC_BINDING_HANDLE Binding,
-                  RPC_CSTR  *StringBinding
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingToStringBindingW (
-         RPC_BINDING_HANDLE Binding,
-                  RPC_WSTR  *StringBinding
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingVectorFree (
-      RPC_BINDING_VECTOR  *  * BindingVector
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcStringBindingComposeA (
-           RPC_CSTR ObjUuid,
-           RPC_CSTR Protseq,
-           RPC_CSTR NetworkAddr,
-           RPC_CSTR Endpoint,
-           RPC_CSTR Options,
-                    RPC_CSTR  *StringBinding
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcStringBindingComposeW (
-           RPC_WSTR ObjUuid,
-           RPC_WSTR Protseq,
-           RPC_WSTR NetworkAddr,
-           RPC_WSTR Endpoint,
-           RPC_WSTR Options,
-                    RPC_WSTR  *StringBinding
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcStringBindingParseA (
-         RPC_CSTR StringBinding,
-                    RPC_CSTR  *ObjUuid,
-                    RPC_CSTR  *Protseq,
-                    RPC_CSTR  *NetworkAddr,
-                    RPC_CSTR  *Endpoint,
-                    RPC_CSTR  *NetworkOptions
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcStringBindingParseW (
-         RPC_WSTR StringBinding,
-                    RPC_WSTR  *ObjUuid,
-                    RPC_WSTR  *Protseq,
-                    RPC_WSTR  *NetworkAddr,
-                    RPC_WSTR  *Endpoint,
-                    RPC_WSTR  *NetworkOptions
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcStringFreeA (
-     RPC_CSTR  *String
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcStringFreeW (
-     RPC_WSTR  *String
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcIfInqId (
-     RPC_IF_HANDLE RpcIfHandle,
-     RPC_IF_ID  * RpcIfId
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcNetworkIsProtseqValidA (
-         RPC_CSTR Protseq
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcNetworkIsProtseqValidW (
-         RPC_WSTR Protseq
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtInqComTimeout (
-     RPC_BINDING_HANDLE Binding,
-     unsigned int  * Timeout
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtSetComTimeout (
-     RPC_BINDING_HANDLE Binding,
-     unsigned int Timeout
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtSetCancelTimeout(
-    long Timeout
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcNetworkInqProtseqsA (
-     RPC_PROTSEQ_VECTORA  *  * ProtseqVector
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcNetworkInqProtseqsW (
-     RPC_PROTSEQ_VECTORW  *  * ProtseqVector
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcObjectInqType (
-     UUID  * ObjUuid,
-     UUID  * TypeUuid 
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcObjectSetInqFn (
-     RPC_OBJECT_INQ_FN  * InquiryFn
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcObjectSetType (
-     UUID  * ObjUuid,
-     UUID  * TypeUuid 
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcProtseqVectorFreeA (
-      RPC_PROTSEQ_VECTORA  *  * ProtseqVector
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcProtseqVectorFreeW (
-      RPC_PROTSEQ_VECTORW  *  * ProtseqVector
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerInqBindings (
-     RPC_BINDING_VECTOR  *  * BindingVector
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerInqIf (
-     RPC_IF_HANDLE IfSpec,
-     UUID  * MgrTypeUuid, 
-     void  *  * MgrEpv
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerListen (
-     unsigned int MinimumCallThreads,
-     unsigned int MaxCalls,
-     unsigned int DontWait
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerRegisterIf (
-     RPC_IF_HANDLE IfSpec,
-     UUID  * MgrTypeUuid ,
-     void  * MgrEpv 
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerRegisterIfEx (
-     RPC_IF_HANDLE IfSpec,
-     UUID  * MgrTypeUuid,
-     void  * MgrEpv,
-     unsigned int Flags,
-     unsigned int MaxCalls,
-     RPC_IF_CALLBACK_FN  *IfCallback
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerRegisterIf2 (
-     RPC_IF_HANDLE IfSpec,
-     UUID * MgrTypeUuid,
-     void * MgrEpv,
-     unsigned int Flags,
-     unsigned int MaxCalls,
-     unsigned int MaxRpcSize,
-     RPC_IF_CALLBACK_FN *IfCallbackFn
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUnregisterIf (
-     RPC_IF_HANDLE IfSpec,
-     UUID  * MgrTypeUuid, 
-     unsigned int WaitForCallsToComplete
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUnregisterIfEx (
-     RPC_IF_HANDLE IfSpec,
-     UUID  * MgrTypeUuid, 
-     int RundownContextHandles
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseAllProtseqs (
-     unsigned int MaxCalls,
-     void  * SecurityDescriptor 
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseAllProtseqsEx (
-     unsigned int MaxCalls,
-     void  * SecurityDescriptor,
-     PRPC_POLICY Policy
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseAllProtseqsIf (
-     unsigned int MaxCalls,
-     RPC_IF_HANDLE IfSpec,
-     void  * SecurityDescriptor 
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseAllProtseqsIfEx (
-     unsigned int MaxCalls,
-     RPC_IF_HANDLE IfSpec,
-     void  * SecurityDescriptor,
-     PRPC_POLICY Policy
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqA (
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-           void  *SecurityDescriptor
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqExA (
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-           void  *SecurityDescriptor,
-         PRPC_POLICY Policy
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqW (
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-           void  *SecurityDescriptor
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqExW (
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-           void  *SecurityDescriptor,
-         PRPC_POLICY Policy
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqEpA (
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_CSTR Endpoint,
-           void  *SecurityDescriptor
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqEpExA (
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_CSTR Endpoint,
-           void  *SecurityDescriptor,
-         PRPC_POLICY Policy
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqEpW (
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_WSTR Endpoint,
-           void  *SecurityDescriptor
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqEpExW (
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_WSTR Endpoint,
-           void  *SecurityDescriptor,
-         PRPC_POLICY Policy
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqIfA (
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_IF_HANDLE IfSpec,
-           void  *SecurityDescriptor
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqIfExA (
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_IF_HANDLE IfSpec,
-           void  *SecurityDescriptor,
-         PRPC_POLICY Policy
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqIfW (
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_IF_HANDLE IfSpec,
-           void  *SecurityDescriptor
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerUseProtseqIfExW (
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_IF_HANDLE IfSpec,
-           void  *SecurityDescriptor,
-         PRPC_POLICY Policy
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-RpcServerYield (
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtStatsVectorFree (
-     RPC_STATS_VECTOR ** StatsVector
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtInqStats (
-     RPC_BINDING_HANDLE Binding,
-     RPC_STATS_VECTOR ** Statistics
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtIsServerListening (
-     RPC_BINDING_HANDLE Binding
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtStopServerListening (
-     RPC_BINDING_HANDLE Binding
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtWaitServerListen (
-    void
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtSetServerStackSize (
-     unsigned long ThreadStackSize
-    );
-
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsDontSerializeContext (
-    void
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtEnableIdleCleanup (
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtInqIfIds (
-     RPC_BINDING_HANDLE Binding,
-     RPC_IF_ID_VECTOR  *  * IfIdVector
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcIfIdVectorFree (
-      RPC_IF_ID_VECTOR  *  * IfIdVector
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtInqServerPrincNameA (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long AuthnSvc,
-                  RPC_CSTR  *ServerPrincName
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtInqServerPrincNameW (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long AuthnSvc,
-                  RPC_WSTR  *ServerPrincName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerInqDefaultPrincNameA (
-         unsigned long AuthnSvc,
-                  RPC_CSTR  *PrincName
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerInqDefaultPrincNameW (
-         unsigned long AuthnSvc,
-                  RPC_WSTR  *PrincName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcEpResolveBinding (
-     RPC_BINDING_HANDLE Binding,
-     RPC_IF_HANDLE IfSpec
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcNsBindingInqEntryNameA (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long EntryNameSyntax,
-                  RPC_CSTR  *EntryName
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcNsBindingInqEntryNameW (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long EntryNameSyntax,
-                  RPC_WSTR  *EntryName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void  * RPC_AUTH_IDENTITY_HANDLE;
-typedef void  * RPC_AUTHZ_HANDLE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _RPC_SECURITY_QOS {
-  unsigned long Version;
-  unsigned long Capabilities;
-  unsigned long IdentityTracking;
-  unsigned long ImpersonationType;
-} RPC_SECURITY_QOS, *PRPC_SECURITY_QOS;
-
-
-
-
-
-
-
-typedef struct _SEC_WINNT_AUTH_IDENTITY_W {
-  unsigned short  *User;
-  unsigned long UserLength;
-  unsigned short  *Domain;
-  unsigned long DomainLength;
-  unsigned short  *Password;
-  unsigned long PasswordLength;
-  unsigned long Flags;
-} SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W;
-
-typedef struct _SEC_WINNT_AUTH_IDENTITY_A {
-  unsigned char  *User;
-  unsigned long UserLength;
-  unsigned char  *Domain;
-  unsigned long DomainLength;
-  unsigned char  *Password;
-  unsigned long PasswordLength;
-  unsigned long Flags;
-} SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W
-{
-    SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials;
-    unsigned long Flags;
-    unsigned long AuthenticationTarget;
-    unsigned long NumberOfAuthnSchemes;
-    unsigned long *AuthnSchemes;
-    unsigned short  *ServerCertificateSubject;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W;
-
-typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A
-{
-    SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials;
-    unsigned long Flags;
-    unsigned long AuthenticationTarget;
-    unsigned long NumberOfAuthnSchemes;
-    unsigned long *AuthnSchemes;
-    unsigned char  *ServerCertificateSubject;
-} RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A;
-
-typedef struct _RPC_SECURITY_QOS_V2_W {
-  unsigned long Version;
-  unsigned long Capabilities;
-  unsigned long IdentityTracking;
-  unsigned long ImpersonationType;
-  unsigned long AdditionalSecurityInfoType;
-  union 
-      {
-      RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
-      } u;
-} RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W;
-
-typedef struct _RPC_SECURITY_QOS_V2_A {
-  unsigned long Version;
-  unsigned long Capabilities;
-  unsigned long IdentityTracking;
-  unsigned long ImpersonationType;
-  unsigned long AdditionalSecurityInfoType;
-  union 
-      {
-      RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
-      } u;
-} RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A;
-
-
-
-typedef struct _RPC_SECURITY_QOS_V3_W {
-  unsigned long Version;
-  unsigned long Capabilities;
-  unsigned long IdentityTracking;
-  unsigned long ImpersonationType;
-  unsigned long AdditionalSecurityInfoType;
-  union 
-      {
-      RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials;
-      } u;
-  void *Sid;
-} RPC_SECURITY_QOS_V3_W, *PRPC_SECURITY_QOS_V3_W;
-
-typedef struct _RPC_SECURITY_QOS_V3_A {
-  unsigned long Version;
-  unsigned long Capabilities;
-  unsigned long IdentityTracking;
-  unsigned long ImpersonationType;
-  unsigned long AdditionalSecurityInfoType;
-  union 
-      {
-      RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials;
-      } u;
-  void *Sid;
-} RPC_SECURITY_QOS_V3_A, *PRPC_SECURITY_QOS_V3_A;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _RPC_HTTP_REDIRECTOR_STAGE
-{
-    RPCHTTP_RS_REDIRECT = 1,
-    RPCHTTP_RS_ACCESS_1,
-    RPCHTTP_RS_SESSION,
-    RPCHTTP_RS_ACCESS_2,
-    RPCHTTP_RS_INTERFACE
-} RPC_HTTP_REDIRECTOR_STAGE;
-
-typedef RPC_STATUS
-(__stdcall * RPC_NEW_HTTP_PROXY_CHANNEL) (
-     RPC_HTTP_REDIRECTOR_STAGE RedirectorStage,
-     unsigned short  *ServerName,
-     unsigned short  *ServerPort,
-      unsigned short  *RemoteUser,
-      unsigned short  *AuthType,
-      void  *ResourceUuid,
-      void  *Metadata,
-      void  *SessionId,
-      void  *Interface,
-      void  *Reserved,
-     unsigned long Flags,
-      unsigned short  **NewServerName,
-      unsigned short  **NewServerPort
-    );
-
-typedef void
-(__stdcall * RPC_HTTP_PROXY_FREE_STRING) (
-     unsigned short  *String
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcImpersonateClient (
-     RPC_BINDING_HANDLE BindingHandle 
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcRevertToSelfEx (
-     RPC_BINDING_HANDLE BindingHandle 
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcRevertToSelf (
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthClientA (
-           RPC_BINDING_HANDLE ClientBinding,
-         RPC_AUTHZ_HANDLE  *Privs,
-                    RPC_CSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel, 
-           unsigned long  *AuthnSvc,
-           unsigned long  *AuthzSvc
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthClientW (
-           RPC_BINDING_HANDLE ClientBinding,
-         RPC_AUTHZ_HANDLE  *Privs,
-                    RPC_WSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           unsigned long  *AuthzSvc
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthClientExA (
-           RPC_BINDING_HANDLE ClientBinding,
-         RPC_AUTHZ_HANDLE  *Privs,
-                    RPC_CSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           unsigned long  *AuthzSvc,
-      unsigned long             Flags
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthClientExW (
-           RPC_BINDING_HANDLE ClientBinding,
-         RPC_AUTHZ_HANDLE  *Privs,
-                    RPC_WSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           unsigned long  *AuthzSvc,
-      unsigned long             Flags
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthInfoA (
-         RPC_BINDING_HANDLE Binding,
-                    RPC_CSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE  *AuthIdentity,
-           unsigned long  *AuthzSvc
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthInfoW (
-         RPC_BINDING_HANDLE Binding,
-                    RPC_WSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE  *AuthIdentity,
-           unsigned long  *AuthzSvc
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingSetAuthInfoA (
-         RPC_BINDING_HANDLE Binding,
-         RPC_CSTR ServerPrincName,
-         unsigned long AuthnLevel,
-         unsigned long AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
-         unsigned long AuthzSvc
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingSetAuthInfoExA (
-         RPC_BINDING_HANDLE Binding,
-         RPC_CSTR ServerPrincName,
-         unsigned long AuthnLevel,
-         unsigned long AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
-         unsigned long AuthzSvc,
-           RPC_SECURITY_QOS *SecurityQos
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingSetAuthInfoW (
-         RPC_BINDING_HANDLE Binding,
-         RPC_WSTR ServerPrincName,
-         unsigned long AuthnLevel,
-         unsigned long AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
-         unsigned long AuthzSvc
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingSetAuthInfoExW (
-         RPC_BINDING_HANDLE Binding,
-         RPC_WSTR ServerPrincName,
-         unsigned long AuthnLevel,
-         unsigned long AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
-         unsigned long AuthzSvc,
-           RPC_SECURITY_QOS *SecurityQOS
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthInfoExA (
-         RPC_BINDING_HANDLE Binding,
-                    RPC_CSTR  *ServerPrincName,
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE  *AuthIdentity,
-           unsigned long  *AuthzSvc,
-         unsigned long RpcQosVersion,
-           RPC_SECURITY_QOS *SecurityQOS
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingInqAuthInfoExW (
-         RPC_BINDING_HANDLE Binding,
-                    RPC_WSTR  *ServerPrincName, 
-           unsigned long  *AuthnLevel,
-           unsigned long  *AuthnSvc,
-           RPC_AUTH_IDENTITY_HANDLE  *AuthIdentity,
-           unsigned long  *AuthzSvc,
-         unsigned long RpcQosVersion,
-           RPC_SECURITY_QOS *SecurityQOS
-    );
-
-typedef void
-(__stdcall * RPC_AUTH_KEY_RETRIEVAL_FN) (
-     void  * Arg,
-     unsigned short  * ServerPrincName,
-     unsigned long KeyVer,
-     void  *  * Key,
-     RPC_STATUS  * Status
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerRegisterAuthInfoA (
-         RPC_CSTR ServerPrincName,
-         unsigned long AuthnSvc,
-           RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
-           void  *Arg
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerRegisterAuthInfoW (
-         RPC_WSTR ServerPrincName,
-         unsigned long AuthnSvc,
-           RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
-           void  *Arg
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    unsigned char  * UserName;
-    unsigned char  * ComputerName;
-    unsigned short Privilege;
-    unsigned long AuthFlags;
-} RPC_CLIENT_INFORMATION1,  * PRPC_CLIENT_INFORMATION1;
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcBindingServerFromClient (
-     RPC_BINDING_HANDLE ClientBinding,
-     RPC_BINDING_HANDLE  * ServerBinding
-    );
-
-__declspec(dllimport)
-__declspec(noreturn)
-void
-__stdcall
-RpcRaiseException (
-     RPC_STATUS exception
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcTestCancel(
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerTestCancel (
-     RPC_BINDING_HANDLE BindingHandle 
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcCancelThread(
-     void * Thread
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcCancelThreadEx(
-     void * Thread,
-     long Timeout
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidCreate (
-     UUID  * Uuid
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidCreateSequential (
-     UUID  * Uuid
-    );
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidToStringA (
-         UUID  *Uuid,
-                  RPC_CSTR  *StringUuid
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidFromStringA (
-         RPC_CSTR StringUuid,
-         UUID  *Uuid
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidToStringW (
-         UUID  *Uuid,
-                  RPC_WSTR  *StringUuid
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidFromStringW (
-           RPC_WSTR StringUuid,
-         UUID  *Uuid
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-signed int
-__stdcall
-UuidCompare (
-     UUID  * Uuid1,
-     UUID  * Uuid2,
-     RPC_STATUS  * Status
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-UuidCreateNil (
-     UUID  * NilUuid
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-UuidEqual (
-     UUID  * Uuid1,
-     UUID  * Uuid2,
-     RPC_STATUS  * Status
-    );
-
-__declspec(dllimport)
-unsigned short
-__stdcall
-UuidHash (
-     UUID  * Uuid,
-     RPC_STATUS  * Status
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-UuidIsNil (
-     UUID  * Uuid,
-     RPC_STATUS  * Status
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcEpRegisterNoReplaceA (
-         RPC_IF_HANDLE IfSpec,
-         RPC_BINDING_VECTOR *BindingVector,
-           UUID_VECTOR *UuidVector,
-           RPC_CSTR Annotation
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcEpRegisterNoReplaceW (
-         RPC_IF_HANDLE IfSpec,
-         RPC_BINDING_VECTOR *BindingVector,
-           UUID_VECTOR *UuidVector,
-           RPC_WSTR Annotation
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcEpRegisterA (
-         RPC_IF_HANDLE IfSpec,
-         RPC_BINDING_VECTOR *BindingVector,
-           UUID_VECTOR *UuidVector,
-           RPC_CSTR Annotation
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcEpRegisterW (
-         RPC_IF_HANDLE IfSpec,
-         RPC_BINDING_VECTOR *BindingVector,
-           UUID_VECTOR *UuidVector,
-           RPC_WSTR Annotation
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcEpUnregister(
-     RPC_IF_HANDLE IfSpec,
-     RPC_BINDING_VECTOR *BindingVector,
-     UUID_VECTOR *UuidVector
-    );
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-DceErrorInqTextA (
-         RPC_STATUS RpcStatus,
-         RPC_CSTR ErrorText
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-DceErrorInqTextW (
-         RPC_STATUS RpcStatus,
-         RPC_WSTR ErrorText
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef I_RPC_HANDLE * RPC_EP_INQ_HANDLE;
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtEpEltInqBegin (
-     RPC_BINDING_HANDLE EpBinding ,
-     unsigned long InquiryType,
-     RPC_IF_ID  * IfId ,
-     unsigned long VersOption ,
-     UUID  * ObjectUuid ,
-     RPC_EP_INQ_HANDLE  * InquiryContext
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtEpEltInqDone (
-      RPC_EP_INQ_HANDLE  * InquiryContext
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtEpEltInqNextA (
-         RPC_EP_INQ_HANDLE InquiryContext,
-         RPC_IF_ID  *IfId,
-           RPC_BINDING_HANDLE  *Binding,
-           UUID  *ObjectUuid,
-                    RPC_CSTR  *Annotation
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtEpEltInqNextW (
-         RPC_EP_INQ_HANDLE InquiryContext,
-         RPC_IF_ID  *IfId,
-           RPC_BINDING_HANDLE  *Binding,
-           UUID  *ObjectUuid,
-                    RPC_WSTR  *Annotation
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtEpUnregister (
-     RPC_BINDING_HANDLE EpBinding ,
-     RPC_IF_ID  * IfId,
-     RPC_BINDING_HANDLE Binding,
-     UUID  * ObjectUuid 
-    );
-
-typedef int
-(__stdcall * RPC_MGMT_AUTHORIZATION_FN) (
-     RPC_BINDING_HANDLE ClientBinding,
-     unsigned long RequestedMgmtOperation,
-     RPC_STATUS  * Status
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcMgmtSetAuthorizationFn (
-     RPC_MGMT_AUTHORIZATION_FN AuthorizationFn
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-typedef struct _RPC_VERSION {
-    unsigned short MajorVersion;
-    unsigned short MinorVersion;
-} RPC_VERSION;
-
-typedef struct _RPC_SYNTAX_IDENTIFIER {
-    GUID SyntaxGUID;
-    RPC_VERSION SyntaxVersion;
-} RPC_SYNTAX_IDENTIFIER,  * PRPC_SYNTAX_IDENTIFIER;
-
-typedef struct _RPC_MESSAGE
-{
-    RPC_BINDING_HANDLE Handle;
-    unsigned long DataRepresentation;
-    void  * Buffer;
-    unsigned int BufferLength;
-    unsigned int ProcNum;
-    PRPC_SYNTAX_IDENTIFIER TransferSyntax;
-    void  * RpcInterfaceInformation;
-    void  * ReservedForRuntime;
-    void  * ManagerEpv;
-    void  * ImportContext;
-    unsigned long RpcFlags;
-} RPC_MESSAGE,  * PRPC_MESSAGE;
-
-
-typedef RPC_STATUS
-__stdcall RPC_FORWARD_FUNCTION(
-                        UUID              * InterfaceId,
-                        RPC_VERSION       * InterfaceVersion,
-                        UUID              * ObjectId,
-                        unsigned char          * Rpcpro,
-                        void  *  * ppDestEndpoint);
-
-enum RPC_ADDRESS_CHANGE_TYPE
-{
-    PROTOCOL_NOT_LOADED = 1,
-    PROTOCOL_LOADED,
-    PROTOCOL_ADDRESS_CHANGE
-};
-
-typedef void
-__stdcall RPC_ADDRESS_CHANGE_FN(
-                         void * arg
-                        );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef
-void
-(__stdcall  * RPC_DISPATCH_FUNCTION) (
-      PRPC_MESSAGE Message
-    );
-
-typedef struct {
-    unsigned int DispatchTableCount;
-    RPC_DISPATCH_FUNCTION  * DispatchTable;
-    LONG_PTR                          Reserved;
-} RPC_DISPATCH_TABLE,  * PRPC_DISPATCH_TABLE;
-
-typedef struct _RPC_PROTSEQ_ENDPOINT
-{
-    unsigned char  * RpcProtocolSequence;
-    unsigned char  * Endpoint;
-} RPC_PROTSEQ_ENDPOINT,  * PRPC_PROTSEQ_ENDPOINT;
-
-
-
-
-
-
-
-
-typedef struct _RPC_SERVER_INTERFACE
-{
-    unsigned int Length;
-    RPC_SYNTAX_IDENTIFIER InterfaceId;
-    RPC_SYNTAX_IDENTIFIER TransferSyntax;
-    PRPC_DISPATCH_TABLE DispatchTable;
-    unsigned int RpcProtseqEndpointCount;
-    PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
-    void  *DefaultManagerEpv;
-    void const  *InterpreterInfo;
-    unsigned int Flags ;
-} RPC_SERVER_INTERFACE,  * PRPC_SERVER_INTERFACE;
-
-typedef struct _RPC_CLIENT_INTERFACE
-{
-    unsigned int Length;
-    RPC_SYNTAX_IDENTIFIER   InterfaceId;
-    RPC_SYNTAX_IDENTIFIER   TransferSyntax;
-    PRPC_DISPATCH_TABLE     DispatchTable;
-    unsigned int            RpcProtseqEndpointCount;
-    PRPC_PROTSEQ_ENDPOINT   RpcProtseqEndpoint;
-    ULONG_PTR               Reserved;
-    void const  *  InterpreterInfo;
-    unsigned int Flags ;
-} RPC_CLIENT_INTERFACE,  * PRPC_CLIENT_INTERFACE;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNegotiateTransferSyntax (
-      RPC_MESSAGE  * Message
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcGetBuffer (
-      RPC_MESSAGE  * Message
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcGetBufferWithObject (
-      RPC_MESSAGE  * Message,
-     UUID * ObjectUuid
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcSendReceive (
-      RPC_MESSAGE  * Message
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcFreeBuffer (
-      RPC_MESSAGE  * Message
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcSend (
-      PRPC_MESSAGE Message
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcReceive (
-      PRPC_MESSAGE Message,
-     unsigned int Size
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcFreePipeBuffer (
-      RPC_MESSAGE  * Message
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcReallocPipeBuffer (
-     PRPC_MESSAGE Message,
-     unsigned int NewSize
-    ) ;
-
-typedef void * I_RPC_MUTEX;
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcRequestMutex (
-      I_RPC_MUTEX * Mutex
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcClearMutex (
-     I_RPC_MUTEX Mutex
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcDeleteMutex (
-     I_RPC_MUTEX Mutex
-    );
-
-__declspec(dllimport)
-void  *
-__stdcall
-I_RpcAllocate (
-     unsigned int Size
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcFree (
-     void  * Object
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcPauseExecution (
-     unsigned long Milliseconds
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcGetExtendedError (
-    );
-
-typedef
-void
-(__stdcall  * PRPC_RUNDOWN) (
-    void  * AssociationContext
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcMonitorAssociation (
-     RPC_BINDING_HANDLE Handle,
-     PRPC_RUNDOWN RundownRoutine,
-     void * Context
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcStopMonitorAssociation (
-     RPC_BINDING_HANDLE Handle
-    );
-
-__declspec(dllimport)
-RPC_BINDING_HANDLE
-__stdcall
-I_RpcGetCurrentCallHandle(
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcGetAssociationContext (
-     RPC_BINDING_HANDLE BindingHandle,
-     void  *  * AssociationContext
-    );
-
-__declspec(dllimport)
-void *
-__stdcall
-I_RpcGetServerContextList (
-     RPC_BINDING_HANDLE BindingHandle
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcSetServerContextList (
-     RPC_BINDING_HANDLE BindingHandle,
-     void * ServerContextList
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNsInterfaceExported (
-     unsigned long EntryNameSyntax,
-     unsigned short *EntryName,
-     RPC_SERVER_INTERFACE * RpcInterfaceInformation
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNsInterfaceUnexported (
-     unsigned long EntryNameSyntax,
-     unsigned short *EntryName,
-     RPC_SERVER_INTERFACE * RpcInterfaceInformation
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingToStaticStringBindingW (
-     RPC_BINDING_HANDLE Binding,
-     unsigned short **StringBinding
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqSecurityContext (
-     RPC_BINDING_HANDLE Binding,
-     void **SecurityContextHandle
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqWireIdForSnego (
-         RPC_BINDING_HANDLE Binding,
-         RPC_CSTR WireId
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqMarshalledTargetInfo (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long *MarshalledTargetInfoLength,
-                  RPC_CSTR *MarshalledTargetInfo
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqLocalClientPID (
-     RPC_BINDING_HANDLE Binding,
-     unsigned long *Pid
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingHandleToAsyncHandle (
-     RPC_BINDING_HANDLE Binding,
-     void **AsyncHandle
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNsBindingSetEntryNameW (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNsBindingSetEntryNameA (
-         RPC_BINDING_HANDLE Binding,
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerUseProtseqEp2A (
-         RPC_CSTR NetworkAddress,
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_CSTR Endpoint,
-         void  * SecurityDescriptor,
-         void *Policy
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerUseProtseqEp2W (
-         RPC_WSTR NetworkAddress,
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-         RPC_WSTR Endpoint,
-         void  *SecurityDescriptor,
-         void *Policy
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerUseProtseq2W (
-         RPC_WSTR NetworkAddress,
-         RPC_WSTR Protseq,
-         unsigned int MaxCalls,
-         void  *SecurityDescriptor,
-         void *Policy
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerUseProtseq2A (
-         RPC_CSTR NetworkAddress,
-         RPC_CSTR Protseq,
-         unsigned int MaxCalls,
-         void  *SecurityDescriptor,
-         void *Policy
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqDynamicEndpointW (
-         RPC_BINDING_HANDLE Binding,
-                      RPC_WSTR  *DynamicEndpoint
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqDynamicEndpointA (
-         RPC_BINDING_HANDLE Binding,
-                      RPC_CSTR  *DynamicEndpoint
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerCheckClientRestriction (
-     RPC_BINDING_HANDLE Context
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqTransportType (
-     RPC_BINDING_HANDLE Binding,
-     unsigned int  * Type
-    );
-
-typedef struct _RPC_TRANSFER_SYNTAX
-{
-    UUID Uuid;
-    unsigned short VersMajor;
-    unsigned short VersMinor;
-} RPC_TRANSFER_SYNTAX;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcIfInqTransferSyntaxes (
-     RPC_IF_HANDLE RpcIfHandle,
-     RPC_TRANSFER_SYNTAX  * TransferSyntaxes,
-     unsigned int TransferSyntaxSize,
-     unsigned int  * TransferSyntaxCount
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_UuidCreate (
-     UUID  * Uuid
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingCopy (
-     RPC_BINDING_HANDLE SourceBinding,
-     RPC_BINDING_HANDLE  * DestinationBinding
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingIsClientLocal (
-     RPC_BINDING_HANDLE BindingHandle ,
-     unsigned int  * ClientLocalFlag
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingInqConnId (
-     RPC_BINDING_HANDLE Binding,
-     void **ConnId,
-     int *pfFirstCall
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcSsDontSerializeContext (
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcLaunchDatagramReceiveThread(
-    void  * pAddress
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerRegisterForwardFunction (
-     RPC_FORWARD_FUNCTION  * pForwardFunction
-    );
-
-RPC_ADDRESS_CHANGE_FN * __stdcall
-I_RpcServerInqAddressChangeFn();
-
-RPC_STATUS __stdcall
-I_RpcServerSetAddressChangeFn(
-     RPC_ADDRESS_CHANGE_FN * pAddressChangeFn
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerInqLocalConnAddress (
-     RPC_BINDING_HANDLE Binding,
-      void *Buffer,
-      unsigned long *BufferSize,
-     unsigned long *AddressFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcSessionStrictContextHandle (
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcTurnOnEEInfoPropagation (
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcConnectionInqSockBuffSize(
-   unsigned long  * RecvBuffSize,
-   unsigned long  * SendBuffSize
-  );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcConnectionSetSockBuffSize(
-    unsigned long RecvBuffSize,
-    unsigned long SendBuffSize
-   );
-
-typedef
-void
-(*RPCLT_PDU_FILTER_FUNC) (
-     void *Buffer,
-     unsigned int BufferLength,
-     int fDatagram
-    );
-
-typedef
-void
-(__cdecl *RPC_SETFILTER_FUNC) (
-     RPCLT_PDU_FILTER_FUNC pfnFilter
-    );
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerStartListening(
-    void * hWnd
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerStopListening(
-    ) ;
-
-typedef RPC_STATUS (*RPC_BLOCKING_FN) (
-     void * hWnd,
-     void * Context,
-      void * hSyncEvent
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcBindingSetAsync(
-     RPC_BINDING_HANDLE Binding,
-     RPC_BLOCKING_FN BlockingFn,
-     unsigned long ServerTid
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcSetThreadParams(
-     int fClientFree,
-      void *Context,
-      void * hWndClient
-    );
-
-__declspec(dllimport)
-unsigned int
-__stdcall
-I_RpcWindowProc(
-     void * hWnd,
-     unsigned int Message,
-     unsigned int wParam,
-     unsigned long lParam
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerUnregisterEndpointA (
-         RPC_CSTR Protseq,
-         RPC_CSTR Endpoint
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerUnregisterEndpointW (
-         RPC_WSTR Protseq,
-         RPC_WSTR Endpoint
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcServerInqTransportType(
-     unsigned int  * Type
-    ) ;
-
-__declspec(dllimport)
-long
-__stdcall
-I_RpcMapWin32Status (
-     RPC_STATUS Status
-    );
-
-typedef struct _RPC_C_OPT_METADATA_DESCRIPTOR
-{
-    unsigned long BufferSize;   
-    char *Buffer;               
-} RPC_C_OPT_METADATA_DESCRIPTOR;
-
-typedef struct _RDR_CALLOUT_STATE
-{
-    
-    RPC_STATUS LastError;
-    void *LastEEInfo;
-
-    RPC_HTTP_REDIRECTOR_STAGE LastCalledStage;
-
-    
-    unsigned short *ServerName;   
-    unsigned short *ServerPort;   
-    unsigned short *RemoteUser;   
-    unsigned short *AuthType;     
-    unsigned char ResourceTypePresent;
-    unsigned char MetadataPresent;
-    unsigned char SessionIdPresent;
-    unsigned char InterfacePresent;
-    UUID ResourceType;
-    RPC_C_OPT_METADATA_DESCRIPTOR Metadata;     
-    UUID SessionId;
-    RPC_SYNTAX_IDENTIFIER Interface;
-    void *CertContext;            
-                                  
-                                  
-} RDR_CALLOUT_STATE;
-
-typedef RPC_STATUS
-(__stdcall *I_RpcProxyIsValidMachineFn)
-        (
-         char *pszMachine,
-         char *pszDotMachine,
-         unsigned long dwPortNumber        
-        );
-
-typedef RPC_STATUS
-(__stdcall *I_RpcProxyGetClientAddressFn)
-        (
-         void *Context,
-         char *Buffer,
-         unsigned long *BufferLength
-        );
-
-typedef RPC_STATUS
-(__stdcall *I_RpcProxyGetConnectionTimeoutFn)
-        (
-         unsigned long *ConnectionTimeout
-        );
-
-typedef RPC_STATUS
-(__stdcall *I_RpcPerformCalloutFn) 
-    (
-     void *Context,
-     RDR_CALLOUT_STATE *CallOutState,
-     RPC_HTTP_REDIRECTOR_STAGE Stage
-    );
-
-typedef void
-(__stdcall *I_RpcFreeCalloutStateFn)
-    (
-     RDR_CALLOUT_STATE *CallOutState
-    );
-
-typedef struct tagI_RpcProxyCallbackInterface
-{
-    I_RpcProxyIsValidMachineFn IsValidMachineFn;
-    I_RpcProxyGetClientAddressFn GetClientAddressFn;
-    I_RpcProxyGetConnectionTimeoutFn GetConnectionTimeoutFn;
-    I_RpcPerformCalloutFn PerformCalloutFn;
-    I_RpcFreeCalloutStateFn FreeCalloutStateFn;
-} I_RpcProxyCallbackInterface;
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcProxyNewConnection (
-     unsigned long ConnectionType,
-     unsigned short *ServerAddress,
-     unsigned short *ServerPort,
-     unsigned short *MinConnTimeout,
-     void *ConnectionParameter,
-      RDR_CALLOUT_STATE *CallOutState, 
-     I_RpcProxyCallbackInterface *ProxyCallbackInterface
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcReplyToClientWithStatus (
-     void *ConnectionParameter,
-     RPC_STATUS RpcStatus
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcRecordCalloutFailure (
-     RPC_STATUS RpcStatus,
-     RDR_CALLOUT_STATE *CallOutState,
-     unsigned short *DllName
-    );
-
-
-}
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-typedef void  * RPC_NS_HANDLE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingExportA(
-         unsigned long EntryNameSyntax,
-           RPC_CSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           RPC_BINDING_VECTOR  *BindingVec,
-           UUID_VECTOR  *ObjectUuidVec
-    );
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingUnexportA(
-         unsigned long EntryNameSyntax,
-           RPC_CSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID_VECTOR  *ObjectUuidVec
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingExportW(
-         unsigned long EntryNameSyntax,
-           RPC_WSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           RPC_BINDING_VECTOR  *BindingVec,
-           UUID_VECTOR  *ObjectUuidVec
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingUnexportW(
-         unsigned long EntryNameSyntax,
-           RPC_WSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID_VECTOR  *ObjectUuidVec
-    );
-
-
-
-
-
-RPC_STATUS __stdcall
-RpcNsBindingExportPnPA(
-         unsigned long EntryNameSyntax,
-           RPC_CSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID_VECTOR *ObjectVector
-    );
-
-RPC_STATUS __stdcall
-RpcNsBindingUnexportPnPA(
-         unsigned long EntryNameSyntax,
-           RPC_CSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID_VECTOR *ObjectVector
-    );
-
-
-
-RPC_STATUS __stdcall
-RpcNsBindingExportPnPW(
-         unsigned long EntryNameSyntax,
-           RPC_WSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID_VECTOR *ObjectVector
-    );
-
-RPC_STATUS __stdcall
-RpcNsBindingUnexportPnPW(
-         unsigned long EntryNameSyntax,
-           RPC_WSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID_VECTOR *ObjectVector
-    );
-
-
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingLookupBeginA(
-         unsigned long EntryNameSyntax,
-           RPC_CSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID  *ObjUuid,
-         unsigned long BindingMaxCount,
-         RPC_NS_HANDLE  *LookupContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingLookupBeginW(
-         unsigned long EntryNameSyntax,
-           RPC_WSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID  *ObjUuid,
-         unsigned long BindingMaxCount,
-         RPC_NS_HANDLE  *LookupContext
-    );
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingLookupNext(
-      RPC_NS_HANDLE LookupContext,
-     RPC_BINDING_VECTOR  *  * BindingVec
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingLookupDone(
-      RPC_NS_HANDLE  * LookupContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupDeleteA(
-         unsigned long GroupNameSyntax,
-           RPC_CSTR GroupName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrAddA(
-         unsigned long GroupNameSyntax,
-         RPC_CSTR GroupName,
-         unsigned long MemberNameSyntax,
-         RPC_CSTR MemberName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrRemoveA(
-         unsigned long GroupNameSyntax,
-         RPC_CSTR GroupName,
-         unsigned long MemberNameSyntax,
-         RPC_CSTR MemberName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrInqBeginA(
-         unsigned long GroupNameSyntax,
-         RPC_CSTR GroupName,
-         unsigned long MemberNameSyntax,
-         RPC_NS_HANDLE  *InquiryContext
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrInqNextA(
-         RPC_NS_HANDLE InquiryContext,
-                  RPC_CSTR  *MemberName
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupDeleteW(
-         unsigned long GroupNameSyntax,
-           RPC_WSTR GroupName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrAddW(
-         unsigned long GroupNameSyntax,
-         RPC_WSTR GroupName,
-         unsigned long MemberNameSyntax,
-         RPC_WSTR MemberName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrRemoveW(
-         unsigned long GroupNameSyntax,
-         RPC_WSTR GroupName,
-         unsigned long MemberNameSyntax,
-         RPC_WSTR MemberName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrInqBeginW(
-         unsigned long GroupNameSyntax,
-         RPC_WSTR GroupName,
-         unsigned long MemberNameSyntax,
-         RPC_NS_HANDLE  *InquiryContext
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrInqNextW(
-         RPC_NS_HANDLE InquiryContext,
-                  RPC_WSTR  *MemberName
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsGroupMbrInqDone(
-      RPC_NS_HANDLE  * InquiryContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileDeleteA(
-         unsigned long ProfileNameSyntax,
-         RPC_CSTR ProfileName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltAddA(
-         unsigned long ProfileNameSyntax,
-         RPC_CSTR ProfileName,
-           RPC_IF_ID  *IfId,
-         unsigned long MemberNameSyntax,
-         RPC_CSTR MemberName,
-         unsigned long Priority,
-           RPC_CSTR Annotation
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltRemoveA(
-         unsigned long ProfileNameSyntax,
-         RPC_CSTR ProfileName,
-           RPC_IF_ID  *IfId,
-         unsigned long MemberNameSyntax,
-         RPC_CSTR MemberName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltInqBeginA(
-         unsigned long ProfileNameSyntax,
-         RPC_CSTR ProfileName,
-         unsigned long InquiryType,
-           RPC_IF_ID  *IfId,
-         unsigned long VersOption,
-         unsigned long MemberNameSyntax,
-           RPC_CSTR MemberName,
-         RPC_NS_HANDLE  *InquiryContext
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltInqNextA(
-         RPC_NS_HANDLE InquiryContext,
-           RPC_IF_ID  *IfId,
-         RPC_CSTR  *MemberName,
-         unsigned long  *Priority,
-         RPC_CSTR  *Annotation
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileDeleteW(
-         unsigned long ProfileNameSyntax,
-         RPC_WSTR ProfileName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltAddW(
-         unsigned long ProfileNameSyntax,
-         RPC_WSTR ProfileName,
-           RPC_IF_ID  *IfId,
-         unsigned long MemberNameSyntax,
-         RPC_WSTR MemberName,
-         unsigned long Priority,
-           RPC_WSTR Annotation
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltRemoveW(
-         unsigned long ProfileNameSyntax,
-         RPC_WSTR ProfileName,
-           RPC_IF_ID  *IfId,
-         unsigned long MemberNameSyntax,
-         RPC_WSTR MemberName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltInqBeginW(
-         unsigned long ProfileNameSyntax,
-         RPC_WSTR ProfileName,
-         unsigned long InquiryType,
-           RPC_IF_ID  *IfId,
-         unsigned long VersOption,
-         unsigned long MemberNameSyntax,
-           RPC_WSTR MemberName,
-         RPC_NS_HANDLE  *InquiryContext
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltInqNextW(
-         RPC_NS_HANDLE InquiryContext,
-           RPC_IF_ID  *IfId,
-         RPC_WSTR  *MemberName,
-         unsigned long  *Priority,
-         RPC_WSTR  *Annotation
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsProfileEltInqDone(
-      RPC_NS_HANDLE  * InquiryContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsEntryObjectInqBeginA(
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName,
-         RPC_NS_HANDLE  *InquiryContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsEntryObjectInqBeginW(
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName,
-         RPC_NS_HANDLE  *InquiryContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsEntryObjectInqNext(
-      RPC_NS_HANDLE InquiryContext,
-     UUID  * ObjUuid
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsEntryObjectInqDone(
-      RPC_NS_HANDLE  * InquiryContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsEntryExpandNameA(
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName,
-         RPC_CSTR  *ExpandedName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtBindingUnexportA(
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName,
-           RPC_IF_ID  *IfId,
-         unsigned long VersOption,
-           UUID_VECTOR  *ObjectUuidVec
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtEntryCreateA(
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtEntryDeleteA(
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtEntryInqIfIdsA(
-         unsigned long EntryNameSyntax,
-         RPC_CSTR EntryName,
-         RPC_IF_ID_VECTOR  *  *IfIdVec
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtHandleSetExpAge(
-     RPC_NS_HANDLE NsHandle,
-     unsigned long ExpirationAge
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtInqExpAge(
-     unsigned long  * ExpirationAge
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtSetExpAge(
-     unsigned long ExpirationAge
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsEntryExpandNameW(
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName,
-         RPC_WSTR  *ExpandedName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtBindingUnexportW(
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName,
-           RPC_IF_ID  *IfId,
-         unsigned long VersOption,
-           UUID_VECTOR  *ObjectUuidVec
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtEntryCreateW(
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtEntryDeleteW(
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsMgmtEntryInqIfIdsW(
-         unsigned long EntryNameSyntax,
-         RPC_WSTR EntryName,
-         RPC_IF_ID_VECTOR  *  *IfIdVec
-    );
-
-
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingImportBeginA(
-         unsigned long EntryNameSyntax,
-           RPC_CSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID  *ObjUuid,
-         RPC_NS_HANDLE  *ImportContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingImportBeginW(
-         unsigned long EntryNameSyntax,
-           RPC_WSTR EntryName,
-           RPC_IF_HANDLE IfSpec,
-           UUID  *ObjUuid,
-         RPC_NS_HANDLE  *ImportContext
-    );
-
-
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingImportNext(
-     RPC_NS_HANDLE ImportContext,
-     RPC_BINDING_HANDLE   * Binding
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingImportDone(
-      RPC_NS_HANDLE  * ImportContext
-    );
-
-__declspec(dllimport) RPC_STATUS __stdcall
-RpcNsBindingSelect(
-      RPC_BINDING_VECTOR  * BindingVec,
-     RPC_BINDING_HANDLE   * Binding
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-typedef
-enum _RPC_NOTIFICATION_TYPES
-{
-    RpcNotificationTypeNone,
-    RpcNotificationTypeEvent,
-    RpcNotificationTypeApc,
-    RpcNotificationTypeIoc,
-    RpcNotificationTypeHwnd,
-    RpcNotificationTypeCallback
-} RPC_NOTIFICATION_TYPES;
-
-typedef
-enum _RPC_ASYNC_EVENT {
-    RpcCallComplete,
-    RpcSendComplete,
-    RpcReceiveComplete
-    } RPC_ASYNC_EVENT;
-
-struct _RPC_ASYNC_STATE;
-
-typedef void __stdcall
-RPCNOTIFICATION_ROUTINE (
-                  struct _RPC_ASYNC_STATE *pAsync,
-                  void *Context,
-                  RPC_ASYNC_EVENT Event);
-typedef RPCNOTIFICATION_ROUTINE *PFN_RPCNOTIFICATION_ROUTINE;
-
-typedef struct _RPC_ASYNC_STATE {
-    unsigned int    Size; 
-    unsigned long   Signature;
-    long   Lock;
-    unsigned long   Flags;
-    void           *StubInfo;
-    void           *UserInfo;
-    void           *RuntimeInfo;
-    RPC_ASYNC_EVENT Event;
-
-    RPC_NOTIFICATION_TYPES NotificationType;
-    union {
-        
-        
-        
-        struct {
-            PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
-            HANDLE hThread;
-            } APC;
-
-        
-        
-        
-        struct {
-            HANDLE hIOPort;
-            DWORD dwNumberOfBytesTransferred;
-            DWORD_PTR dwCompletionKey;
-            LPOVERLAPPED lpOverlapped;
-            } IOC;
-
-        
-        
-        
-        struct {
-            HWND hWnd;
-            UINT Msg;
-            } HWND;
-
-
-        
-        
-        
-        HANDLE hEvent;
-
-        
-        
-        
-        
-        
-        PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
-        } u;
-
-    LONG_PTR Reserved[4];
-    } RPC_ASYNC_STATE, *PRPC_ASYNC_STATE;
-
-
-
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncInitializeHandle (
-    PRPC_ASYNC_STATE pAsync,
-    unsigned int     Size
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncRegisterInfo (
-    PRPC_ASYNC_STATE pAsync
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncGetCallStatus (
-    PRPC_ASYNC_STATE pAsync
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncCompleteCall (
-    PRPC_ASYNC_STATE pAsync,
-    void *Reply
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncAbortCall (
-    PRPC_ASYNC_STATE pAsync,
-    unsigned long ExceptionCode
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncCancelCall (
-     PRPC_ASYNC_STATE pAsync,
-     BOOL fAbort
-    ) ;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcAsyncCleanupThread (
-     DWORD dwTimeout
-    );
-
-typedef enum tagExtendedErrorParamTypes
-{
-    eeptAnsiString = 1,
-    eeptUnicodeString,
-    eeptLongVal,
-    eeptShortVal,
-    eeptPointerVal,
-    eeptNone,
-    eeptBinary
-} ExtendedErrorParamTypes;
-
-
-
-
-typedef struct tagBinaryParam
-{
-    void *Buffer;
-    short Size;
-} BinaryParam;
-
-typedef struct tagRPC_EE_INFO_PARAM
-{
-    ExtendedErrorParamTypes ParameterType;
-    union
-        {
-        LPSTR AnsiString;
-        LPWSTR UnicodeString;
-        long LVal;
-        short SVal;
-        ULONGLONG PVal;
-        BinaryParam BVal;
-        } u;
-} RPC_EE_INFO_PARAM;
-
-
-
-
-
-
-
-
-typedef struct tagRPC_EXTENDED_ERROR_INFO
-{
-    ULONG Version;
-    LPWSTR ComputerName;
-    ULONG ProcessID;
-    union
-        {
-        SYSTEMTIME SystemTime;
-        FILETIME FileTime;
-        } u;
-    ULONG GeneratingComponent;
-    ULONG Status;
-    USHORT DetectionLocation;
-    USHORT Flags;
-    int NumberOfParameters;
-    RPC_EE_INFO_PARAM Parameters[4];
-} RPC_EXTENDED_ERROR_INFO;
-
-typedef struct tagRPC_ERROR_ENUM_HANDLE
-{
-    ULONG Signature;
-    void *CurrentPos;
-    void *Head;
-} RPC_ERROR_ENUM_HANDLE;
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorStartEnumeration (
-      RPC_ERROR_ENUM_HANDLE *EnumHandle
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorGetNextRecord (
-     RPC_ERROR_ENUM_HANDLE *EnumHandle, 
-     BOOL CopyStrings, 
-     RPC_EXTENDED_ERROR_INFO *ErrorInfo
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorEndEnumeration (
-      RPC_ERROR_ENUM_HANDLE *EnumHandle
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorResetEnumeration (
-      RPC_ERROR_ENUM_HANDLE *EnumHandle
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorGetNumberOfRecords (
-     RPC_ERROR_ENUM_HANDLE *EnumHandle, 
-     int *Records
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorSaveErrorInfo (
-     RPC_ERROR_ENUM_HANDLE *EnumHandle, 
-     PVOID *ErrorBlob, 
-     size_t *BlobSize
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorLoadErrorInfo (
-     PVOID ErrorBlob, 
-     size_t BlobSize, 
-     RPC_ERROR_ENUM_HANDLE *EnumHandle
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcErrorAddRecord (
-     RPC_EXTENDED_ERROR_INFO *ErrorInfo
-    );
-
-__declspec(dllimport)
-void 
-__stdcall
-RpcErrorClearInformation (
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcGetAuthorizationContextForClient (
-     RPC_BINDING_HANDLE ClientBinding ,
-     BOOL ImpersonateOnReturn,
-     PVOID Reserved1,
-     PLARGE_INTEGER pExpirationTime ,
-     LUID Reserved2,
-     DWORD Reserved3,
-     PVOID Reserved4,
-     PVOID *pAuthzClientContext
-    );
-
-__declspec(dllimport)
-RPC_STATUS 
-__stdcall
-RpcFreeAuthorizationContext (
-      PVOID *pAuthzClientContext
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSsContextLockExclusive (
-     RPC_BINDING_HANDLE ServerBindingHandle,
-     PVOID UserContext
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSsContextLockShared (
-     RPC_BINDING_HANDLE ServerBindingHandle,
-     PVOID UserContext
-    );
-
-
-
-
-
-typedef struct tagRPC_CALL_ATTRIBUTES_V1_W
-{
-    unsigned int Version;
-    unsigned long Flags;
-    unsigned long ServerPrincipalNameBufferLength;
-    unsigned short *ServerPrincipalName;
-    unsigned long ClientPrincipalNameBufferLength;
-    unsigned short *ClientPrincipalName;
-    unsigned long AuthenticationLevel;
-    unsigned long AuthenticationService;
-    BOOL NullSession;
-} RPC_CALL_ATTRIBUTES_V1_W;
-
-typedef struct tagRPC_CALL_ATTRIBUTES_V1_A
-{
-    unsigned int Version;
-    unsigned long Flags;
-    unsigned long ServerPrincipalNameBufferLength;
-    unsigned char *ServerPrincipalName;
-    unsigned long ClientPrincipalNameBufferLength;
-    unsigned char *ClientPrincipalName;
-    unsigned long AuthenticationLevel;
-    unsigned long AuthenticationService;
-    BOOL NullSession;
-} RPC_CALL_ATTRIBUTES_V1_A;
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerInqCallAttributesW (
-     RPC_BINDING_HANDLE ClientBinding, 
-      void *RpcCallAttributes
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcServerInqCallAttributesA (
-     RPC_BINDING_HANDLE ClientBinding, 
-      void *RpcCallAttributes
-    );
-
-
-
-
-
-
-
-
-
-typedef RPC_CALL_ATTRIBUTES_V1_W RPC_CALL_ATTRIBUTES;
-
-
-
-
-RPC_STATUS __stdcall
-I_RpcAsyncSetHandle (
-      PRPC_MESSAGE Message,
-      PRPC_ASYNC_STATE pAsync
-    );
-
-RPC_STATUS __stdcall
-I_RpcAsyncAbortCall (
-     PRPC_ASYNC_STATE pAsync,
-     unsigned long ExceptionCode
-    ) ;
-
-int 
-__stdcall
-I_RpcExceptionFilter (
-    unsigned long ExceptionCode
-    );
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {            
-
-
-
-
-struct HDROP__ { int unused; }; typedef struct HDROP__ *HDROP;
-
-extern "C" __declspec(dllimport) UINT __stdcall DragQueryFileA(HDROP,UINT,LPSTR,UINT);
-extern "C" __declspec(dllimport) UINT __stdcall DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall DragQueryPoint(HDROP,LPPOINT);
-extern "C" __declspec(dllimport) void __stdcall DragFinish(HDROP);
-extern "C" __declspec(dllimport) void __stdcall DragAcceptFiles(HWND,BOOL);
-
-extern "C" __declspec(dllimport) HINSTANCE __stdcall ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd);
-extern "C" __declspec(dllimport) HINSTANCE __stdcall ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd);
-
-
-
-
-
-extern "C" __declspec(dllimport) HINSTANCE __stdcall FindExecutableA(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult);
-extern "C" __declspec(dllimport) HINSTANCE __stdcall FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult);
-
-
-
-
-
-extern "C" __declspec(dllimport) LPWSTR * __stdcall  CommandLineToArgvW(LPCWSTR lpCmdLine, int*pNumArgs);
-
-extern "C" __declspec(dllimport) INT __stdcall ShellAboutA(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon);
-extern "C" __declspec(dllimport) INT __stdcall ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon);
-
-
-
-
-
-extern "C" __declspec(dllimport) HICON __stdcall DuplicateIcon(HINSTANCE hInst, HICON hIcon);
-extern "C" __declspec(dllimport) HICON __stdcall ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon);
-extern "C" __declspec(dllimport) HICON __stdcall ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HICON __stdcall ExtractIconA(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex);
-extern "C" __declspec(dllimport) HICON __stdcall ExtractIconW(HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex);
-
-
-
-
-
-
-
-typedef struct _DRAGINFOA {
-    UINT uSize;                 
-    POINT pt;
-    BOOL fNC;
-    LPSTR   lpFileList;
-    DWORD grfKeyState;
-} DRAGINFOA, *LPDRAGINFOA;
-typedef struct _DRAGINFOW {
-    UINT uSize;                 
-    POINT pt;
-    BOOL fNC;
-    LPWSTR  lpFileList;
-    DWORD grfKeyState;
-} DRAGINFOW, *LPDRAGINFOW;
-
-typedef DRAGINFOW DRAGINFO;
-typedef LPDRAGINFOW LPDRAGINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _AppBarData
-{
-    DWORD cbSize;
-    HWND hWnd;
-    UINT uCallbackMessage;
-    UINT uEdge;
-    RECT rc;
-    LPARAM lParam; 
-} APPBARDATA, *PAPPBARDATA;
-
-
-extern "C" __declspec(dllimport) UINT_PTR __stdcall SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData);
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall   DoEnvironmentSubstA(LPSTR szString, UINT cchString);
-extern "C" __declspec(dllimport) DWORD __stdcall   DoEnvironmentSubstW(LPWSTR szString, UINT cchString);
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) UINT __stdcall ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons);
-extern "C" __declspec(dllimport) UINT __stdcall ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                      
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef WORD FILEOP_FLAGS;
-
-
-
-
-                                
-                                
-                                
-                                
-
-
-
-
-typedef WORD PRINTEROP_FLAGS;
-
-
-
-
-
-
-
-
-
-
-typedef struct _SHFILEOPSTRUCTA
-{
-        HWND            hwnd;
-        UINT            wFunc;
-        LPCSTR          pFrom;
-        LPCSTR          pTo;
-        FILEOP_FLAGS    fFlags;
-        BOOL            fAnyOperationsAborted;
-        LPVOID          hNameMappings;
-        LPCSTR           lpszProgressTitle; 
-} SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
-typedef struct _SHFILEOPSTRUCTW
-{
-        HWND            hwnd;
-        UINT            wFunc;
-        LPCWSTR         pFrom;
-        LPCWSTR         pTo;
-        FILEOP_FLAGS    fFlags;
-        BOOL            fAnyOperationsAborted;
-        LPVOID          hNameMappings;
-        LPCWSTR          lpszProgressTitle; 
-} SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
-
-typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT;
-typedef LPSHFILEOPSTRUCTW LPSHFILEOPSTRUCT;
-
-
-
-
-
-extern "C" __declspec(dllimport) int __stdcall SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp);
-extern "C" __declspec(dllimport) int __stdcall SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall SHFreeNameMappings(HANDLE hNameMappings);
-
-typedef struct _SHNAMEMAPPINGA
-{
-    LPSTR   pszOldPath;
-    LPSTR   pszNewPath;
-    int   cchOldPath;
-    int   cchNewPath;
-} SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA;
-typedef struct _SHNAMEMAPPINGW
-{
-    LPWSTR  pszOldPath;
-    LPWSTR  pszNewPath;
-    int   cchOldPath;
-    int   cchNewPath;
-} SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
-
-typedef SHNAMEMAPPINGW SHNAMEMAPPING;
-typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SHELLEXECUTEINFOA
-{
-        DWORD cbSize;
-        ULONG fMask;
-        HWND hwnd;
-        LPCSTR   lpVerb;
-        LPCSTR   lpFile;
-        LPCSTR   lpParameters;
-        LPCSTR   lpDirectory;
-        int nShow;
-        HINSTANCE hInstApp;
-        
-        LPVOID lpIDList;
-        LPCSTR   lpClass;
-        HKEY hkeyClass;
-        DWORD dwHotKey;
-        union {
-        HANDLE hIcon;
-        HANDLE hMonitor;
-        } ;
-        HANDLE hProcess;
-} SHELLEXECUTEINFOA, *LPSHELLEXECUTEINFOA;
-typedef struct _SHELLEXECUTEINFOW
-{
-        DWORD cbSize;
-        ULONG fMask;
-        HWND hwnd;
-        LPCWSTR  lpVerb;
-        LPCWSTR  lpFile;
-        LPCWSTR  lpParameters;
-        LPCWSTR  lpDirectory;
-        int nShow;
-        HINSTANCE hInstApp;
-        
-        LPVOID lpIDList;
-        LPCWSTR  lpClass;
-        HKEY hkeyClass;
-        DWORD dwHotKey;
-        union {
-        HANDLE hIcon;
-        HANDLE hMonitor;
-        } ;
-        HANDLE hProcess;
-} SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
-
-typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO;
-typedef LPSHELLEXECUTEINFOW LPSHELLEXECUTEINFO;
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo);
-extern "C" __declspec(dllimport) BOOL __stdcall ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall WinExecErrorA(HWND hwnd, int error, LPCSTR lpstrFileName, LPCSTR lpstrTitle);
-extern "C" __declspec(dllimport) void __stdcall WinExecErrorW(HWND hwnd, int error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle);
-
-
-
-
-
-
-
-
-typedef struct _SHCREATEPROCESSINFOW
-{
-        DWORD cbSize;
-        ULONG fMask;
-        HWND hwnd;
-        LPCWSTR  pszFile;
-        LPCWSTR  pszParameters;
-        LPCWSTR  pszCurrentDirectory;
-         HANDLE hUserToken;
-         LPSECURITY_ATTRIBUTES lpProcessAttributes;
-         LPSECURITY_ATTRIBUTES lpThreadAttributes;
-         BOOL bInheritHandles;
-         DWORD dwCreationFlags;
-         LPSTARTUPINFOW lpStartupInfo;
-         LPPROCESS_INFORMATION lpProcessInformation;
-} SHCREATEPROCESSINFOW, *PSHCREATEPROCESSINFOW;
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi);
-
-
-
-
-
-
-
-
-
-
-typedef struct _SHQUERYRBINFO {
-    DWORD   cbSize;
-
-    __int64 i64Size;
-    __int64 i64NumItems;
-
-
-
-
-} SHQUERYRBINFO, *LPSHQUERYRBINFO;
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
-extern "C" __declspec(dllimport) HRESULT __stdcall SHQueryRecycleBinW(LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHEmptyRecycleBinA(HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall SHEmptyRecycleBinW(HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _NOTIFYICONDATAA {
-        DWORD cbSize;
-        HWND hWnd;
-        UINT uID;
-        UINT uFlags;
-        UINT uCallbackMessage;
-        HICON hIcon;
-
-
-
-        CHAR   szTip[128];
-
-
-        DWORD dwState;
-        DWORD dwStateMask;
-        CHAR   szInfo[256];
-        union {
-            UINT  uTimeout;
-            UINT  uVersion;
-        } ;
-        CHAR   szInfoTitle[64];
-        DWORD dwInfoFlags;
-
-
-        GUID guidItem;
-
-} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
-typedef struct _NOTIFYICONDATAW {
-        DWORD cbSize;
-        HWND hWnd;
-        UINT uID;
-        UINT uFlags;
-        UINT uCallbackMessage;
-        HICON hIcon;
-
-
-
-        WCHAR  szTip[128];
-
-
-        DWORD dwState;
-        DWORD dwStateMask;
-        WCHAR  szInfo[256];
-        union {
-            UINT  uTimeout;
-            UINT  uVersion;
-        } ;
-        WCHAR  szInfoTitle[64];
-        DWORD dwInfoFlags;
-
-
-        GUID guidItem;
-
-} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
-
-typedef NOTIFYICONDATAW NOTIFYICONDATA;
-typedef PNOTIFYICONDATAW PNOTIFYICONDATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData);
-extern "C" __declspec(dllimport) BOOL __stdcall Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SHFILEINFOA
-{
-        HICON       hIcon;                      
-        int         iIcon;                      
-        DWORD       dwAttributes;               
-        CHAR        szDisplayName[260];    
-        CHAR        szTypeName[80];             
-} SHFILEINFOA;
-typedef struct _SHFILEINFOW
-{
-        HICON       hIcon;                      
-        int         iIcon;                      
-        DWORD       dwAttributes;               
-        WCHAR       szDisplayName[260];    
-        WCHAR       szTypeName[80];             
-} SHFILEINFOW;
-
-typedef SHFILEINFOW SHFILEINFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                
-
-
-extern "C" __declspec(dllimport) DWORD_PTR __stdcall SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags);
-extern "C" __declspec(dllimport) DWORD_PTR __stdcall SHGetFileInfoW(LPCWSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags);
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHGetDiskFreeSpaceExA(LPCSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes);
-extern "C" __declspec(dllimport) BOOL __stdcall SHGetDiskFreeSpaceExW(LPCWSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHGetNewLinkInfoA(LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, BOOL *pfMustCopy, UINT uFlags);
-extern "C" __declspec(dllimport) BOOL __stdcall SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHInvokePrinterCommandA(HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, BOOL fModal);
-extern "C" __declspec(dllimport) BOOL __stdcall SHInvokePrinterCommandW(HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, BOOL fModal);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHLoadNonloadedIconOverlayIdentifiers(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHIsFileAvailableOffline(LPCWSTR pwszPath, LPDWORD pdwStatus);
-
-
-
-
-                                            
-                                            
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHSetLocalizedName(LPWSTR pszPath, LPCWSTR pszResModule, int idsRes);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __stdcall          SHEnumerateUnreadMailAccountsA(HKEY hKeyUser, DWORD dwIndex, LPSTR pszMailAddress, int cchMailAddress);
-extern "C" HRESULT __stdcall          SHEnumerateUnreadMailAccountsW(HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress);
-
-
-
-
-
-extern "C" HRESULT __stdcall          SHGetUnreadMailCountA(HKEY hKeyUser, LPCSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPSTR pszShellExecuteCommand, int cchShellExecuteCommand);
-extern "C" HRESULT __stdcall          SHGetUnreadMailCountW(HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPWSTR pszShellExecuteCommand, int cchShellExecuteCommand);
-
-
-
-
-
-extern "C" HRESULT __stdcall          SHSetUnreadMailCountA(LPCSTR pszMailAddress, DWORD dwCount, LPCSTR pszShellExecuteCommand);
-extern "C" HRESULT __stdcall          SHSetUnreadMailCountW(LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __stdcall SHGetImageList(int iImageList, const IID & riid, void **ppvObj);
-
-
-
-
-
-
-
-
-
-
-typedef HRESULT (__stdcall *PFNCANSHAREFOLDERW)( LPCWSTR pszPath);
-typedef HRESULT (__stdcall *PFNSHOWSHAREFOLDERUIW)( HWND hwndParent,  LPCWSTR pszPath);
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PERF_DATA_BLOCK {
-    WCHAR           Signature[4];       
-    DWORD           LittleEndian;       
-    DWORD           Version;            
-                                        
-    DWORD           Revision;           
-                                        
-    DWORD           TotalByteLength;    
-    DWORD           HeaderLength;       
-    DWORD           NumObjectTypes;     
-                                        
-    LONG            DefaultObject;      
-                                        
-                                        
-                                        
-                                        
-    SYSTEMTIME      SystemTime;         
-                                        
-    LARGE_INTEGER   PerfTime;           
-                                        
-    LARGE_INTEGER   PerfFreq;           
-                                        
-    LARGE_INTEGER   PerfTime100nSec;    
-                                        
-    DWORD           SystemNameLength;   
-    DWORD           SystemNameOffset;   
-                                        
-                                        
-} PERF_DATA_BLOCK, *PPERF_DATA_BLOCK;
-
-
-
-
-
-
-
-
-
-typedef struct _PERF_OBJECT_TYPE {
-    DWORD           TotalByteLength;    
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-    DWORD           DefinitionLength;   
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-    DWORD           HeaderLength;       
-                                        
-                                        
-                                        
-    DWORD           ObjectNameTitleIndex;
-                                        
-
-
-
-    LPWSTR          ObjectNameTitle;    
-                                        
-                                        
-
-    DWORD           ObjectHelpTitleIndex;
-                                        
-
-
-
-    LPWSTR          ObjectHelpTitle;    
-                                        
-                                        
-
-    DWORD           DetailLevel;        
-                                        
-                                        
-                                        
-    DWORD           NumCounters;        
-                                        
-                                        
-    LONG            DefaultCounter;     
-                                        
-                                        
-                                        
-    LONG            NumInstances;       
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-                                        
-    DWORD           CodePage;           
-                                        
-                                        
-    LARGE_INTEGER   PerfTime;           
-                                        
-    LARGE_INTEGER   PerfFreq;           
-                                        
-} PERF_OBJECT_TYPE, *PPERF_OBJECT_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                            
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PERF_COUNTER_DEFINITION {
-    DWORD           ByteLength;         
-    DWORD           CounterNameTitleIndex;
-                                        
-                                        
-
-
-
-    LPWSTR          CounterNameTitle;   
-                                        
-                                        
-
-    DWORD           CounterHelpTitleIndex;
-                                        
-                                        
-
-
-
-    LPWSTR          CounterHelpTitle;   
-                                        
-                                        
-
-    LONG            DefaultScale;       
-                                        
-                                        
-    DWORD           DetailLevel;        
-                                        
-    DWORD           CounterType;        
-    DWORD           CounterSize;        
-    DWORD           CounterOffset;      
-                                        
-                                        
-} PERF_COUNTER_DEFINITION, *PPERF_COUNTER_DEFINITION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PERF_INSTANCE_DEFINITION {
-    DWORD           ByteLength;         
-                                        
-    DWORD           ParentObjectTitleIndex;
-                                        
-                                        
-                                        
-                                        
-                                        
-    DWORD           ParentObjectInstance;
-                                        
-                                        
-                                        
-    LONG            UniqueID;           
-                                        
-                                        
-    DWORD           NameOffset;         
-                                        
-                                        
-    DWORD           NameLength;         
-                                        
-                                        
-                                        
-                                        
-                                        
-} PERF_INSTANCE_DEFINITION, *PPERF_INSTANCE_DEFINITION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PERF_COUNTER_BLOCK {
-    DWORD           ByteLength;         
-                                        
-} PERF_COUNTER_BLOCK, *PPERF_COUNTER_BLOCK;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef DWORD (__stdcall PM_OPEN_PROC) (LPWSTR);
-typedef DWORD (__stdcall PM_COLLECT_PROC) (LPWSTR, LPVOID *, LPDWORD, LPDWORD);
-typedef DWORD (__stdcall PM_CLOSE_PROC) (void);
-typedef DWORD (__stdcall PM_QUERY_PROC) (LPDWORD, LPVOID *, LPDWORD, LPDWORD);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)    
-
-
-
-#pragma once
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned int ALG_ID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef ULONG_PTR HCRYPTPROV;
-typedef ULONG_PTR HCRYPTKEY;
-typedef ULONG_PTR HCRYPTHASH;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                            
-                                            
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMS_KEY_INFO {
-    DWORD       dwVersion;                      
-    ALG_ID  Algid;                              
-    BYTE    *pbOID;                             
-    DWORD   cbOID;                              
-} CMS_KEY_INFO, *PCMS_KEY_INFO;
-
-
-typedef struct _HMAC_Info {
-    ALG_ID  HashAlgid;
-    BYTE    *pbInnerString;
-    DWORD   cbInnerString;
-    BYTE    *pbOuterString;
-    DWORD   cbOuterString;
-} HMAC_INFO, *PHMAC_INFO;
-
-
-typedef struct _SCHANNEL_ALG {
-    DWORD   dwUse;
-    ALG_ID  Algid;
-    DWORD   cBits;
-    DWORD   dwFlags;
-    DWORD   dwReserved;
-} SCHANNEL_ALG, *PSCHANNEL_ALG;
-
-
-
-
-
-
-
-
-typedef struct _PROV_ENUMALGS {
-    ALG_ID    aiAlgid;
-    DWORD     dwBitLen;
-    DWORD     dwNameLen;
-    CHAR      szName[20];
-} PROV_ENUMALGS;
-
-typedef struct _PROV_ENUMALGS_EX {
-    ALG_ID    aiAlgid;
-    DWORD     dwDefaultLen;
-    DWORD     dwMinLen;
-    DWORD     dwMaxLen;
-    DWORD     dwProtocols;
-    DWORD     dwNameLen;
-    CHAR      szName[20];
-    DWORD     dwLongNameLen;
-    CHAR      szLongName[40];
-} PROV_ENUMALGS_EX;
-
-typedef struct _PUBLICKEYSTRUC {
-        BYTE    bType;
-        BYTE    bVersion;
-        WORD    reserved;
-        ALG_ID  aiKeyAlg;
-} BLOBHEADER, PUBLICKEYSTRUC;
-
-typedef struct _RSAPUBKEY {
-        DWORD   magic;                  
-        DWORD   bitlen;                 
-        DWORD   pubexp;                 
-                                        
-} RSAPUBKEY;
-
-typedef struct _PUBKEY {
-        DWORD   magic;
-        DWORD   bitlen;                 
-} DHPUBKEY, DSSPUBKEY, KEAPUBKEY, TEKPUBKEY;
-
-typedef struct _DSSSEED {
-        DWORD   counter;
-        BYTE    seed[20];
-} DSSSEED;
-
-typedef struct _PUBKEYVER3 {
-        DWORD   magic;
-        DWORD   bitlenP;                
-        DWORD   bitlenQ;                
-        DWORD   bitlenJ;                
-        DSSSEED DSSSeed;
-} DHPUBKEY_VER3, DSSPUBKEY_VER3;
-
-typedef struct _PRIVKEYVER3 {
-        DWORD   magic;
-        DWORD   bitlenP;                
-        DWORD   bitlenQ;                
-        DWORD   bitlenJ;                
-        DWORD   bitlenX;                
-        DSSSEED DSSSeed;
-} DHPRIVKEY_VER3, DSSPRIVKEY_VER3;
-
-typedef struct _KEY_TYPE_SUBTYPE {
-        DWORD   dwKeySpec;
-        GUID    Type;
-        GUID    Subtype;
-} KEY_TYPE_SUBTYPE, *PKEY_TYPE_SUBTYPE;
-
-typedef struct _CERT_FORTEZZA_DATA_PROP {
-    unsigned char   SerialNumber[8];
-    int             CertIndex;
-    unsigned char   CertLabel[36];
-} CERT_FORTEZZA_DATA_PROP;
-
-typedef struct _CRYPT_RC4_KEY_STATE {
-    unsigned char Key[16];
-    unsigned char SBox[256];
-    unsigned char i;
-    unsigned char j;
-} CRYPT_RC4_KEY_STATE, *PCRYPT_RC4_KEY_STATE;
-
-typedef struct _CRYPT_DES_KEY_STATE {
-    unsigned char Key[8];
-    unsigned char IV[8];
-    unsigned char Feedback[8];
-} CRYPT_DES_KEY_STATE, *PCRYPT_DES_KEY_STATE;
-
-typedef struct _CRYPT_3DES_KEY_STATE {
-    unsigned char Key[24];
-    unsigned char IV[8];
-    unsigned char Feedback[8];
-} CRYPT_3DES_KEY_STATE, *PCRYPT_3DES_KEY_STATE;
-
-
-
-
-
-typedef struct _CRYPTOAPI_BLOB {
-    DWORD   cbData;
-    BYTE    *pbData;
-} CRYPT_INTEGER_BLOB, *PCRYPT_INTEGER_BLOB,
-CRYPT_UINT_BLOB, *PCRYPT_UINT_BLOB,
-CRYPT_OBJID_BLOB, *PCRYPT_OBJID_BLOB,
-CERT_NAME_BLOB, *PCERT_NAME_BLOB,
-CERT_RDN_VALUE_BLOB, *PCERT_RDN_VALUE_BLOB,
-CERT_BLOB, *PCERT_BLOB,
-CRL_BLOB, *PCRL_BLOB,
-DATA_BLOB, *PDATA_BLOB,
-CRYPT_DATA_BLOB, *PCRYPT_DATA_BLOB,
-CRYPT_HASH_BLOB, *PCRYPT_HASH_BLOB,
-CRYPT_DIGEST_BLOB, *PCRYPT_DIGEST_BLOB,
-CRYPT_DER_BLOB, *PCRYPT_DER_BLOB,
-CRYPT_ATTR_BLOB, *PCRYPT_ATTR_BLOB;
-
-
-typedef struct _CMS_DH_KEY_INFO {
-    DWORD               dwVersion;                      
-    ALG_ID          Algid;                              
-    LPSTR           pszContentEncObjId; 
-    CRYPT_DATA_BLOB PubInfo;            
-    void            *pReserved;         
-} CMS_DH_KEY_INFO, *PCMS_DH_KEY_INFO;
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptAcquireContextA(
-    HCRYPTPROV *phProv,
-    LPCSTR szContainer,
-    LPCSTR szProvider,
-    DWORD dwProvType,
-    DWORD dwFlags
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptAcquireContextW(
-    HCRYPTPROV *phProv,
-    LPCWSTR szContainer,
-    LPCWSTR szProvider,
-    DWORD dwProvType,
-    DWORD dwFlags
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptReleaseContext(
-    HCRYPTPROV hProv,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGenKey(
-    HCRYPTPROV hProv,
-    ALG_ID Algid,
-    DWORD dwFlags,
-    HCRYPTKEY *phKey
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDeriveKey(
-    HCRYPTPROV hProv,
-    ALG_ID Algid,
-    HCRYPTHASH hBaseData,
-    DWORD dwFlags,
-    HCRYPTKEY *phKey
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDestroyKey(
-    HCRYPTKEY hKey
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetKeyParam(
-    HCRYPTKEY hKey,
-    DWORD dwParam,
-    const BYTE *pbData,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetKeyParam(
-    HCRYPTKEY hKey,
-    DWORD dwParam,
-    BYTE *pbData,
-    DWORD *pdwDataLen,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetHashParam(
-    HCRYPTHASH hHash,
-    DWORD dwParam,
-    const BYTE *pbData,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetHashParam(
-    HCRYPTHASH hHash,
-    DWORD dwParam,
-    BYTE *pbData,
-    DWORD *pdwDataLen,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetProvParam(
-    HCRYPTPROV hProv,
-    DWORD dwParam,
-    const BYTE *pbData,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetProvParam(
-    HCRYPTPROV hProv,
-    DWORD dwParam,
-    BYTE *pbData,
-    DWORD *pdwDataLen,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGenRandom(
-    HCRYPTPROV hProv,
-    DWORD dwLen,
-    BYTE *pbBuffer
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetUserKey(
-    HCRYPTPROV hProv,
-    DWORD dwKeySpec,
-    HCRYPTKEY *phUserKey
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptExportKey(
-    HCRYPTKEY hKey,
-    HCRYPTKEY hExpKey,
-    DWORD dwBlobType,
-    DWORD dwFlags,
-    BYTE *pbData,
-    DWORD *pdwDataLen
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptImportKey(
-    HCRYPTPROV hProv,
-    const BYTE *pbData,
-    DWORD dwDataLen,
-    HCRYPTKEY hPubKey,
-    DWORD dwFlags,
-    HCRYPTKEY *phKey
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEncrypt(
-    HCRYPTKEY hKey,
-    HCRYPTHASH hHash,
-    BOOL Final,
-    DWORD dwFlags,
-    BYTE *pbData,
-    DWORD *pdwDataLen,
-    DWORD dwBufLen
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDecrypt(
-    HCRYPTKEY hKey,
-    HCRYPTHASH hHash,
-    BOOL Final,
-    DWORD dwFlags,
-    BYTE *pbData,
-    DWORD *pdwDataLen
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptCreateHash(
-    HCRYPTPROV hProv,
-    ALG_ID Algid,
-    HCRYPTKEY hKey,
-    DWORD dwFlags,
-    HCRYPTHASH *phHash
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptHashData(
-    HCRYPTHASH hHash,
-    const BYTE *pbData,
-    DWORD dwDataLen,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptHashSessionKey(
-    HCRYPTHASH hHash,
-    HCRYPTKEY hKey,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDestroyHash(
-    HCRYPTHASH hHash
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignHashA(
-    HCRYPTHASH hHash,
-    DWORD dwKeySpec,
-    LPCSTR szDescription,
-    DWORD dwFlags,
-    BYTE *pbSignature,
-    DWORD *pdwSigLen
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignHashW(
-    HCRYPTHASH hHash,
-    DWORD dwKeySpec,
-    LPCWSTR szDescription,
-    DWORD dwFlags,
-    BYTE *pbSignature,
-    DWORD *pdwSigLen
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifySignatureA(
-    HCRYPTHASH hHash,
-    const BYTE *pbSignature,
-    DWORD dwSigLen,
-    HCRYPTKEY hPubKey,
-    LPCSTR szDescription,
-    DWORD dwFlags
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifySignatureW(
-    HCRYPTHASH hHash,
-    const BYTE *pbSignature,
-    DWORD dwSigLen,
-    HCRYPTKEY hPubKey,
-    LPCWSTR szDescription,
-    DWORD dwFlags
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetProviderA(
-    LPCSTR pszProvName,
-    DWORD dwProvType
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetProviderW(
-    LPCWSTR pszProvName,
-    DWORD dwProvType
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetProviderExA(
-    LPCSTR pszProvName,
-    DWORD dwProvType,
-    DWORD *pdwReserved,
-    DWORD dwFlags
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetProviderExW(
-    LPCWSTR pszProvName,
-    DWORD dwProvType,
-    DWORD *pdwReserved,
-    DWORD dwFlags
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetDefaultProviderA(
-    DWORD dwProvType,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    LPSTR pszProvName,
-    DWORD *pcbProvName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetDefaultProviderW(
-    DWORD dwProvType,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    LPWSTR pszProvName,
-    DWORD *pcbProvName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumProviderTypesA(
-    DWORD dwIndex,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    DWORD *pdwProvType,
-    LPSTR szTypeName,
-    DWORD *pcbTypeName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumProviderTypesW(
-    DWORD dwIndex,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    DWORD *pdwProvType,
-    LPWSTR szTypeName,
-    DWORD *pcbTypeName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumProvidersA(
-    DWORD dwIndex,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    DWORD *pdwProvType,
-    LPSTR szProvName,
-    DWORD *pcbProvName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumProvidersW(
-    DWORD dwIndex,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    DWORD *pdwProvType,
-    LPWSTR szProvName,
-    DWORD *pcbProvName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptContextAddRef(
-    HCRYPTPROV hProv,
-    DWORD *pdwReserved,
-    DWORD dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDuplicateKey(
-    HCRYPTKEY hKey,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    HCRYPTKEY *phKey
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDuplicateHash(
-    HCRYPTHASH hHash,
-    DWORD *pdwReserved,
-    DWORD dwFlags,
-    HCRYPTHASH *phHash
-    );
-
-
-
-
-
-
-
-BOOL 
-__cdecl 
-GetEncSChannel(
-    BYTE **pData, 
-    DWORD *dwDecSize
-    );
-
-
-
-
-
-typedef struct _CRYPT_BIT_BLOB {
-    DWORD   cbData;
-    BYTE    *pbData;
-    DWORD   cUnusedBits;
-} CRYPT_BIT_BLOB, *PCRYPT_BIT_BLOB;
-
-
-
-
-
-
-
-typedef struct _CRYPT_ALGORITHM_IDENTIFIER {
-    LPSTR               pszObjId;
-    CRYPT_OBJID_BLOB    Parameters;
-} CRYPT_ALGORITHM_IDENTIFIER, *PCRYPT_ALGORITHM_IDENTIFIER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_OBJID_TABLE {
-    DWORD   dwAlgId;
-    LPCSTR  pszObjId;
-} CRYPT_OBJID_TABLE, *PCRYPT_OBJID_TABLE;
-
-
-
-
-
-typedef struct _CRYPT_HASH_INFO {
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    CRYPT_HASH_BLOB             Hash;
-} CRYPT_HASH_INFO, *PCRYPT_HASH_INFO;
-
-
-
-
-
-
-typedef struct _CERT_EXTENSION {
-    LPSTR               pszObjId;
-    BOOL                fCritical;
-    CRYPT_OBJID_BLOB    Value;
-} CERT_EXTENSION, *PCERT_EXTENSION;
-
-
-
-
-
-
-typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE {
-    LPSTR               pszObjId;
-    CRYPT_OBJID_BLOB    Value;
-} CRYPT_ATTRIBUTE_TYPE_VALUE, *PCRYPT_ATTRIBUTE_TYPE_VALUE;
-
-
-
-
-
-
-typedef struct _CRYPT_ATTRIBUTE {
-    LPSTR               pszObjId;
-    DWORD               cValue;
-    PCRYPT_ATTR_BLOB    rgValue;
-} CRYPT_ATTRIBUTE, *PCRYPT_ATTRIBUTE;
-
-typedef struct _CRYPT_ATTRIBUTES {
-     DWORD                cAttr;
-     PCRYPT_ATTRIBUTE     rgAttr;
-} CRYPT_ATTRIBUTES, *PCRYPT_ATTRIBUTES;
-
-
-
-
-
-
-
-typedef struct _CERT_RDN_ATTR {
-    LPSTR                   pszObjId;
-    DWORD                   dwValueType;
-    CERT_RDN_VALUE_BLOB     Value;
-} CERT_RDN_ATTR, *PCERT_RDN_ATTR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_RDN {
-    DWORD           cRDNAttr;
-    PCERT_RDN_ATTR  rgRDNAttr;
-} CERT_RDN, *PCERT_RDN;
-
-
-
-
-
-typedef struct _CERT_NAME_INFO {
-    DWORD       cRDN;
-    PCERT_RDN   rgRDN;
-} CERT_NAME_INFO, *PCERT_NAME_INFO;
-
-
-
-
-
-
-
-typedef struct _CERT_NAME_VALUE {
-    DWORD               dwValueType;
-    CERT_RDN_VALUE_BLOB Value;
-} CERT_NAME_VALUE, *PCERT_NAME_VALUE;
-
-
-
-
-
-
-
-typedef struct _CERT_PUBLIC_KEY_INFO {
-    CRYPT_ALGORITHM_IDENTIFIER    Algorithm;
-    CRYPT_BIT_BLOB                PublicKey;
-} CERT_PUBLIC_KEY_INFO, *PCERT_PUBLIC_KEY_INFO;
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_PRIVATE_KEY_INFO{
-    DWORD                       Version;
-    CRYPT_ALGORITHM_IDENTIFIER  Algorithm;
-    CRYPT_DER_BLOB              PrivateKey;
-    PCRYPT_ATTRIBUTES           pAttributes;
-}  CRYPT_PRIVATE_KEY_INFO, *PCRYPT_PRIVATE_KEY_INFO;
-
-
-
-
-
-typedef struct _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO{
-    CRYPT_ALGORITHM_IDENTIFIER  EncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedPrivateKey;
-} CRYPT_ENCRYPTED_PRIVATE_KEY_INFO, *PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PCRYPT_DECRYPT_PRIVATE_KEY_FUNC)(
-                                                        CRYPT_ALGORITHM_IDENTIFIER  Algorithm,
-                                                        CRYPT_DATA_BLOB             EncryptedPrivateKey,
-                                                        BYTE                        *pbClearTextKey,
-                                                        DWORD                       *pcbClearTextKey,
-                                                        LPVOID                      pVoidDecryptFunc);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC)(
-                                                        CRYPT_ALGORITHM_IDENTIFIER* pAlgorithm,
-                                                        CRYPT_DATA_BLOB*            pClearTextPrivateKey,
-                                                        BYTE                        *pbEncryptedKey,
-                                                        DWORD                       *pcbEncryptedKey,
-                                                        LPVOID                      pVoidEncryptFunc);
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PCRYPT_RESOLVE_HCRYPTPROV_FUNC)(
-                                                       CRYPT_PRIVATE_KEY_INFO      *pPrivateKeyInfo,
-                                                       HCRYPTPROV                  *phCryptProv,
-                                                       LPVOID                      pVoidResolveFunc);
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_PKCS8_IMPORT_PARAMS{
-    CRYPT_DIGEST_BLOB               PrivateKey;             
-    PCRYPT_RESOLVE_HCRYPTPROV_FUNC  pResolvehCryptProvFunc; 
-    LPVOID                          pVoidResolveFunc;       
-    PCRYPT_DECRYPT_PRIVATE_KEY_FUNC pDecryptPrivateKeyFunc;
-    LPVOID                          pVoidDecryptFunc;
-} CRYPT_PKCS8_IMPORT_PARAMS, *PCRYPT_PKCS8_IMPORT_PARAMS, CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS, *PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS;
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_PKCS8_EXPORT_PARAMS{
-    HCRYPTPROV                      hCryptProv;
-    DWORD                           dwKeySpec;
-    LPSTR                           pszPrivateKeyObjId;
-
-    PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC pEncryptPrivateKeyFunc;
-    LPVOID                          pVoidEncryptFunc;
-} CRYPT_PKCS8_EXPORT_PARAMS, *PCRYPT_PKCS8_EXPORT_PARAMS;
-
-
-
-
-
-
-
-typedef struct _CERT_INFO {
-    DWORD                       dwVersion;
-    CRYPT_INTEGER_BLOB          SerialNumber;
-    CRYPT_ALGORITHM_IDENTIFIER  SignatureAlgorithm;
-    CERT_NAME_BLOB              Issuer;
-    FILETIME                    NotBefore;
-    FILETIME                    NotAfter;
-    CERT_NAME_BLOB              Subject;
-    CERT_PUBLIC_KEY_INFO        SubjectPublicKeyInfo;
-    CRYPT_BIT_BLOB              IssuerUniqueId;
-    CRYPT_BIT_BLOB              SubjectUniqueId;
-    DWORD                       cExtension;
-    PCERT_EXTENSION             rgExtension;
-} CERT_INFO, *PCERT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_ENTRY {
-    CRYPT_INTEGER_BLOB  SerialNumber;
-    FILETIME            RevocationDate;
-    DWORD               cExtension;
-    PCERT_EXTENSION     rgExtension;
-} CRL_ENTRY, *PCRL_ENTRY;
-
-
-
-
-
-
-
-typedef struct _CRL_INFO {
-    DWORD                       dwVersion;
-    CRYPT_ALGORITHM_IDENTIFIER  SignatureAlgorithm;
-    CERT_NAME_BLOB              Issuer;
-    FILETIME                    ThisUpdate;
-    FILETIME                    NextUpdate;
-    DWORD                       cCRLEntry;
-    PCRL_ENTRY                  rgCRLEntry;
-    DWORD                       cExtension;
-    PCERT_EXTENSION             rgExtension;
-} CRL_INFO, *PCRL_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REQUEST_INFO {
-    DWORD                   dwVersion;
-    CERT_NAME_BLOB          Subject;
-    CERT_PUBLIC_KEY_INFO    SubjectPublicKeyInfo;
-    DWORD                   cAttribute;
-    PCRYPT_ATTRIBUTE        rgAttribute;
-} CERT_REQUEST_INFO, *PCERT_REQUEST_INFO;
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_KEYGEN_REQUEST_INFO {
-    DWORD                   dwVersion;
-    CERT_PUBLIC_KEY_INFO    SubjectPublicKeyInfo;
-    LPWSTR                  pwszChallengeString;        
-} CERT_KEYGEN_REQUEST_INFO, *PCERT_KEYGEN_REQUEST_INFO;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_SIGNED_CONTENT_INFO {
-    CRYPT_DER_BLOB              ToBeSigned;
-    CRYPT_ALGORITHM_IDENTIFIER  SignatureAlgorithm;
-    CRYPT_BIT_BLOB              Signature;
-} CERT_SIGNED_CONTENT_INFO, *PCERT_SIGNED_CONTENT_INFO;
-
-
-
-
-
-
-
-
-
-typedef struct _CTL_USAGE {
-    DWORD               cUsageIdentifier;
-    LPSTR               *rgpszUsageIdentifier;      
-} CTL_USAGE, *PCTL_USAGE,
-CERT_ENHKEY_USAGE, *PCERT_ENHKEY_USAGE;
-
-
-
-
-
-typedef struct _CTL_ENTRY {
-    CRYPT_DATA_BLOB     SubjectIdentifier;          
-    DWORD               cAttribute;
-    PCRYPT_ATTRIBUTE    rgAttribute;                
-} CTL_ENTRY, *PCTL_ENTRY;
-
-
-
-
-typedef struct _CTL_INFO {
-    DWORD                       dwVersion;
-    CTL_USAGE                   SubjectUsage;
-    CRYPT_DATA_BLOB             ListIdentifier;     
-    CRYPT_INTEGER_BLOB          SequenceNumber;     
-    FILETIME                    ThisUpdate;
-    FILETIME                    NextUpdate;         
-    CRYPT_ALGORITHM_IDENTIFIER  SubjectAlgorithm;
-    DWORD                       cCTLEntry;
-    PCTL_ENTRY                  rgCTLEntry;         
-    DWORD                       cExtension;
-    PCERT_EXTENSION             rgExtension;        
-} CTL_INFO, *PCTL_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_TIME_STAMP_REQUEST_INFO {
-    LPSTR                   pszTimeStampAlgorithm;   
-    LPSTR                   pszContentType;          
-    CRYPT_OBJID_BLOB        Content;
-    DWORD                   cAttribute;
-    PCRYPT_ATTRIBUTE        rgAttribute;
-} CRYPT_TIME_STAMP_REQUEST_INFO, *PCRYPT_TIME_STAMP_REQUEST_INFO;
-
-
-
-
-typedef struct _CRYPT_ENROLLMENT_NAME_VALUE_PAIR {
-    LPWSTR      pwszName;
-    LPWSTR      pwszValue;
-} CRYPT_ENROLLMENT_NAME_VALUE_PAIR, * PCRYPT_ENROLLMENT_NAME_VALUE_PAIR;
-
-
-
-
-typedef struct _CRYPT_CSP_PROVIDER {
-    DWORD           dwKeySpec;
-    LPWSTR          pwszProviderName;
-    CRYPT_BIT_BLOB  Signature;
-} CRYPT_CSP_PROVIDER, * PCRYPT_CSP_PROVIDER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptFormatObject(
-     DWORD dwCertEncodingType,
-     DWORD dwFormatType,
-     DWORD dwFormatStrType,
-     void  *pFormatStruct,
-     LPCSTR lpszStructType,
-     const BYTE *pbEncoded,
-     DWORD cbEncoded,
-     void *pbFormat,
-      DWORD *pcbFormat
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef LPVOID (__stdcall *PFN_CRYPT_ALLOC)(
-     size_t cbSize
-    );
-
-typedef void (__stdcall *PFN_CRYPT_FREE)(
-     LPVOID pv
-    );
-
-
-typedef struct _CRYPT_ENCODE_PARA {
-    DWORD                   cbSize;
-    PFN_CRYPT_ALLOC         pfnAlloc;           
-    PFN_CRYPT_FREE          pfnFree;            
-} CRYPT_ENCODE_PARA, *PCRYPT_ENCODE_PARA;
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEncodeObjectEx(
-     DWORD dwCertEncodingType,
-     LPCSTR lpszStructType,
-     const void *pvStructInfo,
-     DWORD dwFlags,
-      PCRYPT_ENCODE_PARA pEncodePara,
-     void *pvEncoded,
-      DWORD *pcbEncoded
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEncodeObject(
-     DWORD        dwCertEncodingType,
-     LPCSTR       lpszStructType,
-     const void   *pvStructInfo,
-     BYTE        *pbEncoded,
-      DWORD    *pcbEncoded
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_DECODE_PARA {
-    DWORD                   cbSize;
-    PFN_CRYPT_ALLOC         pfnAlloc;           
-    PFN_CRYPT_FREE          pfnFree;            
-} CRYPT_DECODE_PARA, *PCRYPT_DECODE_PARA;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDecodeObjectEx(
-     DWORD dwCertEncodingType,
-     LPCSTR lpszStructType,
-     const BYTE *pbEncoded,
-     DWORD cbEncoded,
-     DWORD dwFlags,
-      PCRYPT_DECODE_PARA pDecodePara,
-      void *pvStructInfo,
-      DWORD *pcbStructInfo
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDecodeObject(
-     DWORD        dwCertEncodingType,
-     LPCSTR       lpszStructType,
-     const BYTE   *pbEncoded,
-     DWORD        cbEncoded,
-     DWORD        dwFlags,
-     void        *pvStructInfo,
-      DWORD    *pcbStructInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_EXTENSIONS {
-    DWORD           cExtension;
-    PCERT_EXTENSION rgExtension;
-} CERT_EXTENSIONS, *PCERT_EXTENSIONS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_AUTHORITY_KEY_ID_INFO {
-    CRYPT_DATA_BLOB     KeyId;
-    CERT_NAME_BLOB      CertIssuer;
-    CRYPT_INTEGER_BLOB  CertSerialNumber;
-} CERT_AUTHORITY_KEY_ID_INFO, *PCERT_AUTHORITY_KEY_ID_INFO;
-
-
-
-
-
-
-
-typedef struct _CERT_PRIVATE_KEY_VALIDITY {
-    FILETIME            NotBefore;
-    FILETIME            NotAfter;
-} CERT_PRIVATE_KEY_VALIDITY, *PCERT_PRIVATE_KEY_VALIDITY;
-
-typedef struct _CERT_KEY_ATTRIBUTES_INFO {
-    CRYPT_DATA_BLOB             KeyId;
-    CRYPT_BIT_BLOB              IntendedKeyUsage;
-    PCERT_PRIVATE_KEY_VALIDITY  pPrivateKeyUsagePeriod;     
-} CERT_KEY_ATTRIBUTES_INFO, *PCERT_KEY_ATTRIBUTES_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_POLICY_ID {
-    DWORD                   cCertPolicyElementId;
-    LPSTR                   *rgpszCertPolicyElementId;  
-} CERT_POLICY_ID, *PCERT_POLICY_ID;
-
-typedef struct _CERT_KEY_USAGE_RESTRICTION_INFO {
-    DWORD                   cCertPolicyId;
-    PCERT_POLICY_ID         rgCertPolicyId;
-    CRYPT_BIT_BLOB          RestrictedKeyUsage;
-} CERT_KEY_USAGE_RESTRICTION_INFO, *PCERT_KEY_USAGE_RESTRICTION_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_OTHER_NAME {
-    LPSTR               pszObjId;
-    CRYPT_OBJID_BLOB    Value;
-} CERT_OTHER_NAME, *PCERT_OTHER_NAME;
-
-typedef struct _CERT_ALT_NAME_ENTRY {
-    DWORD   dwAltNameChoice;
-    union {
-        PCERT_OTHER_NAME            pOtherName;         
-        LPWSTR                      pwszRfc822Name;     
-        LPWSTR                      pwszDNSName;        
-        
-        CERT_NAME_BLOB              DirectoryName;      
-        
-        LPWSTR                      pwszURL;            
-        CRYPT_DATA_BLOB             IPAddress;          
-        LPSTR                       pszRegisteredID;    
-    };
-} CERT_ALT_NAME_ENTRY, *PCERT_ALT_NAME_ENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_ALT_NAME_INFO {
-    DWORD                   cAltEntry;
-    PCERT_ALT_NAME_ENTRY    rgAltEntry;
-} CERT_ALT_NAME_INFO, *PCERT_ALT_NAME_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_BASIC_CONSTRAINTS_INFO {
-    CRYPT_BIT_BLOB          SubjectType;
-    BOOL                    fPathLenConstraint;
-    DWORD                   dwPathLenConstraint;
-    DWORD                   cSubtreesConstraint;
-    CERT_NAME_BLOB          *rgSubtreesConstraint;
-} CERT_BASIC_CONSTRAINTS_INFO, *PCERT_BASIC_CONSTRAINTS_INFO;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_BASIC_CONSTRAINTS2_INFO {
-    BOOL                    fCA;
-    BOOL                    fPathLenConstraint;
-    DWORD                   dwPathLenConstraint;
-} CERT_BASIC_CONSTRAINTS2_INFO, *PCERT_BASIC_CONSTRAINTS2_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_POLICY_QUALIFIER_INFO {
-    LPSTR                       pszPolicyQualifierId;   
-    CRYPT_OBJID_BLOB            Qualifier;              
-} CERT_POLICY_QUALIFIER_INFO, *PCERT_POLICY_QUALIFIER_INFO;
-
-typedef struct _CERT_POLICY_INFO {
-    LPSTR                       pszPolicyIdentifier;    
-    DWORD                       cPolicyQualifier;       
-    CERT_POLICY_QUALIFIER_INFO  *rgPolicyQualifier;
-} CERT_POLICY_INFO, *PCERT_POLICY_INFO;
-
-typedef struct _CERT_POLICIES_INFO {
-    DWORD                       cPolicyInfo;
-    CERT_POLICY_INFO            *rgPolicyInfo;
-} CERT_POLICIES_INFO, *PCERT_POLICIES_INFO;
-
-
-
-
-
-
-
-
-typedef struct _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE {
-    LPSTR   pszOrganization;
-    DWORD   cNoticeNumbers;
-    int     *rgNoticeNumbers;
-} CERT_POLICY_QUALIFIER_NOTICE_REFERENCE, *PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE;
-
-typedef struct _CERT_POLICY_QUALIFIER_USER_NOTICE {
-    CERT_POLICY_QUALIFIER_NOTICE_REFERENCE  *pNoticeReference;  
-    LPWSTR                                  pszDisplayText;     
-} CERT_POLICY_QUALIFIER_USER_NOTICE, *PCERT_POLICY_QUALIFIER_USER_NOTICE;
-
-
-
-
-
-
-
-typedef struct _CPS_URLS {
-    LPWSTR                      pszURL;
-    CRYPT_ALGORITHM_IDENTIFIER  *pAlgorithm; 
-    CRYPT_DATA_BLOB             *pDigest;    
-} CPS_URLS, *PCPS_URLS;
-
-typedef struct _CERT_POLICY95_QUALIFIER1 {
-    LPWSTR      pszPracticesReference;      
-    LPSTR       pszNoticeIdentifier;        
-    LPSTR       pszNSINoticeIdentifier;     
-    DWORD       cCPSURLs;
-    CPS_URLS    *rgCPSURLs;                 
-} CERT_POLICY95_QUALIFIER1, *PCERT_POLICY95_QUALIFIER1;
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_POLICY_MAPPING {
-    LPSTR                       pszIssuerDomainPolicy;      
-    LPSTR                       pszSubjectDomainPolicy;     
-} CERT_POLICY_MAPPING, *PCERT_POLICY_MAPPING;
-
-typedef struct _CERT_POLICY_MAPPINGS_INFO {
-    DWORD                       cPolicyMapping;
-    PCERT_POLICY_MAPPING        rgPolicyMapping;
-} CERT_POLICY_MAPPINGS_INFO, *PCERT_POLICY_MAPPINGS_INFO;
-
-
-
-
-
-
-
-typedef struct _CERT_POLICY_CONSTRAINTS_INFO {
-    BOOL                        fRequireExplicitPolicy;
-    DWORD                       dwRequireExplicitPolicySkipCerts;
-
-    BOOL                        fInhibitPolicyMapping;
-    DWORD                       dwInhibitPolicyMappingSkipCerts;
-} CERT_POLICY_CONSTRAINTS_INFO, *PCERT_POLICY_CONSTRAINTS_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY {
-    LPSTR               pszObjId;
-    DWORD               cValue;
-    PCRYPT_DER_BLOB     rgValue;
-} CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY, *PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY;
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_CONTENT_INFO {
-    LPSTR               pszObjId;
-    CRYPT_DER_BLOB      Content;
-} CRYPT_CONTENT_INFO, *PCRYPT_CONTENT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_SEQUENCE_OF_ANY {
-    DWORD               cValue;
-    PCRYPT_DER_BLOB     rgValue;
-} CRYPT_SEQUENCE_OF_ANY, *PCRYPT_SEQUENCE_OF_ANY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_AUTHORITY_KEY_ID2_INFO {
-    CRYPT_DATA_BLOB     KeyId;
-    CERT_ALT_NAME_INFO  AuthorityCertIssuer;    
-                                                
-    CRYPT_INTEGER_BLOB  AuthorityCertSerialNumber;
-} CERT_AUTHORITY_KEY_ID2_INFO, *PCERT_AUTHORITY_KEY_ID2_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_ACCESS_DESCRIPTION {
-    LPSTR               pszAccessMethod;        
-    CERT_ALT_NAME_ENTRY AccessLocation;
-} CERT_ACCESS_DESCRIPTION, *PCERT_ACCESS_DESCRIPTION;
-
-
-typedef struct _CERT_AUTHORITY_INFO_ACCESS {
-    DWORD                       cAccDescr;
-    PCERT_ACCESS_DESCRIPTION    rgAccDescr;
-} CERT_AUTHORITY_INFO_ACCESS, *PCERT_AUTHORITY_INFO_ACCESS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_DIST_POINT_NAME {
-    DWORD   dwDistPointNameChoice;
-    union {
-        CERT_ALT_NAME_INFO      FullName;       
-        
-    };
-} CRL_DIST_POINT_NAME, *PCRL_DIST_POINT_NAME;
-
-
-
-
-
-typedef struct _CRL_DIST_POINT {
-    CRL_DIST_POINT_NAME     DistPointName;      
-    CRYPT_BIT_BLOB          ReasonFlags;        
-    CERT_ALT_NAME_INFO      CRLIssuer;          
-} CRL_DIST_POINT, *PCRL_DIST_POINT;
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_DIST_POINTS_INFO {
-    DWORD                   cDistPoint;
-    PCRL_DIST_POINT         rgDistPoint;
-} CRL_DIST_POINTS_INFO, *PCRL_DIST_POINTS_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CROSS_CERT_DIST_POINTS_INFO {
-    
-    DWORD                   dwSyncDeltaTime;
-
-    DWORD                   cDistPoint;
-    PCERT_ALT_NAME_INFO     rgDistPoint;
-} CROSS_CERT_DIST_POINTS_INFO, *PCROSS_CERT_DIST_POINTS_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_PAIR {
-   CERT_BLOB    Forward;        
-   CERT_BLOB    Reverse;        
-} CERT_PAIR, *PCERT_PAIR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_ISSUING_DIST_POINT {
-    CRL_DIST_POINT_NAME     DistPointName;              
-    BOOL                    fOnlyContainsUserCerts;
-    BOOL                    fOnlyContainsCACerts;
-    CRYPT_BIT_BLOB          OnlySomeReasonFlags;        
-    BOOL                    fIndirectCRL;
-} CRL_ISSUING_DIST_POINT, *PCRL_ISSUING_DIST_POINT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_GENERAL_SUBTREE {
-    CERT_ALT_NAME_ENTRY     Base;
-    DWORD                   dwMinimum;
-    BOOL                    fMaximum;
-    DWORD                   dwMaximum;
-} CERT_GENERAL_SUBTREE, *PCERT_GENERAL_SUBTREE;
-
-typedef struct _CERT_NAME_CONSTRAINTS_INFO {
-    DWORD                   cPermittedSubtree;
-    PCERT_GENERAL_SUBTREE   rgPermittedSubtree;
-    DWORD                   cExcludedSubtree;
-    PCERT_GENERAL_SUBTREE   rgExcludedSubtree;
-} CERT_NAME_CONSTRAINTS_INFO, *PCERT_NAME_CONSTRAINTS_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_DSS_PARAMETERS {
-    CRYPT_UINT_BLOB     p;
-    CRYPT_UINT_BLOB     q;
-    CRYPT_UINT_BLOB     g;
-} CERT_DSS_PARAMETERS, *PCERT_DSS_PARAMETERS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_DH_PARAMETERS {
-    CRYPT_UINT_BLOB     p;
-    CRYPT_UINT_BLOB     g;
-} CERT_DH_PARAMETERS, *PCERT_DH_PARAMETERS;
-
-
-
-
-
-
-
-
-typedef struct _CERT_X942_DH_VALIDATION_PARAMS {
-    CRYPT_BIT_BLOB      seed;
-    DWORD               pgenCounter;
-} CERT_X942_DH_VALIDATION_PARAMS, *PCERT_X942_DH_VALIDATION_PARAMS;
-
-typedef struct _CERT_X942_DH_PARAMETERS {
-    CRYPT_UINT_BLOB     p;          
-    CRYPT_UINT_BLOB     g;          
-    CRYPT_UINT_BLOB     q;          
-    CRYPT_UINT_BLOB     j;          
-    PCERT_X942_DH_VALIDATION_PARAMS pValidationParams;  
-} CERT_X942_DH_PARAMETERS, *PCERT_X942_DH_PARAMETERS;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_X942_OTHER_INFO {
-    LPSTR               pszContentEncryptionObjId;
-    BYTE                rgbCounter[4];
-    BYTE                rgbKeyLength[4];
-    CRYPT_DATA_BLOB     PubInfo;    
-} CRYPT_X942_OTHER_INFO, *PCRYPT_X942_OTHER_INFO;
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_RC2_CBC_PARAMETERS {
-    DWORD               dwVersion;
-    BOOL                fIV;            
-    BYTE                rgbIV[8];
-} CRYPT_RC2_CBC_PARAMETERS, *PCRYPT_RC2_CBC_PARAMETERS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_SMIME_CAPABILITY {
-    LPSTR               pszObjId;
-    CRYPT_OBJID_BLOB    Parameters;
-} CRYPT_SMIME_CAPABILITY, *PCRYPT_SMIME_CAPABILITY;
-
-typedef struct _CRYPT_SMIME_CAPABILITIES {
-    DWORD                   cCapability;
-    PCRYPT_SMIME_CAPABILITY rgCapability;
-} CRYPT_SMIME_CAPABILITIES, *PCRYPT_SMIME_CAPABILITIES;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMC_TAGGED_ATTRIBUTE {
-    DWORD               dwBodyPartID;
-    CRYPT_ATTRIBUTE     Attribute;
-} CMC_TAGGED_ATTRIBUTE, *PCMC_TAGGED_ATTRIBUTE;
-
-typedef struct _CMC_TAGGED_CERT_REQUEST {
-    DWORD               dwBodyPartID;
-    CRYPT_DER_BLOB      SignedCertRequest;
-} CMC_TAGGED_CERT_REQUEST, *PCMC_TAGGED_CERT_REQUEST;
-
-typedef struct _CMC_TAGGED_REQUEST {
-    DWORD               dwTaggedRequestChoice;
-    union {
-        
-        PCMC_TAGGED_CERT_REQUEST   pTaggedCertRequest;
-    };
-} CMC_TAGGED_REQUEST, *PCMC_TAGGED_REQUEST;
-
-
-
-typedef struct _CMC_TAGGED_CONTENT_INFO {
-    DWORD               dwBodyPartID;
-    CRYPT_DER_BLOB      EncodedContentInfo;
-} CMC_TAGGED_CONTENT_INFO, *PCMC_TAGGED_CONTENT_INFO;
-
-typedef struct _CMC_TAGGED_OTHER_MSG {
-    DWORD               dwBodyPartID;
-    LPSTR               pszObjId;
-    CRYPT_OBJID_BLOB    Value;
-} CMC_TAGGED_OTHER_MSG, *PCMC_TAGGED_OTHER_MSG;
-
-
-
-typedef struct _CMC_DATA_INFO {
-    DWORD                       cTaggedAttribute;
-    PCMC_TAGGED_ATTRIBUTE       rgTaggedAttribute;
-    DWORD                       cTaggedRequest;
-    PCMC_TAGGED_REQUEST         rgTaggedRequest;
-    DWORD                       cTaggedContentInfo;
-    PCMC_TAGGED_CONTENT_INFO    rgTaggedContentInfo;
-    DWORD                       cTaggedOtherMsg;
-    PCMC_TAGGED_OTHER_MSG       rgTaggedOtherMsg;
-} CMC_DATA_INFO, *PCMC_DATA_INFO;
-
-
-
-typedef struct _CMC_RESPONSE_INFO {
-    DWORD                       cTaggedAttribute;
-    PCMC_TAGGED_ATTRIBUTE       rgTaggedAttribute;
-    DWORD                       cTaggedContentInfo;
-    PCMC_TAGGED_CONTENT_INFO    rgTaggedContentInfo;
-    DWORD                       cTaggedOtherMsg;
-    PCMC_TAGGED_OTHER_MSG       rgTaggedOtherMsg;
-} CMC_RESPONSE_INFO, *PCMC_RESPONSE_INFO;
-
-
-
-
-
-
-
-
-
-typedef struct _CMC_PEND_INFO {
-    CRYPT_DATA_BLOB             PendToken;
-    FILETIME                    PendTime;
-} CMC_PEND_INFO, *PCMC_PEND_INFO;
-
-typedef struct _CMC_STATUS_INFO {
-    DWORD                       dwStatus;
-    DWORD                       cBodyList;
-    DWORD                       *rgdwBodyList;
-    LPWSTR                      pwszStatusString;   
-    DWORD                       dwOtherInfoChoice;
-    union  {
-        
-        
-        
-        DWORD                       dwFailInfo;
-        
-        PCMC_PEND_INFO              pPendInfo;
-    };
-} CMC_STATUS_INFO, *PCMC_STATUS_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMC_ADD_EXTENSIONS_INFO {
-    DWORD                       dwCmcDataReference;
-    DWORD                       cCertReference;
-    DWORD                       *rgdwCertReference;
-    DWORD                       cExtension;
-    PCERT_EXTENSION             rgExtension;
-} CMC_ADD_EXTENSIONS_INFO, *PCMC_ADD_EXTENSIONS_INFO;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMC_ADD_ATTRIBUTES_INFO {
-    DWORD                       dwCmcDataReference;
-    DWORD                       cCertReference;
-    DWORD                       *rgdwCertReference;
-    DWORD                       cAttribute;
-    PCRYPT_ATTRIBUTE            rgAttribute;
-} CMC_ADD_ATTRIBUTES_INFO, *PCMC_ADD_ATTRIBUTES_INFO;
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_TEMPLATE_EXT {
-    LPSTR               pszObjId;
-    DWORD               dwMajorVersion;
-    BOOL                fMinorVersion;      
-    DWORD               dwMinorVersion;
-} CERT_TEMPLATE_EXT, *PCERT_TEMPLATE_EXT;
-
-
-
-
-
-
-typedef void *HCRYPTOIDFUNCSET;
-typedef void *HCRYPTOIDFUNCADDR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_OID_FUNC_ENTRY {
-    LPCSTR  pszOID;
-    void    *pvFuncAddr;
-} CRYPT_OID_FUNC_ENTRY, *PCRYPT_OID_FUNC_ENTRY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptInstallOIDFunctionAddress(
-     HMODULE hModule,         
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     DWORD cFuncEntry,
-     const CRYPT_OID_FUNC_ENTRY rgFuncEntry[],
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-HCRYPTOIDFUNCSET
-__stdcall
-CryptInitOIDFunctionSet(
-     LPCSTR pszFuncName,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetOIDFunctionAddress(
-     HCRYPTOIDFUNCSET hFuncSet,
-     DWORD dwEncodingType,
-     LPCSTR pszOID,
-     DWORD dwFlags,
-     void **ppvFuncAddr,
-     HCRYPTOIDFUNCADDR *phFuncAddr
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetDefaultOIDDllList(
-     HCRYPTOIDFUNCSET hFuncSet,
-     DWORD dwEncodingType,
-     LPWSTR pwszDllList,
-      DWORD *pcchDllList
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetDefaultOIDFunctionAddress(
-     HCRYPTOIDFUNCSET hFuncSet,
-     DWORD dwEncodingType,
-      LPCWSTR pwszDll,
-     DWORD dwFlags,
-     void **ppvFuncAddr,
-      HCRYPTOIDFUNCADDR *phFuncAddr
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptFreeOIDFunctionAddress(
-     HCRYPTOIDFUNCADDR hFuncAddr,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptRegisterOIDFunction(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     LPCSTR pszOID,
-      LPCWSTR pwszDll,
-      LPCSTR pszOverrideFuncName
-    );
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUnregisterOIDFunction(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     LPCSTR pszOID
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptRegisterDefaultOIDFunction(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     DWORD dwIndex,
-     LPCWSTR pwszDll
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUnregisterDefaultOIDFunction(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     LPCWSTR pwszDll
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetOIDFunctionValue(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     LPCSTR pszOID,
-     LPCWSTR pwszValueName,
-     DWORD dwValueType,
-     const BYTE *pbValueData,
-     DWORD cbValueData
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetOIDFunctionValue(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     LPCSTR pszOID,
-     LPCWSTR pwszValueName,
-     DWORD *pdwValueType,
-     BYTE *pbValueData,
-      DWORD *pcbValueData
-    );
-
-typedef BOOL (__stdcall *PFN_CRYPT_ENUM_OID_FUNC)(
-     DWORD dwEncodingType,
-     LPCSTR pszFuncName,
-     LPCSTR pszOID,
-     DWORD cValue,
-     const DWORD rgdwValueType[],
-     LPCWSTR const rgpwszValueName[],
-     const BYTE * const rgpbValueData[],
-     const DWORD rgcbValueData[],
-     void *pvArg
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumOIDFunction(
-     DWORD dwEncodingType,
-      LPCSTR pszFuncName,
-      LPCSTR pszOID,
-     DWORD dwFlags,
-     void *pvArg,
-     PFN_CRYPT_ENUM_OID_FUNC pfnEnumOIDFunc
-    );
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_OID_INFO {
-    DWORD           cbSize;
-    LPCSTR          pszOID;
-    LPCWSTR         pwszName;
-    DWORD           dwGroupId;
-    union {
-        DWORD       dwValue;
-        ALG_ID      Algid;
-        DWORD       dwLength;
-    };
-    CRYPT_DATA_BLOB ExtraInfo;
-} CRYPT_OID_INFO, *PCRYPT_OID_INFO;
-typedef const CRYPT_OID_INFO CCRYPT_OID_INFO, *PCCRYPT_OID_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCRYPT_OID_INFO
-__stdcall
-CryptFindOIDInfo(
-     DWORD dwKeyType,
-     void *pvKey,
-     DWORD dwGroupId
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptRegisterOIDInfo(
-     PCCRYPT_OID_INFO pInfo,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUnregisterOIDInfo(
-     PCCRYPT_OID_INFO pInfo
-    );
-
-
-typedef BOOL (__stdcall *PFN_CRYPT_ENUM_OID_INFO)(
-     PCCRYPT_OID_INFO pInfo,
-     void *pvArg
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumOIDInfo(
-     DWORD dwGroupId,
-     DWORD dwFlags,
-     void *pvArg,
-     PFN_CRYPT_ENUM_OID_INFO pfnEnumOIDInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LPCWSTR
-__stdcall
-CryptFindLocalizedName(
-     LPCWSTR pwszCryptName
-    );
-
-
-
-
-
-
-
-
-typedef void *HCRYPTMSG;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_ISSUER_SERIAL_NUMBER {
-    CERT_NAME_BLOB      Issuer;
-    CRYPT_INTEGER_BLOB  SerialNumber;
-} CERT_ISSUER_SERIAL_NUMBER, *PCERT_ISSUER_SERIAL_NUMBER;
-
-
-
-
-typedef struct _CERT_ID {
-    DWORD   dwIdChoice;
-    union {
-        
-        CERT_ISSUER_SERIAL_NUMBER   IssuerSerialNumber;
-        
-        CRYPT_HASH_BLOB             KeyId;
-        
-        CRYPT_HASH_BLOB             HashId;
-    };
-} CERT_ID, *PCERT_ID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_SIGNER_ENCODE_INFO {
-    DWORD                       cbSize;
-    PCERT_INFO                  pCertInfo;
-    HCRYPTPROV                  hCryptProv;
-    DWORD                       dwKeySpec;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    void                        *pvHashAuxInfo;
-    DWORD                       cAuthAttr;
-    PCRYPT_ATTRIBUTE            rgAuthAttr;
-    DWORD                       cUnauthAttr;
-    PCRYPT_ATTRIBUTE            rgUnauthAttr;
-
-
-
-
-
-
-} CMSG_SIGNER_ENCODE_INFO, *PCMSG_SIGNER_ENCODE_INFO;
-
-typedef struct _CMSG_SIGNED_ENCODE_INFO {
-    DWORD                       cbSize;
-    DWORD                       cSigners;
-    PCMSG_SIGNER_ENCODE_INFO    rgSigners;
-    DWORD                       cCertEncoded;
-    PCERT_BLOB                  rgCertEncoded;
-    DWORD                       cCrlEncoded;
-    PCRL_BLOB                   rgCrlEncoded;
-
-
-
-
-
-} CMSG_SIGNED_ENCODE_INFO, *PCMSG_SIGNED_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_RECIPIENT_ENCODE_INFO CMSG_RECIPIENT_ENCODE_INFO,
-    *PCMSG_RECIPIENT_ENCODE_INFO;
-
-typedef struct _CMSG_ENVELOPED_ENCODE_INFO {
-    DWORD                       cbSize;
-    HCRYPTPROV                  hCryptProv;
-    CRYPT_ALGORITHM_IDENTIFIER  ContentEncryptionAlgorithm;
-    void                        *pvEncryptionAuxInfo;
-    DWORD                       cRecipients;
-
-    
-    
-    
-    PCERT_INFO                  *rgpRecipients;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-} CMSG_ENVELOPED_ENCODE_INFO, *PCMSG_ENVELOPED_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO {
-    DWORD                       cbSize;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    void                        *pvKeyEncryptionAuxInfo;
-    HCRYPTPROV                  hCryptProv;
-    CRYPT_BIT_BLOB              RecipientPublicKey;
-    CERT_ID                     RecipientId;
-} CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO {
-    DWORD                       cbSize;
-    CRYPT_BIT_BLOB              RecipientPublicKey;
-    CERT_ID                     RecipientId;
-
-    
-    
-    FILETIME                    Date;
-    PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
-} CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO,
-    *PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO;
-
-typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO {
-    DWORD                       cbSize;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    void                        *pvKeyEncryptionAuxInfo;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyWrapAlgorithm;
-    void                        *pvKeyWrapAuxInfo;
-
-    
-    
-    
-    
-    
-    HCRYPTPROV                  hCryptProv;
-    DWORD                       dwKeySpec;
-
-    DWORD                       dwKeyChoice;
-    union {
-        
-        
-        
-        PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
-
-        
-        
-        
-        PCERT_ID                    pSenderId;
-    };
-    CRYPT_DATA_BLOB             UserKeyingMaterial;     
-
-    DWORD                                       cRecipientEncryptedKeys;
-    PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO   *rgpRecipientEncryptedKeys;
-} CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO, *PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO {
-    DWORD                       cbSize;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    void                        *pvKeyEncryptionAuxInfo;
-    HCRYPTPROV                  hCryptProv;
-    DWORD                       dwKeyChoice;
-    union {
-        
-        HCRYPTKEY                   hKeyEncryptionKey;
-        
-        void                        *pvKeyEncryptionKey;
-    };
-    CRYPT_DATA_BLOB             KeyId;
-
-    
-    FILETIME                    Date;
-    PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
-} CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO, *PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO;
-
-
-
-
-
-
-
-
-struct _CMSG_RECIPIENT_ENCODE_INFO {
-    DWORD   dwRecipientChoice;
-    union {
-        
-        PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO   pKeyTrans;
-        
-        PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO   pKeyAgree;
-        
-        PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO   pMailList;
-    };
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_RC2_AUX_INFO {
-    DWORD                       cbSize;
-    DWORD                       dwBitLen;
-} CMSG_RC2_AUX_INFO, *PCMSG_RC2_AUX_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_SP3_COMPATIBLE_AUX_INFO {
-    DWORD                       cbSize;
-    DWORD                       dwFlags;
-} CMSG_SP3_COMPATIBLE_AUX_INFO, *PCMSG_SP3_COMPATIBLE_AUX_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_RC4_AUX_INFO {
-    DWORD                       cbSize;
-    DWORD                       dwBitLen;
-} CMSG_RC4_AUX_INFO, *PCMSG_RC4_AUX_INFO;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO {
-    DWORD                       cbSize;
-    CMSG_SIGNED_ENCODE_INFO     SignedInfo;
-    CMSG_ENVELOPED_ENCODE_INFO  EnvelopedInfo;
-} CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO, *PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_HASHED_ENCODE_INFO {
-    DWORD                       cbSize;
-    HCRYPTPROV                  hCryptProv;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    void                        *pvHashAuxInfo;
-} CMSG_HASHED_ENCODE_INFO, *PCMSG_HASHED_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_ENCRYPTED_ENCODE_INFO {
-    DWORD                       cbSize;
-    CRYPT_ALGORITHM_IDENTIFIER  ContentEncryptionAlgorithm;
-    void                        *pvEncryptionAuxInfo;
-} CMSG_ENCRYPTED_ENCODE_INFO, *PCMSG_ENCRYPTED_ENCODE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_STREAM_OUTPUT)(
-     const void *pvArg,
-     BYTE *pbData,
-     DWORD cbData,
-     BOOL fFinal
-    );
-
-
-
-typedef struct _CMSG_STREAM_INFO {
-    DWORD                   cbContent;
-    PFN_CMSG_STREAM_OUTPUT  pfnStreamOutput;
-    void                    *pvArg;
-} CMSG_STREAM_INFO, *PCMSG_STREAM_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HCRYPTMSG
-__stdcall
-CryptMsgOpenToEncode(
-     DWORD dwMsgEncodingType,
-     DWORD dwFlags,
-     DWORD dwMsgType,
-     void const *pvMsgEncodeInfo,
-      LPSTR pszInnerContentObjID,
-      PCMSG_STREAM_INFO pStreamInfo
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CryptMsgCalculateEncodedLength(
-     DWORD dwMsgEncodingType,
-     DWORD dwFlags,
-     DWORD dwMsgType,
-     void const *pvMsgEncodeInfo,
-      LPSTR pszInnerContentObjID,
-     DWORD cbData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HCRYPTMSG
-__stdcall
-CryptMsgOpenToDecode(
-     DWORD dwMsgEncodingType,
-     DWORD dwFlags,
-     DWORD dwMsgType,
-     HCRYPTPROV hCryptProv,
-      PCERT_INFO pRecipientInfo,
-      PCMSG_STREAM_INFO pStreamInfo
-    );
-
-
-
-
-__declspec(dllimport)
-HCRYPTMSG
-__stdcall
-CryptMsgDuplicate(
-     HCRYPTMSG hCryptMsg
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgClose(
-     HCRYPTMSG hCryptMsg
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgUpdate(
-     HCRYPTMSG hCryptMsg,
-     const BYTE *pbData,
-     DWORD cbData,
-     BOOL fFinal
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgGetParam(
-     HCRYPTMSG hCryptMsg,
-     DWORD dwParamType,
-     DWORD dwIndex,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_SIGNER_INFO {
-    DWORD                       dwVersion;
-    CERT_NAME_BLOB              Issuer;
-    CRYPT_INTEGER_BLOB          SerialNumber;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    CRYPT_ALGORITHM_IDENTIFIER  HashEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedHash;
-    CRYPT_ATTRIBUTES            AuthAttrs;
-    CRYPT_ATTRIBUTES            UnauthAttrs;
-} CMSG_SIGNER_INFO, *PCMSG_SIGNER_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CMS_SIGNER_INFO {
-    DWORD                       dwVersion;
-    CERT_ID                     SignerId;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    CRYPT_ALGORITHM_IDENTIFIER  HashEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedHash;
-    CRYPT_ATTRIBUTES            AuthAttrs;
-    CRYPT_ATTRIBUTES            UnauthAttrs;
-} CMSG_CMS_SIGNER_INFO, *PCMSG_CMS_SIGNER_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef CRYPT_ATTRIBUTES CMSG_ATTR;
-typedef CRYPT_ATTRIBUTES *PCMSG_ATTR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_KEY_TRANS_RECIPIENT_INFO {
-    DWORD                       dwVersion;
-
-    
-    CERT_ID                     RecipientId;
-
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedKey;
-} CMSG_KEY_TRANS_RECIPIENT_INFO, *PCMSG_KEY_TRANS_RECIPIENT_INFO;
-
-typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO {
-    
-    CERT_ID                     RecipientId;
-
-    CRYPT_DATA_BLOB             EncryptedKey;
-
-    
-    FILETIME                    Date;
-    PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
-} CMSG_RECIPIENT_ENCRYPTED_KEY_INFO, *PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO;
-
-typedef struct _CMSG_KEY_AGREE_RECIPIENT_INFO {
-    DWORD                       dwVersion;
-    DWORD                       dwOriginatorChoice;
-    union {
-        
-        CERT_ID                     OriginatorCertId;
-        
-        CERT_PUBLIC_KEY_INFO        OriginatorPublicKeyInfo;
-    };
-    CRYPT_DATA_BLOB             UserKeyingMaterial;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-
-    DWORD                                cRecipientEncryptedKeys;
-    PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO   *rgpRecipientEncryptedKeys;
-} CMSG_KEY_AGREE_RECIPIENT_INFO, *PCMSG_KEY_AGREE_RECIPIENT_INFO;
-
-
-
-
-
-typedef struct _CMSG_MAIL_LIST_RECIPIENT_INFO {
-    DWORD                       dwVersion;
-    CRYPT_DATA_BLOB             KeyId;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedKey;
-
-    
-    FILETIME                    Date;
-    PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
-} CMSG_MAIL_LIST_RECIPIENT_INFO, *PCMSG_MAIL_LIST_RECIPIENT_INFO;
-
-typedef struct _CMSG_CMS_RECIPIENT_INFO {
-    DWORD   dwRecipientChoice;
-    union {
-        
-        PCMSG_KEY_TRANS_RECIPIENT_INFO   pKeyTrans;
-        
-        PCMSG_KEY_AGREE_RECIPIENT_INFO   pKeyAgree;
-        
-        PCMSG_MAIL_LIST_RECIPIENT_INFO   pMailList;
-    };
-} CMSG_CMS_RECIPIENT_INFO, *PCMSG_CMS_RECIPIENT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgControl(
-     HCRYPTMSG hCryptMsg,
-     DWORD dwFlags,
-     DWORD dwCtrlType,
-     void const *pvCtrlPara
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA {
-    DWORD               cbSize;
-    HCRYPTPROV          hCryptProv;
-    DWORD               dwSignerIndex;
-    DWORD               dwSignerType;
-    void                *pvSigner;
-} CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA, *PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA;
-
-
-
-    
-
-    
-
-    
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_DECRYPT_PARA {
-    DWORD       cbSize;
-    HCRYPTPROV  hCryptProv;
-    DWORD       dwKeySpec;
-    DWORD       dwRecipientIndex;
-} CMSG_CTRL_DECRYPT_PARA, *PCMSG_CTRL_DECRYPT_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA {
-    DWORD                           cbSize;
-    HCRYPTPROV                      hCryptProv;
-    DWORD                           dwKeySpec;
-    PCMSG_KEY_TRANS_RECIPIENT_INFO  pKeyTrans;
-    DWORD                           dwRecipientIndex;
-} CMSG_CTRL_KEY_TRANS_DECRYPT_PARA, *PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA {
-    DWORD                           cbSize;
-    HCRYPTPROV                      hCryptProv;
-    DWORD                           dwKeySpec;
-    PCMSG_KEY_AGREE_RECIPIENT_INFO  pKeyAgree;
-    DWORD                           dwRecipientIndex;
-    DWORD                           dwRecipientEncryptedKeyIndex;
-    CRYPT_BIT_BLOB                  OriginatorPublicKey;
-} CMSG_CTRL_KEY_AGREE_DECRYPT_PARA, *PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA {
-    DWORD                           cbSize;
-    HCRYPTPROV                      hCryptProv;
-    PCMSG_MAIL_LIST_RECIPIENT_INFO  pMailList;
-    DWORD                           dwRecipientIndex;
-    DWORD                           dwKeyChoice;
-    union {
-        
-        HCRYPTKEY                       hKeyEncryptionKey;
-        
-        void                            *pvKeyEncryptionKey;
-    };
-} CMSG_CTRL_MAIL_LIST_DECRYPT_PARA, *PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA {
-    DWORD               cbSize;
-    DWORD               dwSignerIndex;
-    CRYPT_DATA_BLOB     blob;
-} CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA, *PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA {
-    DWORD               cbSize;
-    DWORD               dwSignerIndex;
-    DWORD               dwUnauthAttrIndex;
-} CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA, *PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-BOOL
-__stdcall
-CryptMsgVerifyCountersignatureEncoded(
-     HCRYPTPROV   hCryptProv,
-     DWORD        dwEncodingType,
-     PBYTE        pbSignerInfo,
-     DWORD        cbSignerInfo,
-     PBYTE        pbSignerInfoCountersignature,
-     DWORD        cbSignerInfoCountersignature,
-     PCERT_INFO   pciCountersigner
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-BOOL
-__stdcall
-CryptMsgVerifyCountersignatureEncodedEx(
-     HCRYPTPROV   hCryptProv,
-     DWORD        dwEncodingType,
-     PBYTE        pbSignerInfo,
-     DWORD        cbSignerInfo,
-     PBYTE        pbSignerInfoCountersignature,
-     DWORD        cbSignerInfoCountersignature,
-     DWORD        dwSignerType,
-     void         *pvSigner,
-     DWORD        dwFlags,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-BOOL
-__stdcall
-CryptMsgCountersign(
-      HCRYPTMSG            hCryptMsg,
-     DWORD                    dwIndex,
-     DWORD                    cCountersigners,
-     PCMSG_SIGNER_ENCODE_INFO rgCountersigners
-    );
-
-
-
-
-
-
-
-BOOL
-__stdcall
-CryptMsgCountersignEncoded(
-     DWORD                    dwEncodingType,
-     PBYTE                    pbSignerInfo,
-     DWORD                    cbSignerInfo,
-     DWORD                    cCountersigners,
-     PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
-     PBYTE                   pbCountersignature,
-      PDWORD               pcbCountersignature
-    );
-
-
-
-
-
-
-
-
-typedef void * (__stdcall *PFN_CMSG_ALLOC) (
-     size_t cb
-    );
-
-typedef void (__stdcall *PFN_CMSG_FREE)(
-     void *pv
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_GEN_ENCRYPT_KEY) (
-      HCRYPTPROV               *phCryptProv,
-     PCRYPT_ALGORITHM_IDENTIFIER  paiEncrypt,
-     PVOID                        pvEncryptAuxInfo,
-     PCERT_PUBLIC_KEY_INFO        pPublicKeyInfo,
-     PFN_CMSG_ALLOC               pfnAlloc,
-     HCRYPTKEY                   *phEncryptKey,
-     PBYTE                       *ppbEncryptParameters,
-     PDWORD                      pcbEncryptParameters
-    );
-
-
-typedef BOOL (__stdcall *PFN_CMSG_EXPORT_ENCRYPT_KEY) (
-     HCRYPTPROV                   hCryptProv,
-     HCRYPTKEY                    hEncryptKey,
-     PCERT_PUBLIC_KEY_INFO        pPublicKeyInfo,
-     PBYTE                       pbData,
-      PDWORD                   pcbData
-    );
-
-
-typedef BOOL (__stdcall *PFN_CMSG_IMPORT_ENCRYPT_KEY) (
-     HCRYPTPROV                   hCryptProv,
-     DWORD                        dwKeySpec,
-     PCRYPT_ALGORITHM_IDENTIFIER  paiEncrypt,
-     PCRYPT_ALGORITHM_IDENTIFIER  paiPubKey,
-     PBYTE                        pbEncodedKey,
-     DWORD                        cbEncodedKey,
-     HCRYPTKEY                   *phEncryptKey
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CMSG_CONTENT_ENCRYPT_INFO {
-    DWORD                       cbSize;
-    HCRYPTPROV                  hCryptProv;
-    CRYPT_ALGORITHM_IDENTIFIER  ContentEncryptionAlgorithm;
-    void                        *pvEncryptionAuxInfo;
-    DWORD                       cRecipients;
-    PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients;
-    PFN_CMSG_ALLOC              pfnAlloc;
-    PFN_CMSG_FREE               pfnFree;
-    DWORD                       dwEncryptFlags;
-    HCRYPTKEY                   hContentEncryptKey;
-    DWORD                       dwFlags;
-} CMSG_CONTENT_ENCRYPT_INFO, *PCMSG_CONTENT_ENCRYPT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY) (
-      PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
-     DWORD dwFlags,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO {
-    DWORD                       cbSize;
-    DWORD                       dwRecipientIndex;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedKey;
-    DWORD                       dwFlags;
-} CMSG_KEY_TRANS_ENCRYPT_INFO, *PCMSG_KEY_TRANS_ENCRYPT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_EXPORT_KEY_TRANS) (
-     PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
-     PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
-      PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
-     DWORD dwFlags,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-
-typedef struct _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO {
-    DWORD                       cbSize;
-    CRYPT_DATA_BLOB             EncryptedKey;
-} CMSG_KEY_AGREE_KEY_ENCRYPT_INFO, *PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO;
-
-
-
-
-
-
-
-typedef struct _CMSG_KEY_AGREE_ENCRYPT_INFO {
-    DWORD                       cbSize;
-    DWORD                       dwRecipientIndex;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             UserKeyingMaterial;
-    DWORD                       dwOriginatorChoice;
-    union {
-        
-        CERT_ID                     OriginatorCertId;
-        
-        CERT_PUBLIC_KEY_INFO        OriginatorPublicKeyInfo;
-    };
-    DWORD                       cKeyAgreeKeyEncryptInfo;
-    PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO *rgpKeyAgreeKeyEncryptInfo;
-    DWORD                       dwFlags;
-} CMSG_KEY_AGREE_ENCRYPT_INFO, *PCMSG_KEY_AGREE_ENCRYPT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_EXPORT_KEY_AGREE) (
-     PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
-     PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgreeEncodeInfo,
-      PCMSG_KEY_AGREE_ENCRYPT_INFO pKeyAgreeEncryptInfo,
-     DWORD dwFlags,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-typedef struct _CMSG_MAIL_LIST_ENCRYPT_INFO {
-    DWORD                       cbSize;
-    DWORD                       dwRecipientIndex;
-    CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
-    CRYPT_DATA_BLOB             EncryptedKey;
-    DWORD                       dwFlags;
-} CMSG_MAIL_LIST_ENCRYPT_INFO, *PCMSG_MAIL_LIST_ENCRYPT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_EXPORT_MAIL_LIST) (
-     PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
-     PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailListEncodeInfo,
-      PCMSG_MAIL_LIST_ENCRYPT_INFO pMailListEncryptInfo,
-     DWORD dwFlags,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CMSG_IMPORT_KEY_TRANS) (
-     PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
-     PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
-     DWORD dwFlags,
-      void *pvReserved,
-     HCRYPTKEY *phContentEncryptKey
-    );
-
-
-typedef BOOL (__stdcall *PFN_CMSG_IMPORT_KEY_AGREE) (
-     PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
-     PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
-     DWORD dwFlags,
-      void *pvReserved,
-     HCRYPTKEY *phContentEncryptKey
-    );
-
-
-typedef BOOL (__stdcall *PFN_CMSG_IMPORT_MAIL_LIST) (
-     PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
-     PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA pMailListDecryptPara,
-     DWORD dwFlags,
-      void *pvReserved,
-     HCRYPTKEY *phContentEncryptKey
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void *HCERTSTORE;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_CONTEXT {
-    DWORD                   dwCertEncodingType;
-    BYTE                    *pbCertEncoded;
-    DWORD                   cbCertEncoded;
-    PCERT_INFO              pCertInfo;
-    HCERTSTORE              hCertStore;
-} CERT_CONTEXT, *PCERT_CONTEXT;
-typedef const CERT_CONTEXT *PCCERT_CONTEXT;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_CONTEXT {
-    DWORD                   dwCertEncodingType;
-    BYTE                    *pbCrlEncoded;
-    DWORD                   cbCrlEncoded;
-    PCRL_INFO               pCrlInfo;
-    HCERTSTORE              hCertStore;
-} CRL_CONTEXT, *PCRL_CONTEXT;
-typedef const CRL_CONTEXT *PCCRL_CONTEXT;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CTL_CONTEXT {
-    DWORD                   dwMsgAndCertEncodingType;
-    BYTE                    *pbCtlEncoded;
-    DWORD                   cbCtlEncoded;
-    PCTL_INFO               pCtlInfo;
-    HCERTSTORE              hCertStore;
-    HCRYPTMSG               hCryptMsg;
-    BYTE                    *pbCtlContent;
-    DWORD                   cbCtlContent;
-} CTL_CONTEXT, *PCTL_CONTEXT;
-typedef const CTL_CONTEXT *PCCTL_CONTEXT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_KEY_PROV_PARAM {
-    DWORD           dwParam;
-    BYTE            *pbData;
-    DWORD           cbData;
-    DWORD           dwFlags;
-} CRYPT_KEY_PROV_PARAM, *PCRYPT_KEY_PROV_PARAM;
-
-typedef struct _CRYPT_KEY_PROV_INFO {
-    LPWSTR                  pwszContainerName;
-    LPWSTR                  pwszProvName;
-    DWORD                   dwProvType;
-    DWORD                   dwFlags;
-    DWORD                   cProvParam;
-    PCRYPT_KEY_PROV_PARAM   rgProvParam;
-    DWORD                   dwKeySpec;
-} CRYPT_KEY_PROV_INFO, *PCRYPT_KEY_PROV_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_KEY_CONTEXT {
-    DWORD           cbSize;           
-    HCRYPTPROV      hCryptProv;
-    DWORD           dwKeySpec;
-} CERT_KEY_CONTEXT, *PCERT_KEY_CONTEXT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_SYSTEM_STORE_RELOCATE_PARA {
-    union {
-        HKEY                hKeyBase;
-        void                *pvBase;
-    };
-    union {
-        void                *pvSystemStore;
-        LPCSTR              pszSystemStore;
-        LPCWSTR             pwszSystemStore;
-    };
-} CERT_SYSTEM_STORE_RELOCATE_PARA, *PCERT_SYSTEM_STORE_RELOCATE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REGISTRY_STORE_CLIENT_GPT_PARA {
-    HKEY                hKeyBase;
-    LPWSTR              pwszRegPath;
-} CERT_REGISTRY_STORE_CLIENT_GPT_PARA, *PCERT_REGISTRY_STORE_CLIENT_GPT_PARA;
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REGISTRY_STORE_ROAMING_PARA {
-    HKEY                hKey;
-    LPWSTR              pwszStoreDirectory;
-} CERT_REGISTRY_STORE_ROAMING_PARA, *PCERT_REGISTRY_STORE_ROAMING_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_LDAP_STORE_OPENED_PARA {
-    void        *pvLdapSessionHandle;   
-                                        
-    LPCWSTR     pwszLdapUrl;
-} CERT_LDAP_STORE_OPENED_PARA, *PCERT_LDAP_STORE_OPENED_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HCERTSTORE
-__stdcall
-CertOpenStore(
-     LPCSTR lpszStoreProvider,
-     DWORD dwEncodingType,
-     HCRYPTPROV hCryptProv,
-     DWORD dwFlags,
-     const void *pvPara
-    );
-
-
-
-
-
-
-
-typedef void *HCERTSTOREPROV;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_STORE_PROV_INFO {
-    DWORD               cbSize;
-    DWORD               cStoreProvFunc;
-    void                **rgpvStoreProvFunc;
-    HCERTSTOREPROV      hStoreProv;
-    DWORD               dwStoreProvFlags;
-    HCRYPTOIDFUNCADDR   hStoreProvFuncAddr2;
-} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_DLL_OPEN_STORE_PROV_FUNC)(
-     LPCSTR lpszStoreProvider,
-     DWORD dwEncodingType,
-     HCRYPTPROV hCryptProv,
-     DWORD dwFlags,
-     const void *pvPara,
-     HCERTSTORE hCertStore,
-      PCERT_STORE_PROV_INFO pStoreProvInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall *PFN_CERT_STORE_PROV_CLOSE)(
-     HCERTSTOREPROV hStoreProv,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_READ_CERT)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_CONTEXT pStoreCertContext,
-     DWORD dwFlags,
-     PCCERT_CONTEXT *ppProvCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_WRITE_CERT)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwFlags
-    );
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_DELETE_CERT)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_SET_CERT_PROPERTY)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_READ_CRL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCRL_CONTEXT pStoreCrlContext,
-     DWORD dwFlags,
-     PCCRL_CONTEXT *ppProvCrlContext
-    );
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_WRITE_CRL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwFlags
-    );
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_DELETE_CRL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_SET_CRL_PROPERTY)(
-     HCERTSTOREPROV hStoreProv,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_READ_CTL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCTL_CONTEXT pStoreCtlContext,
-     DWORD dwFlags,
-     PCCTL_CONTEXT *ppProvCtlContext
-    );
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_WRITE_CTL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwFlags
-    );
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_DELETE_CTL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwFlags
-                                                     );
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_SET_CTL_PROPERTY)(
-     HCERTSTOREPROV hStoreProv,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_CONTROL)(
-     HCERTSTOREPROV hStoreProv,
-     DWORD dwFlags,
-     DWORD dwCtrlType,
-     void const *pvCtrlPara
-    );
-
-typedef struct _CERT_STORE_PROV_FIND_INFO {
-    DWORD               cbSize;
-    DWORD               dwMsgAndCertEncodingType;
-    DWORD               dwFindFlags;
-    DWORD               dwFindType;
-    const void          *pvFindPara;
-} CERT_STORE_PROV_FIND_INFO, *PCERT_STORE_PROV_FIND_INFO;
-typedef const CERT_STORE_PROV_FIND_INFO CCERT_STORE_PROV_FIND_INFO,
-*PCCERT_STORE_PROV_FIND_INFO;
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FIND_CERT)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_STORE_PROV_FIND_INFO pFindInfo,
-     PCCERT_CONTEXT pPrevCertContext,
-     DWORD dwFlags,
-      void **ppvStoreProvFindInfo,
-     PCCERT_CONTEXT *ppProvCertContext
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FREE_FIND_CERT)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_CONTEXT pCertContext,
-     void *pvStoreProvFindInfo,
-     DWORD dwFlags
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_GET_CERT_PROPERTY)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FIND_CRL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_STORE_PROV_FIND_INFO pFindInfo,
-     PCCRL_CONTEXT pPrevCrlContext,
-     DWORD dwFlags,
-      void **ppvStoreProvFindInfo,
-     PCCRL_CONTEXT *ppProvCrlContext
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FREE_FIND_CRL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCRL_CONTEXT pCrlContext,
-     void *pvStoreProvFindInfo,
-     DWORD dwFlags
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_GET_CRL_PROPERTY)(
-     HCERTSTOREPROV hStoreProv,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FIND_CTL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCERT_STORE_PROV_FIND_INFO pFindInfo,
-     PCCTL_CONTEXT pPrevCtlContext,
-     DWORD dwFlags,
-      void **ppvStoreProvFindInfo,
-     PCCTL_CONTEXT *ppProvCtlContext
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FREE_FIND_CTL)(
-     HCERTSTOREPROV hStoreProv,
-     PCCTL_CONTEXT pCtlContext,
-     void *pvStoreProvFindInfo,
-     DWORD dwFlags
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_GET_CTL_PROPERTY)(
-     HCERTSTOREPROV hStoreProv,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-
-
-
-__declspec(dllimport)
-HCERTSTORE
-__stdcall
-CertDuplicateStore(
-     HCERTSTORE hCertStore
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSaveStore(
-     HCERTSTORE hCertStore,
-     DWORD dwEncodingType,
-     DWORD dwSaveAs,
-     DWORD dwSaveTo,
-      void *pvSaveToPara,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertCloseStore(
-     HCERTSTORE hCertStore,
-    DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertGetSubjectCertificateFromStore(
-     HCERTSTORE hCertStore,
-     DWORD dwCertEncodingType,
-     PCERT_INFO pCertId           
-    
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertEnumCertificatesInStore(
-     HCERTSTORE hCertStore,
-     PCCERT_CONTEXT pPrevCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertFindCertificateInStore(
-     HCERTSTORE hCertStore,
-     DWORD dwCertEncodingType,
-     DWORD dwFindFlags,
-     DWORD dwFindType,
-     const void *pvFindPara,
-     PCCERT_CONTEXT pPrevCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertGetIssuerCertificateFromStore(
-     HCERTSTORE hCertStore,
-     PCCERT_CONTEXT pSubjectContext,
-      PCCERT_CONTEXT pPrevIssuerContext,
-      DWORD *pdwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertVerifySubjectCertificateContext(
-     PCCERT_CONTEXT pSubject,
-      PCCERT_CONTEXT pIssuer,
-      DWORD *pdwFlags
-    );
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertDuplicateCertificateContext(
-     PCCERT_CONTEXT pCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertCreateCertificateContext(
-     DWORD dwCertEncodingType,
-     const BYTE *pbCertEncoded,
-     DWORD cbCertEncoded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertFreeCertificateContext(
-     PCCERT_CONTEXT pCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSetCertificateContextProperty(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetCertificateContextProperty(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwPropId,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertEnumCertificateContextProperties(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwPropId
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertCreateCTLEntryFromCertificateContextProperties(
-     PCCERT_CONTEXT pCertContext,
-     DWORD cOptAttr,
-      PCRYPT_ATTRIBUTE rgOptAttr,
-     DWORD dwFlags,
-      void *pvReserved,
-      PCTL_ENTRY pCtlEntry,
-      DWORD *pcbCtlEntry
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSetCertificateContextPropertiesFromCTLEntry(
-     PCCERT_CONTEXT pCertContext,
-     PCTL_ENTRY pCtlEntry,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCRL_CONTEXT
-__stdcall
-CertGetCRLFromStore(
-     HCERTSTORE hCertStore,
-      PCCERT_CONTEXT pIssuerContext,
-     PCCRL_CONTEXT pPrevCrlContext,
-      DWORD *pdwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCRL_CONTEXT
-__stdcall
-CertEnumCRLsInStore(
-     HCERTSTORE hCertStore,
-     PCCRL_CONTEXT pPrevCrlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCRL_CONTEXT
-__stdcall
-CertFindCRLInStore(
-     HCERTSTORE hCertStore,
-     DWORD dwCertEncodingType,
-     DWORD dwFindFlags,
-     DWORD dwFindType,
-     const void *pvFindPara,
-     PCCRL_CONTEXT pPrevCrlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_FIND_ISSUED_FOR_PARA {
-    PCCERT_CONTEXT              pSubjectCert;
-    PCCERT_CONTEXT              pIssuerCert;
-} CRL_FIND_ISSUED_FOR_PARA, *PCRL_FIND_ISSUED_FOR_PARA;
-
-
-
-
-
-__declspec(dllimport)
-PCCRL_CONTEXT
-__stdcall
-CertDuplicateCRLContext(
-     PCCRL_CONTEXT pCrlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCRL_CONTEXT
-__stdcall
-CertCreateCRLContext(
-     DWORD dwCertEncodingType,
-     const BYTE *pbCrlEncoded,
-     DWORD cbCrlEncoded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertFreeCRLContext(
-     PCCRL_CONTEXT pCrlContext
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSetCRLContextProperty(
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetCRLContextProperty(
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwPropId,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertEnumCRLContextProperties(
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwPropId
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertFindCertificateInCRL(
-     PCCERT_CONTEXT pCert,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwFlags,
-      void *pvReserved,
-     PCRL_ENTRY *ppCrlEntry
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertIsValidCRLForCertificate(
-     PCCERT_CONTEXT pCert,
-     PCCRL_CONTEXT pCrl,
-     DWORD dwFlags,
-     void *pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddEncodedCertificateToStore(
-     HCERTSTORE hCertStore,
-     DWORD dwCertEncodingType,
-     const BYTE *pbCertEncoded,
-     DWORD cbCertEncoded,
-     DWORD dwAddDisposition,
-      PCCERT_CONTEXT *ppCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddCertificateContextToStore(
-     HCERTSTORE hCertStore,
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwAddDisposition,
-      PCCERT_CONTEXT *ppStoreContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddSerializedElementToStore(
-     HCERTSTORE hCertStore,
-     const BYTE *pbElement,
-     DWORD cbElement,
-     DWORD dwAddDisposition,
-     DWORD dwFlags,
-     DWORD dwContextTypeFlags,
-      DWORD *pdwContextType,
-      const void **ppvContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertDeleteCertificateFromStore(
-     PCCERT_CONTEXT pCertContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddEncodedCRLToStore(
-     HCERTSTORE hCertStore,
-     DWORD dwCertEncodingType,
-     const BYTE *pbCrlEncoded,
-     DWORD cbCrlEncoded,
-     DWORD dwAddDisposition,
-      PCCRL_CONTEXT *ppCrlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddCRLContextToStore(
-     HCERTSTORE hCertStore,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwAddDisposition,
-      PCCRL_CONTEXT *ppStoreContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertDeleteCRLFromStore(
-     PCCRL_CONTEXT pCrlContext
-    );
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSerializeCertificateStoreElement(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwFlags,
-     BYTE *pbElement,
-      DWORD *pcbElement
-    );
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSerializeCRLStoreElement(
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwFlags,
-     BYTE *pbElement,
-      DWORD *pcbElement
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCTL_CONTEXT
-__stdcall
-CertDuplicateCTLContext(
-     PCCTL_CONTEXT pCtlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCTL_CONTEXT
-__stdcall
-CertCreateCTLContext(
-     DWORD dwMsgAndCertEncodingType,
-     const BYTE *pbCtlEncoded,
-     DWORD cbCtlEncoded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertFreeCTLContext(
-     PCCTL_CONTEXT pCtlContext
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSetCTLContextProperty(
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetCTLContextProperty(
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwPropId,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertEnumCTLContextProperties(
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwPropId
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCTL_CONTEXT
-__stdcall
-CertEnumCTLsInStore(
-     HCERTSTORE hCertStore,
-     PCCTL_CONTEXT pPrevCtlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCTL_ENTRY
-__stdcall
-CertFindSubjectInCTL(
-     DWORD dwEncodingType,
-     DWORD dwSubjectType,
-     void *pvSubject,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-typedef struct _CTL_ANY_SUBJECT_INFO {
-    CRYPT_ALGORITHM_IDENTIFIER  SubjectAlgorithm;
-    CRYPT_DATA_BLOB             SubjectIdentifier;
-} CTL_ANY_SUBJECT_INFO, *PCTL_ANY_SUBJECT_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCTL_CONTEXT
-__stdcall
-CertFindCTLInStore(
-     HCERTSTORE hCertStore,
-     DWORD dwMsgAndCertEncodingType,
-     DWORD dwFindFlags,
-     DWORD dwFindType,
-     const void *pvFindPara,
-     PCCTL_CONTEXT pPrevCtlContext
-    );
-
-
-
-
-
-
-
-
-typedef struct _CTL_FIND_USAGE_PARA {
-    DWORD               cbSize;
-    CTL_USAGE           SubjectUsage;   
-    CRYPT_DATA_BLOB     ListIdentifier; 
-    PCERT_INFO          pSigner;        
-} CTL_FIND_USAGE_PARA, *PCTL_FIND_USAGE_PARA;
-
-
-
-
-
-
-
-typedef struct _CTL_FIND_SUBJECT_PARA {
-    DWORD                   cbSize;
-    PCTL_FIND_USAGE_PARA    pUsagePara; 
-    DWORD                   dwSubjectType;
-    void                    *pvSubject;
-} CTL_FIND_SUBJECT_PARA, *PCTL_FIND_SUBJECT_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddEncodedCTLToStore(
-     HCERTSTORE hCertStore,
-     DWORD dwMsgAndCertEncodingType,
-     const BYTE *pbCtlEncoded,
-     DWORD cbCtlEncoded,
-     DWORD dwAddDisposition,
-      PCCTL_CONTEXT *ppCtlContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddCTLContextToStore(
-     HCERTSTORE hCertStore,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwAddDisposition,
-      PCCTL_CONTEXT *ppStoreContext
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSerializeCTLStoreElement(
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwFlags,
-     BYTE *pbElement,
-      DWORD *pcbElement
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertDeleteCTLFromStore(
-     PCCTL_CONTEXT pCtlContext
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddCertificateLinkToStore(
-     HCERTSTORE hCertStore,
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwAddDisposition,
-      PCCERT_CONTEXT *ppStoreContext
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddCRLLinkToStore(
-     HCERTSTORE hCertStore,
-     PCCRL_CONTEXT pCrlContext,
-     DWORD dwAddDisposition,
-      PCCRL_CONTEXT *ppStoreContext
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddCTLLinkToStore(
-     HCERTSTORE hCertStore,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwAddDisposition,
-      PCCTL_CONTEXT *ppStoreContext
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddStoreToCollection(
-     HCERTSTORE hCollectionStore,
-      HCERTSTORE hSiblingStore,
-     DWORD dwUpdateFlags,
-     DWORD dwPriority
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-CertRemoveStoreFromCollection(
-     HCERTSTORE hCollectionStore,
-     HCERTSTORE hSiblingStore
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertControlStore(
-     HCERTSTORE hCertStore,
-     DWORD dwFlags,
-     DWORD dwCtrlType,
-     void const *pvCtrlPara
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSetStoreProperty(
-     HCERTSTORE hCertStore,
-     DWORD dwPropId,
-     DWORD dwFlags,
-     const void *pvData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetStoreProperty(
-     HCERTSTORE hCertStore,
-     DWORD dwPropId,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-typedef struct _CERT_CREATE_CONTEXT_PARA {
-    DWORD                   cbSize;
-    PFN_CRYPT_FREE          pfnFree;            
-    void                    *pvFree;            
-} CERT_CREATE_CONTEXT_PARA, *PCERT_CREATE_CONTEXT_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-const void *
-__stdcall
-CertCreateContext(
-     DWORD dwContextType,
-     DWORD dwEncodingType,
-     const BYTE *pbEncoded,
-     DWORD cbEncoded,
-     DWORD dwFlags,
-      PCERT_CREATE_CONTEXT_PARA pCreatePara
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_SYSTEM_STORE_INFO {
-    DWORD   cbSize;
-} CERT_SYSTEM_STORE_INFO, *PCERT_SYSTEM_STORE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_PHYSICAL_STORE_INFO {
-    DWORD               cbSize;
-    LPSTR               pszOpenStoreProvider;   
-    DWORD               dwOpenEncodingType;     
-    DWORD               dwOpenFlags;            
-    CRYPT_DATA_BLOB     OpenParameters;         
-    DWORD               dwFlags;                
-    DWORD               dwPriority;             
-} CERT_PHYSICAL_STORE_INFO, *PCERT_PHYSICAL_STORE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertRegisterSystemStore(
-     const void *pvSystemStore,
-     DWORD dwFlags,
-     PCERT_SYSTEM_STORE_INFO pStoreInfo,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertRegisterPhysicalStore(
-     const void *pvSystemStore,
-     DWORD dwFlags,
-     LPCWSTR pwszStoreName,
-     PCERT_PHYSICAL_STORE_INFO pStoreInfo,
-      void *pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertUnregisterSystemStore(
-     const void *pvSystemStore,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertUnregisterPhysicalStore(
-     const void *pvSystemStore,
-     DWORD dwFlags,
-     LPCWSTR pwszStoreName
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_ENUM_SYSTEM_STORE_LOCATION)(
-     LPCWSTR pwszStoreLocation,
-     DWORD dwFlags,
-      void *pvReserved,
-      void *pvArg
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_ENUM_SYSTEM_STORE)(
-     const void *pvSystemStore,
-     DWORD dwFlags,
-     PCERT_SYSTEM_STORE_INFO pStoreInfo,
-      void *pvReserved,
-      void *pvArg
-    );
-
-typedef BOOL (__stdcall *PFN_CERT_ENUM_PHYSICAL_STORE)(
-     const void *pvSystemStore,
-     DWORD dwFlags,
-     LPCWSTR pwszStoreName,
-     PCERT_PHYSICAL_STORE_INFO pStoreInfo,
-      void *pvReserved,
-      void *pvArg
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertEnumSystemStoreLocation(
-     DWORD dwFlags,
-     void *pvArg,
-     PFN_CERT_ENUM_SYSTEM_STORE_LOCATION pfnEnum
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertEnumSystemStore(
-     DWORD dwFlags,
-      void *pvSystemStoreLocationPara,
-     void *pvArg,
-     PFN_CERT_ENUM_SYSTEM_STORE pfnEnum
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertEnumPhysicalStore(
-     const void *pvSystemStore,
-     DWORD dwFlags,
-     void *pvArg,
-     PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetEnhancedKeyUsage(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwFlags,
-     PCERT_ENHKEY_USAGE pUsage,
-      DWORD *pcbUsage
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertSetEnhancedKeyUsage(
-     PCCERT_CONTEXT pCertContext,
-     PCERT_ENHKEY_USAGE pUsage
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddEnhancedKeyUsageIdentifier(
-     PCCERT_CONTEXT pCertContext,
-     LPCSTR pszUsageIdentifier
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertRemoveEnhancedKeyUsageIdentifier(
-     PCCERT_CONTEXT pCertContext,
-     LPCSTR pszUsageIdentifier
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetValidUsages(
-          DWORD           cCerts,
-          PCCERT_CONTEXT  *rghCerts,
-         int             *cNumOIDs,
-         LPSTR           *rghOIDs,
-       DWORD           *pcbOIDs);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgGetAndVerifySigner(
-     HCRYPTMSG hCryptMsg,
-     DWORD cSignerStore,
-      HCERTSTORE *rghSignerStore,
-     DWORD dwFlags,
-      PCCERT_CONTEXT *ppSigner,
-       DWORD *pdwSignerIndex
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgSignCTL(
-     DWORD dwMsgEncodingType,
-     BYTE *pbCtlContent,
-     DWORD cbCtlContent,
-     PCMSG_SIGNED_ENCODE_INFO pSignInfo,
-     DWORD dwFlags,
-     BYTE *pbEncoded,
-      DWORD *pcbEncoded
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptMsgEncodeAndSignCTL(
-     DWORD dwMsgEncodingType,
-     PCTL_INFO pCtlInfo,
-     PCMSG_SIGNED_ENCODE_INFO pSignInfo,
-     DWORD dwFlags,
-     BYTE *pbEncoded,
-      DWORD *pcbEncoded
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertFindSubjectInSortedCTL(
-     PCRYPT_DATA_BLOB pSubjectIdentifier,
-     PCCTL_CONTEXT pCtlContext,
-     DWORD dwFlags,
-     void *pvReserved,
-      PCRYPT_DER_BLOB pEncodedAttributes
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertEnumSubjectInSortedCTL(
-     PCCTL_CONTEXT pCtlContext,
-      void **ppvNextSubject,
-      PCRYPT_DER_BLOB pSubjectIdentifier,
-      PCRYPT_DER_BLOB pEncodedAttributes
-    );
-
-
-
-
-
-
-typedef struct _CTL_VERIFY_USAGE_PARA {
-    DWORD                   cbSize;
-    CRYPT_DATA_BLOB         ListIdentifier;     
-    DWORD                   cCtlStore;
-    HCERTSTORE              *rghCtlStore;       
-    DWORD                   cSignerStore;
-    HCERTSTORE              *rghSignerStore;    
-} CTL_VERIFY_USAGE_PARA, *PCTL_VERIFY_USAGE_PARA;
-
-typedef struct _CTL_VERIFY_USAGE_STATUS {
-    DWORD                   cbSize;
-    DWORD                   dwError;
-    DWORD                   dwFlags;
-    PCCTL_CONTEXT           *ppCtl;             
-    DWORD                   dwCtlEntryIndex;
-    PCCERT_CONTEXT          *ppSigner;          
-    DWORD                   dwSignerIndex;
-} CTL_VERIFY_USAGE_STATUS, *PCTL_VERIFY_USAGE_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertVerifyCTLUsage(
-     DWORD dwEncodingType,
-     DWORD dwSubjectType,
-     void *pvSubject,
-     PCTL_USAGE pSubjectUsage,
-     DWORD dwFlags,
-      PCTL_VERIFY_USAGE_PARA pVerifyUsagePara,
-      PCTL_VERIFY_USAGE_STATUS pVerifyUsageStatus
-    );
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REVOCATION_CRL_INFO {
-    DWORD                   cbSize;
-    PCCRL_CONTEXT           pBaseCrlContext;
-    PCCRL_CONTEXT           pDeltaCrlContext;
-
-    
-    
-    PCRL_ENTRY              pCrlEntry;
-    BOOL                    fDeltaCrlEntry; 
-} CERT_REVOCATION_CRL_INFO, *PCERT_REVOCATION_CRL_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REVOCATION_PARA {
-    DWORD                       cbSize;
-    PCCERT_CONTEXT              pIssuerCert;
-    DWORD                       cCertStore;
-    HCERTSTORE                  *rgCertStore;
-    HCERTSTORE                  hCrlStore;
-    LPFILETIME                  pftTimeToUse;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-} CERT_REVOCATION_PARA, *PCERT_REVOCATION_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REVOCATION_STATUS {
-    DWORD                   cbSize;
-    DWORD                   dwIndex;
-    DWORD                   dwError;
-    DWORD                   dwReason;
-
-    
-
-    
-    
-    
-    
-    
-    
-    BOOL                    fHasFreshnessTime;
-    DWORD                   dwFreshnessTime;    
-} CERT_REVOCATION_STATUS, *PCERT_REVOCATION_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertVerifyRevocation(
-     DWORD dwEncodingType,
-     DWORD dwRevType,
-     DWORD cContext,
-     PVOID rgpvContext[],
-     DWORD dwFlags,
-      PCERT_REVOCATION_PARA pRevPara,
-      PCERT_REVOCATION_STATUS pRevStatus
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-BOOL
-__stdcall
-CertCompareIntegerBlob(
-     PCRYPT_INTEGER_BLOB pInt1,
-     PCRYPT_INTEGER_BLOB pInt2
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertCompareCertificate(
-     DWORD dwCertEncodingType,
-     PCERT_INFO pCertId1,
-     PCERT_INFO pCertId2
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertCompareCertificateName(
-     DWORD dwCertEncodingType,
-     PCERT_NAME_BLOB pCertName1,
-     PCERT_NAME_BLOB pCertName2
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertIsRDNAttrsInCertificateName(
-     DWORD dwCertEncodingType,
-     DWORD dwFlags,
-     PCERT_NAME_BLOB pCertName,
-     PCERT_RDN pRDN
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertComparePublicKeyInfo(
-     DWORD dwCertEncodingType,
-     PCERT_PUBLIC_KEY_INFO pPublicKey1,
-     PCERT_PUBLIC_KEY_INFO pPublicKey2
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertGetPublicKeyLength(
-     DWORD dwCertEncodingType,
-     PCERT_PUBLIC_KEY_INFO pPublicKey
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyCertificateSignature(
-     HCRYPTPROV               hCryptProv,
-     DWORD                    dwCertEncodingType,
-     const BYTE *             pbEncoded,
-     DWORD                    cbEncoded,
-     PCERT_PUBLIC_KEY_INFO    pPublicKey
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyCertificateSignatureEx(
-      HCRYPTPROV hCryptProv,
-     DWORD dwCertEncodingType,
-     DWORD dwSubjectType,
-     void *pvSubject,
-     DWORD dwIssuerType,
-     void *pvIssuer,
-     DWORD dwFlags,
-      void *pvReserved
-    );
-
-
-
-
-    
-
-    
-
-    
-
-
-
-    
-
-    
-
-    
-
-    
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptHashToBeSigned(
-     HCRYPTPROV hCryptProv,
-     DWORD dwCertEncodingType,
-     const BYTE *pbEncoded,
-     DWORD cbEncoded,
-     BYTE *pbComputedHash,
-      DWORD *pcbComputedHash
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptHashCertificate(
-     HCRYPTPROV hCryptProv,
-     ALG_ID Algid,
-     DWORD dwFlags,
-     const BYTE *pbEncoded,
-     DWORD cbEncoded,
-     BYTE *pbComputedHash,
-      DWORD *pcbComputedHash
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignCertificate(
-     HCRYPTPROV hCryptProv,
-     DWORD dwKeySpec,
-     DWORD dwCertEncodingType,
-     const BYTE *pbEncodedToBeSigned,
-     DWORD cbEncodedToBeSigned,
-     PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
-      const void *pvHashAuxInfo,
-     BYTE *pbSignature,
-      DWORD *pcbSignature
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignAndEncodeCertificate(
-     HCRYPTPROV hCryptProv,
-     DWORD dwKeySpec,
-     DWORD dwCertEncodingType,
-     LPCSTR lpszStructType,       
-     const void *pvStructInfo,
-     PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
-      const void *pvHashAuxInfo,
-     PBYTE pbEncoded,
-      DWORD *pcbEncoded
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-CertVerifyTimeValidity(
-     LPFILETIME pTimeToVerify,
-     PCERT_INFO pCertInfo
-    );
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-CertVerifyCRLTimeValidity(
-     LPFILETIME pTimeToVerify,
-     PCRL_INFO pCrlInfo
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertVerifyValidityNesting(
-     PCERT_INFO pSubjectInfo,
-     PCERT_INFO pIssuerInfo
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertVerifyCRLRevocation(
-     DWORD dwCertEncodingType,
-     PCERT_INFO pCertId,          
-    
-     DWORD cCrlInfo,
-     PCRL_INFO rgpCrlInfo[]
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-LPCSTR
-__stdcall
-CertAlgIdToOID(
-     DWORD dwAlgId
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertOIDToAlgId(
-     LPCSTR pszObjId
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-PCERT_EXTENSION
-__stdcall
-CertFindExtension(
-     LPCSTR pszObjId,
-     DWORD cExtensions,
-     CERT_EXTENSION rgExtensions[]
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-PCRYPT_ATTRIBUTE
-__stdcall
-CertFindAttribute(
-     LPCSTR pszObjId,
-     DWORD cAttr,
-     CRYPT_ATTRIBUTE rgAttr[]
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCERT_RDN_ATTR
-__stdcall
-CertFindRDNAttr(
-     LPCSTR pszObjId,
-     PCERT_NAME_INFO pName
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetIntendedKeyUsage(
-     DWORD dwCertEncodingType,
-     PCERT_INFO pCertInfo,
-     BYTE *pbKeyUsage,
-     DWORD cbKeyUsage
-    );
-
-typedef void *HCRYPTDEFAULTCONTEXT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptInstallDefaultContext(
-     HCRYPTPROV hCryptProv,
-     DWORD dwDefaultType,
-     const void *pvDefaultPara,
-     DWORD dwFlags,
-     void *pvReserved,
-     HCRYPTDEFAULTCONTEXT *phDefaultContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA {
-    DWORD               cOID;
-    LPSTR               *rgpszOID;
-} CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA, *PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA;
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUninstallDefaultContext(
-    HCRYPTDEFAULTCONTEXT hDefaultContext,
-     DWORD dwFlags,
-     void *pvReserved
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptExportPublicKeyInfo(
-     HCRYPTPROV hCryptProv,
-     DWORD dwKeySpec,
-     DWORD dwCertEncodingType,
-     PCERT_PUBLIC_KEY_INFO pInfo,
-      DWORD *pcbInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptExportPublicKeyInfoEx(
-     HCRYPTPROV hCryptProv,
-     DWORD dwKeySpec,
-     DWORD dwCertEncodingType,
-     LPSTR pszPublicKeyObjId,
-     DWORD dwFlags,
-      void *pvAuxInfo,
-     PCERT_PUBLIC_KEY_INFO pInfo,
-      DWORD *pcbInfo
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptImportPublicKeyInfo(
-     HCRYPTPROV hCryptProv,
-     DWORD dwCertEncodingType,
-     PCERT_PUBLIC_KEY_INFO pInfo,
-     HCRYPTKEY *phKey
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptImportPublicKeyInfoEx(
-     HCRYPTPROV hCryptProv,
-     DWORD dwCertEncodingType,
-     PCERT_PUBLIC_KEY_INFO pInfo,
-     ALG_ID aiKeyAlg,
-     DWORD dwFlags,
-      void *pvAuxInfo,
-     HCRYPTKEY *phKey
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptAcquireCertificatePrivateKey(
-     PCCERT_CONTEXT pCert,
-     DWORD dwFlags,
-     void *pvReserved,
-     HCRYPTPROV *phCryptProv,
-      DWORD *pdwKeySpec,
-      BOOL *pfCallerFreeProv
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptFindCertificateKeyProvInfo(
-     PCCERT_CONTEXT pCert,
-     DWORD dwFlags,
-     void *pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_IMPORT_PRIV_KEY_FUNC) (
-    HCRYPTPROV              hCryptProv,         
-    CRYPT_PRIVATE_KEY_INFO  *pPrivateKeyInfo,   
-    DWORD                   dwFlags,            
-    void                    *pvAuxInfo          
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptImportPKCS8(
-    CRYPT_PKCS8_IMPORT_PARAMS           sImportParams,          
-    DWORD                               dwFlags,                
-    HCRYPTPROV                          *phCryptProv,           
-    void                                *pvAuxInfo              
-    );
-
-
-
-
-typedef BOOL (__stdcall *PFN_EXPORT_PRIV_KEY_FUNC) (
-    HCRYPTPROV              hCryptProv,         
-    DWORD                   dwKeySpec,          
-    LPSTR                   pszPrivateKeyObjId, 
-    DWORD                   dwFlags,            
-    void                    *pvAuxInfo,         
-    CRYPT_PRIVATE_KEY_INFO  *pPrivateKeyInfo,   
-    DWORD                   *pcbPrivateKeyBlob  
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptExportPKCS8(
-    HCRYPTPROV  hCryptProv,         
-    DWORD       dwKeySpec,          
-    LPSTR       pszPrivateKeyObjId, 
-    DWORD       dwFlags,            
-    void        *pvAuxInfo,         
-    BYTE        *pbPrivateKeyBlob,  
-    DWORD       *pcbPrivateKeyBlob  
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptExportPKCS8Ex(
-    CRYPT_PKCS8_EXPORT_PARAMS* psExportParams, 
-    DWORD       dwFlags,            
-    void        *pvAuxInfo,         
-    BYTE        *pbPrivateKeyBlob,  
-    DWORD       *pcbPrivateKeyBlob  
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptHashPublicKeyInfo(
-     HCRYPTPROV hCryptProv,
-     ALG_ID Algid,
-     DWORD dwFlags,
-     DWORD dwCertEncodingType,
-     PCERT_PUBLIC_KEY_INFO pInfo,
-     BYTE *pbComputedHash,
-      DWORD *pcbComputedHash
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertRDNValueToStrA(
-     DWORD dwValueType,
-     PCERT_RDN_VALUE_BLOB pValue,
-      LPSTR psz,
-     DWORD csz
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertRDNValueToStrW(
-     DWORD dwValueType,
-     PCERT_RDN_VALUE_BLOB pValue,
-      LPWSTR psz,
-     DWORD csz
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertNameToStrA(
-     DWORD dwCertEncodingType,
-     PCERT_NAME_BLOB pName,
-     DWORD dwStrType,
-      LPSTR psz,
-     DWORD csz
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertNameToStrW(
-     DWORD dwCertEncodingType,
-     PCERT_NAME_BLOB pName,
-     DWORD dwStrType,
-      LPWSTR psz,
-     DWORD csz
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertStrToNameA(
-     DWORD dwCertEncodingType,
-     LPCSTR pszX500,
-     DWORD dwStrType,
-      void *pvReserved,
-     BYTE *pbEncoded,
-      DWORD *pcbEncoded,
-      LPCSTR *ppszError
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertStrToNameW(
-     DWORD dwCertEncodingType,
-     LPCWSTR pszX500,
-     DWORD dwStrType,
-      void *pvReserved,
-     BYTE *pbEncoded,
-      DWORD *pcbEncoded,
-      LPCWSTR *ppszError
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertGetNameStringA(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwType,
-     DWORD dwFlags,
-     void *pvTypePara,
-      LPSTR pszNameString,
-     DWORD cchNameString
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-CertGetNameStringW(
-     PCCERT_CONTEXT pCertContext,
-     DWORD dwType,
-     DWORD dwFlags,
-     void *pvTypePara,
-      LPWSTR pszNameString,
-     DWORD cchNameString
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef PCCERT_CONTEXT (__stdcall *PFN_CRYPT_GET_SIGNER_CERTIFICATE)(
-     void *pvGetArg,
-     DWORD dwCertEncodingType,
-     PCERT_INFO pSignerId,    
-                                
-     HCERTSTORE hMsgCertStore
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_SIGN_MESSAGE_PARA {
-    DWORD                       cbSize;
-    DWORD                       dwMsgEncodingType;
-    PCCERT_CONTEXT              pSigningCert;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    void                        *pvHashAuxInfo;
-    DWORD                       cMsgCert;
-    PCCERT_CONTEXT              *rgpMsgCert;
-    DWORD                       cMsgCrl;
-    PCCRL_CONTEXT               *rgpMsgCrl;
-    DWORD                       cAuthAttr;
-    PCRYPT_ATTRIBUTE            rgAuthAttr;
-    DWORD                       cUnauthAttr;
-    PCRYPT_ATTRIBUTE            rgUnauthAttr;
-    DWORD                       dwFlags;
-    DWORD                       dwInnerContentType;
-
-
-
-
-
-} CRYPT_SIGN_MESSAGE_PARA, *PCRYPT_SIGN_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
-    DWORD                               cbSize;
-    DWORD                               dwMsgAndCertEncodingType;
-    HCRYPTPROV                          hCryptProv;
-    PFN_CRYPT_GET_SIGNER_CERTIFICATE    pfnGetSignerCertificate;
-    void                                *pvGetArg;
-} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_ENCRYPT_MESSAGE_PARA {
-    DWORD                       cbSize;
-    DWORD                       dwMsgEncodingType;
-    HCRYPTPROV                  hCryptProv;
-    CRYPT_ALGORITHM_IDENTIFIER  ContentEncryptionAlgorithm;
-    void                        *pvEncryptionAuxInfo;
-    DWORD                       dwFlags;
-    DWORD                       dwInnerContentType;
-} CRYPT_ENCRYPT_MESSAGE_PARA, *PCRYPT_ENCRYPT_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_DECRYPT_MESSAGE_PARA {
-    DWORD                   cbSize;
-    DWORD                   dwMsgAndCertEncodingType;
-    DWORD                   cCertStore;
-    HCERTSTORE              *rghCertStore;
-
-
-
-
-
-
-
-
-
-} CRYPT_DECRYPT_MESSAGE_PARA, *PCRYPT_DECRYPT_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_HASH_MESSAGE_PARA {
-    DWORD                       cbSize;
-    DWORD                       dwMsgEncodingType;
-    HCRYPTPROV                  hCryptProv;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    void                        *pvHashAuxInfo;
-} CRYPT_HASH_MESSAGE_PARA, *PCRYPT_HASH_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_KEY_SIGN_MESSAGE_PARA {
-    DWORD                       cbSize;
-    DWORD                       dwMsgAndCertEncodingType;
-    HCRYPTPROV                  hCryptProv;
-    DWORD                       dwKeySpec;
-    CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
-    void                        *pvHashAuxInfo;
-    CRYPT_ALGORITHM_IDENTIFIER  PubKeyAlgorithm;
-} CRYPT_KEY_SIGN_MESSAGE_PARA, *PCRYPT_KEY_SIGN_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_KEY_VERIFY_MESSAGE_PARA {
-    DWORD                   cbSize;
-    DWORD                   dwMsgEncodingType;
-    HCRYPTPROV              hCryptProv;
-} CRYPT_KEY_VERIFY_MESSAGE_PARA, *PCRYPT_KEY_VERIFY_MESSAGE_PARA;
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignMessage(
-     PCRYPT_SIGN_MESSAGE_PARA pSignPara,
-     BOOL fDetachedSignature,
-     DWORD cToBeSigned,
-     const BYTE *rgpbToBeSigned[],
-     DWORD rgcbToBeSigned[],
-     BYTE *pbSignedBlob,
-      DWORD *pcbSignedBlob
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyMessageSignature(
-     PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
-     DWORD dwSignerIndex,
-     const BYTE *pbSignedBlob,
-     DWORD cbSignedBlob,
-     BYTE  *pbDecoded,
-       DWORD *pcbDecoded,
-      PCCERT_CONTEXT *ppSignerCert
-    );
-
-
-
-
-
-__declspec(dllimport)
-LONG
-__stdcall
-CryptGetMessageSignerCount(
-     DWORD dwMsgEncodingType,
-     const BYTE *pbSignedBlob,
-     DWORD cbSignedBlob
-    );
-
-
-
-
-
-__declspec(dllimport)
-HCERTSTORE
-__stdcall
-CryptGetMessageCertificates(
-     DWORD dwMsgAndCertEncodingType,
-     HCRYPTPROV hCryptProv,           
-     DWORD dwFlags,                   
-     const BYTE *pbSignedBlob,
-     DWORD cbSignedBlob
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyDetachedMessageSignature(
-     PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
-     DWORD dwSignerIndex,
-     const BYTE *pbDetachedSignBlob,
-     DWORD cbDetachedSignBlob,
-     DWORD cToBeSigned,
-     const BYTE *rgpbToBeSigned[],
-     DWORD rgcbToBeSigned[],
-      PCCERT_CONTEXT *ppSignerCert
-    );
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEncryptMessage(
-     PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
-     DWORD cRecipientCert,
-     PCCERT_CONTEXT rgpRecipientCert[],
-     const BYTE *pbToBeEncrypted,
-     DWORD cbToBeEncrypted,
-     BYTE *pbEncryptedBlob,
-      DWORD *pcbEncryptedBlob
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDecryptMessage(
-     PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara,
-     const BYTE *pbEncryptedBlob,
-     DWORD cbEncryptedBlob,
-      BYTE *pbDecrypted,
-       DWORD *pcbDecrypted,
-      PCCERT_CONTEXT *ppXchgCert
-    );
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignAndEncryptMessage(
-     PCRYPT_SIGN_MESSAGE_PARA pSignPara,
-     PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
-     DWORD cRecipientCert,
-     PCCERT_CONTEXT rgpRecipientCert[],
-     const BYTE *pbToBeSignedAndEncrypted,
-     DWORD cbToBeSignedAndEncrypted,
-     BYTE *pbSignedAndEncryptedBlob,
-      DWORD *pcbSignedAndEncryptedBlob
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDecryptAndVerifyMessageSignature(
-     PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara,
-     PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
-     DWORD dwSignerIndex,
-     const BYTE *pbEncryptedBlob,
-     DWORD cbEncryptedBlob,
-      BYTE *pbDecrypted,
-       DWORD *pcbDecrypted,
-      PCCERT_CONTEXT *ppXchgCert,
-      PCCERT_CONTEXT *ppSignerCert
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptDecodeMessage(
-     DWORD dwMsgTypeFlags,
-     PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara,
-     PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara,
-     DWORD dwSignerIndex,
-     const BYTE *pbEncodedBlob,
-     DWORD cbEncodedBlob,
-     DWORD dwPrevInnerContentType,
-      DWORD *pdwMsgType,
-      DWORD *pdwInnerContentType,
-      BYTE *pbDecoded,
-       DWORD *pcbDecoded,
-      PCCERT_CONTEXT *ppXchgCert,
-      PCCERT_CONTEXT *ppSignerCert
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptHashMessage(
-     PCRYPT_HASH_MESSAGE_PARA pHashPara,
-     BOOL fDetachedHash,
-     DWORD cToBeHashed,
-     const BYTE *rgpbToBeHashed[],
-     DWORD rgcbToBeHashed[],
-      BYTE *pbHashedBlob,
-       DWORD *pcbHashedBlob,
-      BYTE *pbComputedHash,
-       DWORD *pcbComputedHash
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyMessageHash(
-     PCRYPT_HASH_MESSAGE_PARA pHashPara,
-     BYTE *pbHashedBlob,
-     DWORD cbHashedBlob,
-      BYTE *pbToBeHashed,
-       DWORD *pcbToBeHashed,
-      BYTE *pbComputedHash,
-       DWORD *pcbComputedHash
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyDetachedMessageHash(
-     PCRYPT_HASH_MESSAGE_PARA pHashPara,
-     BYTE *pbDetachedHashBlob,
-     DWORD cbDetachedHashBlob,
-     DWORD cToBeHashed,
-     const BYTE *rgpbToBeHashed[],
-     DWORD rgcbToBeHashed[],
-      BYTE *pbComputedHash,
-       DWORD *pcbComputedHash
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSignMessageWithKey(
-     PCRYPT_KEY_SIGN_MESSAGE_PARA pSignPara,
-     const BYTE *pbToBeSigned,
-     DWORD cbToBeSigned,
-     BYTE *pbSignedBlob,
-      DWORD *pcbSignedBlob
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptVerifyMessageSignatureWithKey(
-     PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara,
-      PCERT_PUBLIC_KEY_INFO pPublicKeyInfo,
-     const BYTE *pbSignedBlob,
-     DWORD cbSignedBlob,
-      BYTE *pbDecoded,
-       DWORD *pcbDecoded
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HCERTSTORE
-__stdcall
-CertOpenSystemStoreA(
-    HCRYPTPROV      hProv,
-    LPCSTR            szSubsystemProtocol
-    );
-__declspec(dllimport)
-HCERTSTORE
-__stdcall
-CertOpenSystemStoreW(
-    HCRYPTPROV      hProv,
-    LPCWSTR            szSubsystemProtocol
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddEncodedCertificateToSystemStoreA(
-    LPCSTR            szCertStoreName,
-    const BYTE *    pbCertEncoded,
-    DWORD           cbCertEncoded
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CertAddEncodedCertificateToSystemStoreW(
-    LPCWSTR            szCertStoreName,
-    const BYTE *    pbCertEncoded,
-    DWORD           cbCertEncoded
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_CHAIN {
-    DWORD                   cCerts;     
-    PCERT_BLOB              certs;      
-                                        
-    CRYPT_KEY_PROV_INFO     keyLocatorInfo; 
-} CERT_CHAIN, *PCERT_CHAIN;
-
-
-
-HRESULT
-__stdcall
-FindCertsByIssuer(
-     PCERT_CHAIN pCertChains,
-      DWORD *pcbCertChains,
-     DWORD *pcCertChains,        
-     BYTE* pbEncodedIssuerName,   
-     DWORD cbEncodedIssuerName,   
-     LPCWSTR pwszPurpose,         
-     DWORD dwKeySpec              
-    
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptQueryObject(
-    DWORD            dwObjectType,
-    const void       *pvObject,
-    DWORD            dwExpectedContentTypeFlags,
-    DWORD            dwExpectedFormatTypeFlags,
-    DWORD            dwFlags,
-    DWORD            *pdwMsgAndCertEncodingType,
-    DWORD            *pdwContentType,
-    DWORD            *pdwFormatType,
-    HCERTSTORE       *phCertStore,
-    HCRYPTMSG        *phMsg,
-    const void       **ppvContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-LPVOID
-__stdcall
-CryptMemAlloc (
-     ULONG cbSize
-    );
-
-__declspec(dllimport)
-LPVOID
-__stdcall
-CryptMemRealloc (
-     LPVOID pv,
-     ULONG cbSize
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-CryptMemFree (
-     LPVOID pv
-    );
-
-
-
-
-
-
-
-
-typedef HANDLE HCRYPTASYNC, *PHCRYPTASYNC;
-
-typedef void (__stdcall *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC) (
-    LPSTR pszParamOid,
-    LPVOID pvParam
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptCreateAsyncHandle (
-     DWORD dwFlags,
-     PHCRYPTASYNC phAsync
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetAsyncParam (
-     HCRYPTASYNC hAsync,
-     LPSTR pszParamOid,
-     LPVOID pvParam,
-      PFN_CRYPT_ASYNC_PARAM_FREE_FUNC pfnFree
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetAsyncParam (
-     HCRYPTASYNC hAsync,
-     LPSTR pszParamOid,
-     LPVOID* ppvParam,
-      PFN_CRYPT_ASYNC_PARAM_FREE_FUNC* ppfnFree
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptCloseAsyncHandle (
-     HCRYPTASYNC hAsync
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_BLOB_ARRAY {
-    DWORD            cBlob;
-    PCRYPT_DATA_BLOB rgBlob;
-} CRYPT_BLOB_ARRAY, *PCRYPT_BLOB_ARRAY;
-
-typedef struct _CRYPT_CREDENTIALS {
-    DWORD  cbSize;
-    LPCSTR pszCredentialsOid;
-    LPVOID pvCredentials;
-} CRYPT_CREDENTIALS, *PCRYPT_CREDENTIALS;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_PASSWORD_CREDENTIALSA {
-    DWORD   cbSize;
-    LPSTR   pszUsername;
-    LPSTR   pszPassword;
-} CRYPT_PASSWORD_CREDENTIALSA, *PCRYPT_PASSWORD_CREDENTIALSA;
-typedef struct _CRYPT_PASSWORD_CREDENTIALSW {
-    DWORD   cbSize;
-    LPWSTR  pszUsername;
-    LPWSTR  pszPassword;
-} CRYPT_PASSWORD_CREDENTIALSW, *PCRYPT_PASSWORD_CREDENTIALSW;
-
-typedef CRYPT_PASSWORD_CREDENTIALSW CRYPT_PASSWORD_CREDENTIALS;
-typedef PCRYPT_PASSWORD_CREDENTIALSW PCRYPT_PASSWORD_CREDENTIALS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall *PFN_FREE_ENCODED_OBJECT_FUNC) (
-    LPCSTR pszObjectOid,
-    PCRYPT_BLOB_ARRAY pObject,
-    LPVOID pvFreeContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_RETRIEVE_AUX_INFO {
-    DWORD       cbSize;
-    FILETIME    *pLastSyncTime;
-    DWORD       dwMaxUrlRetrievalByteCount;     
-} CRYPT_RETRIEVE_AUX_INFO, *PCRYPT_RETRIEVE_AUX_INFO;
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptRetrieveObjectByUrlA (
-     LPCSTR pszUrl,
-     LPCSTR pszObjectOid,
-     DWORD dwRetrievalFlags,
-     DWORD dwTimeout,                     
-     LPVOID* ppvObject,
-     HCRYPTASYNC hAsyncRetrieve,
-      PCRYPT_CREDENTIALS pCredentials,
-      LPVOID pvVerify,
-      PCRYPT_RETRIEVE_AUX_INFO pAuxInfo
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptRetrieveObjectByUrlW (
-     LPCWSTR pszUrl,
-     LPCSTR pszObjectOid,
-     DWORD dwRetrievalFlags,
-     DWORD dwTimeout,                     
-     LPVOID* ppvObject,
-     HCRYPTASYNC hAsyncRetrieve,
-      PCRYPT_CREDENTIALS pCredentials,
-      LPVOID pvVerify,
-      PCRYPT_RETRIEVE_AUX_INFO pAuxInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CRYPT_CANCEL_RETRIEVAL)(
-     DWORD dwFlags,
-     void  *pvArg
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptInstallCancelRetrieval(
-     PFN_CRYPT_CANCEL_RETRIEVAL pfnCancel,
-     const void *pvArg,
-     DWORD dwFlags,
-     void *pvReserved
-);
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUninstallCancelRetrieval(
-         DWORD dwFlags,
-         void  *pvReserved
-        );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptCancelAsyncRetrieval (
-    HCRYPTASYNC hAsyncRetrieval
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall *PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC) (
-     LPVOID pvCompletion,
-     DWORD dwCompletionCode,
-     LPCSTR pszUrl,
-     LPSTR pszObjectOid,
-     LPVOID pvObject
-    );
-
-typedef struct _CRYPT_ASYNC_RETRIEVAL_COMPLETION {
-    PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC pfnCompletion;
-    LPVOID pvCompletion;
-} CRYPT_ASYNC_RETRIEVAL_COMPLETION, *PCRYPT_ASYNC_RETRIEVAL_COMPLETION;
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CANCEL_ASYNC_RETRIEVAL_FUNC) (
-    HCRYPTASYNC hAsyncRetrieve
-    );
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRYPT_URL_ARRAY {
-    DWORD   cUrl;
-    LPWSTR* rgwszUrl;
-} CRYPT_URL_ARRAY, *PCRYPT_URL_ARRAY;
-
-typedef struct _CRYPT_URL_INFO {
-    DWORD   cbSize;
-
-    
-    DWORD   dwSyncDeltaTime;
-
-    
-    
-    
-    DWORD   cGroup;
-    DWORD   *rgcGroupEntry;
-} CRYPT_URL_INFO, *PCRYPT_URL_INFO;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetObjectUrl (
-     LPCSTR pszUrlOid,
-     LPVOID pvPara,
-     DWORD dwFlags,
-      PCRYPT_URL_ARRAY pUrlArray,
-      DWORD* pcbUrlArray,
-      PCRYPT_URL_INFO pUrlInfo,
-       DWORD* pcbUrlInfo,
-      LPVOID pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_CRL_CONTEXT_PAIR {
-    PCCERT_CONTEXT          pCertContext;
-    PCCRL_CONTEXT           pCrlContext;
-} CERT_CRL_CONTEXT_PAIR, *PCERT_CRL_CONTEXT_PAIR;
-typedef const CERT_CRL_CONTEXT_PAIR *PCCERT_CRL_CONTEXT_PAIR;
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetTimeValidObject (
-     LPCSTR pszTimeValidOid,
-     LPVOID pvPara,
-     PCCERT_CONTEXT pIssuer,
-      LPFILETIME pftValidFor,
-     DWORD dwFlags,
-     DWORD dwTimeout,                         
-      LPVOID* ppvObject,
-      PCRYPT_CREDENTIALS pCredentials,
-      LPVOID pvReserved
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptFlushTimeValidObject (
-      LPCSTR pszFlushTimeValidOid,
-      LPVOID pvPara,
-      PCCERT_CONTEXT pIssuer,
-      DWORD dwFlags,
-      LPVOID pvReserved
-     );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct  _CRYPTPROTECT_PROMPTSTRUCT
-{
-    DWORD cbSize;
-    DWORD dwPromptFlags;
-    HWND  hwndApp;
-    LPCWSTR szPrompt;
-} CRYPTPROTECT_PROMPTSTRUCT, *PCRYPTPROTECT_PROMPTSTRUCT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptProtectData(
-                  DATA_BLOB*      pDataIn,
-                  LPCWSTR         szDataDescr,
-          DATA_BLOB*      pOptionalEntropy,
-                  PVOID           pvReserved,
-          CRYPTPROTECT_PROMPTSTRUCT*  pPromptStruct,
-                  DWORD           dwFlags,
-                 DATA_BLOB*      pDataOut            
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUnprotectData(
-                  DATA_BLOB*      pDataIn,             
-         LPWSTR*         ppszDataDescr,       
-          DATA_BLOB*      pOptionalEntropy,
-                  PVOID           pvReserved,
-          CRYPTPROTECT_PROMPTSTRUCT*  pPromptStruct,
-                  DWORD           dwFlags,
-                 DATA_BLOB*      pDataOut
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptProtectMemory(
-               LPVOID          pDataIn,             
-                  DWORD           cbDataIn,            
-                  DWORD           dwFlags
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptUnprotectMemory(
-               LPVOID          pDataIn,             
-                  DWORD           cbDataIn,            
-                  DWORD           dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CONTEXT
-__stdcall
-CertCreateSelfSignCertificate(
-              HCRYPTPROV                  hProv,
-              PCERT_NAME_BLOB             pSubjectIssuerBlob,
-              DWORD                       dwFlags,
-        PCRYPT_KEY_PROV_INFO        pKeyProvInfo,
-        PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
-        PSYSTEMTIME                 pStartTime,
-        PSYSTEMTIME                 pEndTime,
-        PCERT_EXTENSIONS            pExtensions
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptGetKeyIdentifierProperty(
-     const CRYPT_HASH_BLOB *pKeyIdentifier,
-     DWORD dwPropId,
-     DWORD dwFlags,
-      LPCWSTR pwszComputerName,
-      void *pvReserved,
-     void *pvData,
-      DWORD *pcbData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptSetKeyIdentifierProperty(
-     const CRYPT_HASH_BLOB *pKeyIdentifier,
-     DWORD dwPropId,
-     DWORD dwFlags,
-      LPCWSTR pwszComputerName,
-      void *pvReserved,
-     const void *pvData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CRYPT_ENUM_KEYID_PROP)(
-     const CRYPT_HASH_BLOB *pKeyIdentifier,
-     DWORD dwFlags,
-     void *pvReserved,
-     void *pvArg,
-     DWORD cProp,
-     DWORD *rgdwPropId,
-     void **rgpvData,
-     DWORD *rgcbData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptEnumKeyIdentifierProperties(
-      const CRYPT_HASH_BLOB *pKeyIdentifier,
-     DWORD dwPropId,
-     DWORD dwFlags,
-      LPCWSTR pwszComputerName,
-      void *pvReserved,
-      void *pvArg,
-     PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptCreateKeyIdentifierFromCSP(
-     DWORD dwCertEncodingType,
-      LPCSTR pszPubKeyOID,
-     const PUBLICKEYSTRUC *pPubKeyStruc,
-     DWORD cbPubKeyStruc,
-     DWORD dwFlags,
-      void *pvReserved,
-     BYTE *pbHash,
-      DWORD *pcbHash
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef HANDLE HCERTCHAINENGINE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_CHAIN_ENGINE_CONFIG {
-
-    DWORD       cbSize;
-    HCERTSTORE  hRestrictedRoot;
-    HCERTSTORE  hRestrictedTrust;
-    HCERTSTORE  hRestrictedOther;
-    DWORD       cAdditionalStore;
-    HCERTSTORE* rghAdditionalStore;
-    DWORD       dwFlags;
-    DWORD       dwUrlRetrievalTimeout;      
-    DWORD       MaximumCachedCertificates;
-    DWORD       CycleDetectionModulus;
-
-} CERT_CHAIN_ENGINE_CONFIG, *PCERT_CHAIN_ENGINE_CONFIG;
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertCreateCertificateChainEngine (
-     PCERT_CHAIN_ENGINE_CONFIG pConfig,
-     HCERTCHAINENGINE* phChainEngine
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-CertFreeCertificateChainEngine (
-     HCERTCHAINENGINE hChainEngine
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertResyncCertificateChainEngine (
-     HCERTCHAINENGINE hChainEngine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_TRUST_STATUS {
-
-    DWORD dwErrorStatus;
-    DWORD dwInfoStatus;
-
-} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_REVOCATION_INFO {
-
-    DWORD                       cbSize;
-    DWORD                       dwRevocationResult;
-    LPCSTR                      pszRevocationOid;
-    LPVOID                      pvOidSpecificInfo;
-
-    
-    
-    BOOL                        fHasFreshnessTime;
-    DWORD                       dwFreshnessTime;    
-
-    
-    PCERT_REVOCATION_CRL_INFO   pCrlInfo;
-
-} CERT_REVOCATION_INFO, *PCERT_REVOCATION_INFO;
-
-
-
-
-
-typedef struct _CERT_TRUST_LIST_INFO {
-
-    DWORD         cbSize;
-    PCTL_ENTRY    pCtlEntry;
-    PCCTL_CONTEXT pCtlContext;
-
-} CERT_TRUST_LIST_INFO, *PCERT_TRUST_LIST_INFO;
-
-
-
-
-
-typedef struct _CERT_CHAIN_ELEMENT {
-
-    DWORD                 cbSize;
-    PCCERT_CONTEXT        pCertContext;
-    CERT_TRUST_STATUS     TrustStatus;
-    PCERT_REVOCATION_INFO pRevocationInfo;
-
-    PCERT_ENHKEY_USAGE    pIssuanceUsage;       
-    PCERT_ENHKEY_USAGE    pApplicationUsage;    
-
-    LPCWSTR               pwszExtendedErrorInfo;    
-
-} CERT_CHAIN_ELEMENT, *PCERT_CHAIN_ELEMENT;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_SIMPLE_CHAIN {
-
-    DWORD                 cbSize;
-    CERT_TRUST_STATUS     TrustStatus;
-    DWORD                 cElement;
-    PCERT_CHAIN_ELEMENT*  rgpElement;
-    PCERT_TRUST_LIST_INFO pTrustListInfo;
-
-    
-    
-    
-    
-    
-    
-    BOOL                   fHasRevocationFreshnessTime;
-    DWORD                  dwRevocationFreshnessTime;    
-
-} CERT_SIMPLE_CHAIN, *PCERT_SIMPLE_CHAIN;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_CHAIN_CONTEXT CERT_CHAIN_CONTEXT, *PCERT_CHAIN_CONTEXT;
-typedef const CERT_CHAIN_CONTEXT *PCCERT_CHAIN_CONTEXT;
-
-struct _CERT_CHAIN_CONTEXT {
-    DWORD                   cbSize;
-    CERT_TRUST_STATUS       TrustStatus;
-    DWORD                   cChain;
-    PCERT_SIMPLE_CHAIN*     rgpChain;
-
-    
-    
-    DWORD                   cLowerQualityChainContext;
-    PCCERT_CHAIN_CONTEXT*   rgpLowerQualityChainContext;
-
-    
-    
-    
-    
-    
-    
-    BOOL                    fHasRevocationFreshnessTime;
-    DWORD                   dwRevocationFreshnessTime;    
-};
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_USAGE_MATCH {
-
-    DWORD             dwType;
-    CERT_ENHKEY_USAGE Usage;
-
-} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;
-
-typedef struct _CTL_USAGE_MATCH {
-
-    DWORD     dwType;
-    CTL_USAGE Usage;
-
-} CTL_USAGE_MATCH, *PCTL_USAGE_MATCH;
-
-typedef struct _CERT_CHAIN_PARA {
-
-    DWORD            cbSize;
-    CERT_USAGE_MATCH RequestedUsage;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertGetCertificateChain (
-      HCERTCHAINENGINE hChainEngine,
-     PCCERT_CONTEXT pCertContext,
-      LPFILETIME pTime,
-      HCERTSTORE hAdditionalStore,
-     PCERT_CHAIN_PARA pChainPara,
-     DWORD dwFlags,
-     LPVOID pvReserved,
-     PCCERT_CHAIN_CONTEXT* ppChainContext
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-CertFreeCertificateChain (
-     PCCERT_CHAIN_CONTEXT pChainContext
-    );
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CHAIN_CONTEXT
-__stdcall
-CertDuplicateCertificateChain (
-     PCCERT_CHAIN_CONTEXT pChainContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CRL_REVOCATION_INFO {
-
-    PCRL_ENTRY           pCrlEntry;
-    PCCRL_CONTEXT        pCrlContext;
-    PCCERT_CHAIN_CONTEXT pCrlIssuerChain;
-
-} CRL_REVOCATION_INFO, *PCRL_REVOCATION_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PCCERT_CHAIN_CONTEXT
-__stdcall
-CertFindChainInStore(
-     HCERTSTORE hCertStore,
-     DWORD dwCertEncodingType,
-     DWORD dwFindFlags,
-     DWORD dwFindType,
-     const void *pvFindPara,
-     PCCERT_CHAIN_CONTEXT pPrevChainContext
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK)(
-     PCCERT_CONTEXT pCert,
-     void *pvFindArg
-    );
-
-typedef struct _CERT_CHAIN_FIND_BY_ISSUER_PARA {
-    DWORD                                   cbSize;
-
-    
-    LPCSTR                                  pszUsageIdentifier;
-
-    
-    DWORD                                   dwKeySpec;
-
-    
-    
-    
-    
-    
-    DWORD                                   dwAcquirePrivateKeyFlags;
-
-    
-    
-    DWORD                                   cIssuer;
-    CERT_NAME_BLOB                          *rgIssuer;
-
-    
-    
-    
-    PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFindCallback;
-    void                                    *pvFindArg;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-} CERT_CHAIN_FIND_ISSUER_PARA, *PCERT_CHAIN_FIND_ISSUER_PARA,
-    CERT_CHAIN_FIND_BY_ISSUER_PARA, *PCERT_CHAIN_FIND_BY_ISSUER_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERT_CHAIN_POLICY_PARA {
-    DWORD                   cbSize;
-    DWORD                   dwFlags;
-    void                    *pvExtraPolicyPara;     
-} CERT_CHAIN_POLICY_PARA, *PCERT_CHAIN_POLICY_PARA;
-
-
-
-
-
-
-typedef struct _CERT_CHAIN_POLICY_STATUS {
-    DWORD                   cbSize;
-    DWORD                   dwError;
-    LONG                    lChainIndex;
-    LONG                    lElementIndex;
-    void                    *pvExtraPolicyStatus;   
-} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CertVerifyCertificateChainPolicy(
-     LPCSTR pszPolicyOID,
-     PCCERT_CHAIN_CONTEXT pChainContext,
-     PCERT_CHAIN_POLICY_PARA pPolicyPara,
-      PCERT_CHAIN_POLICY_STATUS pPolicyStatus
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA {
-    DWORD               cbSize;
-    DWORD               dwRegPolicySettings;
-    PCMSG_SIGNER_INFO   pSignerInfo;                
-} AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA,
-    *PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA;
-
-typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS {
-    DWORD               cbSize;
-    BOOL                fCommercial;        
-} AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS,
-    *PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA {
-    DWORD               cbSize;
-    DWORD               dwRegPolicySettings;
-    BOOL                fCommercial;
-} AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA,
-    *PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _HTTPSPolicyCallbackData
-{
-    union {
-        DWORD           cbStruct;       
-        DWORD           cbSize;         
-    };
-
-    DWORD           dwAuthType;
-
-
-
-    DWORD           fdwChecks;
-
-    WCHAR           *pwszServerName; 
-
-} HTTPSPolicyCallbackData, *PHTTPSPolicyCallbackData,
-    SSL_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_EXTRA_CERT_CHAIN_POLICY_PARA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptStringToBinaryA(
-         LPCSTR  pszString,
-         DWORD     cchString,
-         DWORD     dwFlags,
-         BYTE     *pbBinary,
-      DWORD    *pcbBinary,
-        DWORD    *pdwSkip,    
-        DWORD    *pdwFlags    
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptStringToBinaryW(
-         LPCWSTR  pszString,
-         DWORD     cchString,
-         DWORD     dwFlags,
-         BYTE     *pbBinary,
-      DWORD    *pcbBinary,
-        DWORD    *pdwSkip,    
-        DWORD    *pdwFlags    
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptBinaryToStringA(
-         const BYTE  *pbBinary,
-         DWORD        cbBinary,
-         DWORD        dwFlags,
-         LPSTR      pszString,
-      DWORD       *pcchString
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CryptBinaryToStringW(
-         const BYTE  *pbBinary,
-         DWORD        cbBinary,
-         DWORD        dwFlags,
-         LPWSTR      pszString,
-      DWORD       *pcchString
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HCERTSTORE
-__stdcall
-PFXImportCertStore(
-     CRYPT_DATA_BLOB* pPFX,
-     LPCWSTR szPassword,
-     DWORD   dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PFXIsPFXBlob(
-     CRYPT_DATA_BLOB* pPFX);
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL 
-__stdcall
-PFXVerifyPassword(
-     CRYPT_DATA_BLOB* pPFX,
-     LPCWSTR szPassword,
-     DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PFXExportCertStoreEx(
-     HCERTSTORE hStore,
-      CRYPT_DATA_BLOB* pPFX,
-     LPCWSTR szPassword,
-     void*   pvReserved,
-     DWORD   dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-PFXExportCertStore(
-     HCERTSTORE hStore,
-      CRYPT_DATA_BLOB* pPFX,
-     LPCWSTR szPassword,
-     DWORD   dwFlags);
-
-
-
-
-
-}       
-
-
-
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CERTIFICATE_BLOB {
-
-    DWORD   dwCertEncodingType;
-
-
-
-
-
-    DWORD   cbData;
-
-
-
-
-    PBYTE    pbData;
-
-} EFS_CERTIFICATE_BLOB, *PEFS_CERTIFICATE_BLOB;
-
-
-
-
-
-
-typedef struct _EFS_HASH_BLOB {
-
-
-
-
-    DWORD   cbData;
-
-
-
-
-    PBYTE    pbData;
-
-} EFS_HASH_BLOB, *PEFS_HASH_BLOB;
-
-
-
-
-
-
-typedef struct _EFS_RPC_BLOB {
-
-
-
-
-    DWORD   cbData;
-
-
-
-
-    PBYTE    pbData;
-
-} EFS_RPC_BLOB, *PEFS_RPC_BLOB;
-
-typedef struct _EFS_KEY_INFO {
-
-    DWORD   dwVersion;
-    ULONG   Entropy;
-    ALG_ID  Algorithm;
-    ULONG   KeyLength;
-    
-} EFS_KEY_INFO, *PEFS_KEY_INFO;
-
-
-
-
-
-
-
-typedef struct _ENCRYPTION_CERTIFICATE {
-    DWORD cbTotalLength;
-    SID * pUserSid;
-    PEFS_CERTIFICATE_BLOB pCertBlob;
-} ENCRYPTION_CERTIFICATE, *PENCRYPTION_CERTIFICATE;
-
-
-
-
-typedef struct _ENCRYPTION_CERTIFICATE_HASH {
-    DWORD cbTotalLength;
-    SID * pUserSid;
-    PEFS_HASH_BLOB  pHash;
-
-
-
-
-    LPWSTR lpDisplayInformation;
-
-} ENCRYPTION_CERTIFICATE_HASH, *PENCRYPTION_CERTIFICATE_HASH;
-
-
-
-
-
-
-
-typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST {
-
-
-
-    DWORD nCert_Hash;
-
-
-
-     PENCRYPTION_CERTIFICATE_HASH * pUsers;
-} ENCRYPTION_CERTIFICATE_HASH_LIST, *PENCRYPTION_CERTIFICATE_HASH_LIST;
-
-
-
-typedef struct _ENCRYPTION_CERTIFICATE_LIST {    
-
-
-
-    DWORD nUsers;
-
-
-
-     PENCRYPTION_CERTIFICATE * pUsers;
-} ENCRYPTION_CERTIFICATE_LIST, *PENCRYPTION_CERTIFICATE_LIST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-QueryUsersOnEncryptedFile(
-          LPCWSTR lpFileName,
-          PENCRYPTION_CERTIFICATE_HASH_LIST * pUsers
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-QueryRecoveryAgentsOnEncryptedFile(
-          LPCWSTR lpFileName,
-          PENCRYPTION_CERTIFICATE_HASH_LIST * pRecoveryAgents
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-RemoveUsersFromEncryptedFile(
-          LPCWSTR lpFileName,
-          PENCRYPTION_CERTIFICATE_HASH_LIST pHashes
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-AddUsersToEncryptedFile(
-          LPCWSTR lpFileName,
-          PENCRYPTION_CERTIFICATE_LIST pUsers
-    );
-
-__declspec(dllimport)
-DWORD
-__stdcall
-SetUserFileEncryptionKey(
-           PENCRYPTION_CERTIFICATE pEncryptionCertificate
-    );
-
-
-__declspec(dllimport)
-void
-__stdcall
-FreeEncryptionCertificateHashList(
-           PENCRYPTION_CERTIFICATE_HASH_LIST pHashes
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EncryptionDisable(
-         LPCWSTR DirPath,
-         BOOL Disable
-    );
-
-
-__declspec(dllimport)
-DWORD
-__stdcall
-DuplicateEncryptionInfoFile(
-          LPCWSTR SrcFileName,
-          LPCWSTR DstFileName, 
-          DWORD dwCreationDistribution, 
-          DWORD dwAttributes, 
-          const LPSECURITY_ATTRIBUTES lpSecurityAttributes
-     );
-
-
-}       
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-typedef struct
-{
-   RPC_NS_HANDLE        LookupContext;
-   RPC_BINDING_HANDLE   ProposedHandle;
-   RPC_BINDING_VECTOR * Bindings;
-
-} RPC_IMPORT_CONTEXT_P, * PRPC_IMPORT_CONTEXT_P;
-
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNsGetBuffer(
-     PRPC_MESSAGE Message
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcNsSendReceive(
-     PRPC_MESSAGE Message,
-     RPC_BINDING_HANDLE  * Handle
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_RpcNsRaiseException(
-     PRPC_MESSAGE Message,
-     RPC_STATUS Status
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_RpcReBindBuffer(
-     PRPC_MESSAGE Message
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_NsServerBindSearch(
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-I_NsClientBindSearch(
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-I_NsClientBindDone(
-    );
-
-
-}
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned char byte;
-typedef byte cs_byte;
-typedef unsigned char boolean;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void  * __stdcall MIDL_user_allocate(size_t);
-void             __stdcall MIDL_user_free( void  * );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void  * NDR_CCONTEXT;
-
-typedef struct
-    {
-    void  * pad[2];
-    void  * userContext;
-    }  * NDR_SCONTEXT;
-
-
-
-
-
-typedef void (__stdcall  * NDR_RUNDOWN)(void  * context);
-
-typedef void (__stdcall  * NDR_NOTIFY_ROUTINE)(void);
-typedef void (__stdcall  * NDR_NOTIFY2_ROUTINE)(boolean flag);
-
-typedef struct _SCONTEXT_QUEUE {
-    unsigned long   NumberOfObjects;
-    NDR_SCONTEXT  * ArrayOfObjects;
-    } SCONTEXT_QUEUE,  * PSCONTEXT_QUEUE;
-
-__declspec(dllimport)
-RPC_BINDING_HANDLE
-__stdcall
-NDRCContextBinding (
-     NDR_CCONTEXT     CContext
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NDRCContextMarshall (
-      NDR_CCONTEXT    CContext,
-     void  *pBuff
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NDRCContextUnmarshall (
-     NDR_CCONTEXT        *   pCContext,
-      RPC_BINDING_HANDLE      hBinding,
-      void                *   pBuff,
-      unsigned long           DataRepresentation
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NDRSContextMarshall (
-      NDR_SCONTEXT    CContext,
-     void          * pBuff,
-      NDR_RUNDOWN     userRunDownIn
-    );
-
-__declspec(dllimport)
-NDR_SCONTEXT
-__stdcall
-NDRSContextUnmarshall (
-      void          * pBuff,
-      unsigned long   DataRepresentation
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NDRSContextMarshallEx (
-      RPC_BINDING_HANDLE  BindingHandle,
-      NDR_SCONTEXT        CContext,
-     void              * pBuff,
-      NDR_RUNDOWN         userRunDownIn
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NDRSContextMarshall2 (
-      RPC_BINDING_HANDLE  BindingHandle,
-      NDR_SCONTEXT        CContext,
-     void              * pBuff,
-      NDR_RUNDOWN         userRunDownIn,
-      void              * CtxGuard,
-     unsigned long        Flags
-    );
-
-__declspec(dllimport)
-NDR_SCONTEXT
-__stdcall
-NDRSContextUnmarshallEx (
-      RPC_BINDING_HANDLE  BindingHandle,
-      void              * pBuff,
-      unsigned long       DataRepresentation
-    );
-
-__declspec(dllimport)
-NDR_SCONTEXT
-__stdcall
-NDRSContextUnmarshall2(
-      RPC_BINDING_HANDLE  BindingHandle,
-      void              * pBuff,
-      unsigned long       DataRepresentation,
-      void              * CtxGuard,
-     unsigned long        Flags
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsDestroyClientContext (
-     void  *  * ContextHandle
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned long error_status_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct _MIDL_STUB_MESSAGE;
-struct _MIDL_STUB_DESC;
-struct _FULL_PTR_XLAT_TABLES;
-
-typedef unsigned char  *    RPC_BUFPTR;
-typedef unsigned long       RPC_LENGTH;
-
-
-typedef void (__stdcall  * EXPR_EVAL)( struct _MIDL_STUB_MESSAGE  * );
-
-typedef const unsigned char  * PFORMAT_STRING;
-
-
-
-
-typedef struct
-    {
-    long              Dimension;
-
-    
-    unsigned long  *  BufferConformanceMark;
-    unsigned long  *  BufferVarianceMark;
-
-    
-    unsigned long  *  MaxCountArray;
-    unsigned long  *  OffsetArray;
-    unsigned long  *  ActualCountArray;
-    } ARRAY_INFO,  *PARRAY_INFO;
-
-
-typedef struct _NDR_ASYNC_MESSAGE *   PNDR_ASYNC_MESSAGE;
-typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO;
-
-
-
-
-
-typedef struct
-    {
-    unsigned long   WireCodeset;
-    unsigned long   DesiredReceivingCodeset;
-    void           *CSArrayInfo;
-    } CS_STUB_INFO;
-
-
-
-
-
-typedef const unsigned char  * PFORMAT_STRING;
-typedef struct _MIDL_SYNTAX_INFO MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
-
-struct NDR_ALLOC_ALL_NODES_CONTEXT;
-struct NDR_POINTER_QUEUE_STATE;
-struct _NDR_PROC_CONTEXT;
-
-typedef struct _MIDL_STUB_MESSAGE
-    {
-    
-    PRPC_MESSAGE            RpcMsg;
-
-    
-    unsigned char       *   Buffer;
-
-    
-
-
-
-    unsigned char       *   BufferStart;
-    unsigned char       *   BufferEnd;
-
-    
-
-
-
-
-
-
-    unsigned char       *   BufferMark;
-
-    
-    unsigned long           BufferLength;
-
-    
-    unsigned long           MemorySize;
-
-    
-    unsigned char       *   Memory;
-
-    
-    unsigned char           IsClient;
-    unsigned char           Pad;
-    unsigned short          uFlags2;
-
-    
-    int                     ReuseBuffer;
-
-    
-    struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext;
-    struct NDR_POINTER_QUEUE_STATE     *pPointerQueueState;
-
-    
-
-
-
-    
-    int                     IgnoreEmbeddedPointers;
-
-    
-
-
-
-    unsigned char       *   PointerBufferMark;
-
-    
-
-
-    unsigned char           fBufferValid;
-
-    unsigned char           uFlags;
-    unsigned short          UniquePtrCount;
-
-    
-
-
-
-    ULONG_PTR               MaxCount;
-
-    
-
-
-
-    unsigned long           Offset;
-
-    
-
-
-
-    unsigned long           ActualCount;
-
-    
-    void  *                 ( __stdcall * pfnAllocate)(size_t);
-    void                    ( __stdcall * pfnFree)(void  *);
-
-    
-
-
-
-
-
-    unsigned char       *   StackTop;
-
-    
-
-
-
-    unsigned char       *   pPresentedType;
-    unsigned char       *   pTransmitType;
-
-    
-
-
-
-
-
-
-
-    handle_t                SavedHandle;
-
-    
-
-
-    const struct _MIDL_STUB_DESC  * StubDesc;
-
-    
-
-
-    struct _FULL_PTR_XLAT_TABLES  * FullPtrXlatTables;
-    unsigned long                   FullPtrRefId;
-
-    unsigned long                   PointerLength;
-
-    int                             fInDontFree       :1;
-    int                             fDontCallFreeInst :1;
-    int                             fInOnlyParam      :1;
-    int                             fHasReturn        :1;
-    int                             fHasExtensions    :1;
-    int                             fHasNewCorrDesc   :1;
-    int                             fIsOicfServer    :1;
-    int                             fHasMemoryValidateCallback: 1;
-    int                             fUnused           :8;
-    int                             fUnused2          :16;
-
-
-    unsigned long                   dwDestContext;
-    void  *                         pvDestContext;
-
-    NDR_SCONTEXT *                  SavedContextHandles;
-
-    long                            ParamNumber;
-
-    struct IRpcChannelBuffer    *   pRpcChannelBuffer;
-
-    PARRAY_INFO                     pArrayInfo;
-    unsigned long           *       SizePtrCountArray;
-    unsigned long           *       SizePtrOffsetArray;
-    unsigned long           *       SizePtrLengthArray;
-
-    
-
-
-    void                    *       pArgQueue;
-
-    unsigned long                   dwStubPhase;
-
-    void                    *       LowStackMark;
-
-    
-
-
-    PNDR_ASYNC_MESSAGE              pAsyncMsg;
-    PNDR_CORRELATION_INFO           pCorrInfo;
-    unsigned char *                 pCorrMemory;
-
-    void *                          pMemoryList;
-
-    
-
-
-
-
-
-    
-
-
-
-    CS_STUB_INFO *                  pCSInfo;
-
-    unsigned char *                 ConformanceMark;
-    unsigned char *                 VarianceMark;
-
-
-
-
-    INT_PTR                         Unused;
-
-
-    struct _NDR_PROC_CONTEXT *      pContext;
-
-    
-
-
-
-
-    void *                             pUserMarshalList;
-    INT_PTR                         Reserved51_2;
-    INT_PTR                         Reserved51_3;
-    INT_PTR                         Reserved51_4;
-    INT_PTR                         Reserved51_5;
-
-
-    
-
-
-    } MIDL_STUB_MESSAGE,  *PMIDL_STUB_MESSAGE;
-
-
-typedef  struct _MIDL_STUB_MESSAGE MIDL_STUB_MESSAGE,   *PMIDL_STUB_MESSAGE;
-
-
-
-
-typedef void  *
-        ( __stdcall * GENERIC_BINDING_ROUTINE)
-        (void  *);
-typedef void
-        ( __stdcall * GENERIC_UNBIND_ROUTINE)
-        (void  *, unsigned char  *);
-
-typedef struct _GENERIC_BINDING_ROUTINE_PAIR
-    {
-    GENERIC_BINDING_ROUTINE     pfnBind;
-    GENERIC_UNBIND_ROUTINE      pfnUnbind;
-    } GENERIC_BINDING_ROUTINE_PAIR,  *PGENERIC_BINDING_ROUTINE_PAIR;
-
-typedef struct __GENERIC_BINDING_INFO
-    {
-    void  *            pObj;
-    unsigned int                Size;
-    GENERIC_BINDING_ROUTINE     pfnBind;
-    GENERIC_UNBIND_ROUTINE      pfnUnbind;
-    } GENERIC_BINDING_INFO,  *PGENERIC_BINDING_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef void ( __stdcall * XMIT_HELPER_ROUTINE)
-    ( PMIDL_STUB_MESSAGE );
-
-typedef struct _XMIT_ROUTINE_QUINTUPLE
-    {
-    XMIT_HELPER_ROUTINE     pfnTranslateToXmit;
-    XMIT_HELPER_ROUTINE     pfnTranslateFromXmit;
-    XMIT_HELPER_ROUTINE     pfnFreeXmit;
-    XMIT_HELPER_ROUTINE     pfnFreeInst;
-    } XMIT_ROUTINE_QUINTUPLE,  *PXMIT_ROUTINE_QUINTUPLE;
-
-typedef unsigned long
-( __stdcall * USER_MARSHAL_SIZING_ROUTINE)
-    (unsigned long  *,
-     unsigned long,
-     void  * );
-
-typedef unsigned char  *
-( __stdcall * USER_MARSHAL_MARSHALLING_ROUTINE)
-    (unsigned long  *,
-     unsigned char  * ,
-     void  * );
-
-typedef unsigned char  *
-( __stdcall * USER_MARSHAL_UNMARSHALLING_ROUTINE)
-    (unsigned long  *,
-     unsigned char  *,
-     void  * );
-
-typedef void ( __stdcall * USER_MARSHAL_FREEING_ROUTINE)
-    (unsigned long  *,
-     void  * );
-
-typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE
-    {
-    USER_MARSHAL_SIZING_ROUTINE          pfnBufferSize;
-    USER_MARSHAL_MARSHALLING_ROUTINE     pfnMarshall;
-    USER_MARSHAL_UNMARSHALLING_ROUTINE   pfnUnmarshall;
-    USER_MARSHAL_FREEING_ROUTINE         pfnFree;
-    } USER_MARSHAL_ROUTINE_QUADRUPLE;
-
-
-
-typedef enum _USER_MARSHAL_CB_TYPE
-{
-    USER_MARSHAL_CB_BUFFER_SIZE,
-    USER_MARSHAL_CB_MARSHALL,
-    USER_MARSHAL_CB_UNMARSHALL,
-    USER_MARSHAL_CB_FREE
-} USER_MARSHAL_CB_TYPE;
-
-typedef struct _USER_MARSHAL_CB
-{
-    unsigned long           Flags;
-    PMIDL_STUB_MESSAGE      pStubMsg;
-    PFORMAT_STRING          pReserve;
-    unsigned long           Signature;
-    USER_MARSHAL_CB_TYPE    CBType;
-    PFORMAT_STRING          pFormat;
-    PFORMAT_STRING          pTypeFormat;
-} USER_MARSHAL_CB;
-
-
-
-
-
-
-
-
-
-typedef struct _MALLOC_FREE_STRUCT
-    {
-    void  *     ( __stdcall * pfnAllocate)(size_t);
-    void        ( __stdcall * pfnFree)(void  *);
-    } MALLOC_FREE_STRUCT;
-
-typedef struct _COMM_FAULT_OFFSETS
-    {
-    short       CommOffset;
-    short       FaultOffset;
-    } COMM_FAULT_OFFSETS;
-
-
-
-
-
-typedef enum _IDL_CS_CONVERT
-    {
-    IDL_CS_NO_CONVERT,
-    IDL_CS_IN_PLACE_CONVERT,
-    IDL_CS_NEW_BUFFER_CONVERT
-    } IDL_CS_CONVERT;
-
-typedef void
-( __stdcall * CS_TYPE_NET_SIZE_ROUTINE)
-    (RPC_BINDING_HANDLE     hBinding,
-     unsigned long          ulNetworkCodeSet,
-     unsigned long          ulLocalBufferSize,
-     IDL_CS_CONVERT     *   conversionType,
-     unsigned long      *   pulNetworkBufferSize,
-     error_status_t     *   pStatus);
-
-typedef void
-( __stdcall * CS_TYPE_LOCAL_SIZE_ROUTINE)
-    (RPC_BINDING_HANDLE     hBinding,
-     unsigned long          ulNetworkCodeSet,
-     unsigned long          ulNetworkBufferSize,
-     IDL_CS_CONVERT     *   conversionType,
-     unsigned long      *   pulLocalBufferSize,
-     error_status_t     *   pStatus);
-
-typedef void
-( __stdcall * CS_TYPE_TO_NETCS_ROUTINE)
-    (RPC_BINDING_HANDLE     hBinding,
-     unsigned long          ulNetworkCodeSet,
-     void               *   pLocalData,
-     unsigned long          ulLocalDataLength,
-     byte               *   pNetworkData,
-     unsigned long      *   pulNetworkDataLength,
-     error_status_t     *   pStatus);
-
-typedef void
-( __stdcall * CS_TYPE_FROM_NETCS_ROUTINE)
-    (RPC_BINDING_HANDLE     hBinding,
-     unsigned long          ulNetworkCodeSet,
-     byte               *   pNetworkData,
-     unsigned long          ulNetworkDataLength,
-     unsigned long          ulLocalBufferSize,
-     void               *   pLocalData,
-     unsigned long      *   pulLocalDataLength,
-     error_status_t     *   pStatus);
-
-typedef void
-( __stdcall * CS_TAG_GETTING_ROUTINE)
-    (RPC_BINDING_HANDLE     hBinding,
-     int                    fServerSide,
-     unsigned long      *   pulSendingTag,
-     unsigned long      *   pulDesiredReceivingTag,
-     unsigned long      *   pulReceivingTag,
-     error_status_t     *   pStatus);
-
-void __stdcall
-RpcCsGetTags(
-     RPC_BINDING_HANDLE     hBinding,
-     int                    fServerSide,
-     unsigned long      *   pulSendingTag,
-     unsigned long      *   pulDesiredReceivingTag,
-     unsigned long      *   pulReceivingTag,
-     error_status_t     *   pStatus);
-
-typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES
-    {
-    CS_TYPE_NET_SIZE_ROUTINE    pfnNetSize;
-    CS_TYPE_TO_NETCS_ROUTINE    pfnToNetCs;
-    CS_TYPE_LOCAL_SIZE_ROUTINE  pfnLocalSize;
-    CS_TYPE_FROM_NETCS_ROUTINE  pfnFromNetCs;
-    } NDR_CS_SIZE_CONVERT_ROUTINES;
-
-typedef struct _NDR_CS_ROUTINES
-    {
-    NDR_CS_SIZE_CONVERT_ROUTINES   *pSizeConvertRoutines;
-    CS_TAG_GETTING_ROUTINE         *pTagGettingRoutines;
-    } NDR_CS_ROUTINES;
-
-
-
-
-
-typedef struct _MIDL_STUB_DESC
-    {
-    void  *    RpcInterfaceInformation;
-
-    void  *    ( __stdcall * pfnAllocate)(size_t);
-    void       ( __stdcall * pfnFree)(void  *);
-
-    union
-        {
-        handle_t  *             pAutoHandle;
-        handle_t  *             pPrimitiveHandle;
-        PGENERIC_BINDING_INFO   pGenericBindingInfo;
-        } IMPLICIT_HANDLE_INFO;
-
-    const NDR_RUNDOWN  *                    apfnNdrRundownRoutines;
-    const GENERIC_BINDING_ROUTINE_PAIR  *   aGenericBindingRoutinePairs;
-    const EXPR_EVAL  *                      apfnExprEval;
-    const XMIT_ROUTINE_QUINTUPLE  *         aXmitQuintuple;
-
-    const unsigned char  *                  pFormatTypes;
-
-    int                                     fCheckBounds;
-
-    
-    unsigned long                           Version;
-
-    MALLOC_FREE_STRUCT  *                   pMallocFreeStruct;
-
-    long                                    MIDLVersion;
-
-    const COMM_FAULT_OFFSETS  *    CommFaultOffsets;
-
-    
-    const USER_MARSHAL_ROUTINE_QUADRUPLE  * aUserMarshalQuadruple;
-
-    
-    const NDR_NOTIFY_ROUTINE  *             NotifyRoutineTable;
-
-    
-
-
-
-    ULONG_PTR                               mFlags;
-
-    
-    const NDR_CS_ROUTINES *                 CsRoutineTables;
-
-    void *                                  Reserved4;
-    ULONG_PTR                               Reserved5;
-
-    
-
-    } MIDL_STUB_DESC;
-
-
-typedef const MIDL_STUB_DESC  * PMIDL_STUB_DESC;
-
-typedef void  * PMIDL_XMIT_TYPE;
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning( disable:4200 )
-
-typedef struct _MIDL_FORMAT_STRING
-    {
-    short               Pad;
-    unsigned char       Format[];
-    } MIDL_FORMAT_STRING;
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-typedef void ( __stdcall * STUB_THUNK)( PMIDL_STUB_MESSAGE );
-
-typedef long ( __stdcall * SERVER_ROUTINE)();
-
-
-
-
-typedef struct  _MIDL_SERVER_INFO_
-    {
-    PMIDL_STUB_DESC                     pStubDesc;
-    const SERVER_ROUTINE     *          DispatchTable;
-    PFORMAT_STRING                      ProcString;
-    const unsigned short *              FmtStringOffset;
-    const STUB_THUNK *                  ThunkTable;
-    PRPC_SYNTAX_IDENTIFIER              pTransferSyntax;
-    ULONG_PTR                           nCount;
-    PMIDL_SYNTAX_INFO                   pSyntaxInfo;
-    } MIDL_SERVER_INFO, *PMIDL_SERVER_INFO;
-
-
-
-
-
-
-typedef struct _MIDL_STUBLESS_PROXY_INFO
-    {
-    PMIDL_STUB_DESC                     pStubDesc;
-    PFORMAT_STRING                      ProcFormatString;
-    const unsigned short            *   FormatStringOffset;
-    PRPC_SYNTAX_IDENTIFIER              pTransferSyntax;
-    ULONG_PTR                           nCount;
-    PMIDL_SYNTAX_INFO                   pSyntaxInfo;
-    } MIDL_STUBLESS_PROXY_INFO;
-
-typedef MIDL_STUBLESS_PROXY_INFO  * PMIDL_STUBLESS_PROXY_INFO;
-
-
-
-
-typedef struct _MIDL_SYNTAX_INFO
-{
-RPC_SYNTAX_IDENTIFIER               TransferSyntax;
-RPC_DISPATCH_TABLE *                DispatchTable;
-PFORMAT_STRING                      ProcString;
-const unsigned short *              FmtStringOffset;
-PFORMAT_STRING                      TypeString;
-const void           *              aUserMarshalQuadruple;
-ULONG_PTR                           pReserved1;
-ULONG_PTR                           pReserved2;
-} MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO;
-
-typedef unsigned short * PARAM_OFFSETTABLE, *PPARAM_OFFSETTABLE;
-
-
-
-
-typedef union _CLIENT_CALL_RETURN
-    {
-    void  *         Pointer;
-    LONG_PTR        Simple;
-    } CLIENT_CALL_RETURN;
-
-
-
-
-
-typedef enum
-        {
-        XLAT_SERVER = 1,
-        XLAT_CLIENT
-        } XLAT_SIDE;
-
-
-
-
-
-typedef struct _FULL_PTR_TO_REFID_ELEMENT
-    {
-    struct _FULL_PTR_TO_REFID_ELEMENT  *  Next;
-
-    void  *             Pointer;
-    unsigned long       RefId;
-    unsigned char       State;
-    } FULL_PTR_TO_REFID_ELEMENT,  *PFULL_PTR_TO_REFID_ELEMENT;
-
-
-
-
-typedef struct _FULL_PTR_XLAT_TABLES
-    {
-    
-
-
-    struct
-        {
-        void  * *           XlatTable;
-        unsigned char  *    StateTable;
-        unsigned long       NumberOfEntries;
-        } RefIdToPointer;
-
-    
-
-
-    struct
-        {
-        PFULL_PTR_TO_REFID_ELEMENT  *   XlatTable;
-        unsigned long                   NumberOfBuckets;
-        unsigned long                   HashMask;
-        } PointerToRefId;
-
-    
-
-
-    unsigned long           NextRefId;
-
-    
-
-
-
-
-
-
-    XLAT_SIDE               XlatSide;
-    } FULL_PTR_XLAT_TABLES,  *PFULL_PTR_XLAT_TABLES;
-
-
-
-
-
-RPC_STATUS __stdcall
-NdrClientGetSupportedSyntaxes(
-     RPC_CLIENT_INTERFACE * pInf,
-     unsigned long       * pCount,
-     MIDL_SYNTAX_INFO   ** pArr );
-
-
-RPC_STATUS __stdcall
-NdrServerGetSupportedSyntaxes(
-     RPC_SERVER_INTERFACE * pInf,
-     unsigned long       * pCount,
-     MIDL_SYNTAX_INFO   ** pArr,
-     unsigned long       * pPreferSyntaxIndex);
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrSimpleTypeMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    unsigned char           FormatChar
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrPointerMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrCsArrayMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrCsTagMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrSimpleStructMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantStructMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantVaryingStructMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrComplexStructMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrFixedArrayMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantArrayMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantVaryingArrayMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrVaryingArrayMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrComplexArrayMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrNonConformantStringMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantStringMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrEncapsulatedUnionMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrNonEncapsulatedUnionMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrByteCountPointerMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrXmitOrRepAsMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrUserMarshalMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrInterfacePointerMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrClientContextMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    NDR_CCONTEXT            ContextHandle,
-    int                     fCheck
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerContextMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    NDR_SCONTEXT            ContextHandle,
-    NDR_RUNDOWN             RundownRoutine
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerContextNewMarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    NDR_SCONTEXT            ContextHandle,
-    NDR_RUNDOWN             RundownRoutine,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrSimpleTypeUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    unsigned char           FormatChar
-    );
-
-__declspec(dllimport)
-unsigned char * __stdcall
-__stdcall
-NdrCsArrayUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char **        ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char * __stdcall
-__stdcall
-NdrCsTagUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char **        ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char * __stdcall
-NdrRangeUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char **        ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrCorrelationInitialize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    void  *                 pMemory,
-    unsigned long           CacheSize,
-    unsigned long           flags
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrCorrelationPass(
-    PMIDL_STUB_MESSAGE      pStubMsg
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrCorrelationFree(
-    PMIDL_STUB_MESSAGE      pStubMsg
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrPointerUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrSimpleStructUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantStructUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantVaryingStructUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrComplexStructUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrFixedArrayUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantArrayUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantVaryingArrayUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrVaryingArrayUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrComplexArrayUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrNonConformantStringUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrConformantStringUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrEncapsulatedUnionUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrNonEncapsulatedUnionUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrByteCountPointerUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrXmitOrRepAsUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrUserMarshalUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrInterfacePointerUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *  *     ppMemory,
-    PFORMAT_STRING          pFormat,
-    unsigned char           fMustAlloc
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrClientContextUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    NDR_CCONTEXT        *   pContextHandle,
-    RPC_BINDING_HANDLE      BindHandle
-    );
-
-__declspec(dllimport)
-NDR_SCONTEXT
-__stdcall
-NdrServerContextUnmarshall(
-    PMIDL_STUB_MESSAGE      pStubMsg
-    );
-
-
-
-__declspec(dllimport)
-NDR_SCONTEXT
-__stdcall
-NdrContextHandleInitialize(
-      PMIDL_STUB_MESSAGE  pStubMsg,
-      PFORMAT_STRING      pFormat
-    );
-
-__declspec(dllimport)
-NDR_SCONTEXT
-__stdcall
-NdrServerContextNewUnmarshall(
-      PMIDL_STUB_MESSAGE  pStubMsg,
-      PFORMAT_STRING      pFormat
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrPointerBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrCsArrayBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrCsTagBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrSimpleStructBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantStructBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantVaryingStructBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrComplexStructBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrFixedArrayBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantArrayBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantVaryingArrayBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrVaryingArrayBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrComplexArrayBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantStringBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrNonConformantStringBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrEncapsulatedUnionBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrNonEncapsulatedUnionBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrByteCountPointerBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrXmitOrRepAsBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrUserMarshalBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrInterfacePointerBufferSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrContextHandleSize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrPointerMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrCsArrayMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrCsTagMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrSimpleStructMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrConformantStructMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrConformantVaryingStructMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrComplexStructMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrFixedArrayMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrConformantArrayMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrConformantVaryingArrayMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrVaryingArrayMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrComplexArrayMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrConformantStringMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrNonConformantStringMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrEncapsulatedUnionMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrNonEncapsulatedUnionMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrXmitOrRepAsMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrUserMarshalMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrInterfacePointerMemorySize(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrPointerFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrCsArrayFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrSimpleStructFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantStructFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantVaryingStructFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrComplexStructFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrFixedArrayFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantArrayFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConformantVaryingArrayFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrVaryingArrayFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrComplexArrayFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrEncapsulatedUnionFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrNonEncapsulatedUnionFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrByteCountPointerFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrXmitOrRepAsFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrUserMarshalFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrInterfacePointerFree(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pMemory,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConvert2(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat,
-    long                    NumberParams
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrConvert(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrUserMarshalSimpleTypeConvert(
-    unsigned long *         pFlags,
-    unsigned char *         pBuffer,
-    unsigned char           FormatChar
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrClientInitializeNew(
-    PRPC_MESSAGE            pRpcMsg,
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PMIDL_STUB_DESC         pStubDescriptor,
-    unsigned int            ProcNum
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrServerInitializeNew(
-    PRPC_MESSAGE            pRpcMsg,
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PMIDL_STUB_DESC         pStubDescriptor
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerInitializePartial(
-    PRPC_MESSAGE            pRpcMsg,
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PMIDL_STUB_DESC         pStubDescriptor,
-    unsigned long           RequestedBufferSize
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrClientInitialize(
-    PRPC_MESSAGE            pRpcMsg,
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PMIDL_STUB_DESC         pStubDescriptor,
-    unsigned int            ProcNum
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrServerInitialize(
-    PRPC_MESSAGE            pRpcMsg,
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PMIDL_STUB_DESC         pStubDescriptor
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrServerInitializeUnmarshall (
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PMIDL_STUB_DESC         pStubDescriptor,
-    PRPC_MESSAGE            pRpcMsg
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerInitializeMarshall (
-    PRPC_MESSAGE            pRpcMsg,
-    PMIDL_STUB_MESSAGE      pStubMsg
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrGetBuffer(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned long           BufferLength,
-    RPC_BINDING_HANDLE      Handle
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrNsGetBuffer(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned long           BufferLength,
-    RPC_BINDING_HANDLE      Handle
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrSendReceive(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char *         pBufferEnd
-    );
-
-__declspec(dllimport)
-unsigned char  *
-__stdcall
-NdrNsSendReceive(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    unsigned char  *        pBufferEnd,
-    RPC_BINDING_HANDLE  *   pAutoHandle
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrFreeBuffer(
-    PMIDL_STUB_MESSAGE      pStubMsg
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-NdrGetDcomProtocolVersion(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    RPC_VERSION *           pVersion );
-
-
-
-
-
-
-
-
-CLIENT_CALL_RETURN __cdecl
-NdrClientCall2(
-    PMIDL_STUB_DESC         pStubDescriptor,
-    PFORMAT_STRING          pFormat,
-    ...
-    );
-
-
-
-extern "C"
-
-void * _AddressOfReturnAddress(void);
-
-
-
-CLIENT_CALL_RETURN __cdecl
-NdrClientCall(
-    PMIDL_STUB_DESC         pStubDescriptor,
-    PFORMAT_STRING          pFormat,
-    ...
-    );
-
-CLIENT_CALL_RETURN __cdecl
-NdrAsyncClientCall(
-    PMIDL_STUB_DESC         pStubDescriptor,
-    PFORMAT_STRING          pFormat,
-    ...
-    );
-
-CLIENT_CALL_RETURN __cdecl
-NdrDcomAsyncClientCall(
-    PMIDL_STUB_DESC         pStubDescriptor,
-    PFORMAT_STRING          pFormat,
-    ...
-    );
-
-
-typedef enum {
-    STUB_UNMARSHAL,
-    STUB_CALL_SERVER,
-    STUB_MARSHAL,
-    STUB_CALL_SERVER_NO_HRESULT
-}STUB_PHASE;
-
-typedef enum {
-    PROXY_CALCSIZE,
-    PROXY_GETBUFFER,
-    PROXY_MARSHAL,
-    PROXY_SENDRECEIVE,
-    PROXY_UNMARSHAL
-}PROXY_PHASE;
-
-struct IRpcStubBuffer;      
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrAsyncServerCall(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-
-__declspec(dllimport)
-long
-__stdcall
-NdrAsyncStubCall(
-    struct IRpcStubBuffer *     pThis,
-    struct IRpcChannelBuffer *  pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long *             pdwStubPhase
-    );
-
-
-__declspec(dllimport)
-long
-__stdcall
-NdrDcomAsyncStubCall(
-    struct IRpcStubBuffer    *  pThis,
-    struct IRpcChannelBuffer *  pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long            *  pdwStubPhase
-    );
-
-__declspec(dllimport)
-long
-__stdcall
-NdrStubCall2(
-    struct IRpcStubBuffer  *    pThis,
-    struct IRpcChannelBuffer  * pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long  *            pdwStubPhase
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerCall2(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-__declspec(dllimport)
-long
-__stdcall
-NdrStubCall (
-    struct IRpcStubBuffer  *    pThis,
-    struct IRpcChannelBuffer  * pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long  *            pdwStubPhase
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerCall(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrServerUnmarshall(
-    struct IRpcChannelBuffer  * pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    PMIDL_STUB_DESC             pStubDescriptor,
-    PFORMAT_STRING              pFormat,
-    void  *                     pParamList
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerMarshall(
-    struct IRpcStubBuffer  *    pThis,
-    struct IRpcChannelBuffer  * pChannel,
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    PFORMAT_STRING              pFormat
-    );
-
-
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-NdrMapCommAndFaultStatus(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned long  *            pCommStatus,
-    unsigned long  *            pFaultStatus,
-    RPC_STATUS                  Status
-    );
-
-
-
-__declspec(dllimport)
-int
-__stdcall
-NdrSH_UPDecision(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem,
-    RPC_BUFPTR                  pBuffer
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrSH_TLUPDecision(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrSH_TLUPDecisionBuffer(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrSH_IfAlloc(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem,
-    unsigned long               Count
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrSH_IfAllocRef(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem,
-    unsigned long               Count
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrSH_IfAllocSet(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem,
-    unsigned long               Count
-    );
-
-__declspec(dllimport)
-RPC_BUFPTR
-__stdcall
-NdrSH_IfCopy(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem,
-    unsigned long               Count
-    );
-
-__declspec(dllimport)
-RPC_BUFPTR
-__stdcall
-NdrSH_IfAllocCopy(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    unsigned char          * *  pPtrInMem,
-    unsigned long               Count
-    );
-
-__declspec(dllimport)
-unsigned long
-__stdcall
-NdrSH_Copy(
-    unsigned char            *  pStubMsg,
-    unsigned char            *  pPtrInMem,
-    unsigned long               Count
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrSH_IfFree(
-    PMIDL_STUB_MESSAGE          pMessage,
-    unsigned char            *  pPtr );
-
-
-__declspec(dllimport)
-RPC_BUFPTR
-__stdcall
-NdrSH_StringMarshall(
-    PMIDL_STUB_MESSAGE          pMessage,
-    unsigned char            *  pMemory,
-    unsigned long               Count,
-    int                         Size );
-
-__declspec(dllimport)
-RPC_BUFPTR
-__stdcall
-NdrSH_StringUnMarshall(
-    PMIDL_STUB_MESSAGE          pMessage,
-    unsigned char          * *  pMemory,
-    int                         Size );
-
-
-
-
-
-typedef void  * RPC_SS_THREAD_HANDLE;
-
-typedef void  * __stdcall
-RPC_CLIENT_ALLOC (
-     size_t Size
-    );
-
-typedef void __stdcall
-RPC_CLIENT_FREE (
-     void  * Ptr
-    );
-
-
-
-
-
-__declspec(dllimport)
-void  *
-__stdcall
-RpcSsAllocate (
-     size_t Size
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsDisableAllocate (
-    void
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsEnableAllocate (
-    void
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsFree (
-     void  * NodeToFree
-    );
-
-__declspec(dllimport)
-RPC_SS_THREAD_HANDLE
-__stdcall
-RpcSsGetThreadHandle (
-    void
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsSetClientAllocFree (
-     RPC_CLIENT_ALLOC  * ClientAlloc,
-     RPC_CLIENT_FREE   * ClientFree
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsSetThreadHandle (
-     RPC_SS_THREAD_HANDLE Id
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-RpcSsSwapClientAllocFree (
-     RPC_CLIENT_ALLOC     * ClientAlloc,
-     RPC_CLIENT_FREE      * ClientFree,
-     RPC_CLIENT_ALLOC *  * OldClientAlloc,
-     RPC_CLIENT_FREE  *  * OldClientFree
-    );
-
-
-
-
-
-__declspec(dllimport)
-void  *
-__stdcall
-RpcSmAllocate (
-      size_t          Size,
-     RPC_STATUS  *   pStatus
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmClientFree (
-      void        *   pNodeToFree
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmDestroyClientContext (
-     void         * * ContextHandle
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmDisableAllocate (
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmEnableAllocate (
-    void
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmFree (
-     void         *   NodeToFree
-    );
-
-__declspec(dllimport)
-RPC_SS_THREAD_HANDLE
-__stdcall
-RpcSmGetThreadHandle (
-     RPC_STATUS  *   pStatus
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmSetClientAllocFree (
-     RPC_CLIENT_ALLOC * ClientAlloc,
-     RPC_CLIENT_FREE  * ClientFree
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmSetThreadHandle (
-     RPC_SS_THREAD_HANDLE Id
-    );
-
-__declspec(dllimport)
-RPC_STATUS
-__stdcall
-RpcSmSwapClientAllocFree (
-     RPC_CLIENT_ALLOC     *   ClientAlloc,
-     RPC_CLIENT_FREE      *   ClientFree,
-     RPC_CLIENT_ALLOC    * * OldClientAlloc,
-     RPC_CLIENT_FREE     * * OldClientFree
-    );
-
-
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrRpcSsEnableAllocate(
-    PMIDL_STUB_MESSAGE      pMessage );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrRpcSsDisableAllocate(
-    PMIDL_STUB_MESSAGE      pMessage );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrRpcSmSetClientToOsf(
-    PMIDL_STUB_MESSAGE      pMessage );
-
-__declspec(dllimport)
-void  *
-__stdcall
-NdrRpcSmClientAllocate (
-     size_t Size
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrRpcSmClientFree (
-     void  * NodeToFree
-    );
-
-__declspec(dllimport)
-void  *
-__stdcall
-NdrRpcSsDefaultAllocate (
-     size_t Size
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrRpcSsDefaultFree (
-     void  * NodeToFree
-    );
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-PFULL_PTR_XLAT_TABLES
-__stdcall
-NdrFullPointerXlatInit(
-    unsigned long           NumberOfPointers,
-    XLAT_SIDE               XlatSide
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrFullPointerXlatFree(
-    PFULL_PTR_XLAT_TABLES   pXlatTables
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrFullPointerQueryPointer(
-    PFULL_PTR_XLAT_TABLES   pXlatTables,
-    void  *                 pPointer,
-    unsigned char           QueryType,
-    unsigned long  *        pRefId
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrFullPointerQueryRefId(
-    PFULL_PTR_XLAT_TABLES   pXlatTables,
-    unsigned long           RefId,
-    unsigned char           QueryType,
-    void  * *               ppPointer
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrFullPointerInsertRefId(
-    PFULL_PTR_XLAT_TABLES   pXlatTables,
-    unsigned long           RefId,
-    void  *                 pPointer
-    );
-
-__declspec(dllimport)
-int
-__stdcall
-NdrFullPointerFree(
-    PFULL_PTR_XLAT_TABLES   pXlatTables,
-    void  *                 Pointer
-    );
-
-__declspec(dllimport)
-void  *
-__stdcall
-NdrAllocate(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    size_t                  Len
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrClearOutParameters(
-    PMIDL_STUB_MESSAGE      pStubMsg,
-    PFORMAT_STRING          pFormat,
-    void  *                 ArgAddr
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-void  *
-__stdcall
-NdrOleAllocate (
-     size_t Size
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrOleFree (
-     void  * NodeToFree
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _NDR_USER_MARSHAL_INFO_LEVEL1
-{
-    void *                      Buffer;
-    unsigned long               BufferSize;
-    void *(__stdcall * pfnAllocate)(size_t);
-    void (__stdcall * pfnFree)(void *);
-    struct IRpcChannelBuffer *  pRpcChannelBuffer;
-    ULONG_PTR                   Reserved[5];
-} NDR_USER_MARSHAL_INFO_LEVEL1;
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)
-
-
-typedef struct _NDR_USER_MARSHAL_INFO
-{
-    unsigned long InformationLevel;
-    union {
-        NDR_USER_MARSHAL_INFO_LEVEL1 Level1;
-    };
-} NDR_USER_MARSHAL_INFO;
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-RPC_STATUS
-__stdcall
-NdrGetUserMarshalInfo (
-     unsigned long        *   pFlags,
-     unsigned long            InformationLevel,
-     NDR_USER_MARSHAL_INFO * pMarshalInfo
-    );
-
-
-
-
-RPC_STATUS __stdcall
-NdrCreateServerInterfaceFromStub(
-             struct IRpcStubBuffer* pStub,
-              RPC_SERVER_INTERFACE *pServerIf );
-
-
-
-
-CLIENT_CALL_RETURN __cdecl
-NdrClientCall3(
-    MIDL_STUBLESS_PROXY_INFO   *pProxyInfo,
-    unsigned long               nProcNum,
-    void *                      pReturnValue,
-    ...
-    );
-
-CLIENT_CALL_RETURN __cdecl
-Ndr64AsyncClientCall(
-    MIDL_STUBLESS_PROXY_INFO   *pProxyInfo,
-    unsigned long               nProcNum,
-    void *                      pReturnValue,
-    ...
-    );
-
-CLIENT_CALL_RETURN __cdecl
-Ndr64DcomAsyncClientCall(
-    MIDL_STUBLESS_PROXY_INFO   *pProxyInfo,
-    unsigned long               nProcNum,
-    void *                      pReturnValue,
-    ...
-    );
-
-struct IRpcStubBuffer;      
-
-__declspec(dllimport)
-void
-__stdcall
-Ndr64AsyncServerCall(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-Ndr64AsyncServerCall64(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-Ndr64AsyncServerCallAll(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-__declspec(dllimport)
-long
-__stdcall
-Ndr64AsyncStubCall(
-    struct IRpcStubBuffer *     pThis,
-    struct IRpcChannelBuffer *  pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long *             pdwStubPhase
-    );
-
-
-__declspec(dllimport)
-long
-__stdcall
-Ndr64DcomAsyncStubCall(
-    struct IRpcStubBuffer    *  pThis,
-    struct IRpcChannelBuffer *  pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long            *  pdwStubPhase
-    );
-
-__declspec(dllimport)
-long
-__stdcall
-NdrStubCall3 (
-    struct IRpcStubBuffer  *    pThis,
-    struct IRpcChannelBuffer  * pChannel,
-    PRPC_MESSAGE                pRpcMsg,
-    unsigned long  *            pdwStubPhase
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerCallAll(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerCallNdr64(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrServerCall3(
-    PRPC_MESSAGE                pRpcMsg
-    );
-
-
-
-__declspec(dllimport)
-void
-__stdcall
-NdrPartialIgnoreClientMarshall(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    void *                      pMemory
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrPartialIgnoreServerUnmarshall(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    void **                     ppMemory
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrPartialIgnoreClientBufferSize(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    void *                      pMemory
-    );
-
-__declspec(dllimport)
-void
-__stdcall
-NdrPartialIgnoreServerInitialize(
-    PMIDL_STUB_MESSAGE          pStubMsg,
-    void **                     ppMemory,
-    PFORMAT_STRING              pFormat
-    );
-
-
-void __stdcall
-RpcUserFree( handle_t AsyncHandle, void * pBuffer );
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef struct tagRemHGLOBAL
-    {
-    long fNullHGlobal;
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemHGLOBAL;
-
-typedef struct tagRemHMETAFILEPICT
-    {
-    long mm;
-    long xExt;
-    long yExt;
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemHMETAFILEPICT;
-
-typedef struct tagRemHENHMETAFILE
-    {
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemHENHMETAFILE;
-
-typedef struct tagRemHBITMAP
-    {
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemHBITMAP;
-
-typedef struct tagRemHPALETTE
-    {
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemHPALETTE;
-
-typedef struct tagRemBRUSH
-    {
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemHBRUSH;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef WCHAR OLECHAR;
-
-typedef  OLECHAR *LPOLESTR;
-
-typedef  const OLECHAR *LPCOLESTR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned char UCHAR;
-
-typedef short SHORT;
-
-typedef unsigned short USHORT;
-
-typedef DWORD ULONG;
-
-typedef double DOUBLE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _COAUTHIDENTITY
-    {
-     USHORT *User;
-     ULONG UserLength;
-     USHORT *Domain;
-     ULONG DomainLength;
-     USHORT *Password;
-     ULONG PasswordLength;
-    ULONG Flags;
-    } 	COAUTHIDENTITY;
-
-typedef struct _COAUTHINFO
-    {
-    DWORD dwAuthnSvc;
-    DWORD dwAuthzSvc;
-    LPWSTR pwszServerPrincName;
-    DWORD dwAuthnLevel;
-    DWORD dwImpersonationLevel;
-    COAUTHIDENTITY *pAuthIdentityData;
-    DWORD dwCapabilities;
-    } 	COAUTHINFO;
-
-typedef LONG SCODE;
-
-
-
-
-
-
-typedef SCODE *PSCODE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef 
-enum tagMEMCTX
-    {	MEMCTX_TASK	= 1,
-	MEMCTX_SHARED	= 2,
-	MEMCTX_MACSYSTEM	= 3,
-	MEMCTX_UNKNOWN	= -1,
-	MEMCTX_SAME	= -2
-    } 	MEMCTX;
-
-
-
-
-
-
-
-
-
-
-typedef 
-enum tagCLSCTX
-    {	CLSCTX_INPROC_SERVER	= 0x1,
-	CLSCTX_INPROC_HANDLER	= 0x2,
-	CLSCTX_LOCAL_SERVER	= 0x4,
-	CLSCTX_INPROC_SERVER16	= 0x8,
-	CLSCTX_REMOTE_SERVER	= 0x10,
-	CLSCTX_INPROC_HANDLER16	= 0x20,
-	CLSCTX_RESERVED1	= 0x40,
-	CLSCTX_RESERVED2	= 0x80,
-	CLSCTX_RESERVED3	= 0x100,
-	CLSCTX_RESERVED4	= 0x200,
-	CLSCTX_NO_CODE_DOWNLOAD	= 0x400,
-	CLSCTX_RESERVED5	= 0x800,
-	CLSCTX_NO_CUSTOM_MARSHAL	= 0x1000,
-	CLSCTX_ENABLE_CODE_DOWNLOAD	= 0x2000,
-	CLSCTX_NO_FAILURE_LOG	= 0x4000,
-	CLSCTX_DISABLE_AAA	= 0x8000,
-	CLSCTX_ENABLE_AAA	= 0x10000,
-	CLSCTX_FROM_DEFAULT_CONTEXT	= 0x20000,
-	CLSCTX_ACTIVATE_32_BIT_SERVER	= 0x40000,
-	CLSCTX_ACTIVATE_64_BIT_SERVER	= 0x80000
-    } 	CLSCTX;
-
-typedef 
-enum tagMSHLFLAGS
-    {	MSHLFLAGS_NORMAL	= 0,
-	MSHLFLAGS_TABLESTRONG	= 1,
-	MSHLFLAGS_TABLEWEAK	= 2,
-	MSHLFLAGS_NOPING	= 4,
-	MSHLFLAGS_RESERVED1	= 8,
-	MSHLFLAGS_RESERVED2	= 16,
-	MSHLFLAGS_RESERVED3	= 32,
-	MSHLFLAGS_RESERVED4	= 64
-    } 	MSHLFLAGS;
-
-typedef 
-enum tagMSHCTX
-    {	MSHCTX_LOCAL	= 0,
-	MSHCTX_NOSHAREDMEM	= 1,
-	MSHCTX_DIFFERENTMACHINE	= 2,
-	MSHCTX_INPROC	= 3,
-	MSHCTX_CROSSCTX	= 4
-    } 	MSHCTX;
-
-typedef 
-enum tagDVASPECT
-    {	DVASPECT_CONTENT	= 1,
-	DVASPECT_THUMBNAIL	= 2,
-	DVASPECT_ICON	= 4,
-	DVASPECT_DOCPRINT	= 8
-    } 	DVASPECT;
-
-typedef 
-enum tagSTGC
-    {	STGC_DEFAULT	= 0,
-	STGC_OVERWRITE	= 1,
-	STGC_ONLYIFCURRENT	= 2,
-	STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE	= 4,
-	STGC_CONSOLIDATE	= 8
-    } 	STGC;
-
-typedef 
-enum tagSTGMOVE
-    {	STGMOVE_MOVE	= 0,
-	STGMOVE_COPY	= 1,
-	STGMOVE_SHALLOWCOPY	= 2
-    } 	STGMOVE;
-
-typedef 
-enum tagSTATFLAG
-    {	STATFLAG_DEFAULT	= 0,
-	STATFLAG_NONAME	= 1,
-	STATFLAG_NOOPEN	= 2
-    } 	STATFLAG;
-
-typedef  void *HCONTEXT;
-
-
-
-typedef DWORD LCID;
-
-
-
-
-typedef USHORT LANGID;
-
-
-typedef struct _BYTE_BLOB
-    {
-    unsigned long clSize;
-     byte abData[ 1 ];
-    } 	BYTE_BLOB;
-
-typedef  BYTE_BLOB *UP_BYTE_BLOB;
-
-typedef struct _WORD_BLOB
-    {
-    unsigned long clSize;
-     unsigned short asData[ 1 ];
-    } 	WORD_BLOB;
-
-typedef  WORD_BLOB *UP_WORD_BLOB;
-
-typedef struct _DWORD_BLOB
-    {
-    unsigned long clSize;
-     unsigned long alData[ 1 ];
-    } 	DWORD_BLOB;
-
-typedef  DWORD_BLOB *UP_DWORD_BLOB;
-
-typedef struct _FLAGGED_BYTE_BLOB
-    {
-    unsigned long fFlags;
-    unsigned long clSize;
-     byte abData[ 1 ];
-    } 	FLAGGED_BYTE_BLOB;
-
-typedef  FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB;
-
-typedef struct _FLAGGED_WORD_BLOB
-    {
-    unsigned long fFlags;
-    unsigned long clSize;
-     unsigned short asData[ 1 ];
-    } 	FLAGGED_WORD_BLOB;
-
-typedef  FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB;
-
-typedef struct _BYTE_SIZEDARR
-    {
-    unsigned long clSize;
-     byte *pData;
-    } 	BYTE_SIZEDARR;
-
-typedef struct _SHORT_SIZEDARR
-    {
-    unsigned long clSize;
-     unsigned short *pData;
-    } 	WORD_SIZEDARR;
-
-typedef struct _LONG_SIZEDARR
-    {
-    unsigned long clSize;
-     unsigned long *pData;
-    } 	DWORD_SIZEDARR;
-
-typedef struct _HYPER_SIZEDARR
-    {
-    unsigned long clSize;
-     __int64 *pData;
-    } 	HYPER_SIZEDARR;
-
-
-
-
-
-
-
-typedef struct _userCLIPFORMAT
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0001
-        {
-         DWORD dwValue;
-         wchar_t *pwszName;
-        } 	u;
-    } 	userCLIPFORMAT;
-
-typedef  userCLIPFORMAT *wireCLIPFORMAT;
-
-typedef  WORD CLIPFORMAT;
-
-typedef struct _GDI_NONREMOTE
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0002
-        {
-         long hInproc;
-         DWORD_BLOB *hRemote;
-        } 	u;
-    } 	GDI_NONREMOTE;
-
-typedef struct _userHGLOBAL
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0003
-        {
-         long hInproc;
-         FLAGGED_BYTE_BLOB *hRemote;
-         __int64 hInproc64;
-        } 	u;
-    } 	userHGLOBAL;
-
-typedef  userHGLOBAL *wireHGLOBAL;
-
-typedef struct _userHMETAFILE
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0004
-        {
-         long hInproc;
-         BYTE_BLOB *hRemote;
-         __int64 hInproc64;
-        } 	u;
-    } 	userHMETAFILE;
-
-typedef struct _remoteMETAFILEPICT
-    {
-    long mm;
-    long xExt;
-    long yExt;
-    userHMETAFILE *hMF;
-    } 	remoteMETAFILEPICT;
-
-typedef struct _userHMETAFILEPICT
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0005
-        {
-         long hInproc;
-         remoteMETAFILEPICT *hRemote;
-         __int64 hInproc64;
-        } 	u;
-    } 	userHMETAFILEPICT;
-
-typedef struct _userHENHMETAFILE
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0006
-        {
-         long hInproc;
-         BYTE_BLOB *hRemote;
-         __int64 hInproc64;
-        } 	u;
-    } 	userHENHMETAFILE;
-
-typedef struct _userBITMAP
-    {
-    LONG bmType;
-    LONG bmWidth;
-    LONG bmHeight;
-    LONG bmWidthBytes;
-    WORD bmPlanes;
-    WORD bmBitsPixel;
-    ULONG cbSize;
-     byte pBuffer[ 1 ];
-    } 	userBITMAP;
-
-typedef struct _userHBITMAP
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0007
-        {
-         long hInproc;
-         userBITMAP *hRemote;
-         __int64 hInproc64;
-        } 	u;
-    } 	userHBITMAP;
-
-typedef struct _userHPALETTE
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0008
-        {
-         long hInproc;
-         LOGPALETTE *hRemote;
-         __int64 hInproc64;
-        } 	u;
-    } 	userHPALETTE;
-
-typedef struct _RemotableHandle
-    {
-    long fContext;
-      union __MIDL_IWinTypes_0009
-        {
-         long hInproc;
-         long hRemote;
-        } 	u;
-    } 	RemotableHandle;
-
-typedef  RemotableHandle *wireHWND;
-
-typedef  RemotableHandle *wireHMENU;
-
-typedef  RemotableHandle *wireHACCEL;
-
-typedef  RemotableHandle *wireHBRUSH;
-
-typedef  RemotableHandle *wireHFONT;
-
-typedef  RemotableHandle *wireHDC;
-
-typedef  RemotableHandle *wireHICON;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  userHBITMAP *wireHBITMAP;
-
-typedef  userHPALETTE *wireHPALETTE;
-
-typedef  userHENHMETAFILE *wireHENHMETAFILE;
-
-typedef  userHMETAFILE *wireHMETAFILE;
-
-typedef  userHMETAFILEPICT *wireHMETAFILEPICT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  void *HMETAFILEPICT;
-
-
-
-extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec;
-extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec;
-
-
-
- 
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)
-
-typedef double DATE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef union tagCY {
-    struct {
-
-
-
-
-        unsigned long Lo;
-        long      Hi;
-
-    };
-    LONGLONG int64;
-} CY;
-
-
-typedef CY *LPCY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagDEC {
-    USHORT wReserved;
-    union {
-        struct {
-            BYTE scale;
-            BYTE sign;
-        };
-        USHORT signscale;
-    };
-    ULONG Hi32;
-    union {
-        struct {
-
-
-
-
-            ULONG Lo32;
-            ULONG Mid32;
-
-        };
-        ULONGLONG Lo64;
-    };
-} DECIMAL;
-
-
-
-
-typedef DECIMAL *LPDECIMAL;
-
-
-
-#pragma warning(pop)
-
-
-
-
-typedef  FLAGGED_WORD_BLOB *wireBSTR;
-
-typedef  OLECHAR *BSTR;
-
-typedef BSTR *LPBSTR;
-
-
-typedef short VARIANT_BOOL;
-
-
-
-
-
-
-
-
-
-typedef boolean BOOLEAN;
-
-
-
-
-
-
-typedef struct tagBSTRBLOB
-    {
-    ULONG cbSize;
-     BYTE *pData;
-    } 	BSTRBLOB;
-
-typedef struct tagBSTRBLOB *LPBSTRBLOB;
-
-
-
-
-
-
-
-
-typedef struct tagBLOB
-    {
-    ULONG cbSize;
-     BYTE *pBlobData;
-    } 	BLOB;
-
-typedef struct tagBLOB *LPBLOB;
-
-
-typedef struct tagCLIPDATA
-    {
-    ULONG cbSize;
-    long ulClipFmt;
-     BYTE *pClipData;
-    } 	CLIPDATA;
-
-
-
-typedef unsigned short VARTYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-enum VARENUM
-    {	VT_EMPTY	= 0,
-	VT_NULL	= 1,
-	VT_I2	= 2,
-	VT_I4	= 3,
-	VT_R4	= 4,
-	VT_R8	= 5,
-	VT_CY	= 6,
-	VT_DATE	= 7,
-	VT_BSTR	= 8,
-	VT_DISPATCH	= 9,
-	VT_ERROR	= 10,
-	VT_BOOL	= 11,
-	VT_VARIANT	= 12,
-	VT_UNKNOWN	= 13,
-	VT_DECIMAL	= 14,
-	VT_I1	= 16,
-	VT_UI1	= 17,
-	VT_UI2	= 18,
-	VT_UI4	= 19,
-	VT_I8	= 20,
-	VT_UI8	= 21,
-	VT_INT	= 22,
-	VT_UINT	= 23,
-	VT_VOID	= 24,
-	VT_HRESULT	= 25,
-	VT_PTR	= 26,
-	VT_SAFEARRAY	= 27,
-	VT_CARRAY	= 28,
-	VT_USERDEFINED	= 29,
-	VT_LPSTR	= 30,
-	VT_LPWSTR	= 31,
-	VT_RECORD	= 36,
-	VT_INT_PTR	= 37,
-	VT_UINT_PTR	= 38,
-	VT_FILETIME	= 64,
-	VT_BLOB	= 65,
-	VT_STREAM	= 66,
-	VT_STORAGE	= 67,
-	VT_STREAMED_OBJECT	= 68,
-	VT_STORED_OBJECT	= 69,
-	VT_BLOB_OBJECT	= 70,
-	VT_CF	= 71,
-	VT_CLSID	= 72,
-	VT_VERSIONED_STREAM	= 73,
-	VT_BSTR_BLOB	= 0xfff,
-	VT_VECTOR	= 0x1000,
-	VT_ARRAY	= 0x2000,
-	VT_BYREF	= 0x4000,
-	VT_RESERVED	= 0x8000,
-	VT_ILLEGAL	= 0xffff,
-	VT_ILLEGALMASKED	= 0xfff,
-	VT_TYPEMASK	= 0xfff
-    } ;
-typedef ULONG PROPID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagCSPLATFORM
-    {
-    DWORD dwPlatformId;
-    DWORD dwVersionHi;
-    DWORD dwVersionLo;
-    DWORD dwProcessorArch;
-    } 	CSPLATFORM;
-
-typedef struct tagQUERYCONTEXT
-    {
-    DWORD dwContext;
-    CSPLATFORM Platform;
-    LCID Locale;
-    DWORD dwVersionHi;
-    DWORD dwVersionLo;
-    } 	QUERYCONTEXT;
-
-typedef  
-enum tagTYSPEC
-    {	TYSPEC_CLSID	= 0,
-	TYSPEC_FILEEXT	= TYSPEC_CLSID + 1,
-	TYSPEC_MIMETYPE	= TYSPEC_FILEEXT + 1,
-	TYSPEC_FILENAME	= TYSPEC_MIMETYPE + 1,
-	TYSPEC_PROGID	= TYSPEC_FILENAME + 1,
-	TYSPEC_PACKAGENAME	= TYSPEC_PROGID + 1,
-	TYSPEC_OBJECTID	= TYSPEC_PACKAGENAME + 1
-    } 	TYSPEC;
-
-typedef  struct __MIDL___MIDL_itf_wtypes_0003_0001
-    {
-    DWORD tyspec;
-      union __MIDL___MIDL_itf_wtypes_0003_0005
-        {
-         CLSID clsid;
-         LPOLESTR pFileExt;
-         LPOLESTR pMimeType;
-         LPOLESTR pProgId;
-         LPOLESTR pFileName;
-         struct 
-            {
-            LPOLESTR pPackageName;
-            GUID PolicyId;
-            } 	ByName;
-         struct 
-            {
-            GUID ObjectId;
-            GUID PolicyId;
-            } 	ByObjectId;
-        } 	tagged_union;
-    } 	uCLSSPEC;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_wtypes_0003_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_wtypes_0003_v0_0_s_ifspec;
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const GUID  GUID_DEVINTERFACE_DISK;
-extern "C" const GUID  GUID_DEVINTERFACE_CDROM;
-extern "C" const GUID  GUID_DEVINTERFACE_PARTITION;
-extern "C" const GUID  GUID_DEVINTERFACE_TAPE;
-extern "C" const GUID  GUID_DEVINTERFACE_WRITEONCEDISK;
-extern "C" const GUID  GUID_DEVINTERFACE_VOLUME;
-extern "C" const GUID  GUID_DEVINTERFACE_MEDIUMCHANGER;
-extern "C" const GUID  GUID_DEVINTERFACE_FLOPPY;
-extern "C" const GUID  GUID_DEVINTERFACE_CDCHANGER;
-extern "C" const GUID  GUID_DEVINTERFACE_STORAGEPORT;
-extern "C" const GUID  GUID_DEVINTERFACE_COMPORT;
-extern "C" const GUID  GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _STORAGE_HOTPLUG_INFO {
-    DWORD Size; 
-    BOOLEAN MediaRemovable; 
-    BOOLEAN MediaHotplug;   
-    BOOLEAN DeviceHotplug;  
-    BOOLEAN WriteCacheEnableOverride; 
-} STORAGE_HOTPLUG_INFO, *PSTORAGE_HOTPLUG_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _STORAGE_DEVICE_NUMBER {
-
-    
-    
-    
-
-    DWORD DeviceType;
-
-    
-    
-    
-
-    DWORD       DeviceNumber;
-
-    
-    
-    
-    
-
-    DWORD       PartitionNumber;
-} STORAGE_DEVICE_NUMBER, *PSTORAGE_DEVICE_NUMBER;
-
-
-
-
-
-typedef struct _STORAGE_BUS_RESET_REQUEST {
-    BYTE  PathId;
-} STORAGE_BUS_RESET_REQUEST, *PSTORAGE_BUS_RESET_REQUEST;
-
-
-
-
-
-typedef struct STORAGE_BREAK_RESERVATION_REQUEST {
-        DWORD Length;
-        BYTE  _unused;
-    BYTE  PathId;
-    BYTE  TargetId;
-    BYTE  Lun;
-} STORAGE_BREAK_RESERVATION_REQUEST, *PSTORAGE_BREAK_RESERVATION_REQUEST;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PREVENT_MEDIA_REMOVAL {
-    BOOLEAN PreventMediaRemoval;
-} PREVENT_MEDIA_REMOVAL, *PPREVENT_MEDIA_REMOVAL;
-
-
-
-
-
-
-
-typedef struct _CLASS_MEDIA_CHANGE_CONTEXT {
-        DWORD MediaChangeCount;
-        DWORD NewState;         
-} CLASS_MEDIA_CHANGE_CONTEXT, *PCLASS_MEDIA_CHANGE_CONTEXT;
-
-
-
-
-
-typedef struct _TAPE_STATISTICS {
-    DWORD Version;
-    DWORD Flags;
-    LARGE_INTEGER RecoveredWrites;
-    LARGE_INTEGER UnrecoveredWrites;
-    LARGE_INTEGER RecoveredReads;
-    LARGE_INTEGER UnrecoveredReads;
-    BYTE          CompressionRatioReads;
-    BYTE          CompressionRatioWrites;
-} TAPE_STATISTICS, *PTAPE_STATISTICS;
-
-
-
-
-
-
-
-
-typedef struct _TAPE_GET_STATISTICS {
-    DWORD Operation;
-} TAPE_GET_STATISTICS, *PTAPE_GET_STATISTICS;
-
-
-
-
-
-
-
-
-
-
-typedef enum _STORAGE_MEDIA_TYPE {
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    DDS_4mm = 0x20,            
-    MiniQic,                   
-    Travan,                    
-    QIC,                       
-    MP_8mm,                    
-    AME_8mm,                   
-    AIT1_8mm,                  
-    DLT,                       
-    NCTP,                      
-    IBM_3480,                  
-    IBM_3490E,                 
-    IBM_Magstar_3590,          
-    IBM_Magstar_MP,            
-    STK_DATA_D3,               
-    SONY_DTF,                  
-    DV_6mm,                    
-    DMI,                       
-    SONY_D2,                   
-    CLEANER_CARTRIDGE,         
-    CD_ROM,                    
-    CD_R,                      
-    CD_RW,                     
-    DVD_ROM,                   
-    DVD_R,                     
-    DVD_RW,                    
-    MO_3_RW,                   
-    MO_5_WO,                   
-    MO_5_RW,                   
-    MO_5_LIMDOW,               
-    PC_5_WO,                   
-    PC_5_RW,                   
-    PD_5_RW,                   
-    ABL_5_WO,                  
-    PINNACLE_APEX_5_RW,        
-    SONY_12_WO,                
-    PHILIPS_12_WO,             
-    HITACHI_12_WO,             
-    CYGNET_12_WO,              
-    KODAK_14_WO,               
-    MO_NFR_525,                
-    NIKON_12_RW,               
-    IOMEGA_ZIP,                
-    IOMEGA_JAZ,                
-    SYQUEST_EZ135,             
-    SYQUEST_EZFLYER,           
-    SYQUEST_SYJET,             
-    AVATAR_F2,                 
-    MP2_8mm,                   
-    DST_S,                     
-    DST_M,                     
-    DST_L,                     
-    VXATape_1,                 
-    VXATape_2,                 
-    STK_9840,                  
-    LTO_Ultrium,               
-    LTO_Accelis,               
-    DVD_RAM,                   
-    AIT_8mm,                   
-    ADR_1,                     
-    ADR_2,
-    STK_9940,                  
-    SAIT                       
-} STORAGE_MEDIA_TYPE, *PSTORAGE_MEDIA_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _STORAGE_BUS_TYPE {
-    BusTypeUnknown = 0x00,
-    BusTypeScsi,
-    BusTypeAtapi,
-    BusTypeAta,
-    BusType1394,
-    BusTypeSsa,
-    BusTypeFibre,
-    BusTypeUsb,
-    BusTypeRAID,
-    BusTypeiScsi,
-    BusTypeSas,
-    BusTypeSata,
-    BusTypeMaxReserved = 0x7F
-} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
-
-typedef struct _DEVICE_MEDIA_INFO {
-    union {
-        struct {
-            LARGE_INTEGER Cylinders;
-            STORAGE_MEDIA_TYPE MediaType;
-            DWORD TracksPerCylinder;
-            DWORD SectorsPerTrack;
-            DWORD BytesPerSector;
-            DWORD NumberMediaSides;
-            DWORD MediaCharacteristics; 
-        } DiskInfo;
-
-        struct {
-            LARGE_INTEGER Cylinders;
-            STORAGE_MEDIA_TYPE MediaType;
-            DWORD TracksPerCylinder;
-            DWORD SectorsPerTrack;
-            DWORD BytesPerSector;
-            DWORD NumberMediaSides;
-            DWORD MediaCharacteristics; 
-        } RemovableDiskInfo;
-
-        struct {
-            STORAGE_MEDIA_TYPE MediaType;
-            DWORD   MediaCharacteristics; 
-            DWORD   CurrentBlockSize;
-            STORAGE_BUS_TYPE BusType;
-
-            
-            
-            
-
-            union {
-                struct {
-                    BYTE  MediumType;
-                    BYTE  DensityCode;
-                } ScsiInformation;
-            } BusSpecificData;
-
-        } TapeInfo;
-    } DeviceSpecific;
-} DEVICE_MEDIA_INFO, *PDEVICE_MEDIA_INFO;
-
-typedef struct _GET_MEDIA_TYPES {
-    DWORD DeviceType;              
-    DWORD MediaInfoCount;
-    DEVICE_MEDIA_INFO MediaInfo[1];
-} GET_MEDIA_TYPES, *PGET_MEDIA_TYPES;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _STORAGE_PREDICT_FAILURE
-{
-    DWORD PredictFailure;
-    BYTE  VendorSpecific[512];
-} STORAGE_PREDICT_FAILURE, *PSTORAGE_PREDICT_FAILURE;
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _MEDIA_TYPE {
-    Unknown,                
-    F5_1Pt2_512,            
-    F3_1Pt44_512,           
-    F3_2Pt88_512,           
-    F3_20Pt8_512,           
-    F3_720_512,             
-    F5_360_512,             
-    F5_320_512,             
-    F5_320_1024,            
-    F5_180_512,             
-    F5_160_512,             
-    RemovableMedia,         
-    FixedMedia,             
-    F3_120M_512,            
-    F3_640_512,             
-    F5_640_512,             
-    F5_720_512,             
-    F3_1Pt2_512,            
-    F3_1Pt23_1024,          
-    F5_1Pt23_1024,          
-    F3_128Mb_512,           
-    F3_230Mb_512,           
-    F8_256_128,             
-    F3_200Mb_512,           
-    F3_240M_512,            
-    F3_32M_512              
-} MEDIA_TYPE, *PMEDIA_TYPE;
-
-
-
-
-
-
-typedef struct _FORMAT_PARAMETERS {
-   MEDIA_TYPE MediaType;
-   DWORD StartCylinderNumber;
-   DWORD EndCylinderNumber;
-   DWORD StartHeadNumber;
-   DWORD EndHeadNumber;
-} FORMAT_PARAMETERS, *PFORMAT_PARAMETERS;
-
-
-
-
-
-
-
-
-typedef WORD   BAD_TRACK_NUMBER;
-typedef WORD   *PBAD_TRACK_NUMBER;
-
-
-
-
-
-
-typedef struct _FORMAT_EX_PARAMETERS {
-   MEDIA_TYPE MediaType;
-   DWORD StartCylinderNumber;
-   DWORD EndCylinderNumber;
-   DWORD StartHeadNumber;
-   DWORD EndHeadNumber;
-   WORD   FormatGapLength;
-   WORD   SectorsPerTrack;
-   WORD   SectorNumber[1];
-} FORMAT_EX_PARAMETERS, *PFORMAT_EX_PARAMETERS;
-
-
-
-
-
-
-
-typedef struct _DISK_GEOMETRY {
-    LARGE_INTEGER Cylinders;
-    MEDIA_TYPE MediaType;
-    DWORD TracksPerCylinder;
-    DWORD SectorsPerTrack;
-    DWORD BytesPerSector;
-} DISK_GEOMETRY, *PDISK_GEOMETRY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PARTITION_INFORMATION {
-    LARGE_INTEGER StartingOffset;
-    LARGE_INTEGER PartitionLength;
-    DWORD HiddenSectors;
-    DWORD PartitionNumber;
-    BYTE  PartitionType;
-    BOOLEAN BootIndicator;
-    BOOLEAN RecognizedPartition;
-    BOOLEAN RewritePartition;
-} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
-
-
-
-
-
-
-
-typedef struct _SET_PARTITION_INFORMATION {
-    BYTE  PartitionType;
-} SET_PARTITION_INFORMATION, *PSET_PARTITION_INFORMATION;
-
-
-
-
-
-
-typedef struct _DRIVE_LAYOUT_INFORMATION {
-    DWORD PartitionCount;
-    DWORD Signature;
-    PARTITION_INFORMATION PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION, *PDRIVE_LAYOUT_INFORMATION;
-
-
-
-
-
-
-typedef struct _VERIFY_INFORMATION {
-    LARGE_INTEGER StartingOffset;
-    DWORD Length;
-} VERIFY_INFORMATION, *PVERIFY_INFORMATION;
-
-
-
-
-
-
-typedef struct _REASSIGN_BLOCKS {
-    WORD   Reserved;
-    WORD   Count;
-    DWORD BlockNumber[1];
-} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _REASSIGN_BLOCKS_EX {
-    WORD   Reserved;
-    WORD   Count;
-    LARGE_INTEGER BlockNumber[1];
-} REASSIGN_BLOCKS_EX, *PREASSIGN_BLOCKS_EX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _PARTITION_STYLE {
-    PARTITION_STYLE_MBR,
-    PARTITION_STYLE_GPT,
-    PARTITION_STYLE_RAW
-} PARTITION_STYLE;
-
-
-
-
-
-
-
-typedef struct _PARTITION_INFORMATION_GPT {
-    GUID PartitionType;                 
-    GUID PartitionId;                   
-    DWORD64 Attributes;                 
-    WCHAR Name [36];                    
-} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PARTITION_INFORMATION_MBR {
-    BYTE  PartitionType;
-    BOOLEAN BootIndicator;
-    BOOLEAN RecognizedPartition;
-    DWORD HiddenSectors;
-} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
-
-
-
-
-
-
-
-
-
-
-typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR;
-typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT;
-
-
-typedef struct _SET_PARTITION_INFORMATION_EX {
-    PARTITION_STYLE PartitionStyle;
-    union {
-        SET_PARTITION_INFORMATION_MBR Mbr;
-        SET_PARTITION_INFORMATION_GPT Gpt;
-    };
-} SET_PARTITION_INFORMATION_EX, *PSET_PARTITION_INFORMATION_EX;
-
-
-
-
-
-
-
-typedef struct _CREATE_DISK_GPT {
-    GUID DiskId;                    
-    DWORD MaxPartitionCount;        
-} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
-
-
-
-
-
-
-typedef struct _CREATE_DISK_MBR {
-    DWORD Signature;
-} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
-
-
-typedef struct _CREATE_DISK {
-    PARTITION_STYLE PartitionStyle;
-    union {
-        CREATE_DISK_MBR Mbr;
-        CREATE_DISK_GPT Gpt;
-    };
-} CREATE_DISK, *PCREATE_DISK;
-
-
-
-
-
-
-
-
-typedef struct _GET_LENGTH_INFORMATION {
-    LARGE_INTEGER   Length;
-} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;
-
-
-
-
-
-
-
-typedef struct _PARTITION_INFORMATION_EX {
-    PARTITION_STYLE PartitionStyle;
-    LARGE_INTEGER StartingOffset;
-    LARGE_INTEGER PartitionLength;
-    DWORD PartitionNumber;
-    BOOLEAN RewritePartition;
-    union {
-        PARTITION_INFORMATION_MBR Mbr;
-        PARTITION_INFORMATION_GPT Gpt;
-    };
-} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
-
-
-
-
-
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_GPT {
-    GUID DiskId;
-    LARGE_INTEGER StartingUsableOffset;
-    LARGE_INTEGER UsableLength;
-    DWORD MaxPartitionCount;
-} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
-
-
-
-
-
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_MBR {
-    DWORD Signature;
-} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
-
-
-
-
-
-
-typedef struct _DRIVE_LAYOUT_INFORMATION_EX {
-    DWORD PartitionStyle;
-    DWORD PartitionCount;
-    union {
-        DRIVE_LAYOUT_INFORMATION_MBR Mbr;
-        DRIVE_LAYOUT_INFORMATION_GPT Gpt;
-    };
-    PARTITION_INFORMATION_EX PartitionEntry[1];
-} DRIVE_LAYOUT_INFORMATION_EX, *PDRIVE_LAYOUT_INFORMATION_EX;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _DETECTION_TYPE {
-        DetectNone,
-        DetectInt13,
-        DetectExInt13
-} DETECTION_TYPE;
-
-typedef struct _DISK_INT13_INFO {
-        WORD   DriveSelect;
-        DWORD MaxCylinders;
-        WORD   SectorsPerTrack;
-        WORD   MaxHeads;
-        WORD   NumberDrives;
-} DISK_INT13_INFO, *PDISK_INT13_INFO;
-
-typedef struct _DISK_EX_INT13_INFO {
-        WORD   ExBufferSize;
-        WORD   ExFlags;
-        DWORD ExCylinders;
-        DWORD ExHeads;
-        DWORD ExSectorsPerTrack;
-        DWORD64 ExSectorsPerDrive;
-        WORD   ExSectorSize;
-        WORD   ExReserved;
-} DISK_EX_INT13_INFO, *PDISK_EX_INT13_INFO;
-
-typedef struct _DISK_DETECTION_INFO {
-        DWORD SizeOfDetectInfo;
-        DETECTION_TYPE DetectionType;
-        union {
-                struct {
-
-                        
-                        
-                        
-                        
-
-                        DISK_INT13_INFO Int13;
-
-                        
-                        
-                        
-                        
-
-                        DISK_EX_INT13_INFO ExInt13;     
-                };
-        };
-} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
-
-
-typedef struct _DISK_PARTITION_INFO {
-        DWORD SizeOfPartitionInfo;
-        PARTITION_STYLE PartitionStyle;                 
-        union {
-                struct {                                                        
-                        DWORD Signature;                                
-                        DWORD CheckSum;                                 
-                } Mbr;
-                struct {                                                        
-                        GUID DiskId;
-                } Gpt;
-        };
-} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DISK_GEOMETRY_EX {
-        DISK_GEOMETRY Geometry;                                 
-        LARGE_INTEGER DiskSize;                                 
-        BYTE  Data[1];                                                  
-} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
-
-
-
-
-
-
-
-
-
-
-typedef struct _DISK_CONTROLLER_NUMBER {
-    DWORD ControllerNumber;
-    DWORD DiskNumber;
-} DISK_CONTROLLER_NUMBER, *PDISK_CONTROLLER_NUMBER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum {
-    EqualPriority,
-    KeepPrefetchedData,
-    KeepReadData
-} DISK_CACHE_RETENTION_PRIORITY;
-
-typedef struct _DISK_CACHE_INFORMATION {
-
-    
-    
-    
-    
-    
-
-    BOOLEAN ParametersSavable;
-
-    
-    
-    
-
-    BOOLEAN ReadCacheEnabled;
-    BOOLEAN WriteCacheEnabled;
-
-    
-    
-    
-    
-    
-    
-
-    DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
-    DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
-
-    
-    
-    
-    
-
-    WORD   DisablePrefetchTransferLength;
-
-    
-    
-    
-    
-    
-
-    BOOLEAN PrefetchScalar;
-
-    
-    
-    
-    
-    
-    
-    
-
-    union {
-        struct {
-            WORD   Minimum;
-            WORD   Maximum;
-
-            
-            
-            
-            
-
-            WORD   MaximumBlocks;
-        } ScalarPrefetch;
-
-        struct {
-            WORD   Minimum;
-            WORD   Maximum;
-        } BlockPrefetch;
-    };
-
-} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;
-
-
-
-
-
-
-
-typedef struct _DISK_GROW_PARTITION {
-    DWORD PartitionNumber;
-    LARGE_INTEGER BytesToGrow;
-} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _HISTOGRAM_BUCKET {
-    DWORD       Reads;
-    DWORD       Writes;
-} HISTOGRAM_BUCKET, *PHISTOGRAM_BUCKET;
-
-
-
-typedef struct _DISK_HISTOGRAM {
-    LARGE_INTEGER   DiskSize;
-    LARGE_INTEGER   Start;
-    LARGE_INTEGER   End;
-    LARGE_INTEGER   Average;
-    LARGE_INTEGER   AverageRead;
-    LARGE_INTEGER   AverageWrite;
-    DWORD           Granularity;
-    DWORD           Size;
-    DWORD           ReadCount;
-    DWORD           WriteCount;
-    PHISTOGRAM_BUCKET  Histogram;
-} DISK_HISTOGRAM, *PDISK_HISTOGRAM;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DISK_PERFORMANCE {
-        LARGE_INTEGER BytesRead;
-        LARGE_INTEGER BytesWritten;
-        LARGE_INTEGER ReadTime;
-        LARGE_INTEGER WriteTime;
-        LARGE_INTEGER IdleTime;
-        DWORD ReadCount;
-        DWORD WriteCount;
-        DWORD QueueDepth;
-        DWORD SplitCount;
-        LARGE_INTEGER QueryTime;
-        DWORD   StorageDeviceNumber;
-        WCHAR   StorageManagerName[8];
-} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
-
-
-
-
-
-
-
-typedef struct _DISK_RECORD {
-   LARGE_INTEGER ByteOffset;
-   LARGE_INTEGER StartTime;
-   LARGE_INTEGER EndTime;
-   PVOID VirtualAddress;
-   DWORD NumberOfBytes;
-   BYTE  DeviceNumber;
-   BOOLEAN ReadRequest;
-} DISK_RECORD, *PDISK_RECORD;
-
-
-
-
-
-
-typedef struct _DISK_LOGGING {
-    BYTE  Function;
-    PVOID BufferAddress;
-    DWORD BufferSize;
-} DISK_LOGGING, *PDISK_LOGGING;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _BIN_TYPES {
-    RequestSize,
-    RequestLocation
-} BIN_TYPES;
-
-
-
-
-
-typedef struct _BIN_RANGE {
-    LARGE_INTEGER StartValue;
-    LARGE_INTEGER Length;
-} BIN_RANGE, *PBIN_RANGE;
-
-
-
-
-
-typedef struct _PERF_BIN {
-    DWORD NumberOfBins;
-    DWORD TypeOfBin;
-    BIN_RANGE BinsRanges[1];
-} PERF_BIN, *PPERF_BIN ;
-
-
-
-
-
-typedef struct _BIN_COUNT {
-    BIN_RANGE BinRange;
-    DWORD BinCount;
-} BIN_COUNT, *PBIN_COUNT;
-
-
-
-
-
-typedef struct _BIN_RESULTS {
-    DWORD NumberOfBins;
-    BIN_COUNT BinCounts[1];
-} BIN_RESULTS, *PBIN_RESULTS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _GETVERSIONINPARAMS {
-        BYTE     bVersion;               
-        BYTE     bRevision;              
-        BYTE     bReserved;              
-        BYTE     bIDEDeviceMap;          
-        DWORD   fCapabilities;          
-        DWORD   dwReserved[4];          
-} GETVERSIONINPARAMS, *PGETVERSIONINPARAMS, *LPGETVERSIONINPARAMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _IDEREGS {
-        BYTE     bFeaturesReg;           
-        BYTE     bSectorCountReg;        
-        BYTE     bSectorNumberReg;       
-        BYTE     bCylLowReg;             
-        BYTE     bCylHighReg;            
-        BYTE     bDriveHeadReg;          
-        BYTE     bCommandReg;            
-        BYTE     bReserved;                      
-} IDEREGS, *PIDEREGS, *LPIDEREGS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _SENDCMDINPARAMS {
-        DWORD   cBufferSize;            
-        IDEREGS irDriveRegs;            
-        BYTE     bDriveNumber;           
-                                                                
-        BYTE     bReserved[3];           
-        DWORD   dwReserved[4];          
-        BYTE     bBuffer[1];                     
-} SENDCMDINPARAMS, *PSENDCMDINPARAMS, *LPSENDCMDINPARAMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _DRIVERSTATUS {
-        BYTE     bDriverError;           
-                                                                
-        BYTE     bIDEError;                      
-                                                                
-                                                                
-        BYTE     bReserved[2];           
-        DWORD   dwReserved[2];          
-} DRIVERSTATUS, *PDRIVERSTATUS, *LPDRIVERSTATUS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _SENDCMDOUTPARAMS {
-        DWORD                   cBufferSize;            
-        DRIVERSTATUS            DriverStatus;           
-        BYTE                    bBuffer[1];             
-} SENDCMDOUTPARAMS, *PSENDCMDOUTPARAMS, *LPSENDCMDOUTPARAMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  enum _ELEMENT_TYPE {
-    AllElements,        
-    ChangerTransport,   
-    ChangerSlot,        
-    ChangerIEPort,      
-    ChangerDrive,       
-    ChangerDoor,        
-    ChangerKeypad,      
-    ChangerMaxElement   
-} ELEMENT_TYPE, *PELEMENT_TYPE;
-
-typedef  struct _CHANGER_ELEMENT {
-    ELEMENT_TYPE    ElementType;
-    DWORD   ElementAddress;
-} CHANGER_ELEMENT, *PCHANGER_ELEMENT;
-
-typedef  struct _CHANGER_ELEMENT_LIST {
-    CHANGER_ELEMENT Element;
-    DWORD   NumberOfElements;
-} CHANGER_ELEMENT_LIST , *PCHANGER_ELEMENT_LIST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                       
-
-
-
-
-
-
-
-                                                       
-
-                                                       
-
-
-
-                                                       
-
-
-
-
-
-
-
-
-                                                       
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  struct _GET_CHANGER_PARAMETERS {
-
-    
-    
-    
-
-    DWORD Size;
-
-    
-    
-    
-
-    WORD   NumberTransportElements;
-    WORD   NumberStorageElements;                
-    WORD   NumberCleanerSlots;                   
-    WORD   NumberIEElements;
-    WORD   NumberDataTransferElements;
-
-    
-    
-    
-
-    WORD   NumberOfDoors;
-
-    
-    
-    
-    
-
-    WORD   FirstSlotNumber;
-    WORD   FirstDriveNumber;
-    WORD   FirstTransportNumber;
-    WORD   FirstIEPortNumber;
-    WORD   FirstCleanerSlotAddress;
-
-    
-    
-    
-
-    WORD   MagazineSize;
-
-    
-    
-    
-    
-
-    DWORD DriveCleanTimeout;
-
-    
-    
-    
-
-    DWORD Features0;
-    DWORD Features1;
-
-    
-    
-    
-    
-
-    BYTE  MoveFromTransport;
-    BYTE  MoveFromSlot;
-    BYTE  MoveFromIePort;
-    BYTE  MoveFromDrive;
-
-    
-    
-    
-    
-
-    BYTE  ExchangeFromTransport;
-    BYTE  ExchangeFromSlot;
-    BYTE  ExchangeFromIePort;
-    BYTE  ExchangeFromDrive;
-
-    
-    
-    
-    
-
-    BYTE  LockUnlockCapabilities;
-
-    
-    
-    
-    
-
-    BYTE  PositionCapabilities;
-
-    
-    
-    
-
-    BYTE  Reserved1[2];
-    DWORD Reserved2[2];
-
-} GET_CHANGER_PARAMETERS, * PGET_CHANGER_PARAMETERS;
-
-
-
-
-
-
-typedef  struct _CHANGER_PRODUCT_DATA {
-
-    
-    
-    
-
-    BYTE  VendorId[8];
-
-    
-    
-    
-
-    BYTE  ProductId[16];
-
-    
-    
-    
-
-    BYTE  Revision[4];
-
-    
-    
-    
-    
-
-    BYTE  SerialNumber[32];
-
-    
-    
-    
-
-    BYTE  DeviceType;
-
-} CHANGER_PRODUCT_DATA, *PCHANGER_PRODUCT_DATA;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CHANGER_SET_ACCESS {
-
-    
-    
-    
-
-    CHANGER_ELEMENT Element;
-
-    
-    
-    
-
-    DWORD           Control;
-} CHANGER_SET_ACCESS, *PCHANGER_SET_ACCESS;
-
-
-
-
-
-
-
-
-
-
-typedef struct _CHANGER_READ_ELEMENT_STATUS {
-
-    
-    
-    
-
-    CHANGER_ELEMENT_LIST ElementList;
-
-    
-    
-    
-
-    BOOLEAN VolumeTagInfo;
-} CHANGER_READ_ELEMENT_STATUS, *PCHANGER_READ_ELEMENT_STATUS;
-
-
-
-
-
-typedef  struct _CHANGER_ELEMENT_STATUS {
-
-    
-    
-    
-
-    CHANGER_ELEMENT Element;
-
-    
-    
-    
-    
-    
-
-    CHANGER_ELEMENT SrcElementAddress;
-
-    
-    
-    
-
-    DWORD Flags;
-
-    
-    
-    
-
-    DWORD ExceptionCode;
-
-    
-    
-    
-    
-
-    BYTE  TargetId;
-
-    
-    
-    
-    
-
-    BYTE  Lun;
-    WORD   Reserved;
-
-    
-    
-    
-    
-
-    BYTE  PrimaryVolumeID[36];
-
-    
-    
-    
-    
-    
-
-    BYTE  AlternateVolumeID[36];
-
-} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;
-
-
-
-
-
-
-
-typedef  struct _CHANGER_ELEMENT_STATUS_EX {
-
-    
-    
-    
-
-    CHANGER_ELEMENT Element;
-
-    
-    
-    
-    
-    
-
-    CHANGER_ELEMENT SrcElementAddress;
-
-    
-    
-    
-
-    DWORD Flags;
-
-    
-    
-    
-
-    DWORD ExceptionCode;
-
-    
-    
-    
-    
-
-    BYTE  TargetId;
-
-    
-    
-    
-    
-
-    BYTE  Lun;
-    WORD   Reserved;
-
-    
-    
-    
-    
-
-    BYTE  PrimaryVolumeID[36];
-
-    
-    
-    
-    
-    
-
-    BYTE  AlternateVolumeID[36];
-
-    
-    
-    
-    BYTE  VendorIdentification[8];
-
-    
-    
-    
-    BYTE  ProductIdentification[16];
-
-    
-    
-    
-    BYTE  SerialNumber[32];
-
-} CHANGER_ELEMENT_STATUS_EX, *PCHANGER_ELEMENT_STATUS_EX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS {
-
-    
-    
-    
-
-    CHANGER_ELEMENT_LIST ElementList;
-
-    
-    
-    
-    
-
-    BOOLEAN BarCodeScan;
-} CHANGER_INITIALIZE_ELEMENT_STATUS, *PCHANGER_INITIALIZE_ELEMENT_STATUS;
-
-
-
-
-
-
-typedef struct _CHANGER_SET_POSITION {
-
-
-    
-    
-    
-
-    CHANGER_ELEMENT Transport;
-
-    
-    
-    
-
-    CHANGER_ELEMENT Destination;
-
-    
-    
-    
-
-    BOOLEAN         Flip;
-} CHANGER_SET_POSITION, *PCHANGER_SET_POSITION;
-
-
-
-
-
-
-typedef struct _CHANGER_EXCHANGE_MEDIUM {
-
-    
-    
-    
-
-    CHANGER_ELEMENT Transport;
-
-    
-    
-    
-
-    CHANGER_ELEMENT Source;
-
-    
-    
-    
-
-    CHANGER_ELEMENT Destination1;
-
-    
-    
-    
-
-    CHANGER_ELEMENT Destination2;
-
-    
-    
-    
-
-    BOOLEAN         Flip1;
-    BOOLEAN         Flip2;
-} CHANGER_EXCHANGE_MEDIUM, *PCHANGER_EXCHANGE_MEDIUM;
-
-
-
-
-
-
-typedef struct _CHANGER_MOVE_MEDIUM {
-
-    
-    
-    
-
-    CHANGER_ELEMENT Transport;
-
-    
-    
-    
-
-    CHANGER_ELEMENT Source;
-
-    
-    
-    
-
-    CHANGER_ELEMENT Destination;
-
-    
-    
-    
-
-    BOOLEAN         Flip;
-} CHANGER_MOVE_MEDIUM, *PCHANGER_MOVE_MEDIUM;
-
-
-
-
-
-
-
-
-
-
-
-typedef  struct _CHANGER_SEND_VOLUME_TAG_INFORMATION {
-
-    
-    
-    
-
-    CHANGER_ELEMENT StartingElement;
-
-    
-    
-    
-
-    DWORD ActionCode;
-
-    
-    
-    
-
-    BYTE  VolumeIDTemplate[40];
-} CHANGER_SEND_VOLUME_TAG_INFORMATION, *PCHANGER_SEND_VOLUME_TAG_INFORMATION;
-
-
-
-
-
-
-typedef struct _READ_ELEMENT_ADDRESS_INFO {
-
-    
-    
-    
-
-    DWORD NumberOfElements;
-
-    
-    
-    
-    
-
-    CHANGER_ELEMENT_STATUS ElementStatus[1];
-} READ_ELEMENT_ADDRESS_INFO, *PREAD_ELEMENT_ADDRESS_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _CHANGER_DEVICE_PROBLEM_TYPE {
-   DeviceProblemNone,
-   DeviceProblemHardware,
-   DeviceProblemCHMError,
-   DeviceProblemDoorOpen,
-   DeviceProblemCalibrationError,
-   DeviceProblemTargetFailure,
-   DeviceProblemCHMMoveError,
-   DeviceProblemCHMZeroError,
-   DeviceProblemCartridgeInsertError,
-   DeviceProblemPositionError,
-   DeviceProblemSensorError,
-   DeviceProblemCartridgeEjectError,
-   DeviceProblemGripperError,
-   DeviceProblemDriveError
-} CHANGER_DEVICE_PROBLEM_TYPE, *PCHANGER_DEVICE_PROBLEM_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PATHNAME_BUFFER {
-
-    DWORD PathNameLength;
-    WCHAR Name[1];
-
-} PATHNAME_BUFFER, *PPATHNAME_BUFFER;
-
-
-
-
-
-typedef struct _FSCTL_QUERY_FAT_BPB_BUFFER {
-
-    BYTE  First0x24BytesOfBootSector[0x24];
-
-} FSCTL_QUERY_FAT_BPB_BUFFER, *PFSCTL_QUERY_FAT_BPB_BUFFER;
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-    LARGE_INTEGER VolumeSerialNumber;
-    LARGE_INTEGER NumberSectors;
-    LARGE_INTEGER TotalClusters;
-    LARGE_INTEGER FreeClusters;
-    LARGE_INTEGER TotalReserved;
-    DWORD BytesPerSector;
-    DWORD BytesPerCluster;
-    DWORD BytesPerFileRecordSegment;
-    DWORD ClustersPerFileRecordSegment;
-    LARGE_INTEGER MftValidDataLength;
-    LARGE_INTEGER MftStartLcn;
-    LARGE_INTEGER Mft2StartLcn;
-    LARGE_INTEGER MftZoneStart;
-    LARGE_INTEGER MftZoneEnd;
-
-} NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER;
-
-typedef struct {
-
-    DWORD ByteCount;
-
-    WORD   MajorVersion;
-    WORD   MinorVersion;
-
-} NTFS_EXTENDED_VOLUME_DATA, *PNTFS_EXTENDED_VOLUME_DATA;
-
-
-
-
-
-
-
-typedef struct {
-
-    LARGE_INTEGER StartingLcn;
-
-} STARTING_LCN_INPUT_BUFFER, *PSTARTING_LCN_INPUT_BUFFER;
-
-typedef struct {
-
-    LARGE_INTEGER StartingLcn;
-    LARGE_INTEGER BitmapSize;
-    BYTE  Buffer[1];
-
-} VOLUME_BITMAP_BUFFER, *PVOLUME_BITMAP_BUFFER;
-
-
-
-
-
-
-
-typedef struct {
-
-    LARGE_INTEGER StartingVcn;
-
-} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
-
-typedef struct RETRIEVAL_POINTERS_BUFFER {
-
-    DWORD ExtentCount;
-    LARGE_INTEGER StartingVcn;
-    struct {
-        LARGE_INTEGER NextVcn;
-        LARGE_INTEGER Lcn;
-    } Extents[1];
-
-} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;
-
-
-
-
-
-
-
-typedef struct {
-
-    LARGE_INTEGER FileReferenceNumber;
-
-} NTFS_FILE_RECORD_INPUT_BUFFER, *PNTFS_FILE_RECORD_INPUT_BUFFER;
-
-typedef struct {
-
-    LARGE_INTEGER FileReferenceNumber;
-    DWORD FileRecordLength;
-    BYTE  FileRecordBuffer[1];
-
-} NTFS_FILE_RECORD_OUTPUT_BUFFER, *PNTFS_FILE_RECORD_OUTPUT_BUFFER;
-
-
-
-
-
-
-
-typedef struct {
-
-    HANDLE FileHandle;
-    LARGE_INTEGER StartingVcn;
-    LARGE_INTEGER StartingLcn;
-    DWORD ClusterCount;
-
-} MOVE_FILE_DATA, *PMOVE_FILE_DATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    DWORD Restart;
-    SID Sid;
-} FIND_BY_SID_DATA, *PFIND_BY_SID_DATA;
-
-typedef struct {
-    DWORD NextEntryOffset;
-    DWORD FileIndex;
-    DWORD FileNameLength;
-    WCHAR FileName[1];
-} FIND_BY_SID_OUTPUT, *PFIND_BY_SID_OUTPUT;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-    DWORDLONG StartFileReferenceNumber;
-    USN LowUsn;
-    USN HighUsn;
-
-} MFT_ENUM_DATA, *PMFT_ENUM_DATA;
-
-
-
-
-
-typedef struct {
-
-    DWORDLONG MaximumSize;
-    DWORDLONG AllocationDelta;
-
-} CREATE_USN_JOURNAL_DATA, *PCREATE_USN_JOURNAL_DATA;
-
-
-
-
-
-typedef struct {
-
-    USN StartUsn;
-    DWORD ReasonMask;
-    DWORD ReturnOnlyOnClose;
-    DWORDLONG Timeout;
-    DWORDLONG BytesToWaitFor;
-    DWORDLONG UsnJournalID;
-
-} READ_USN_JOURNAL_DATA, *PREAD_USN_JOURNAL_DATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-    DWORD RecordLength;
-    WORD   MajorVersion;
-    WORD   MinorVersion;
-    DWORDLONG FileReferenceNumber;
-    DWORDLONG ParentFileReferenceNumber;
-    USN Usn;
-    LARGE_INTEGER TimeStamp;
-    DWORD Reason;
-    DWORD SourceInfo;
-    DWORD SecurityId;
-    DWORD FileAttributes;
-    WORD   FileNameLength;
-    WORD   FileNameOffset;
-    WCHAR FileName[1];
-
-} USN_RECORD, *PUSN_RECORD;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-    DWORDLONG UsnJournalID;
-    USN FirstUsn;
-    USN NextUsn;
-    USN LowestValidUsn;
-    USN MaxUsn;
-    DWORDLONG MaximumSize;
-    DWORDLONG AllocationDelta;
-
-} USN_JOURNAL_DATA, *PUSN_JOURNAL_DATA;
-
-
-
-
-
-typedef struct {
-
-    DWORDLONG UsnJournalID;
-    DWORD DeleteFlags;
-
-} DELETE_USN_JOURNAL_DATA, *PDELETE_USN_JOURNAL_DATA;
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-    DWORD UsnSourceInfo;
-    HANDLE VolumeHandle;
-    DWORD HandleInfo;
-
-} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-
-    ACCESS_MASK DesiredAccess;
-    DWORD SecurityIds[1];
-
-} BULK_SECURITY_TEST_DATA, *PBULK_SECURITY_TEST_DATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _FILE_PREFETCH {
-    DWORD Type;
-    DWORD Count;
-    DWORDLONG Prefetch[1];
-} FILE_PREFETCH, *PFILE_PREFETCH;
-
-
-
-
-
-
-
-
-typedef struct _FILESYSTEM_STATISTICS {
-
-    WORD   FileSystemType;
-    WORD   Version;                     
-
-    DWORD SizeOfCompleteStructure;      
-
-    DWORD UserFileReads;
-    DWORD UserFileReadBytes;
-    DWORD UserDiskReads;
-    DWORD UserFileWrites;
-    DWORD UserFileWriteBytes;
-    DWORD UserDiskWrites;
-
-    DWORD MetaDataReads;
-    DWORD MetaDataReadBytes;
-    DWORD MetaDataDiskReads;
-    DWORD MetaDataWrites;
-    DWORD MetaDataWriteBytes;
-    DWORD MetaDataDiskWrites;
-
-    
-    
-    
-
-} FILESYSTEM_STATISTICS, *PFILESYSTEM_STATISTICS;
-
-
-
-
-
-
-
-
-
-
-typedef struct _FAT_STATISTICS {
-    DWORD CreateHits;
-    DWORD SuccessfulCreates;
-    DWORD FailedCreates;
-
-    DWORD NonCachedReads;
-    DWORD NonCachedReadBytes;
-    DWORD NonCachedWrites;
-    DWORD NonCachedWriteBytes;
-
-    DWORD NonCachedDiskReads;
-    DWORD NonCachedDiskWrites;
-} FAT_STATISTICS, *PFAT_STATISTICS;
-
-typedef struct _NTFS_STATISTICS {
-
-    DWORD LogFileFullExceptions;
-    DWORD OtherExceptions;
-
-    
-    
-    
-
-    DWORD MftReads;
-    DWORD MftReadBytes;
-    DWORD MftWrites;
-    DWORD MftWriteBytes;
-    struct {
-        WORD   Write;
-        WORD   Create;
-        WORD   SetInfo;
-        WORD   Flush;
-    } MftWritesUserLevel;
-
-    WORD   MftWritesFlushForLogFileFull;
-    WORD   MftWritesLazyWriter;
-    WORD   MftWritesUserRequest;
-
-    DWORD Mft2Writes;
-    DWORD Mft2WriteBytes;
-    struct {
-        WORD   Write;
-        WORD   Create;
-        WORD   SetInfo;
-        WORD   Flush;
-    } Mft2WritesUserLevel;
-
-    WORD   Mft2WritesFlushForLogFileFull;
-    WORD   Mft2WritesLazyWriter;
-    WORD   Mft2WritesUserRequest;
-
-    DWORD RootIndexReads;
-    DWORD RootIndexReadBytes;
-    DWORD RootIndexWrites;
-    DWORD RootIndexWriteBytes;
-
-    DWORD BitmapReads;
-    DWORD BitmapReadBytes;
-    DWORD BitmapWrites;
-    DWORD BitmapWriteBytes;
-
-    WORD   BitmapWritesFlushForLogFileFull;
-    WORD   BitmapWritesLazyWriter;
-    WORD   BitmapWritesUserRequest;
-
-    struct {
-        WORD   Write;
-        WORD   Create;
-        WORD   SetInfo;
-    } BitmapWritesUserLevel;
-
-    DWORD MftBitmapReads;
-    DWORD MftBitmapReadBytes;
-    DWORD MftBitmapWrites;
-    DWORD MftBitmapWriteBytes;
-
-    WORD   MftBitmapWritesFlushForLogFileFull;
-    WORD   MftBitmapWritesLazyWriter;
-    WORD   MftBitmapWritesUserRequest;
-
-    struct {
-        WORD   Write;
-        WORD   Create;
-        WORD   SetInfo;
-        WORD   Flush;
-    } MftBitmapWritesUserLevel;
-
-    DWORD UserIndexReads;
-    DWORD UserIndexReadBytes;
-    DWORD UserIndexWrites;
-    DWORD UserIndexWriteBytes;
-
-    
-    
-    
-
-    DWORD LogFileReads;
-    DWORD LogFileReadBytes;
-    DWORD LogFileWrites;
-    DWORD LogFileWriteBytes;
-
-    struct {
-        DWORD Calls;                
-        DWORD Clusters;             
-        DWORD Hints;                
-
-        DWORD RunsReturned;         
-
-        DWORD HintsHonored;         
-        DWORD HintsClusters;        
-        DWORD Cache;                
-        DWORD CacheClusters;        
-        DWORD CacheMiss;            
-        DWORD CacheMissClusters;    
-    } Allocate;
-
-} NTFS_STATISTICS, *PNTFS_STATISTICS;
-
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)       
-
-typedef struct _FILE_OBJECTID_BUFFER {
-
-    
-    
-    
-
-    BYTE  ObjectId[16];
-
-    
-    
-    
-    
-
-    union {
-        struct {
-            BYTE  BirthVolumeId[16];
-            BYTE  BirthObjectId[16];
-            BYTE  DomainId[16];
-        } ;
-        BYTE  ExtendedInfo[48];
-    };
-
-} FILE_OBJECTID_BUFFER, *PFILE_OBJECTID_BUFFER;
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _FILE_SET_SPARSE_BUFFER {
-    BOOLEAN SetSparse;
-} FILE_SET_SPARSE_BUFFER, *PFILE_SET_SPARSE_BUFFER;
-
-
-
-
-
-
-
-
-
-
-typedef struct _FILE_ZERO_DATA_INFORMATION {
-
-    LARGE_INTEGER FileOffset;
-    LARGE_INTEGER BeyondFinalZero;
-
-} FILE_ZERO_DATA_INFORMATION, *PFILE_ZERO_DATA_INFORMATION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _FILE_ALLOCATED_RANGE_BUFFER {
-
-    LARGE_INTEGER FileOffset;
-    LARGE_INTEGER Length;
-
-} FILE_ALLOCATED_RANGE_BUFFER, *PFILE_ALLOCATED_RANGE_BUFFER;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _ENCRYPTION_BUFFER {
-
-    DWORD EncryptionOperation;
-    BYTE  Private[1];
-
-} ENCRYPTION_BUFFER, *PENCRYPTION_BUFFER;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DECRYPTION_STATUS_BUFFER {
-
-    BOOLEAN NoEncryptedStreams;
-
-} DECRYPTION_STATUS_BUFFER, *PDECRYPTION_STATUS_BUFFER;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _REQUEST_RAW_ENCRYPTED_DATA {
-
-    
-    
-    
-    
-    
-    
-
-    LONGLONG FileOffset;
-    DWORD Length;
-
-} REQUEST_RAW_ENCRYPTED_DATA, *PREQUEST_RAW_ENCRYPTED_DATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _ENCRYPTED_DATA_INFO {
-
-    
-    
-    
-    
-    
-    
-
-    DWORDLONG StartingFileOffset;
-
-    
-    
-    
-    
-    
-    
-    
-
-    DWORD OutputBufferOffset;
-
-    
-    
-    
-    
-    
-    
-    
-    
-
-    DWORD BytesWithinFileSize;
-
-    
-    
-    
-    
-    
-    
-    
-    
-
-    DWORD BytesWithinValidDataLength;
-
-    
-    
-    
-    
-    
-    
-
-    WORD   CompressionFormat;
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    BYTE  DataUnitShift;
-    BYTE  ChunkShift;
-    BYTE  ClusterShift;
-
-    
-    
-    
-
-    BYTE  EncryptionFormat;
-
-    
-    
-    
-    
-
-    WORD   NumberOfDataBlocks;
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    DWORD DataBlockSize[1];
-
-} ENCRYPTED_DATA_INFO;
-typedef ENCRYPTED_DATA_INFO *PENCRYPTED_DATA_INFO;
-
-
-
-
-
-
-
-
-
-
-typedef struct _PLEX_READ_DATA_REQUEST {
-
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    LARGE_INTEGER ByteOffset;
-    DWORD ByteLength;
-    DWORD PlexNumber;
-
-} PLEX_READ_DATA_REQUEST, *PPLEX_READ_DATA_REQUEST;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SI_COPYFILE {
-    DWORD SourceFileNameLength;
-    DWORD DestinationFileNameLength;
-    DWORD Flags;
-    WCHAR FileNameBuffer[1];
-} SI_COPYFILE, *PSI_COPYFILE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DISK_EXTENT {
-    DWORD           DiskNumber;
-    LARGE_INTEGER   StartingOffset;
-    LARGE_INTEGER   ExtentLength;
-} DISK_EXTENT, *PDISK_EXTENT;
-
-
-
-
-
-typedef struct _VOLUME_DISK_EXTENTS {
-    DWORD       NumberOfDiskExtents;
-    DISK_EXTENT Extents[1];
-} VOLUME_DISK_EXTENTS, *PVOLUME_DISK_EXTENTS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-
-typedef DWORD ULONG;
-typedef WORD UWORD;
-typedef BYTE UCHAR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                              
-
-                              
-
-                              
-                              
-
-                              
-                              
-
-                              
-                              
-                              
-
-                              
-
-                              
-                              
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SCARD_IO_REQUEST{
-    DWORD dwProtocol;   
-    DWORD cbPciLength;  
-} SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST;
-typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST;
-
-
-
-
-
-
-typedef struct {
-    BYTE
-        bCla,   
-        bIns,   
-        bP1,
-        bP2,    
-        bP3;    
-} SCARD_T0_COMMAND, *LPSCARD_T0_COMMAND;
-
-typedef struct {
-    SCARD_IO_REQUEST ioRequest;
-    BYTE
-        bSw1,
-        bSw2;           
-    union
-    {
-        SCARD_T0_COMMAND CmdBytes;
-        BYTE rgbHeader[5];
-    };
-} SCARD_T0_REQUEST;
-
-typedef SCARD_T0_REQUEST *PSCARD_T0_REQUEST, *LPSCARD_T0_REQUEST;
-
-
-
-
-
-
-typedef struct {
-    SCARD_IO_REQUEST ioRequest;
-} SCARD_T1_REQUEST;
-typedef SCARD_T1_REQUEST *PSCARD_T1_REQUEST, *LPSCARD_T1_REQUEST;
-
-
-
-
-
-
-
-
-
-                                                
-
-                                                
-
-                                                
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-typedef const BYTE *LPCBYTE;
-
-
-
-typedef const void *LPCVOID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern const SCARD_IO_REQUEST
-    g_rgSCardT0Pci,
-    g_rgSCardT1Pci,
-    g_rgSCardRawPci;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef ULONG_PTR SCARDCONTEXT;
-typedef SCARDCONTEXT *PSCARDCONTEXT, *LPSCARDCONTEXT;
-
-typedef ULONG_PTR SCARDHANDLE;
-typedef SCARDHANDLE *PSCARDHANDLE, *LPSCARDHANDLE;
-
-
-
-
-                                
-                                
-
-                                
-                                
-                                
-                                
-
-                                
-                                
-                                
-                                
-
-extern  LONG __stdcall
-SCardEstablishContext(
-      DWORD dwScope,
-      LPCVOID pvReserved1,
-      LPCVOID pvReserved2,
-     LPSCARDCONTEXT phContext);
-
-extern  LONG __stdcall
-SCardReleaseContext(
-          SCARDCONTEXT hContext);
-
-extern  LONG __stdcall
-SCardIsValidContext(
-          SCARDCONTEXT hContext);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardListReaderGroupsA(
-          SCARDCONTEXT hContext,
-         LPSTR mszGroups,
-       LPDWORD pcchGroups);
-extern  LONG __stdcall
-SCardListReaderGroupsW(
-          SCARDCONTEXT hContext,
-         LPWSTR mszGroups,
-       LPDWORD pcchGroups);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardListReadersA(
-          SCARDCONTEXT hContext,
-          LPCSTR mszGroups,
-         LPSTR mszReaders,
-       LPDWORD pcchReaders);
-extern  LONG __stdcall
-SCardListReadersW(
-          SCARDCONTEXT hContext,
-          LPCWSTR mszGroups,
-         LPWSTR mszReaders,
-       LPDWORD pcchReaders);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardListCardsA(
-          SCARDCONTEXT hContext,
-          LPCBYTE pbAtr,
-          LPCGUID rgquidInterfaces,
-          DWORD cguidInterfaceCount,
-         LPSTR mszCards,
-       LPDWORD pcchCards);
-extern  LONG __stdcall
-SCardListCardsW(
-          SCARDCONTEXT hContext,
-          LPCBYTE pbAtr,
-          LPCGUID rgquidInterfaces,
-          DWORD cguidInterfaceCount,
-         LPWSTR mszCards,
-       LPDWORD pcchCards);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardListInterfacesA(
-          SCARDCONTEXT hContext,
-          LPCSTR szCard,
-         LPGUID pguidInterfaces,
-       LPDWORD pcguidInterfaces);
-extern  LONG __stdcall
-SCardListInterfacesW(
-          SCARDCONTEXT hContext,
-          LPCWSTR szCard,
-         LPGUID pguidInterfaces,
-       LPDWORD pcguidInterfaces);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardGetProviderIdA(
-          SCARDCONTEXT hContext,
-          LPCSTR szCard,
-         LPGUID pguidProviderId);
-extern  LONG __stdcall
-SCardGetProviderIdW(
-          SCARDCONTEXT hContext,
-          LPCWSTR szCard,
-         LPGUID pguidProviderId);
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardGetCardTypeProviderNameA(
-     SCARDCONTEXT hContext,
-     LPCSTR szCardName,
-     DWORD dwProviderId,
-     LPSTR szProvider,
-      LPDWORD pcchProvider);
-extern  LONG __stdcall
-SCardGetCardTypeProviderNameW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szCardName,
-     DWORD dwProviderId,
-     LPWSTR szProvider,
-      LPDWORD pcchProvider);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardIntroduceReaderGroupA(
-     SCARDCONTEXT hContext,
-     LPCSTR szGroupName);
-extern  LONG __stdcall
-SCardIntroduceReaderGroupW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szGroupName);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardForgetReaderGroupA(
-     SCARDCONTEXT hContext,
-     LPCSTR szGroupName);
-extern  LONG __stdcall
-SCardForgetReaderGroupW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szGroupName);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardIntroduceReaderA(
-     SCARDCONTEXT hContext,
-     LPCSTR szReaderName,
-     LPCSTR szDeviceName);
-extern  LONG __stdcall
-SCardIntroduceReaderW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szReaderName,
-     LPCWSTR szDeviceName);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardForgetReaderA(
-     SCARDCONTEXT hContext,
-     LPCSTR szReaderName);
-extern  LONG __stdcall
-SCardForgetReaderW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szReaderName);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardAddReaderToGroupA(
-     SCARDCONTEXT hContext,
-     LPCSTR szReaderName,
-     LPCSTR szGroupName);
-extern  LONG __stdcall
-SCardAddReaderToGroupW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szReaderName,
-     LPCWSTR szGroupName);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardRemoveReaderFromGroupA(
-     SCARDCONTEXT hContext,
-     LPCSTR szReaderName,
-     LPCSTR szGroupName);
-extern  LONG __stdcall
-SCardRemoveReaderFromGroupW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szReaderName,
-     LPCWSTR szGroupName);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardIntroduceCardTypeA(
-     SCARDCONTEXT hContext,
-     LPCSTR szCardName,
-     LPCGUID pguidPrimaryProvider,
-     LPCGUID rgguidInterfaces,
-     DWORD dwInterfaceCount,
-     LPCBYTE pbAtr,
-     LPCBYTE pbAtrMask,
-     DWORD cbAtrLen);
-extern  LONG __stdcall
-SCardIntroduceCardTypeW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szCardName,
-     LPCGUID pguidPrimaryProvider,
-     LPCGUID rgguidInterfaces,
-     DWORD dwInterfaceCount,
-     LPCBYTE pbAtr,
-     LPCBYTE pbAtrMask,
-     DWORD cbAtrLen);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardSetCardTypeProviderNameA(
-     SCARDCONTEXT hContext,
-     LPCSTR szCardName,
-     DWORD dwProviderId,
-     LPCSTR szProvider);
-extern  LONG __stdcall
-SCardSetCardTypeProviderNameW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szCardName,
-     DWORD dwProviderId,
-     LPCWSTR szProvider);
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardForgetCardTypeA(
-     SCARDCONTEXT hContext,
-     LPCSTR szCardName);
-extern  LONG __stdcall
-SCardForgetCardTypeW(
-     SCARDCONTEXT hContext,
-     LPCWSTR szCardName);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardFreeMemory(
-     SCARDCONTEXT hContext,
-     LPCVOID pvMem);
-
-extern  HANDLE __stdcall
-SCardAccessStartedEvent(void);
-
-extern  void __stdcall
-SCardReleaseStartedEvent(void);
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    LPCSTR      szReader;       
-    LPVOID      pvUserData;     
-    DWORD       dwCurrentState; 
-    DWORD       dwEventState;   
-    DWORD       cbAtr;          
-    BYTE        rgbAtr[36];     
-} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;
-typedef struct {
-    LPCWSTR     szReader;       
-    LPVOID      pvUserData;     
-    DWORD       dwCurrentState; 
-    DWORD       dwEventState;   
-    DWORD       cbAtr;          
-    BYTE        rgbAtr[36];     
-} SCARD_READERSTATEW, *PSCARD_READERSTATEW, *LPSCARD_READERSTATEW;
-
-typedef SCARD_READERSTATEW SCARD_READERSTATE;
-typedef PSCARD_READERSTATEW PSCARD_READERSTATE;
-typedef LPSCARD_READERSTATEW LPSCARD_READERSTATE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                            
-                                            
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-
-                                            
-                                            
-                                            
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-                                            
-
-                                            
-
-                                            
-                                            
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-                                            
-                                            
-                                            
-                                            
-
-                                            
-                                            
-                                            
-
-                                            
-
-extern  LONG __stdcall
-SCardLocateCardsA(
-          SCARDCONTEXT hContext,
-          LPCSTR mszCards,
-       LPSCARD_READERSTATEA rgReaderStates,
-          DWORD cReaders);
-extern  LONG __stdcall
-SCardLocateCardsW(
-          SCARDCONTEXT hContext,
-          LPCWSTR mszCards,
-       LPSCARD_READERSTATEW rgReaderStates,
-          DWORD cReaders);
-
-
-
-
-
-
-typedef struct _SCARD_ATRMASK {
-    DWORD       cbAtr;          
-    BYTE        rgbAtr[36];     
-    BYTE        rgbMask[36];    
-} SCARD_ATRMASK, *PSCARD_ATRMASK, *LPSCARD_ATRMASK;
-
-
-extern  LONG __stdcall
-SCardLocateCardsByATRA(
-          SCARDCONTEXT hContext,
-          LPSCARD_ATRMASK rgAtrMasks,
-          DWORD cAtrs,
-       LPSCARD_READERSTATEA rgReaderStates,
-          DWORD cReaders);
-extern  LONG __stdcall
-SCardLocateCardsByATRW(
-          SCARDCONTEXT hContext,
-          LPSCARD_ATRMASK rgAtrMasks,
-          DWORD cAtrs,
-       LPSCARD_READERSTATEW rgReaderStates,
-          DWORD cReaders);
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardGetStatusChangeA(
-          SCARDCONTEXT hContext,
-          DWORD dwTimeout,
-       LPSCARD_READERSTATEA rgReaderStates,
-          DWORD cReaders);
-extern  LONG __stdcall
-SCardGetStatusChangeW(
-          SCARDCONTEXT hContext,
-          DWORD dwTimeout,
-       LPSCARD_READERSTATEW rgReaderStates,
-          DWORD cReaders);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardCancel(
-          SCARDCONTEXT hContext);
-
-
-
-
-
-
-
-
-
-
-
-                                
-
-                                
-
-                                
-                                
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardConnectA(
-          SCARDCONTEXT hContext,
-          LPCSTR szReader,
-          DWORD dwShareMode,
-          DWORD dwPreferredProtocols,
-         LPSCARDHANDLE phCard,
-         LPDWORD pdwActiveProtocol);
-extern  LONG __stdcall
-SCardConnectW(
-          SCARDCONTEXT hContext,
-          LPCWSTR szReader,
-          DWORD dwShareMode,
-          DWORD dwPreferredProtocols,
-         LPSCARDHANDLE phCard,
-         LPDWORD pdwActiveProtocol);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardReconnect(
-          SCARDHANDLE hCard,
-          DWORD dwShareMode,
-          DWORD dwPreferredProtocols,
-          DWORD dwInitialization,
-         LPDWORD pdwActiveProtocol);
-
-extern  LONG __stdcall
-SCardDisconnect(
-          SCARDHANDLE hCard,
-          DWORD dwDisposition);
-
-extern  LONG __stdcall
-SCardBeginTransaction(
-          SCARDHANDLE hCard);
-
-extern  LONG __stdcall
-SCardEndTransaction(
-          SCARDHANDLE hCard,
-          DWORD dwDisposition);
-
-extern  LONG __stdcall
-SCardCancelTransaction(
-          SCARDHANDLE hCard);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardState(
-     SCARDHANDLE hCard,
-     LPDWORD pdwState,
-     LPDWORD pdwProtocol,
-     LPBYTE pbAtr,
-      LPDWORD pcbAtrLen);
-
-
-
-
-
-extern  LONG __stdcall
-SCardStatusA(
-     SCARDHANDLE hCard,
-     LPSTR szReaderName,
-      LPDWORD pcchReaderLen,
-     LPDWORD pdwState,
-     LPDWORD pdwProtocol,
-     LPBYTE pbAtr,
-      LPDWORD pcbAtrLen);
-extern  LONG __stdcall
-SCardStatusW(
-     SCARDHANDLE hCard,
-     LPWSTR szReaderName,
-      LPDWORD pcchReaderLen,
-     LPDWORD pdwState,
-     LPDWORD pdwProtocol,
-     LPBYTE pbAtr,
-      LPDWORD pcbAtrLen);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardTransmit(
-     SCARDHANDLE hCard,
-     LPCSCARD_IO_REQUEST pioSendPci,
-     LPCBYTE pbSendBuffer,
-     DWORD cbSendLength,
-      LPSCARD_IO_REQUEST pioRecvPci,
-     LPBYTE pbRecvBuffer,
-      LPDWORD pcbRecvLength);
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardControl(
-          SCARDHANDLE hCard,
-          DWORD dwControlCode,
-          LPCVOID lpInBuffer,
-          DWORD nInBufferSize,
-         LPVOID lpOutBuffer,
-          DWORD nOutBufferSize,
-         LPDWORD lpBytesReturned);
-
-extern  LONG __stdcall
-SCardGetAttrib(
-     SCARDHANDLE hCard,
-     DWORD dwAttrId,
-     LPBYTE pbAttr,
-      LPDWORD pcbAttrLen);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardSetAttrib(
-     SCARDHANDLE hCard,
-     DWORD dwAttrId,
-     LPCBYTE pbAttr,
-     DWORD cbAttrLen);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef SCARDHANDLE (__stdcall *LPOCNCONNPROCA) ( SCARDCONTEXT,  LPSTR,  LPSTR,  PVOID);
-typedef SCARDHANDLE (__stdcall *LPOCNCONNPROCW) ( SCARDCONTEXT,  LPWSTR,  LPWSTR,  PVOID);
-
-
-
-
-
-typedef BOOL (__stdcall *LPOCNCHKPROC) ( SCARDCONTEXT,  SCARDHANDLE,  PVOID);
-typedef void (__stdcall *LPOCNDSCPROC) ( SCARDCONTEXT,  SCARDHANDLE,  PVOID);
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    DWORD           dwStructSize;
-    LPSTR           lpstrGroupNames;        
-    DWORD           nMaxGroupNames;         
-                                            
-    LPCGUID         rgguidInterfaces;       
-    DWORD           cguidInterfaces;        
-    LPSTR           lpstrCardNames;         
-    DWORD           nMaxCardNames;          
-    LPOCNCHKPROC    lpfnCheck;              
-    LPOCNCONNPROCA  lpfnConnect;            
-    LPOCNDSCPROC    lpfnDisconnect;         
-    LPVOID          pvUserData;             
-    DWORD           dwShareMode;            
-    DWORD           dwPreferredProtocols;   
-} OPENCARD_SEARCH_CRITERIAA, *POPENCARD_SEARCH_CRITERIAA, *LPOPENCARD_SEARCH_CRITERIAA;
-typedef struct {
-    DWORD           dwStructSize;
-    LPWSTR          lpstrGroupNames;        
-    DWORD           nMaxGroupNames;         
-                                            
-    LPCGUID         rgguidInterfaces;       
-    DWORD           cguidInterfaces;        
-    LPWSTR          lpstrCardNames;         
-    DWORD           nMaxCardNames;          
-    LPOCNCHKPROC    lpfnCheck;              
-    LPOCNCONNPROCW  lpfnConnect;            
-    LPOCNDSCPROC    lpfnDisconnect;         
-    LPVOID          pvUserData;             
-    DWORD           dwShareMode;            
-    DWORD           dwPreferredProtocols;   
-} OPENCARD_SEARCH_CRITERIAW, *POPENCARD_SEARCH_CRITERIAW, *LPOPENCARD_SEARCH_CRITERIAW;
-
-typedef OPENCARD_SEARCH_CRITERIAW OPENCARD_SEARCH_CRITERIA;
-typedef POPENCARD_SEARCH_CRITERIAW POPENCARD_SEARCH_CRITERIA;
-typedef LPOPENCARD_SEARCH_CRITERIAW LPOPENCARD_SEARCH_CRITERIA;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    DWORD           dwStructSize;           
-    SCARDCONTEXT    hSCardContext;          
-    HWND            hwndOwner;              
-    DWORD           dwFlags;                
-    LPCSTR          lpstrTitle;             
-    LPCSTR          lpstrSearchDesc;        
-    HICON           hIcon;                  
-    POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria; 
-    LPOCNCONNPROCA  lpfnConnect;            
-    LPVOID          pvUserData;             
-    DWORD           dwShareMode;            
-    DWORD           dwPreferredProtocols;   
-                                            
-    LPSTR           lpstrRdr;               
-    DWORD           nMaxRdr;                
-    LPSTR           lpstrCard;              
-    DWORD           nMaxCard;               
-    DWORD           dwActiveProtocol;       
-    SCARDHANDLE     hCardHandle;            
-} OPENCARDNAME_EXA, *POPENCARDNAME_EXA, *LPOPENCARDNAME_EXA;
-typedef struct {
-    DWORD           dwStructSize;           
-    SCARDCONTEXT    hSCardContext;          
-    HWND            hwndOwner;              
-    DWORD           dwFlags;                
-    LPCWSTR         lpstrTitle;             
-    LPCWSTR         lpstrSearchDesc;        
-    HICON           hIcon;                  
-    POPENCARD_SEARCH_CRITERIAW pOpenCardSearchCriteria; 
-    LPOCNCONNPROCW  lpfnConnect;            
-    LPVOID          pvUserData;             
-    DWORD           dwShareMode;            
-    DWORD           dwPreferredProtocols;   
-                                            
-    LPWSTR          lpstrRdr;               
-    DWORD           nMaxRdr;                
-    LPWSTR          lpstrCard;              
-    DWORD           nMaxCard;               
-    DWORD           dwActiveProtocol;       
-    SCARDHANDLE     hCardHandle;            
-} OPENCARDNAME_EXW, *POPENCARDNAME_EXW, *LPOPENCARDNAME_EXW;
-
-typedef OPENCARDNAME_EXW OPENCARDNAME_EX;
-typedef POPENCARDNAME_EXW POPENCARDNAME_EX;
-typedef LPOPENCARDNAME_EXW LPOPENCARDNAME_EX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardUIDlgSelectCardA(
-    LPOPENCARDNAME_EXA);
-extern  LONG __stdcall
-SCardUIDlgSelectCardW(
-    LPOPENCARDNAME_EXW);
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    DWORD           dwStructSize;
-    HWND            hwndOwner;
-    SCARDCONTEXT    hSCardContext;
-    LPSTR           lpstrGroupNames;
-    DWORD           nMaxGroupNames;
-    LPSTR           lpstrCardNames;
-    DWORD           nMaxCardNames;
-    LPCGUID         rgguidInterfaces;
-    DWORD           cguidInterfaces;
-    LPSTR           lpstrRdr;
-    DWORD           nMaxRdr;
-    LPSTR           lpstrCard;
-    DWORD           nMaxCard;
-    LPCSTR          lpstrTitle;
-    DWORD           dwFlags;
-    LPVOID          pvUserData;
-    DWORD           dwShareMode;
-    DWORD           dwPreferredProtocols;
-    DWORD           dwActiveProtocol;
-    LPOCNCONNPROCA  lpfnConnect;
-    LPOCNCHKPROC    lpfnCheck;
-    LPOCNDSCPROC    lpfnDisconnect;
-    SCARDHANDLE     hCardHandle;
-} OPENCARDNAMEA, *POPENCARDNAMEA, *LPOPENCARDNAMEA;
-typedef struct {
-    DWORD           dwStructSize;
-    HWND            hwndOwner;
-    SCARDCONTEXT    hSCardContext;
-    LPWSTR          lpstrGroupNames;
-    DWORD           nMaxGroupNames;
-    LPWSTR          lpstrCardNames;
-    DWORD           nMaxCardNames;
-    LPCGUID         rgguidInterfaces;
-    DWORD           cguidInterfaces;
-    LPWSTR          lpstrRdr;
-    DWORD           nMaxRdr;
-    LPWSTR          lpstrCard;
-    DWORD           nMaxCard;
-    LPCWSTR         lpstrTitle;
-    DWORD           dwFlags;
-    LPVOID          pvUserData;
-    DWORD           dwShareMode;
-    DWORD           dwPreferredProtocols;
-    DWORD           dwActiveProtocol;
-    LPOCNCONNPROCW  lpfnConnect;
-    LPOCNCHKPROC    lpfnCheck;
-    LPOCNDSCPROC    lpfnDisconnect;
-    SCARDHANDLE     hCardHandle;
-} OPENCARDNAMEW, *POPENCARDNAMEW, *LPOPENCARDNAMEW;
-
-typedef OPENCARDNAMEW OPENCARDNAME;
-typedef POPENCARDNAMEW POPENCARDNAME;
-typedef LPOPENCARDNAMEW LPOPENCARDNAME;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern  LONG __stdcall
-GetOpenCardNameA(
-    LPOPENCARDNAMEA);
-extern  LONG __stdcall
-GetOpenCardNameW(
-    LPOPENCARDNAMEW);
-
-
-
-
-
-
-extern  LONG __stdcall
-SCardDlgExtendedError (void);
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,4)
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct _PSP;
-typedef struct _PSP * HPROPSHEETPAGE;
-
-
-struct _PROPSHEETPAGEA;
-struct _PROPSHEETPAGEW;
-
-
-typedef UINT (__stdcall *LPFNPSPCALLBACKA)(HWND hwnd, UINT uMsg, struct _PROPSHEETPAGEA *ppsp);
-typedef UINT (__stdcall *LPFNPSPCALLBACKW)(HWND hwnd, UINT uMsg, struct _PROPSHEETPAGEW *ppsp);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PROPSHEETPAGEA_V1
-{
-    DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
-} PROPSHEETPAGEA_V1, *LPPROPSHEETPAGEA_V1;
-typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1;
-
-typedef struct _PROPSHEETPAGEA_V2
-{
-    DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
-
-    LPCSTR           pszHeaderTitle;    
-    LPCSTR           pszHeaderSubTitle; 
-} PROPSHEETPAGEA_V2, *LPPROPSHEETPAGEA_V2;
-typedef const PROPSHEETPAGEA_V2 *LPCPROPSHEETPAGEA_V2;
-
-typedef struct _PROPSHEETPAGEA
-{
-    DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent;
-
-    LPCSTR           pszHeaderTitle;    
-    LPCSTR           pszHeaderSubTitle; 
-
-    HANDLE           hActCtx;
-} PROPSHEETPAGEA_V3, *LPPROPSHEETPAGEA_V3;
-typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3;
-
-
-typedef struct _PROPSHEETPAGEW_V1
-{
-    DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
-} PROPSHEETPAGEW_V1, *LPPROPSHEETPAGEW_V1;
-typedef const PROPSHEETPAGEW_V1 *LPCPROPSHEETPAGEW_V1;
-
-typedef struct _PROPSHEETPAGEW_V2
-{
-    DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
-
-    LPCWSTR           pszHeaderTitle;    
-    LPCWSTR           pszHeaderSubTitle; 
-} PROPSHEETPAGEW_V2, *LPPROPSHEETPAGEW_V2;
-typedef const PROPSHEETPAGEW_V2 *LPCPROPSHEETPAGEW_V2;
-
-typedef struct _PROPSHEETPAGEW
-{
-    DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent;
-
-    LPCWSTR           pszHeaderTitle;    
-    LPCWSTR           pszHeaderSubTitle; 
-
-    HANDLE           hActCtx;
-} PROPSHEETPAGEW_V3, *LPPROPSHEETPAGEW_V3;
-typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3;
-
-typedef    PROPSHEETPAGEA_V3    PROPSHEETPAGEA_LATEST;
-typedef    PROPSHEETPAGEW_V3    PROPSHEETPAGEW_LATEST;
-typedef  LPPROPSHEETPAGEA_V3  LPPROPSHEETPAGEA_LATEST;
-typedef  LPPROPSHEETPAGEW_V3  LPPROPSHEETPAGEW_LATEST;
-typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST;
-typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST;
-
-
-typedef    PROPSHEETPAGEA_V3    PROPSHEETPAGEA;
-typedef    PROPSHEETPAGEW_V3    PROPSHEETPAGEW;
-typedef  LPPROPSHEETPAGEA_V3  LPPROPSHEETPAGEA;
-typedef  LPPROPSHEETPAGEW_V3  LPPROPSHEETPAGEW;
-typedef LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA;
-typedef LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef int (__stdcall *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM);
-
-
-
-
-
-
-
-typedef struct _PROPSHEETHEADERA 
-{
-        DWORD           dwSize;
-        DWORD           dwFlags;
-        HWND            hwndParent;
-        HINSTANCE       hInstance;
-        union 
-        {
-            HICON       hIcon;
-            LPCSTR      pszIcon;
-        } ;
-        LPCSTR          pszCaption;
-
-        UINT            nPages;
-        union 
-        {
-            UINT        nStartPage;
-            LPCSTR      pStartPage;
-        } ;
-        union 
-        {
-            LPCPROPSHEETPAGEA ppsp;
-            HPROPSHEETPAGE *phpage;
-        } ;
-        PFNPROPSHEETCALLBACK pfnCallback;
-
-
-        union 
-        {
-            HBITMAP hbmWatermark;
-            LPCSTR pszbmWatermark;
-        } ;
-        HPALETTE hplWatermark;
-        union 
-        {
-            HBITMAP hbmHeader;     
-            LPCSTR pszbmHeader;
-        } ;
-
-} PROPSHEETHEADERA, *LPPROPSHEETHEADERA;
-
-typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
-
-typedef struct _PROPSHEETHEADERW 
-{
-        DWORD           dwSize;
-        DWORD           dwFlags;
-        HWND            hwndParent;
-        HINSTANCE       hInstance;
-        union 
-        {
-            HICON       hIcon;
-            LPCWSTR     pszIcon;
-        } ;
-        LPCWSTR         pszCaption;
-
-
-        UINT            nPages;
-        union 
-        {
-            UINT        nStartPage;
-            LPCWSTR     pStartPage;
-        } ;
-        union 
-        {
-            LPCPROPSHEETPAGEW ppsp;
-            HPROPSHEETPAGE *phpage;
-        } ;
-        PFNPROPSHEETCALLBACK pfnCallback;
-
-
-        union 
-        {
-            HBITMAP hbmWatermark;
-            LPCWSTR pszbmWatermark;
-        } ;
-        HPALETTE hplWatermark;
-        union 
-        {
-            HBITMAP hbmHeader;
-            LPCWSTR pszbmHeader;
-        } ;
-
-} PROPSHEETHEADERW, *LPPROPSHEETHEADERW;
-typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) HPROPSHEETPAGE __stdcall CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer);
-__declspec(dllimport) HPROPSHEETPAGE __stdcall CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer);
-__declspec(dllimport) BOOL           __stdcall DestroyPropertySheetPage(HPROPSHEETPAGE);
-
-__declspec(dllimport) INT_PTR        __stdcall PropertySheetA(LPCPROPSHEETHEADERA);
-
-__declspec(dllimport) INT_PTR        __stdcall PropertySheetW(LPCPROPSHEETHEADERW);
-
-
-
-
-
-
-
-
-
-
-
-typedef BOOL (__stdcall *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM);
-typedef BOOL (__stdcall *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM);
-
-
-typedef struct _PSHNOTIFY
-{
-    NMHDR hdr;
-    LPARAM lParam;
-} PSHNOTIFY, *LPPSHNOTIFY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-typedef struct _PRINTER_INFO_1A {
-    DWORD   Flags;
-    LPSTR   pDescription;
-    LPSTR   pName;
-    LPSTR   pComment;
-} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
-typedef struct _PRINTER_INFO_1W {
-    DWORD   Flags;
-    LPWSTR  pDescription;
-    LPWSTR  pName;
-    LPWSTR  pComment;
-} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
-
-typedef PRINTER_INFO_1W PRINTER_INFO_1;
-typedef PPRINTER_INFO_1W PPRINTER_INFO_1;
-typedef LPPRINTER_INFO_1W LPPRINTER_INFO_1;
-
-
-
-
-
-
-typedef struct _PRINTER_INFO_2A {
-    LPSTR     pServerName;
-    LPSTR     pPrinterName;
-    LPSTR     pShareName;
-    LPSTR     pPortName;
-    LPSTR     pDriverName;
-    LPSTR     pComment;
-    LPSTR     pLocation;
-    LPDEVMODEA pDevMode;
-    LPSTR     pSepFile;
-    LPSTR     pPrintProcessor;
-    LPSTR     pDatatype;
-    LPSTR     pParameters;
-    PSECURITY_DESCRIPTOR pSecurityDescriptor;
-    DWORD   Attributes;
-    DWORD   Priority;
-    DWORD   DefaultPriority;
-    DWORD   StartTime;
-    DWORD   UntilTime;
-    DWORD   Status;
-    DWORD   cJobs;
-    DWORD   AveragePPM;
-} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
-typedef struct _PRINTER_INFO_2W {
-    LPWSTR    pServerName;
-    LPWSTR    pPrinterName;
-    LPWSTR    pShareName;
-    LPWSTR    pPortName;
-    LPWSTR    pDriverName;
-    LPWSTR    pComment;
-    LPWSTR    pLocation;
-    LPDEVMODEW pDevMode;
-    LPWSTR    pSepFile;
-    LPWSTR    pPrintProcessor;
-    LPWSTR    pDatatype;
-    LPWSTR    pParameters;
-    PSECURITY_DESCRIPTOR pSecurityDescriptor;
-    DWORD   Attributes;
-    DWORD   Priority;
-    DWORD   DefaultPriority;
-    DWORD   StartTime;
-    DWORD   UntilTime;
-    DWORD   Status;
-    DWORD   cJobs;
-    DWORD   AveragePPM;
-} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
-
-typedef PRINTER_INFO_2W PRINTER_INFO_2;
-typedef PPRINTER_INFO_2W PPRINTER_INFO_2;
-typedef LPPRINTER_INFO_2W LPPRINTER_INFO_2;
-
-
-
-
-
-
-typedef struct _PRINTER_INFO_3 {
-    PSECURITY_DESCRIPTOR pSecurityDescriptor;
-} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
-
-typedef struct _PRINTER_INFO_4A {
-    LPSTR   pPrinterName;
-    LPSTR   pServerName;
-    DWORD   Attributes;
-} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
-typedef struct _PRINTER_INFO_4W {
-    LPWSTR  pPrinterName;
-    LPWSTR  pServerName;
-    DWORD   Attributes;
-} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
-
-typedef PRINTER_INFO_4W PRINTER_INFO_4;
-typedef PPRINTER_INFO_4W PPRINTER_INFO_4;
-typedef LPPRINTER_INFO_4W LPPRINTER_INFO_4;
-
-
-
-
-
-
-typedef struct _PRINTER_INFO_5A {
-    LPSTR   pPrinterName;
-    LPSTR   pPortName;
-    DWORD   Attributes;
-    DWORD   DeviceNotSelectedTimeout;
-    DWORD   TransmissionRetryTimeout;
-} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
-typedef struct _PRINTER_INFO_5W {
-    LPWSTR  pPrinterName;
-    LPWSTR  pPortName;
-    DWORD   Attributes;
-    DWORD   DeviceNotSelectedTimeout;
-    DWORD   TransmissionRetryTimeout;
-} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
-
-typedef PRINTER_INFO_5W PRINTER_INFO_5;
-typedef PPRINTER_INFO_5W PPRINTER_INFO_5;
-typedef LPPRINTER_INFO_5W LPPRINTER_INFO_5;
-
-
-
-
-
-
-typedef struct _PRINTER_INFO_6 {
-    DWORD   dwStatus;
-} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
-
-typedef struct _PRINTER_INFO_7A {
-  LPSTR    pszObjectGUID;
-  DWORD    dwAction;
-} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
-typedef struct _PRINTER_INFO_7W {
-  LPWSTR   pszObjectGUID;
-  DWORD    dwAction;
-} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
-
-typedef PRINTER_INFO_7W PRINTER_INFO_7;
-typedef PPRINTER_INFO_7W PPRINTER_INFO_7;
-typedef LPPRINTER_INFO_7W LPPRINTER_INFO_7;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PRINTER_INFO_8A {
-    LPDEVMODEA pDevMode;
-} PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
-typedef struct _PRINTER_INFO_8W {
-    LPDEVMODEW pDevMode;
-} PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
-
-typedef PRINTER_INFO_8W PRINTER_INFO_8;
-typedef PPRINTER_INFO_8W PPRINTER_INFO_8;
-typedef LPPRINTER_INFO_8W LPPRINTER_INFO_8;
-
-
-
-
-
-
-typedef struct _PRINTER_INFO_9A {
-    LPDEVMODEA pDevMode;
-} PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
-typedef struct _PRINTER_INFO_9W {
-    LPDEVMODEW pDevMode;
-} PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
-
-typedef PRINTER_INFO_9W PRINTER_INFO_9;
-typedef PPRINTER_INFO_9W PPRINTER_INFO_9;
-typedef LPPRINTER_INFO_9W LPPRINTER_INFO_9;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _JOB_INFO_1A {
-   DWORD    JobId;
-   LPSTR      pPrinterName;
-   LPSTR      pMachineName;
-   LPSTR      pUserName;
-   LPSTR      pDocument;
-   LPSTR      pDatatype;
-   LPSTR      pStatus;
-   DWORD    Status;
-   DWORD    Priority;
-   DWORD    Position;
-   DWORD    TotalPages;
-   DWORD    PagesPrinted;
-   SYSTEMTIME Submitted;
-} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
-typedef struct _JOB_INFO_1W {
-   DWORD    JobId;
-   LPWSTR     pPrinterName;
-   LPWSTR     pMachineName;
-   LPWSTR     pUserName;
-   LPWSTR     pDocument;
-   LPWSTR     pDatatype;
-   LPWSTR     pStatus;
-   DWORD    Status;
-   DWORD    Priority;
-   DWORD    Position;
-   DWORD    TotalPages;
-   DWORD    PagesPrinted;
-   SYSTEMTIME Submitted;
-} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
-
-typedef JOB_INFO_1W JOB_INFO_1;
-typedef PJOB_INFO_1W PJOB_INFO_1;
-typedef LPJOB_INFO_1W LPJOB_INFO_1;
-
-
-
-
-
-
-typedef struct _JOB_INFO_2A {
-   DWORD    JobId;
-   LPSTR      pPrinterName;
-   LPSTR      pMachineName;
-   LPSTR      pUserName;
-   LPSTR      pDocument;
-   LPSTR      pNotifyName;
-   LPSTR      pDatatype;
-   LPSTR      pPrintProcessor;
-   LPSTR      pParameters;
-   LPSTR      pDriverName;
-   LPDEVMODEA pDevMode;
-   LPSTR      pStatus;
-   PSECURITY_DESCRIPTOR pSecurityDescriptor;
-   DWORD    Status;
-   DWORD    Priority;
-   DWORD    Position;
-   DWORD    StartTime;
-   DWORD    UntilTime;
-   DWORD    TotalPages;
-   DWORD    Size;
-   SYSTEMTIME Submitted;    
-   DWORD    Time;           
-   DWORD    PagesPrinted;
-} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
-typedef struct _JOB_INFO_2W {
-   DWORD    JobId;
-   LPWSTR     pPrinterName;
-   LPWSTR     pMachineName;
-   LPWSTR     pUserName;
-   LPWSTR     pDocument;
-   LPWSTR     pNotifyName;
-   LPWSTR     pDatatype;
-   LPWSTR     pPrintProcessor;
-   LPWSTR     pParameters;
-   LPWSTR     pDriverName;
-   LPDEVMODEW pDevMode;
-   LPWSTR     pStatus;
-   PSECURITY_DESCRIPTOR pSecurityDescriptor;
-   DWORD    Status;
-   DWORD    Priority;
-   DWORD    Position;
-   DWORD    StartTime;
-   DWORD    UntilTime;
-   DWORD    TotalPages;
-   DWORD    Size;
-   SYSTEMTIME Submitted;    
-   DWORD    Time;           
-   DWORD    PagesPrinted;
-} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
-
-typedef JOB_INFO_2W JOB_INFO_2;
-typedef PJOB_INFO_2W PJOB_INFO_2;
-typedef LPJOB_INFO_2W LPJOB_INFO_2;
-
-
-
-
-
-
-typedef struct _JOB_INFO_3 {
-    DWORD   JobId;
-    DWORD   NextJobId;
-    DWORD   Reserved;
-} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _ADDJOB_INFO_1A {
-    LPSTR     Path;
-    DWORD   JobId;
-} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
-typedef struct _ADDJOB_INFO_1W {
-    LPWSTR    Path;
-    DWORD   JobId;
-} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
-
-typedef ADDJOB_INFO_1W ADDJOB_INFO_1;
-typedef PADDJOB_INFO_1W PADDJOB_INFO_1;
-typedef LPADDJOB_INFO_1W LPADDJOB_INFO_1;
-
-
-
-
-
-
-
-typedef struct _DRIVER_INFO_1A {
-    LPSTR     pName;              
-} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
-typedef struct _DRIVER_INFO_1W {
-    LPWSTR    pName;              
-} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
-
-typedef DRIVER_INFO_1W DRIVER_INFO_1;
-typedef PDRIVER_INFO_1W PDRIVER_INFO_1;
-typedef LPDRIVER_INFO_1W LPDRIVER_INFO_1;
-
-
-
-
-
-
-typedef struct _DRIVER_INFO_2A {
-    DWORD   cVersion;
-    LPSTR     pName;              
-    LPSTR     pEnvironment;       
-    LPSTR     pDriverPath;        
-    LPSTR     pDataFile;          
-    LPSTR     pConfigFile;        
-} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
-typedef struct _DRIVER_INFO_2W {
-    DWORD   cVersion;
-    LPWSTR    pName;              
-    LPWSTR    pEnvironment;       
-    LPWSTR    pDriverPath;        
-    LPWSTR    pDataFile;          
-    LPWSTR    pConfigFile;        
-} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
-
-typedef DRIVER_INFO_2W DRIVER_INFO_2;
-typedef PDRIVER_INFO_2W PDRIVER_INFO_2;
-typedef LPDRIVER_INFO_2W LPDRIVER_INFO_2;
-
-
-
-
-
-
-typedef struct _DRIVER_INFO_3A {
-    DWORD   cVersion;
-    LPSTR     pName;                    
-    LPSTR     pEnvironment;             
-    LPSTR     pDriverPath;              
-    LPSTR     pDataFile;                
-    LPSTR     pConfigFile;              
-    LPSTR     pHelpFile;                
-    LPSTR     pDependentFiles;          
-    LPSTR     pMonitorName;             
-    LPSTR     pDefaultDataType;         
-} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
-typedef struct _DRIVER_INFO_3W {
-    DWORD   cVersion;
-    LPWSTR    pName;                    
-    LPWSTR    pEnvironment;             
-    LPWSTR    pDriverPath;              
-    LPWSTR    pDataFile;                
-    LPWSTR    pConfigFile;              
-    LPWSTR    pHelpFile;                
-    LPWSTR    pDependentFiles;          
-    LPWSTR    pMonitorName;             
-    LPWSTR    pDefaultDataType;         
-} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
-
-typedef DRIVER_INFO_3W DRIVER_INFO_3;
-typedef PDRIVER_INFO_3W PDRIVER_INFO_3;
-typedef LPDRIVER_INFO_3W LPDRIVER_INFO_3;
-
-
-
-
-
-
-typedef struct _DRIVER_INFO_4A {
-    DWORD   cVersion;
-    LPSTR     pName;                    
-    LPSTR     pEnvironment;             
-    LPSTR     pDriverPath;              
-    LPSTR     pDataFile;                
-    LPSTR     pConfigFile;              
-    LPSTR     pHelpFile;                
-    LPSTR     pDependentFiles;          
-    LPSTR     pMonitorName;             
-    LPSTR     pDefaultDataType;         
-    LPSTR     pszzPreviousNames;        
-} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
-typedef struct _DRIVER_INFO_4W {
-    DWORD   cVersion;
-    LPWSTR    pName;                    
-    LPWSTR    pEnvironment;             
-    LPWSTR    pDriverPath;              
-    LPWSTR    pDataFile;                
-    LPWSTR    pConfigFile;              
-    LPWSTR    pHelpFile;                
-    LPWSTR    pDependentFiles;          
-    LPWSTR    pMonitorName;             
-    LPWSTR    pDefaultDataType;         
-    LPWSTR    pszzPreviousNames;        
-} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
-
-typedef DRIVER_INFO_4W DRIVER_INFO_4;
-typedef PDRIVER_INFO_4W PDRIVER_INFO_4;
-typedef LPDRIVER_INFO_4W LPDRIVER_INFO_4;
-
-
-
-
-
-
-typedef struct _DRIVER_INFO_5A {
-    DWORD   cVersion;
-    LPSTR     pName;                    
-    LPSTR     pEnvironment;             
-    LPSTR     pDriverPath;              
-    LPSTR     pDataFile;                
-    LPSTR     pConfigFile;              
-    DWORD     dwDriverAttributes;       
-    DWORD     dwConfigVersion;          
-    DWORD     dwDriverVersion;          
-} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
-typedef struct _DRIVER_INFO_5W {
-    DWORD   cVersion;
-    LPWSTR    pName;                    
-    LPWSTR    pEnvironment;             
-    LPWSTR    pDriverPath;              
-    LPWSTR    pDataFile;                
-    LPWSTR    pConfigFile;              
-    DWORD     dwDriverAttributes;       
-    DWORD     dwConfigVersion;          
-    DWORD     dwDriverVersion;          
-} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
-
-typedef DRIVER_INFO_5W DRIVER_INFO_5;
-typedef PDRIVER_INFO_5W PDRIVER_INFO_5;
-typedef LPDRIVER_INFO_5W LPDRIVER_INFO_5;
-
-
-
-
-
-
-typedef struct _DRIVER_INFO_6A {
-    DWORD     cVersion;
-    LPSTR     pName;                    
-    LPSTR     pEnvironment;             
-    LPSTR     pDriverPath;              
-    LPSTR     pDataFile;                
-    LPSTR     pConfigFile;              
-    LPSTR     pHelpFile;                
-    LPSTR     pDependentFiles;          
-    LPSTR     pMonitorName;             
-    LPSTR     pDefaultDataType;         
-    LPSTR     pszzPreviousNames;        
-    FILETIME  ftDriverDate;
-    DWORDLONG dwlDriverVersion;
-    LPSTR      pszMfgName;
-    LPSTR      pszOEMUrl;
-    LPSTR      pszHardwareID;
-    LPSTR      pszProvider;
-} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
-typedef struct _DRIVER_INFO_6W {
-    DWORD     cVersion;
-    LPWSTR    pName;                    
-    LPWSTR    pEnvironment;             
-    LPWSTR    pDriverPath;              
-    LPWSTR    pDataFile;                
-    LPWSTR    pConfigFile;              
-    LPWSTR    pHelpFile;                
-    LPWSTR    pDependentFiles;          
-    LPWSTR    pMonitorName;             
-    LPWSTR    pDefaultDataType;         
-    LPWSTR    pszzPreviousNames;        
-    FILETIME  ftDriverDate;
-    DWORDLONG dwlDriverVersion;
-    LPWSTR     pszMfgName;
-    LPWSTR     pszOEMUrl;
-    LPWSTR     pszHardwareID;
-    LPWSTR     pszProvider;
-} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
-
-typedef DRIVER_INFO_6W DRIVER_INFO_6;
-typedef PDRIVER_INFO_6W PDRIVER_INFO_6;
-typedef LPDRIVER_INFO_6W LPDRIVER_INFO_6;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DOC_INFO_1A {
-    LPSTR     pDocName;
-    LPSTR     pOutputFile;
-    LPSTR     pDatatype;
-} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
-typedef struct _DOC_INFO_1W {
-    LPWSTR    pDocName;
-    LPWSTR    pOutputFile;
-    LPWSTR    pDatatype;
-} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
-
-typedef DOC_INFO_1W DOC_INFO_1;
-typedef PDOC_INFO_1W PDOC_INFO_1;
-typedef LPDOC_INFO_1W LPDOC_INFO_1;
-
-
-
-
-
-
-typedef struct _FORM_INFO_1A {
-    DWORD   Flags;
-    LPSTR     pName;
-    SIZEL   Size;
-    RECTL   ImageableArea;
-} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
-typedef struct _FORM_INFO_1W {
-    DWORD   Flags;
-    LPWSTR    pName;
-    SIZEL   Size;
-    RECTL   ImageableArea;
-} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
-
-typedef FORM_INFO_1W FORM_INFO_1;
-typedef PFORM_INFO_1W PFORM_INFO_1;
-typedef LPFORM_INFO_1W LPFORM_INFO_1;
-
-
-
-
-
-
-typedef struct _DOC_INFO_2A {
-    LPSTR     pDocName;
-    LPSTR     pOutputFile;
-    LPSTR     pDatatype;
-    DWORD   dwMode;
-    DWORD   JobId;
-} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
-typedef struct _DOC_INFO_2W {
-    LPWSTR    pDocName;
-    LPWSTR    pOutputFile;
-    LPWSTR    pDatatype;
-    DWORD   dwMode;
-    DWORD   JobId;
-} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
-
-typedef DOC_INFO_2W DOC_INFO_2;
-typedef PDOC_INFO_2W PDOC_INFO_2;
-typedef LPDOC_INFO_2W LPDOC_INFO_2;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DOC_INFO_3A {
-    LPSTR     pDocName;
-    LPSTR     pOutputFile;
-    LPSTR     pDatatype;
-    DWORD     dwFlags;
-} DOC_INFO_3A, *PDOC_INFO_3A, *LPDOC_INFO_3A;
-typedef struct _DOC_INFO_3W {
-    LPWSTR    pDocName;
-    LPWSTR    pOutputFile;
-    LPWSTR    pDatatype;
-    DWORD     dwFlags;
-} DOC_INFO_3W, *PDOC_INFO_3W, *LPDOC_INFO_3W;
-
-typedef DOC_INFO_3W DOC_INFO_3;
-typedef PDOC_INFO_3W PDOC_INFO_3;
-typedef LPDOC_INFO_3W LPDOC_INFO_3;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PRINTPROCESSOR_INFO_1A {
-    LPSTR     pName;
-} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;
-typedef struct _PRINTPROCESSOR_INFO_1W {
-    LPWSTR    pName;
-} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;
-
-typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1;
-typedef PPRINTPROCESSOR_INFO_1W PPRINTPROCESSOR_INFO_1;
-typedef LPPRINTPROCESSOR_INFO_1W LPPRINTPROCESSOR_INFO_1;
-
-
-
-
-
-
-typedef struct _PRINTPROCESSOR_CAPS_1 {
-    DWORD     dwLevel;
-    DWORD     dwNupOptions;
-    DWORD     dwPageOrderFlags;
-    DWORD     dwNumberOfCopies;
-} PRINTPROCESSOR_CAPS_1, *PPRINTPROCESSOR_CAPS_1;
-
-
-
-
-typedef struct _PORT_INFO_1A {
-    LPSTR     pName;
-} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
-typedef struct _PORT_INFO_1W {
-    LPWSTR    pName;
-} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
-
-typedef PORT_INFO_1W PORT_INFO_1;
-typedef PPORT_INFO_1W PPORT_INFO_1;
-typedef LPPORT_INFO_1W LPPORT_INFO_1;
-
-
-
-
-
-
-typedef struct _PORT_INFO_2A {
-    LPSTR     pPortName;
-    LPSTR     pMonitorName;
-    LPSTR     pDescription;
-    DWORD     fPortType;
-    DWORD     Reserved;
-} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
-typedef struct _PORT_INFO_2W {
-    LPWSTR    pPortName;
-    LPWSTR    pMonitorName;
-    LPWSTR    pDescription;
-    DWORD     fPortType;
-    DWORD     Reserved;
-} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
-
-typedef PORT_INFO_2W PORT_INFO_2;
-typedef PPORT_INFO_2W PPORT_INFO_2;
-typedef LPPORT_INFO_2W LPPORT_INFO_2;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PORT_INFO_3A {
-    DWORD   dwStatus;
-    LPSTR   pszStatus;
-    DWORD   dwSeverity;
-} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
-typedef struct _PORT_INFO_3W {
-    DWORD   dwStatus;
-    LPWSTR  pszStatus;
-    DWORD   dwSeverity;
-} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
-
-typedef PORT_INFO_3W PORT_INFO_3;
-typedef PPORT_INFO_3W PPORT_INFO_3;
-typedef LPPORT_INFO_3W LPPORT_INFO_3;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _MONITOR_INFO_1A{
-    LPSTR     pName;
-} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
-typedef struct _MONITOR_INFO_1W{
-    LPWSTR    pName;
-} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
-
-typedef MONITOR_INFO_1W MONITOR_INFO_1;
-typedef PMONITOR_INFO_1W PMONITOR_INFO_1;
-typedef LPMONITOR_INFO_1W LPMONITOR_INFO_1;
-
-
-
-
-
-
-typedef struct _MONITOR_INFO_2A{
-    LPSTR     pName;
-    LPSTR     pEnvironment;
-    LPSTR     pDLLName;
-} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
-typedef struct _MONITOR_INFO_2W{
-    LPWSTR    pName;
-    LPWSTR    pEnvironment;
-    LPWSTR    pDLLName;
-} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
-
-typedef MONITOR_INFO_2W MONITOR_INFO_2;
-typedef PMONITOR_INFO_2W PMONITOR_INFO_2;
-typedef LPMONITOR_INFO_2W LPMONITOR_INFO_2;
-
-
-
-
-
-
-typedef struct _DATATYPES_INFO_1A{
-    LPSTR     pName;
-} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
-typedef struct _DATATYPES_INFO_1W{
-    LPWSTR    pName;
-} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
-
-typedef DATATYPES_INFO_1W DATATYPES_INFO_1;
-typedef PDATATYPES_INFO_1W PDATATYPES_INFO_1;
-typedef LPDATATYPES_INFO_1W LPDATATYPES_INFO_1;
-
-
-
-
-
-
-typedef struct _PRINTER_DEFAULTSA{
-    LPSTR         pDatatype;
-    LPDEVMODEA pDevMode;
-    ACCESS_MASK DesiredAccess;
-} PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
-typedef struct _PRINTER_DEFAULTSW{
-    LPWSTR        pDatatype;
-    LPDEVMODEW pDevMode;
-    ACCESS_MASK DesiredAccess;
-} PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
-
-typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS;
-typedef PPRINTER_DEFAULTSW PPRINTER_DEFAULTS;
-typedef LPPRINTER_DEFAULTSW LPPRINTER_DEFAULTS;
-
-
-
-
-
-
-typedef struct _PRINTER_ENUM_VALUESA {
-    LPSTR   pValueName;
-    DWORD   cbValueName;
-    DWORD   dwType;
-    LPBYTE  pData;
-    DWORD   cbData;
-} PRINTER_ENUM_VALUESA, *PPRINTER_ENUM_VALUESA, *LPPRINTER_ENUM_VALUESA;
-typedef struct _PRINTER_ENUM_VALUESW {
-    LPWSTR  pValueName;
-    DWORD   cbValueName;
-    DWORD   dwType;
-    LPBYTE  pData;
-    DWORD   cbData;
-} PRINTER_ENUM_VALUESW, *PPRINTER_ENUM_VALUESW, *LPPRINTER_ENUM_VALUESW;
-
-typedef PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES;
-typedef PPRINTER_ENUM_VALUESW PPRINTER_ENUM_VALUES;
-typedef LPPRINTER_ENUM_VALUESW LPPRINTER_ENUM_VALUES;
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumPrintersA (
-         DWORD Flags,
-         LPSTR Name,
-         DWORD Level,
-             LPBYTE pPrinterEnum,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumPrintersW (
-         DWORD Flags,
-         LPWSTR Name,
-         DWORD Level,
-             LPBYTE pPrinterEnum,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-BOOL
-__stdcall
-OpenPrinterA (
-        LPSTR pPrinterName,
-        LPHANDLE phPrinter,
-          LPPRINTER_DEFAULTSA pDefault
-);
-BOOL
-__stdcall
-OpenPrinterW (
-        LPWSTR pPrinterName,
-        LPHANDLE phPrinter,
-          LPPRINTER_DEFAULTSW pDefault
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-ResetPrinterA (
-        HANDLE   hPrinter,
-          LPPRINTER_DEFAULTSA pDefault
-);
-BOOL
-__stdcall
-ResetPrinterW (
-        HANDLE   hPrinter,
-          LPPRINTER_DEFAULTSW pDefault
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-SetJobA (
-         HANDLE hPrinter,
-         DWORD JobId,
-         DWORD Level,
-           LPBYTE pJob,
-         DWORD Command
-);
-BOOL
-__stdcall
-SetJobW (
-         HANDLE hPrinter,
-         DWORD JobId,
-         DWORD Level,
-           LPBYTE pJob,
-         DWORD Command
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-GetJobA (
-        HANDLE hPrinter,
-        DWORD JobId,
-        DWORD Level,
-          LPBYTE pJob,
-        DWORD cbBuf,
-        LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-GetJobW (
-        HANDLE hPrinter,
-        DWORD JobId,
-        DWORD Level,
-          LPBYTE pJob,
-        DWORD cbBuf,
-        LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumJobsA (
-         HANDLE hPrinter,
-         DWORD FirstJob,
-         DWORD NoJobs,
-         DWORD Level,
-           LPBYTE pJob,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumJobsW (
-         HANDLE hPrinter,
-         DWORD FirstJob,
-         DWORD NoJobs,
-         DWORD Level,
-           LPBYTE pJob,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-HANDLE
-__stdcall
-AddPrinterA (
-         LPSTR pName,
-         DWORD Level,
-         LPBYTE pPrinter
-);
-HANDLE
-__stdcall
-AddPrinterW (
-         LPWSTR pName,
-         DWORD Level,
-         LPBYTE pPrinter
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePrinter (
-        HANDLE hPrinter
-);
-
-BOOL
-__stdcall
-SetPrinterA (
-         HANDLE hPrinter,
-         DWORD Level,
-         LPBYTE pPrinter,
-         DWORD Command
-);
-BOOL
-__stdcall
-SetPrinterW (
-         HANDLE hPrinter,
-         DWORD Level,
-         LPBYTE pPrinter,
-         DWORD Command
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-GetPrinterA (
-         HANDLE hPrinter,
-         DWORD Level,
-           LPBYTE pPrinter,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-GetPrinterW (
-         HANDLE hPrinter,
-         DWORD Level,
-           LPBYTE pPrinter,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-AddPrinterDriverA (
-         LPSTR pName,
-         DWORD Level,
-         LPBYTE pDriverInfo
-);
-BOOL
-__stdcall
-AddPrinterDriverW (
-         LPWSTR pName,
-         DWORD Level,
-         LPBYTE pDriverInfo
-);
-
-
-
-
-
-
-
-BOOL
-__stdcall
-AddPrinterDriverExA (
-         LPSTR pName,
-         DWORD Level,
-         LPBYTE pDriverInfo,
-         DWORD dwFileCopyFlags
-);
-BOOL
-__stdcall
-AddPrinterDriverExW (
-         LPWSTR pName,
-         DWORD Level,
-         LPBYTE pDriverInfo,
-         DWORD dwFileCopyFlags
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumPrinterDriversA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pDriverInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumPrinterDriversW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pDriverInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-GetPrinterDriverA (
-         HANDLE hPrinter,
-           LPSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pDriverInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-GetPrinterDriverW (
-         HANDLE hPrinter,
-           LPWSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pDriverInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-GetPrinterDriverDirectoryA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pDriverDirectory,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-GetPrinterDriverDirectoryW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pDriverDirectory,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePrinterDriverA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         LPSTR pDriverName
-);
-BOOL
-__stdcall
-DeletePrinterDriverW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         LPWSTR pDriverName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePrinterDriverExA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         LPSTR pDriverName,
-         DWORD dwDeleteFlag,
-         DWORD dwVersionFlag
-);
-BOOL
-__stdcall
-DeletePrinterDriverExW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         LPWSTR pDriverName,
-         DWORD dwDeleteFlag,
-         DWORD dwVersionFlag
-);
-
-
-
-
-
-
-
-BOOL
-__stdcall
-AddPrintProcessorA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         LPSTR pPathName,
-         LPSTR pPrintProcessorName
-);
-BOOL
-__stdcall
-AddPrintProcessorW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         LPWSTR pPathName,
-         LPWSTR pPrintProcessorName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumPrintProcessorsA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         DWORD Level,
-             LPBYTE pPrintProcessorInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumPrintProcessorsW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         DWORD Level,
-             LPBYTE pPrintProcessorInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-GetPrintProcessorDirectoryA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pPrintProcessorInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-GetPrintProcessorDirectoryW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         DWORD Level,
-           LPBYTE pPrintProcessorInfo,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumPrintProcessorDatatypesA (
-         LPSTR pName,
-         LPSTR pPrintProcessorName,
-         DWORD Level,
-             LPBYTE pDatatypes,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumPrintProcessorDatatypesW (
-         LPWSTR pName,
-         LPWSTR pPrintProcessorName,
-         DWORD Level,
-             LPBYTE pDatatypes,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePrintProcessorA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         LPSTR pPrintProcessorName
-);
-BOOL
-__stdcall
-DeletePrintProcessorW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         LPWSTR pPrintProcessorName
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-StartDocPrinterA ( 
-         HANDLE hPrinter,
-         DWORD Level,
-         LPBYTE pDocInfo
-);
-DWORD
-__stdcall
-StartDocPrinterW ( 
-         HANDLE hPrinter,
-         DWORD Level,
-         LPBYTE pDocInfo
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-StartPagePrinter (
-         HANDLE hPrinter
-);
-
-BOOL
-__stdcall
-WritePrinter (
-         HANDLE hPrinter,
-           LPVOID pBuf,
-         DWORD cbBuf,
-         LPDWORD pcWritten
-);
-
-
-BOOL
-__stdcall
-FlushPrinter (
-         HANDLE hPrinter,
-           LPVOID pBuf,
-         DWORD cbBuf,
-         LPDWORD pcWritten,
-         DWORD cSleep
-);
-
-BOOL
-__stdcall
-EndPagePrinter (
-        HANDLE hPrinter
-);
-
-BOOL
-__stdcall
-AbortPrinter (
-        HANDLE hPrinter
-);
-
-BOOL
-__stdcall
-ReadPrinter (
-         HANDLE  hPrinter,
-           LPVOID pBuf,
-         DWORD cbBuf,
-         LPDWORD pNoBytesRead
-);
-
-BOOL
-__stdcall
-EndDocPrinter (
-        HANDLE hPrinter
-);
-
-BOOL
-__stdcall
-AddJobA (
-         HANDLE hPrinter,
-         DWORD Level,
-           LPBYTE pData,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-AddJobW (
-         HANDLE hPrinter,
-         DWORD Level,
-           LPBYTE pData,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-ScheduleJob (
-         HANDLE hPrinter,
-         DWORD JobId
-);
-
-BOOL
-__stdcall
-PrinterProperties (
-         HWND hWnd,
-         HANDLE hPrinter
-);
-
-LONG
-__stdcall
-DocumentPropertiesA (
-         HWND hWnd,
-           HANDLE hPrinter,
-         LPSTR pDeviceName,
-           PDEVMODEA pDevModeOutput,
-           PDEVMODEA pDevModeInput,
-         DWORD fMode
-);
-LONG
-__stdcall
-DocumentPropertiesW (
-         HWND hWnd,
-           HANDLE hPrinter,
-         LPWSTR pDeviceName,
-           PDEVMODEW pDevModeOutput,
-           PDEVMODEW pDevModeInput,
-         DWORD fMode
-);
-
-
-
-
-
-
-LONG
-__stdcall
-AdvancedDocumentPropertiesA (
-         HWND hWnd,
-           HANDLE hPrinter,
-         LPSTR   pDeviceName,
-           PDEVMODEA pDevModeOutput,
-           PDEVMODEA pDevModeInput
-);
-LONG
-__stdcall
-AdvancedDocumentPropertiesW (
-         HWND hWnd,
-           HANDLE hPrinter,
-         LPWSTR   pDeviceName,
-           PDEVMODEW pDevModeOutput,
-           PDEVMODEW pDevModeInput
-);
-
-
-
-
-
-
-LONG
-ExtDeviceMode (
-         HWND hWnd,
-           HANDLE hInst,
-           LPDEVMODEA pDevModeOutput,
-         LPSTR pDeviceName,
-           LPSTR pPort,
-           LPDEVMODEA pDevModeInput,
-           LPSTR pProfile,
-         DWORD fMode
-);
-
-
-DWORD
-__stdcall
-GetPrinterDataA (
-         HANDLE hPrinter,
-           LPSTR pValueName,
-           LPDWORD pType,
-           LPBYTE pData,
-         DWORD nSize,
-         LPDWORD pcbNeeded
-);
-DWORD
-__stdcall
-GetPrinterDataW (
-         HANDLE hPrinter,
-           LPWSTR pValueName,
-           LPDWORD pType,
-           LPBYTE pData,
-         DWORD nSize,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-GetPrinterDataExA (
-         HANDLE hPrinter,
-           LPCSTR pKeyName,
-           LPCSTR pValueName,
-           LPDWORD pType,
-           LPBYTE pData,
-         DWORD nSize,
-         LPDWORD pcbNeeded
-);
-DWORD
-__stdcall
-GetPrinterDataExW (
-         HANDLE hPrinter,
-           LPCWSTR pKeyName,
-           LPCWSTR pValueName,
-           LPDWORD pType,
-           LPBYTE pData,
-         DWORD nSize,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-EnumPrinterDataA (
-         HANDLE hPrinter,
-         DWORD dwIndex,
-             LPSTR pValueName,
-         DWORD cbValueName,
-         LPDWORD pcbValueName,
-           LPDWORD pType,
-             LPBYTE pData,
-         DWORD cbData,
-         LPDWORD pcbData
-);
-DWORD
-__stdcall
-EnumPrinterDataW (
-         HANDLE hPrinter,
-         DWORD dwIndex,
-             LPWSTR pValueName,
-         DWORD cbValueName,
-         LPDWORD pcbValueName,
-           LPDWORD pType,
-             LPBYTE pData,
-         DWORD cbData,
-         LPDWORD pcbData
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-EnumPrinterDataExA (
-         HANDLE hPrinter,
-         LPCSTR pKeyName,
-             LPBYTE pEnumValues,
-         DWORD cbEnumValues,
-         LPDWORD pcbEnumValues,
-         LPDWORD pnEnumValues
-);
-DWORD
-__stdcall
-EnumPrinterDataExW (
-         HANDLE hPrinter,
-         LPCWSTR pKeyName,
-             LPBYTE pEnumValues,
-         DWORD cbEnumValues,
-         LPDWORD pcbEnumValues,
-         LPDWORD pnEnumValues
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-EnumPrinterKeyA (
-         HANDLE hPrinter,
-         LPCSTR pKeyName,
-             LPSTR pSubkey,
-         DWORD cbSubkey,
-         LPDWORD pcbSubkey
-);
-DWORD
-__stdcall
-EnumPrinterKeyW (
-         HANDLE hPrinter,
-         LPCWSTR pKeyName,
-             LPWSTR pSubkey,
-         DWORD cbSubkey,
-         LPDWORD pcbSubkey
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-SetPrinterDataA (
-         HANDLE hPrinter,
-         LPSTR pValueName,
-         DWORD Type,
-           LPBYTE pData,
-         DWORD cbData
-);
-DWORD
-__stdcall
-SetPrinterDataW (
-         HANDLE hPrinter,
-         LPWSTR pValueName,
-         DWORD Type,
-           LPBYTE pData,
-         DWORD cbData
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-SetPrinterDataExA (
-         HANDLE hPrinter,
-           LPCSTR pKeyName,
-         LPCSTR pValueName,
-         DWORD Type,
-           LPBYTE pData,
-         DWORD cbData
-);
-DWORD
-__stdcall
-SetPrinterDataExW (
-         HANDLE hPrinter,
-           LPCWSTR pKeyName,
-         LPCWSTR pValueName,
-         DWORD Type,
-           LPBYTE pData,
-         DWORD cbData
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-DeletePrinterDataA (
-         HANDLE hPrinter,
-         LPSTR pValueName
-);
-DWORD
-__stdcall
-DeletePrinterDataW (
-         HANDLE hPrinter,
-         LPWSTR pValueName
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-DeletePrinterDataExA (
-         HANDLE hPrinter,
-         LPCSTR pKeyName,
-         LPCSTR pValueName
-);
-DWORD
-__stdcall
-DeletePrinterDataExW (
-         HANDLE hPrinter,
-         LPCWSTR pKeyName,
-         LPCWSTR pValueName
-);
-
-
-
-
-
-
-DWORD
-__stdcall
-DeletePrinterKeyA (
-         HANDLE hPrinter,
-         LPCSTR pKeyName
-);
-DWORD
-__stdcall
-DeletePrinterKeyW (
-         HANDLE hPrinter,
-         LPCWSTR pKeyName
-);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
-    WORD Type;
-    WORD Reserved0;
-    DWORD Reserved1;
-    DWORD Reserved2;
-    DWORD Count;
-    PWORD pFields;
-} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE, *LPPRINTER_NOTIFY_OPTIONS_TYPE;
-
-
-
-typedef struct _PRINTER_NOTIFY_OPTIONS {
-    DWORD Version;
-    DWORD Flags;
-    DWORD Count;
-    PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
-} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
-
-
-
-typedef struct _PRINTER_NOTIFY_INFO_DATA {
-    WORD Type;
-    WORD Field;
-    DWORD Reserved;
-    DWORD Id;
-    union {
-        DWORD adwData[2];
-        struct {
-            DWORD  cbBuf;
-            LPVOID pBuf;
-        } Data;
-    } NotifyData;
-} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA, *LPPRINTER_NOTIFY_INFO_DATA;
-
-typedef struct _PRINTER_NOTIFY_INFO {
-    DWORD Version;
-    DWORD Flags;
-    DWORD Count;
-    PRINTER_NOTIFY_INFO_DATA aData[1];
-} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
-
-typedef struct _BINARY_CONTAINER{
-    DWORD cbBuf;
-    LPBYTE pData;
-} BINARY_CONTAINER, *PBINARY_CONTAINER;
-
-typedef struct _BIDI_DATA{
-    DWORD dwBidiType;
-    union {
-        BOOL   bData;
-        LONG   iData;
-        LPWSTR sData;
-        FLOAT  fData;
-        BINARY_CONTAINER biData;
-        }u;
-} BIDI_DATA, *PBIDI_DATA, *LPBIDI_DATA;
-
-typedef struct _BIDI_REQUEST_DATA{
-    DWORD     dwReqNumber;
-    LPWSTR    pSchema;
-    BIDI_DATA data;
-} BIDI_REQUEST_DATA , *PBIDI_REQUEST_DATA , *LPBIDI_REQUEST_DATA;
-
-typedef struct _BIDI_REQUEST_CONTAINER{
-    DWORD Version;
-    DWORD Flags;
-    DWORD Count;
-    BIDI_REQUEST_DATA aData[ 1 ];
-}BIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER;
-
-typedef struct _BIDI_RESPONSE_DATA{
-    DWORD  dwResult;
-    DWORD  dwReqNumber;
-    LPWSTR pSchema;
-    BIDI_DATA data;
-} BIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA;
-
-typedef struct _BIDI_RESPONSE_CONTAINER{
-    DWORD Version;
-    DWORD Flags;
-    DWORD Count;
-    BIDI_RESPONSE_DATA aData[ 1 ];
-} BIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER;
-
-
-
-
-
-
-typedef enum {
-    BIDI_NULL   = 0,
-    BIDI_INT    = 1,
-    BIDI_FLOAT  = 2,
-    BIDI_BOOL   = 3,
-    BIDI_STRING = 4,
-    BIDI_TEXT   = 5,
-    BIDI_ENUM   = 6,
-    BIDI_BLOB   = 7
-} BIDI_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD
-__stdcall
-WaitForPrinterChange (
-         HANDLE hPrinter,
-         DWORD Flags
-);
-
-HANDLE
-__stdcall
-FindFirstPrinterChangeNotification (
-         HANDLE hPrinter,
-         DWORD fdwFlags,
-         DWORD fdwOptions,
-           LPVOID pPrinterNotifyOptions
-);
-
-BOOL
-__stdcall
-FindNextPrinterChangeNotification (
-         HANDLE hChange,
-           PDWORD pdwChange,
-           LPVOID pPrinterNotifyOptions,
-           LPVOID *ppPrinterNotifyInfo
-);
-
-BOOL
-__stdcall
-FreePrinterNotifyInfo (
-         PPRINTER_NOTIFY_INFO pPrinterNotifyInfo
-);
-
-BOOL
-__stdcall
-FindClosePrinterChangeNotification (
-         HANDLE hChange
-);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD
-__stdcall
-PrinterMessageBoxA (
-         HANDLE hPrinter,
-         DWORD Error,
-         HWND hWnd,
-           LPSTR pText,
-           LPSTR pCaption,
-         DWORD dwType
-);
-DWORD
-__stdcall
-PrinterMessageBoxW (
-         HANDLE hPrinter,
-         DWORD Error,
-         HWND hWnd,
-           LPWSTR pText,
-           LPWSTR pCaption,
-         DWORD dwType
-);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-BOOL
-__stdcall
-ClosePrinter (
-         HANDLE hPrinter
-);
-
-BOOL
-__stdcall
-AddFormA (
-         HANDLE hPrinter,
-         DWORD Level,
-         LPBYTE pForm
-);
-BOOL
-__stdcall
-AddFormW (
-         HANDLE hPrinter,
-         DWORD Level,
-         LPBYTE pForm
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeleteFormA (
-         HANDLE hPrinter,
-         LPSTR pFormName
-);
-BOOL
-__stdcall
-DeleteFormW (
-         HANDLE hPrinter,
-         LPWSTR pFormName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-GetFormA (
-         HANDLE hPrinter,
-         LPSTR pFormName,
-         DWORD Level,
-           LPBYTE pForm,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-BOOL
-__stdcall
-GetFormW (
-         HANDLE hPrinter,
-         LPWSTR pFormName,
-         DWORD Level,
-           LPBYTE pForm,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-SetFormA (
-         HANDLE hPrinter,
-         LPSTR pFormName,
-         DWORD Level,
-         LPBYTE pForm
-);
-BOOL
-__stdcall
-SetFormW (
-         HANDLE hPrinter,
-         LPWSTR pFormName,
-         DWORD Level,
-         LPBYTE pForm
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumFormsA (
-         HANDLE hPrinter,
-         DWORD Level,
-             LPBYTE pForm,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumFormsW (
-         HANDLE hPrinter,
-         DWORD Level,
-             LPBYTE pForm,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumMonitorsA (
-         LPSTR pName,
-         DWORD Level,
-             LPBYTE pMonitor,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumMonitorsW (
-         LPWSTR pName,
-         DWORD Level,
-             LPBYTE pMonitor,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-AddMonitorA (
-         LPSTR pName,
-         DWORD Level,
-           LPBYTE pMonitorInfo
-);
-BOOL
-__stdcall
-AddMonitorW (
-         LPWSTR pName,
-         DWORD Level,
-           LPBYTE pMonitorInfo
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeleteMonitorA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         LPSTR pMonitorName
-);
-BOOL
-__stdcall
-DeleteMonitorW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         LPWSTR pMonitorName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-EnumPortsA (
-         LPSTR pName,
-         DWORD Level,
-             LPBYTE  pPorts,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-BOOL
-__stdcall
-EnumPortsW (
-         LPWSTR pName,
-         DWORD Level,
-             LPBYTE  pPorts,
-         DWORD cbBuf,
-         LPDWORD pcbNeeded,
-         LPDWORD pcReturned
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-AddPortA (
-         LPSTR pName,
-         HWND hWnd,
-         LPSTR pMonitorName
-);
-BOOL
-__stdcall
-AddPortW (
-         LPWSTR pName,
-         HWND hWnd,
-         LPWSTR pMonitorName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-ConfigurePortA (
-         LPSTR pName,
-         HWND hWnd,
-         LPSTR pPortName
-);
-BOOL
-__stdcall
-ConfigurePortW (
-         LPWSTR pName,
-         HWND hWnd,
-         LPWSTR pPortName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePortA (
-         LPSTR pName,
-         HWND hWnd,
-         LPSTR pPortName
-);
-BOOL
-__stdcall
-DeletePortW (
-         LPWSTR pName,
-         HWND hWnd,
-         LPWSTR pPortName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-XcvDataW (
-         HANDLE hXcv,
-         PCWSTR pszDataName,
-             PBYTE pInputData,
-         DWORD cbInputData,
-           PBYTE pOutputData,
-         DWORD cbOutputData,
-         PDWORD pcbOutputNeeded,
-         PDWORD  pdwStatus
-);
-
-
-
-BOOL
-__stdcall
-GetDefaultPrinterA (
-             LPSTR pszBuffer,
-         LPDWORD pcchBuffer
-    );
-BOOL
-__stdcall
-GetDefaultPrinterW (
-             LPWSTR pszBuffer,
-         LPDWORD pcchBuffer
-    );
-
-
-
-
-
-
-BOOL
-__stdcall
-SetDefaultPrinterA (
-         LPCSTR pszPrinter
-    );
-BOOL
-__stdcall
-SetDefaultPrinterW (
-         LPCWSTR pszPrinter
-    );
-
-
-
-
-
-
-
-BOOL
-__stdcall
-SetPortA (
-         LPSTR pName,
-         LPSTR pPortName,
-         DWORD dwLevel,
-         LPBYTE pPortInfo
-);
-BOOL
-__stdcall
-SetPortW (
-         LPWSTR pName,
-         LPWSTR pPortName,
-         DWORD dwLevel,
-         LPBYTE pPortInfo
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-AddPrinterConnectionA (
-         LPSTR pName
-);
-BOOL
-__stdcall
-AddPrinterConnectionW (
-         LPWSTR pName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePrinterConnectionA ( 
-         LPSTR pName
-);
-BOOL
-__stdcall
-DeletePrinterConnectionW ( 
-         LPWSTR pName
-);
-
-
-
-
-
-
-HANDLE
-__stdcall
-ConnectToPrinterDlg (
-         HWND hwnd,
-         DWORD Flags
-);
-
-typedef struct _PROVIDOR_INFO_1A{
-    LPSTR     pName;
-    LPSTR     pEnvironment;
-    LPSTR     pDLLName;
-} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
-typedef struct _PROVIDOR_INFO_1W{
-    LPWSTR    pName;
-    LPWSTR    pEnvironment;
-    LPWSTR    pDLLName;
-} PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
-
-typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1;
-typedef PPROVIDOR_INFO_1W PPROVIDOR_INFO_1;
-typedef LPPROVIDOR_INFO_1W LPPROVIDOR_INFO_1;
-
-
-
-
-
-
-typedef struct _PROVIDOR_INFO_2A{
-    LPSTR     pOrder;
-} PROVIDOR_INFO_2A, *PPROVIDOR_INFO_2A, *LPPROVIDOR_INFO_2A;
-typedef struct _PROVIDOR_INFO_2W{
-    LPWSTR    pOrder;
-} PROVIDOR_INFO_2W, *PPROVIDOR_INFO_2W, *LPPROVIDOR_INFO_2W;
-
-typedef PROVIDOR_INFO_2W PROVIDOR_INFO_2;
-typedef PPROVIDOR_INFO_2W PPROVIDOR_INFO_2;
-typedef LPPROVIDOR_INFO_2W LPPROVIDOR_INFO_2;
-
-
-
-
-
-
-BOOL
-__stdcall
-AddPrintProvidorA (
-         LPSTR pName,
-         DWORD level,
-         LPBYTE pProvidorInfo
-);
-BOOL
-__stdcall
-AddPrintProvidorW (
-         LPWSTR pName,
-         DWORD level,
-         LPBYTE pProvidorInfo
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-DeletePrintProvidorA (
-         LPSTR pName,
-           LPSTR pEnvironment,
-         LPSTR pPrintProvidorName
-);
-BOOL
-__stdcall
-DeletePrintProvidorW (
-         LPWSTR pName,
-           LPWSTR pEnvironment,
-         LPWSTR pPrintProvidorName
-);
-
-
-
-
-
-
-BOOL
-__stdcall
-IsValidDevmodeA (
-         PDEVMODEA pDevmode,
-         size_t DevmodeSize
-    );
-BOOL
-__stdcall
-IsValidDevmodeW (
-         PDEVMODEW pDevmode,
-         size_t DevmodeSize
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-   
-   
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum tagREGCLS
-{
-    REGCLS_SINGLEUSE = 0,       
-    REGCLS_MULTIPLEUSE = 1,     
-                                
-    REGCLS_MULTI_SEPARATE = 2,  
-                                
-    REGCLS_SUSPENDED      = 4,  
-                                
-    REGCLS_SURROGATE      = 8   
-                                
-                                
-} REGCLS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct    IRpcStubBuffer     IRpcStubBuffer;
-typedef struct    IRpcChannelBuffer  IRpcChannelBuffer;
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IUnknown IUnknown;
-
-
-
-
-
-typedef struct AsyncIUnknown AsyncIUnknown;
-
-
-
-
-
-typedef struct IClassFactory IClassFactory;
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IUnknown *LPUNKNOWN;
-
-
-
-
-
-
-
-    extern "C" const IID IID_IUnknown;
-    extern "C++"
-    {
-        struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) __declspec(novtable)
-        IUnknown
-        {
-        public:
-            
-            virtual HRESULT __stdcall QueryInterface( 
-                 const IID & riid,
-                 void  * *ppvObject) = 0;
-            
-            virtual ULONG __stdcall AddRef( void) = 0;
-            
-            virtual ULONG __stdcall Release( void) = 0;
-    	
-            template<class Q>
-    	HRESULT __stdcall QueryInterface(Q** pp)
-    	{
-    	    return QueryInterface(__uuidof(Q), (void **)pp);
-    	}
-            
-            
-        };
-    } 
-    HRESULT __stdcall IUnknown_QueryInterface_Proxy(
-        IUnknown  * This,
-         const IID & riid,
-         void  * *ppvObject);
-    
-    void __stdcall IUnknown_QueryInterface_Stub(
-        IRpcStubBuffer *This,
-        IRpcChannelBuffer *_pRpcChannelBuffer,
-        PRPC_MESSAGE _pRpcMessage,
-        DWORD *_pdwStubPhase);
-    
-    ULONG __stdcall IUnknown_AddRef_Proxy(
-        IUnknown  * This);
-    
-    void __stdcall IUnknown_AddRef_Stub(
-        IRpcStubBuffer *This,
-        IRpcChannelBuffer *_pRpcChannelBuffer,
-        PRPC_MESSAGE _pRpcMessage,
-        DWORD *_pdwStubPhase);
-    
-    ULONG __stdcall IUnknown_Release_Proxy(
-        IUnknown  * This);
-    
-    void __stdcall IUnknown_Release_Stub(
-        IRpcStubBuffer *This,
-        IRpcChannelBuffer *_pRpcChannelBuffer,
-        PRPC_MESSAGE _pRpcMessage,
-        DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_unknwn_0005_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_unknwn_0005_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIUnknown;
-
-
-    
-    struct __declspec(uuid("000e0000-0000-0000-C000-000000000046")) __declspec(novtable)
-    AsyncIUnknown : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Begin_QueryInterface( 
-             const IID & riid) = 0;
-        
-        virtual HRESULT __stdcall Finish_QueryInterface( 
-             void **ppvObject) = 0;
-        
-        virtual HRESULT __stdcall Begin_AddRef( void) = 0;
-        
-        virtual ULONG __stdcall Finish_AddRef( void) = 0;
-        
-        virtual HRESULT __stdcall Begin_Release( void) = 0;
-        
-        virtual ULONG __stdcall Finish_Release( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall AsyncIUnknown_Begin_QueryInterface_Proxy( 
-    AsyncIUnknown * This,
-     const IID & riid);
-
-
-void __stdcall AsyncIUnknown_Begin_QueryInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIUnknown_Finish_QueryInterface_Proxy( 
-    AsyncIUnknown * This,
-     void **ppvObject);
-
-
-void __stdcall AsyncIUnknown_Finish_QueryInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIUnknown_Begin_AddRef_Proxy( 
-    AsyncIUnknown * This);
-
-
-void __stdcall AsyncIUnknown_Begin_AddRef_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-ULONG __stdcall AsyncIUnknown_Finish_AddRef_Proxy( 
-    AsyncIUnknown * This);
-
-
-void __stdcall AsyncIUnknown_Finish_AddRef_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIUnknown_Begin_Release_Proxy( 
-    AsyncIUnknown * This);
-
-
-void __stdcall AsyncIUnknown_Begin_Release_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-ULONG __stdcall AsyncIUnknown_Finish_Release_Proxy( 
-    AsyncIUnknown * This);
-
-
-void __stdcall AsyncIUnknown_Finish_Release_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IClassFactory *LPCLASSFACTORY;
-
-
-extern "C" const IID IID_IClassFactory;
-
-
-    
-    struct __declspec(uuid("00000001-0000-0000-C000-000000000046")) __declspec(novtable)
-    IClassFactory : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall CreateInstance( 
-             IUnknown *pUnkOuter,
-             const IID & riid,
-             void **ppvObject) = 0;
-        
-        virtual  HRESULT __stdcall LockServer( 
-             BOOL fLock) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IClassFactory_RemoteCreateInstance_Proxy( 
-    IClassFactory * This,
-     const IID & riid,
-     IUnknown **ppvObject);
-
-
-void __stdcall IClassFactory_RemoteCreateInstance_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy( 
-    IClassFactory * This,
-     BOOL fLock);
-
-
-void __stdcall IClassFactory_RemoteLockServer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
- HRESULT __stdcall IClassFactory_CreateInstance_Proxy( 
-    IClassFactory * This,
-     IUnknown *pUnkOuter,
-     const IID & riid,
-     void **ppvObject);
-
-
- HRESULT __stdcall IClassFactory_CreateInstance_Stub( 
-    IClassFactory * This,
-     const IID & riid,
-     IUnknown **ppvObject);
-
- HRESULT __stdcall IClassFactory_LockServer_Proxy( 
-    IClassFactory * This,
-     BOOL fLock);
-
-
- HRESULT __stdcall IClassFactory_LockServer_Stub( 
-    IClassFactory * This,
-     BOOL fLock);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IMarshal IMarshal;
-
-
-
-
-
-typedef struct IMarshal2 IMarshal2;
-
-
-
-
-
-typedef struct IMalloc IMalloc;
-
-
-
-
-
-typedef struct IMallocSpy IMallocSpy;
-
-
-
-
-
-typedef struct IStdMarshalInfo IStdMarshalInfo;
-
-
-
-
-
-typedef struct IExternalConnection IExternalConnection;
-
-
-
-
-
-typedef struct IMultiQI IMultiQI;
-
-
-
-
-
-typedef struct AsyncIMultiQI AsyncIMultiQI;
-
-
-
-
-
-typedef struct IInternalUnknown IInternalUnknown;
-
-
-
-
-
-typedef struct IEnumUnknown IEnumUnknown;
-
-
-
-
-
-typedef struct IBindCtx IBindCtx;
-
-
-
-
-
-typedef struct IEnumMoniker IEnumMoniker;
-
-
-
-
-
-typedef struct IRunnableObject IRunnableObject;
-
-
-
-
-
-typedef struct IRunningObjectTable IRunningObjectTable;
-
-
-
-
-
-typedef struct IPersist IPersist;
-
-
-
-
-
-typedef struct IPersistStream IPersistStream;
-
-
-
-
-
-typedef struct IMoniker IMoniker;
-
-
-
-
-
-typedef struct IROTData IROTData;
-
-
-
-
-
-typedef struct IEnumString IEnumString;
-
-
-
-
-
-typedef struct ISequentialStream ISequentialStream;
-
-
-
-
-
-typedef struct IStream IStream;
-
-
-
-
-
-typedef struct IEnumSTATSTG IEnumSTATSTG;
-
-
-
-
-
-typedef struct IStorage IStorage;
-
-
-
-
-
-typedef struct IPersistFile IPersistFile;
-
-
-
-
-
-typedef struct IPersistStorage IPersistStorage;
-
-
-
-
-
-typedef struct ILockBytes ILockBytes;
-
-
-
-
-
-typedef struct IEnumFORMATETC IEnumFORMATETC;
-
-
-
-
-
-typedef struct IEnumSTATDATA IEnumSTATDATA;
-
-
-
-
-
-typedef struct IRootStorage IRootStorage;
-
-
-
-
-
-typedef struct IAdviseSink IAdviseSink;
-
-
-
-
-
-typedef struct AsyncIAdviseSink AsyncIAdviseSink;
-
-
-
-
-
-typedef struct IAdviseSink2 IAdviseSink2;
-
-
-
-
-
-typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2;
-
-
-
-
-
-typedef struct IDataObject IDataObject;
-
-
-
-
-
-typedef struct IDataAdviseHolder IDataAdviseHolder;
-
-
-
-
-
-typedef struct IMessageFilter IMessageFilter;
-
-
-
-
-
-typedef struct IRpcChannelBuffer IRpcChannelBuffer;
-
-
-
-
-
-typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
-
-
-
-
-
-typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
-
-
-
-
-
-typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
-
-
-
-
-
-typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
-
-
-
-
-
-typedef struct IRpcProxyBuffer IRpcProxyBuffer;
-
-
-
-
-
-typedef struct IRpcStubBuffer IRpcStubBuffer;
-
-
-
-
-
-typedef struct IPSFactoryBuffer IPSFactoryBuffer;
-
-
-
-
-
-typedef struct IChannelHook IChannelHook;
-
-
-
-
-
-typedef struct IClientSecurity IClientSecurity;
-
-
-
-
-
-typedef struct IServerSecurity IServerSecurity;
-
-
-
-
-
-typedef struct IClassActivator IClassActivator;
-
-
-
-
-
-typedef struct IRpcOptions IRpcOptions;
-
-
-
-
-
-typedef struct IFillLockBytes IFillLockBytes;
-
-
-
-
-
-typedef struct IProgressNotify IProgressNotify;
-
-
-
-
-
-typedef struct ILayoutStorage ILayoutStorage;
-
-
-
-
-
-typedef struct IBlockingLock IBlockingLock;
-
-
-
-
-
-typedef struct ITimeAndNoticeControl ITimeAndNoticeControl;
-
-
-
-
-
-typedef struct IOplockStorage IOplockStorage;
-
-
-
-
-
-typedef struct ISurrogate ISurrogate;
-
-
-
-
-
-typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
-
-
-
-
-
-typedef struct IDirectWriterLock IDirectWriterLock;
-
-
-
-
-
-typedef struct ISynchronize ISynchronize;
-
-
-
-
-
-typedef struct ISynchronizeHandle ISynchronizeHandle;
-
-
-
-
-
-typedef struct ISynchronizeEvent ISynchronizeEvent;
-
-
-
-
-
-typedef struct ISynchronizeContainer ISynchronizeContainer;
-
-
-
-
-
-typedef struct ISynchronizeMutex ISynchronizeMutex;
-
-
-
-
-
-typedef struct ICancelMethodCalls ICancelMethodCalls;
-
-
-
-
-
-typedef struct IAsyncManager IAsyncManager;
-
-
-
-
-
-typedef struct ICallFactory ICallFactory;
-
-
-
-
-
-typedef struct IRpcHelper IRpcHelper;
-
-
-
-
-
-typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers;
-
-
-
-
-
-typedef struct IWaitMultiple IWaitMultiple;
-
-
-
-
-
-typedef struct IUrlMon IUrlMon;
-
-
-
-
-
-typedef struct IForegroundTransfer IForegroundTransfer;
-
-
-
-
-
-typedef struct IAddrTrackingControl IAddrTrackingControl;
-
-
-
-
-
-typedef struct IAddrExclusionControl IAddrExclusionControl;
-
-
-
-
-
-typedef struct IPipeByte IPipeByte;
-
-
-
-
-
-typedef struct AsyncIPipeByte AsyncIPipeByte;
-
-
-
-
-
-typedef struct IPipeLong IPipeLong;
-
-
-
-
-
-typedef struct AsyncIPipeLong AsyncIPipeLong;
-
-
-
-
-
-typedef struct IPipeDouble IPipeDouble;
-
-
-
-
-
-typedef struct AsyncIPipeDouble AsyncIPipeDouble;
-
-
-
-
-
-typedef struct IThumbnailExtractor IThumbnailExtractor;
-
-
-
-
-
-typedef struct IDummyHICONIncluder IDummyHICONIncluder;
-
-
-
-
-
-typedef struct IEnumContextProps IEnumContextProps;
-
-
-
-
-
-typedef struct IContext IContext;
-
-
-
-
-
-typedef struct IObjContext IObjContext;
-
-
-
-
-
-typedef struct IProcessLock IProcessLock;
-
-
-
-
-
-typedef struct ISurrogateService ISurrogateService;
-
-
-
-
-
-typedef struct IComThreadingInfo IComThreadingInfo;
-
-
-
-
-
-typedef struct IProcessInitControl IProcessInitControl;
-
-
-
-
-
-typedef struct IInitializeSpy IInitializeSpy;
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _COSERVERINFO
-    {
-    DWORD dwReserved1;
-    LPWSTR pwszName;
-    COAUTHINFO *pAuthInfo;
-    DWORD dwReserved2;
-    } 	COSERVERINFO;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IMarshal *LPMARSHAL;
-
-
-extern "C" const IID IID_IMarshal;
-
-
-    
-    struct __declspec(uuid("00000003-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMarshal : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetUnmarshalClass( 
-             const IID & riid,
-             void *pv,
-             DWORD dwDestContext,
-             void *pvDestContext,
-             DWORD mshlflags,
-             CLSID *pCid) = 0;
-        
-        virtual HRESULT __stdcall GetMarshalSizeMax( 
-             const IID & riid,
-             void *pv,
-             DWORD dwDestContext,
-             void *pvDestContext,
-             DWORD mshlflags,
-             DWORD *pSize) = 0;
-        
-        virtual HRESULT __stdcall MarshalInterface( 
-             IStream *pStm,
-             const IID & riid,
-             void *pv,
-             DWORD dwDestContext,
-             void *pvDestContext,
-             DWORD mshlflags) = 0;
-        
-        virtual HRESULT __stdcall UnmarshalInterface( 
-             IStream *pStm,
-             const IID & riid,
-             void **ppv) = 0;
-        
-        virtual HRESULT __stdcall ReleaseMarshalData( 
-             IStream *pStm) = 0;
-        
-        virtual HRESULT __stdcall DisconnectObject( 
-             DWORD dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IMarshal_GetUnmarshalClass_Proxy( 
-    IMarshal * This,
-     const IID & riid,
-     void *pv,
-     DWORD dwDestContext,
-     void *pvDestContext,
-     DWORD mshlflags,
-     CLSID *pCid);
-
-
-void __stdcall IMarshal_GetUnmarshalClass_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMarshal_GetMarshalSizeMax_Proxy( 
-    IMarshal * This,
-     const IID & riid,
-     void *pv,
-     DWORD dwDestContext,
-     void *pvDestContext,
-     DWORD mshlflags,
-     DWORD *pSize);
-
-
-void __stdcall IMarshal_GetMarshalSizeMax_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMarshal_MarshalInterface_Proxy( 
-    IMarshal * This,
-     IStream *pStm,
-     const IID & riid,
-     void *pv,
-     DWORD dwDestContext,
-     void *pvDestContext,
-     DWORD mshlflags);
-
-
-void __stdcall IMarshal_MarshalInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMarshal_UnmarshalInterface_Proxy( 
-    IMarshal * This,
-     IStream *pStm,
-     const IID & riid,
-     void **ppv);
-
-
-void __stdcall IMarshal_UnmarshalInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMarshal_ReleaseMarshalData_Proxy( 
-    IMarshal * This,
-     IStream *pStm);
-
-
-void __stdcall IMarshal_ReleaseMarshalData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMarshal_DisconnectObject_Proxy( 
-    IMarshal * This,
-     DWORD dwReserved);
-
-
-void __stdcall IMarshal_DisconnectObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IMarshal2 *LPMARSHAL2;
-
-
-extern "C" const IID IID_IMarshal2;
-
-
-    
-    struct __declspec(uuid("000001cf-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMarshal2 : public IMarshal
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IMalloc *LPMALLOC;
-
-
-extern "C" const IID IID_IMalloc;
-
-
-    
-    struct __declspec(uuid("00000002-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMalloc : public IUnknown
-    {
-    public:
-        virtual void *__stdcall Alloc( 
-             SIZE_T cb) = 0;
-        
-        virtual void *__stdcall Realloc( 
-             void *pv,
-             SIZE_T cb) = 0;
-        
-        virtual void __stdcall Free( 
-             void *pv) = 0;
-        
-        virtual SIZE_T __stdcall GetSize( 
-             void *pv) = 0;
-        
-        virtual int __stdcall DidAlloc( 
-            void *pv) = 0;
-        
-        virtual void __stdcall HeapMinimize( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void *__stdcall IMalloc_Alloc_Proxy( 
-    IMalloc * This,
-     SIZE_T cb);
-
-
-void __stdcall IMalloc_Alloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void *__stdcall IMalloc_Realloc_Proxy( 
-    IMalloc * This,
-     void *pv,
-     SIZE_T cb);
-
-
-void __stdcall IMalloc_Realloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IMalloc_Free_Proxy( 
-    IMalloc * This,
-     void *pv);
-
-
-void __stdcall IMalloc_Free_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-SIZE_T __stdcall IMalloc_GetSize_Proxy( 
-    IMalloc * This,
-     void *pv);
-
-
-void __stdcall IMalloc_GetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-int __stdcall IMalloc_DidAlloc_Proxy( 
-    IMalloc * This,
-    void *pv);
-
-
-void __stdcall IMalloc_DidAlloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IMalloc_HeapMinimize_Proxy( 
-    IMalloc * This);
-
-
-void __stdcall IMalloc_HeapMinimize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IMallocSpy *LPMALLOCSPY;
-
-
-extern "C" const IID IID_IMallocSpy;
-
-
-    
-    struct __declspec(uuid("0000001d-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMallocSpy : public IUnknown
-    {
-    public:
-        virtual SIZE_T __stdcall PreAlloc( 
-             SIZE_T cbRequest) = 0;
-        
-        virtual void *__stdcall PostAlloc( 
-             void *pActual) = 0;
-        
-        virtual void *__stdcall PreFree( 
-             void *pRequest,
-             BOOL fSpyed) = 0;
-        
-        virtual void __stdcall PostFree( 
-             BOOL fSpyed) = 0;
-        
-        virtual SIZE_T __stdcall PreRealloc( 
-             void *pRequest,
-             SIZE_T cbRequest,
-             void **ppNewRequest,
-             BOOL fSpyed) = 0;
-        
-        virtual void *__stdcall PostRealloc( 
-             void *pActual,
-             BOOL fSpyed) = 0;
-        
-        virtual void *__stdcall PreGetSize( 
-             void *pRequest,
-             BOOL fSpyed) = 0;
-        
-        virtual SIZE_T __stdcall PostGetSize( 
-             SIZE_T cbActual,
-             BOOL fSpyed) = 0;
-        
-        virtual void *__stdcall PreDidAlloc( 
-             void *pRequest,
-             BOOL fSpyed) = 0;
-        
-        virtual int __stdcall PostDidAlloc( 
-             void *pRequest,
-             BOOL fSpyed,
-             int fActual) = 0;
-        
-        virtual void __stdcall PreHeapMinimize( void) = 0;
-        
-        virtual void __stdcall PostHeapMinimize( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-SIZE_T __stdcall IMallocSpy_PreAlloc_Proxy( 
-    IMallocSpy * This,
-     SIZE_T cbRequest);
-
-
-void __stdcall IMallocSpy_PreAlloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void *__stdcall IMallocSpy_PostAlloc_Proxy( 
-    IMallocSpy * This,
-     void *pActual);
-
-
-void __stdcall IMallocSpy_PostAlloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void *__stdcall IMallocSpy_PreFree_Proxy( 
-    IMallocSpy * This,
-     void *pRequest,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PreFree_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IMallocSpy_PostFree_Proxy( 
-    IMallocSpy * This,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PostFree_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-SIZE_T __stdcall IMallocSpy_PreRealloc_Proxy( 
-    IMallocSpy * This,
-     void *pRequest,
-     SIZE_T cbRequest,
-     void **ppNewRequest,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PreRealloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void *__stdcall IMallocSpy_PostRealloc_Proxy( 
-    IMallocSpy * This,
-     void *pActual,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PostRealloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void *__stdcall IMallocSpy_PreGetSize_Proxy( 
-    IMallocSpy * This,
-     void *pRequest,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PreGetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-SIZE_T __stdcall IMallocSpy_PostGetSize_Proxy( 
-    IMallocSpy * This,
-     SIZE_T cbActual,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PostGetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void *__stdcall IMallocSpy_PreDidAlloc_Proxy( 
-    IMallocSpy * This,
-     void *pRequest,
-     BOOL fSpyed);
-
-
-void __stdcall IMallocSpy_PreDidAlloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-int __stdcall IMallocSpy_PostDidAlloc_Proxy( 
-    IMallocSpy * This,
-     void *pRequest,
-     BOOL fSpyed,
-     int fActual);
-
-
-void __stdcall IMallocSpy_PostDidAlloc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IMallocSpy_PreHeapMinimize_Proxy( 
-    IMallocSpy * This);
-
-
-void __stdcall IMallocSpy_PreHeapMinimize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IMallocSpy_PostHeapMinimize_Proxy( 
-    IMallocSpy * This);
-
-
-void __stdcall IMallocSpy_PostHeapMinimize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IStdMarshalInfo *LPSTDMARSHALINFO;
-
-
-extern "C" const IID IID_IStdMarshalInfo;
-
-
-    
-    struct __declspec(uuid("00000018-0000-0000-C000-000000000046")) __declspec(novtable)
-    IStdMarshalInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetClassForHandler( 
-             DWORD dwDestContext,
-             void *pvDestContext,
-             CLSID *pClsid) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IStdMarshalInfo_GetClassForHandler_Proxy( 
-    IStdMarshalInfo * This,
-     DWORD dwDestContext,
-     void *pvDestContext,
-     CLSID *pClsid);
-
-
-void __stdcall IStdMarshalInfo_GetClassForHandler_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IExternalConnection *LPEXTERNALCONNECTION;
-
-typedef 
-enum tagEXTCONN
-    {	EXTCONN_STRONG	= 0x1,
-	EXTCONN_WEAK	= 0x2,
-	EXTCONN_CALLABLE	= 0x4
-    } 	EXTCONN;
-
-
-extern "C" const IID IID_IExternalConnection;
-
-
-    
-    struct __declspec(uuid("00000019-0000-0000-C000-000000000046")) __declspec(novtable)
-    IExternalConnection : public IUnknown
-    {
-    public:
-        virtual DWORD __stdcall AddConnection( 
-             DWORD extconn,
-             DWORD reserved) = 0;
-        
-        virtual DWORD __stdcall ReleaseConnection( 
-             DWORD extconn,
-             DWORD reserved,
-             BOOL fLastReleaseCloses) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall IExternalConnection_AddConnection_Proxy( 
-    IExternalConnection * This,
-     DWORD extconn,
-     DWORD reserved);
-
-
-void __stdcall IExternalConnection_AddConnection_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-DWORD __stdcall IExternalConnection_ReleaseConnection_Proxy( 
-    IExternalConnection * This,
-     DWORD extconn,
-     DWORD reserved,
-     BOOL fLastReleaseCloses);
-
-
-void __stdcall IExternalConnection_ReleaseConnection_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-typedef  IMultiQI *LPMULTIQI;
-
-typedef struct tagMULTI_QI
-    {
-    const IID *pIID;
-    IUnknown *pItf;
-    HRESULT hr;
-    } 	MULTI_QI;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IMultiQI;
-
-
-    
-    struct __declspec(uuid("00000020-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMultiQI : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall QueryMultipleInterfaces( 
-             ULONG cMQIs,
-             MULTI_QI *pMQIs) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IMultiQI_QueryMultipleInterfaces_Proxy( 
-    IMultiQI * This,
-     ULONG cMQIs,
-     MULTI_QI *pMQIs);
-
-
-void __stdcall IMultiQI_QueryMultipleInterfaces_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIMultiQI;
-
-
-    
-    struct __declspec(uuid("000e0020-0000-0000-C000-000000000046")) __declspec(novtable)
-    AsyncIMultiQI : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Begin_QueryMultipleInterfaces( 
-             ULONG cMQIs,
-             MULTI_QI *pMQIs) = 0;
-        
-        virtual HRESULT __stdcall Finish_QueryMultipleInterfaces( 
-             MULTI_QI *pMQIs) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy( 
-    AsyncIMultiQI * This,
-     ULONG cMQIs,
-     MULTI_QI *pMQIs);
-
-
-void __stdcall AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy( 
-    AsyncIMultiQI * This,
-     MULTI_QI *pMQIs);
-
-
-void __stdcall AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IInternalUnknown;
-
-
-    
-    struct __declspec(uuid("00000021-0000-0000-C000-000000000046")) __declspec(novtable)
-    IInternalUnknown : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall QueryInternalInterface( 
-             const IID & riid,
-             void **ppv) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternalUnknown_QueryInternalInterface_Proxy( 
-    IInternalUnknown * This,
-     const IID & riid,
-     void **ppv);
-
-
-void __stdcall IInternalUnknown_QueryInternalInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumUnknown *LPENUMUNKNOWN;
-
-
-extern "C" const IID IID_IEnumUnknown;
-
-
-    
-    struct __declspec(uuid("00000100-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumUnknown : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             IUnknown **rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumUnknown **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumUnknown_RemoteNext_Proxy( 
-    IEnumUnknown * This,
-     ULONG celt,
-     IUnknown **rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumUnknown_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumUnknown_Skip_Proxy( 
-    IEnumUnknown * This,
-     ULONG celt);
-
-
-void __stdcall IEnumUnknown_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumUnknown_Reset_Proxy( 
-    IEnumUnknown * This);
-
-
-void __stdcall IEnumUnknown_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumUnknown_Clone_Proxy( 
-    IEnumUnknown * This,
-     IEnumUnknown **ppenum);
-
-
-void __stdcall IEnumUnknown_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IBindCtx *LPBC;
-
-typedef  IBindCtx *LPBINDCTX;
-
-typedef struct tagBIND_OPTS
-    {
-    DWORD cbStruct;
-    DWORD grfFlags;
-    DWORD grfMode;
-    DWORD dwTickCountDeadline;
-    } 	BIND_OPTS;
-
-typedef struct tagBIND_OPTS *LPBIND_OPTS;
-
-
-    typedef struct tagBIND_OPTS2 : tagBIND_OPTS{
-    DWORD           dwTrackFlags;
-    DWORD           dwClassContext;
-    LCID            locale;
-    COSERVERINFO *  pServerInfo;
-    } BIND_OPTS2, * LPBIND_OPTS2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef 
-enum tagBIND_FLAGS
-    {	BIND_MAYBOTHERUSER	= 1,
-	BIND_JUSTTESTEXISTENCE	= 2
-    } 	BIND_FLAGS;
-
-
-extern "C" const IID IID_IBindCtx;
-
-
-    
-    struct __declspec(uuid("0000000e-0000-0000-C000-000000000046")) __declspec(novtable)
-    IBindCtx : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall RegisterObjectBound( 
-             IUnknown *punk) = 0;
-        
-        virtual HRESULT __stdcall RevokeObjectBound( 
-             IUnknown *punk) = 0;
-        
-        virtual HRESULT __stdcall ReleaseBoundObjects( void) = 0;
-        
-        virtual  HRESULT __stdcall SetBindOptions( 
-             BIND_OPTS *pbindopts) = 0;
-        
-        virtual  HRESULT __stdcall GetBindOptions( 
-             BIND_OPTS *pbindopts) = 0;
-        
-        virtual HRESULT __stdcall GetRunningObjectTable( 
-             IRunningObjectTable **pprot) = 0;
-        
-        virtual HRESULT __stdcall RegisterObjectParam( 
-             LPOLESTR pszKey,
-             IUnknown *punk) = 0;
-        
-        virtual HRESULT __stdcall GetObjectParam( 
-             LPOLESTR pszKey,
-             IUnknown **ppunk) = 0;
-        
-        virtual HRESULT __stdcall EnumObjectParam( 
-             IEnumString **ppenum) = 0;
-        
-        virtual HRESULT __stdcall RevokeObjectParam( 
-             LPOLESTR pszKey) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IBindCtx_RegisterObjectBound_Proxy( 
-    IBindCtx * This,
-     IUnknown *punk);
-
-
-void __stdcall IBindCtx_RegisterObjectBound_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_RevokeObjectBound_Proxy( 
-    IBindCtx * This,
-     IUnknown *punk);
-
-
-void __stdcall IBindCtx_RevokeObjectBound_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_ReleaseBoundObjects_Proxy( 
-    IBindCtx * This);
-
-
-void __stdcall IBindCtx_ReleaseBoundObjects_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBindCtx_RemoteSetBindOptions_Proxy( 
-    IBindCtx * This,
-     BIND_OPTS2 *pbindopts);
-
-
-void __stdcall IBindCtx_RemoteSetBindOptions_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBindCtx_RemoteGetBindOptions_Proxy( 
-    IBindCtx * This,
-     BIND_OPTS2 *pbindopts);
-
-
-void __stdcall IBindCtx_RemoteGetBindOptions_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_GetRunningObjectTable_Proxy( 
-    IBindCtx * This,
-     IRunningObjectTable **pprot);
-
-
-void __stdcall IBindCtx_GetRunningObjectTable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_RegisterObjectParam_Proxy( 
-    IBindCtx * This,
-     LPOLESTR pszKey,
-     IUnknown *punk);
-
-
-void __stdcall IBindCtx_RegisterObjectParam_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_GetObjectParam_Proxy( 
-    IBindCtx * This,
-     LPOLESTR pszKey,
-     IUnknown **ppunk);
-
-
-void __stdcall IBindCtx_GetObjectParam_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_EnumObjectParam_Proxy( 
-    IBindCtx * This,
-     IEnumString **ppenum);
-
-
-void __stdcall IBindCtx_EnumObjectParam_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindCtx_RevokeObjectParam_Proxy( 
-    IBindCtx * This,
-     LPOLESTR pszKey);
-
-
-void __stdcall IBindCtx_RevokeObjectParam_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumMoniker *LPENUMMONIKER;
-
-
-extern "C" const IID IID_IEnumMoniker;
-
-
-    
-    struct __declspec(uuid("00000102-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumMoniker : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             IMoniker **rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumMoniker **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumMoniker_RemoteNext_Proxy( 
-    IEnumMoniker * This,
-     ULONG celt,
-     IMoniker **rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumMoniker_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumMoniker_Skip_Proxy( 
-    IEnumMoniker * This,
-     ULONG celt);
-
-
-void __stdcall IEnumMoniker_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumMoniker_Reset_Proxy( 
-    IEnumMoniker * This);
-
-
-void __stdcall IEnumMoniker_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumMoniker_Clone_Proxy( 
-    IEnumMoniker * This,
-     IEnumMoniker **ppenum);
-
-
-void __stdcall IEnumMoniker_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IRunnableObject *LPRUNNABLEOBJECT;
-
-
-extern "C" const IID IID_IRunnableObject;
-
-
-    
-    struct __declspec(uuid("00000126-0000-0000-C000-000000000046")) __declspec(novtable)
-    IRunnableObject : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetRunningClass( 
-             LPCLSID lpClsid) = 0;
-        
-        virtual HRESULT __stdcall Run( 
-             LPBINDCTX pbc) = 0;
-        
-        virtual  BOOL __stdcall IsRunning( void) = 0;
-        
-        virtual HRESULT __stdcall LockRunning( 
-             BOOL fLock,
-             BOOL fLastUnlockCloses) = 0;
-        
-        virtual HRESULT __stdcall SetContainedObject( 
-             BOOL fContained) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRunnableObject_GetRunningClass_Proxy( 
-    IRunnableObject * This,
-     LPCLSID lpClsid);
-
-
-void __stdcall IRunnableObject_GetRunningClass_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunnableObject_Run_Proxy( 
-    IRunnableObject * This,
-     LPBINDCTX pbc);
-
-
-void __stdcall IRunnableObject_Run_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IRunnableObject_RemoteIsRunning_Proxy( 
-    IRunnableObject * This);
-
-
-void __stdcall IRunnableObject_RemoteIsRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunnableObject_LockRunning_Proxy( 
-    IRunnableObject * This,
-     BOOL fLock,
-     BOOL fLastUnlockCloses);
-
-
-void __stdcall IRunnableObject_LockRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunnableObject_SetContainedObject_Proxy( 
-    IRunnableObject * This,
-     BOOL fContained);
-
-
-void __stdcall IRunnableObject_SetContainedObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IRunningObjectTable *LPRUNNINGOBJECTTABLE;
-
-
-extern "C" const IID IID_IRunningObjectTable;
-
-
-    
-    struct __declspec(uuid("00000010-0000-0000-C000-000000000046")) __declspec(novtable)
-    IRunningObjectTable : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Register( 
-             DWORD grfFlags,
-             IUnknown *punkObject,
-             IMoniker *pmkObjectName,
-             DWORD *pdwRegister) = 0;
-        
-        virtual HRESULT __stdcall Revoke( 
-             DWORD dwRegister) = 0;
-        
-        virtual HRESULT __stdcall IsRunning( 
-             IMoniker *pmkObjectName) = 0;
-        
-        virtual HRESULT __stdcall GetObjectW( 
-             IMoniker *pmkObjectName,
-             IUnknown **ppunkObject) = 0;
-        
-        virtual HRESULT __stdcall NoteChangeTime( 
-             DWORD dwRegister,
-             FILETIME *pfiletime) = 0;
-        
-        virtual HRESULT __stdcall GetTimeOfLastChange( 
-             IMoniker *pmkObjectName,
-             FILETIME *pfiletime) = 0;
-        
-        virtual HRESULT __stdcall EnumRunning( 
-             IEnumMoniker **ppenumMoniker) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRunningObjectTable_Register_Proxy( 
-    IRunningObjectTable * This,
-     DWORD grfFlags,
-     IUnknown *punkObject,
-     IMoniker *pmkObjectName,
-     DWORD *pdwRegister);
-
-
-void __stdcall IRunningObjectTable_Register_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunningObjectTable_Revoke_Proxy( 
-    IRunningObjectTable * This,
-     DWORD dwRegister);
-
-
-void __stdcall IRunningObjectTable_Revoke_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunningObjectTable_IsRunning_Proxy( 
-    IRunningObjectTable * This,
-     IMoniker *pmkObjectName);
-
-
-void __stdcall IRunningObjectTable_IsRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunningObjectTable_GetObject_Proxy( 
-    IRunningObjectTable * This,
-     IMoniker *pmkObjectName,
-     IUnknown **ppunkObject);
-
-
-void __stdcall IRunningObjectTable_GetObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunningObjectTable_NoteChangeTime_Proxy( 
-    IRunningObjectTable * This,
-     DWORD dwRegister,
-     FILETIME *pfiletime);
-
-
-void __stdcall IRunningObjectTable_NoteChangeTime_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunningObjectTable_GetTimeOfLastChange_Proxy( 
-    IRunningObjectTable * This,
-     IMoniker *pmkObjectName,
-     FILETIME *pfiletime);
-
-
-void __stdcall IRunningObjectTable_GetTimeOfLastChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRunningObjectTable_EnumRunning_Proxy( 
-    IRunningObjectTable * This,
-     IEnumMoniker **ppenumMoniker);
-
-
-void __stdcall IRunningObjectTable_EnumRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IPersist *LPPERSIST;
-
-
-extern "C" const IID IID_IPersist;
-
-
-    
-    struct __declspec(uuid("0000010c-0000-0000-C000-000000000046")) __declspec(novtable)
-    IPersist : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetClassID( 
-             CLSID *pClassID) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersist_GetClassID_Proxy( 
-    IPersist * This,
-     CLSID *pClassID);
-
-
-void __stdcall IPersist_GetClassID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IPersistStream *LPPERSISTSTREAM;
-
-
-extern "C" const IID IID_IPersistStream;
-
-
-    
-    struct __declspec(uuid("00000109-0000-0000-C000-000000000046")) __declspec(novtable)
-    IPersistStream : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             IStream *pStm) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             IStream *pStm,
-             BOOL fClearDirty) = 0;
-        
-        virtual HRESULT __stdcall GetSizeMax( 
-             ULARGE_INTEGER *pcbSize) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistStream_IsDirty_Proxy( 
-    IPersistStream * This);
-
-
-void __stdcall IPersistStream_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStream_Load_Proxy( 
-    IPersistStream * This,
-     IStream *pStm);
-
-
-void __stdcall IPersistStream_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStream_Save_Proxy( 
-    IPersistStream * This,
-     IStream *pStm,
-     BOOL fClearDirty);
-
-
-void __stdcall IPersistStream_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStream_GetSizeMax_Proxy( 
-    IPersistStream * This,
-     ULARGE_INTEGER *pcbSize);
-
-
-void __stdcall IPersistStream_GetSizeMax_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IMoniker *LPMONIKER;
-
-typedef 
-enum tagMKSYS
-    {	MKSYS_NONE	= 0,
-	MKSYS_GENERICCOMPOSITE	= 1,
-	MKSYS_FILEMONIKER	= 2,
-	MKSYS_ANTIMONIKER	= 3,
-	MKSYS_ITEMMONIKER	= 4,
-	MKSYS_POINTERMONIKER	= 5,
-	MKSYS_CLASSMONIKER	= 7,
-	MKSYS_OBJREFMONIKER	= 8,
-	MKSYS_SESSIONMONIKER	= 9
-    } 	MKSYS;
-
-typedef  
-enum tagMKREDUCE
-    {	MKRREDUCE_ONE	= 3 << 16,
-	MKRREDUCE_TOUSER	= 2 << 16,
-	MKRREDUCE_THROUGHUSER	= 1 << 16,
-	MKRREDUCE_ALL	= 0
-    } 	MKRREDUCE;
-
-
-extern "C" const IID IID_IMoniker;
-
-
-    
-    struct __declspec(uuid("0000000f-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMoniker : public IPersistStream
-    {
-    public:
-        virtual  HRESULT __stdcall BindToObject( 
-             IBindCtx *pbc,
-             IMoniker *pmkToLeft,
-             const IID & riidResult,
-             void **ppvResult) = 0;
-        
-        virtual  HRESULT __stdcall BindToStorage( 
-             IBindCtx *pbc,
-             IMoniker *pmkToLeft,
-             const IID & riid,
-             void **ppvObj) = 0;
-        
-        virtual HRESULT __stdcall Reduce( 
-             IBindCtx *pbc,
-             DWORD dwReduceHowFar,
-             IMoniker **ppmkToLeft,
-             IMoniker **ppmkReduced) = 0;
-        
-        virtual HRESULT __stdcall ComposeWith( 
-             IMoniker *pmkRight,
-             BOOL fOnlyIfNotGeneric,
-             IMoniker **ppmkComposite) = 0;
-        
-        virtual HRESULT __stdcall Enum( 
-             BOOL fForward,
-             IEnumMoniker **ppenumMoniker) = 0;
-        
-        virtual HRESULT __stdcall IsEqual( 
-             IMoniker *pmkOtherMoniker) = 0;
-        
-        virtual HRESULT __stdcall Hash( 
-             DWORD *pdwHash) = 0;
-        
-        virtual HRESULT __stdcall IsRunning( 
-             IBindCtx *pbc,
-             IMoniker *pmkToLeft,
-             IMoniker *pmkNewlyRunning) = 0;
-        
-        virtual HRESULT __stdcall GetTimeOfLastChange( 
-             IBindCtx *pbc,
-             IMoniker *pmkToLeft,
-             FILETIME *pFileTime) = 0;
-        
-        virtual HRESULT __stdcall Inverse( 
-             IMoniker **ppmk) = 0;
-        
-        virtual HRESULT __stdcall CommonPrefixWith( 
-             IMoniker *pmkOther,
-             IMoniker **ppmkPrefix) = 0;
-        
-        virtual HRESULT __stdcall RelativePathTo( 
-             IMoniker *pmkOther,
-             IMoniker **ppmkRelPath) = 0;
-        
-        virtual HRESULT __stdcall GetDisplayName( 
-             IBindCtx *pbc,
-             IMoniker *pmkToLeft,
-             LPOLESTR *ppszDisplayName) = 0;
-        
-        virtual HRESULT __stdcall ParseDisplayName( 
-             IBindCtx *pbc,
-             IMoniker *pmkToLeft,
-             LPOLESTR pszDisplayName,
-             ULONG *pchEaten,
-             IMoniker **ppmkOut) = 0;
-        
-        virtual HRESULT __stdcall IsSystemMoniker( 
-             DWORD *pdwMksys) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IMoniker_RemoteBindToObject_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     const IID & riidResult,
-     IUnknown **ppvResult);
-
-
-void __stdcall IMoniker_RemoteBindToObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IMoniker_RemoteBindToStorage_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     const IID & riid,
-     IUnknown **ppvObj);
-
-
-void __stdcall IMoniker_RemoteBindToStorage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_Reduce_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     DWORD dwReduceHowFar,
-     IMoniker **ppmkToLeft,
-     IMoniker **ppmkReduced);
-
-
-void __stdcall IMoniker_Reduce_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_ComposeWith_Proxy( 
-    IMoniker * This,
-     IMoniker *pmkRight,
-     BOOL fOnlyIfNotGeneric,
-     IMoniker **ppmkComposite);
-
-
-void __stdcall IMoniker_ComposeWith_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_Enum_Proxy( 
-    IMoniker * This,
-     BOOL fForward,
-     IEnumMoniker **ppenumMoniker);
-
-
-void __stdcall IMoniker_Enum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_IsEqual_Proxy( 
-    IMoniker * This,
-     IMoniker *pmkOtherMoniker);
-
-
-void __stdcall IMoniker_IsEqual_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_Hash_Proxy( 
-    IMoniker * This,
-     DWORD *pdwHash);
-
-
-void __stdcall IMoniker_Hash_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_IsRunning_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     IMoniker *pmkNewlyRunning);
-
-
-void __stdcall IMoniker_IsRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_GetTimeOfLastChange_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     FILETIME *pFileTime);
-
-
-void __stdcall IMoniker_GetTimeOfLastChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_Inverse_Proxy( 
-    IMoniker * This,
-     IMoniker **ppmk);
-
-
-void __stdcall IMoniker_Inverse_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_CommonPrefixWith_Proxy( 
-    IMoniker * This,
-     IMoniker *pmkOther,
-     IMoniker **ppmkPrefix);
-
-
-void __stdcall IMoniker_CommonPrefixWith_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_RelativePathTo_Proxy( 
-    IMoniker * This,
-     IMoniker *pmkOther,
-     IMoniker **ppmkRelPath);
-
-
-void __stdcall IMoniker_RelativePathTo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_GetDisplayName_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     LPOLESTR *ppszDisplayName);
-
-
-void __stdcall IMoniker_GetDisplayName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_ParseDisplayName_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     LPOLESTR pszDisplayName,
-     ULONG *pchEaten,
-     IMoniker **ppmkOut);
-
-
-void __stdcall IMoniker_ParseDisplayName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IMoniker_IsSystemMoniker_Proxy( 
-    IMoniker * This,
-     DWORD *pdwMksys);
-
-
-void __stdcall IMoniker_IsSystemMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IROTData;
-
-
-    
-    struct __declspec(uuid("f29f6bc0-5021-11ce-aa15-00006901293f")) __declspec(novtable)
-    IROTData : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetComparisonData( 
-             byte *pbData,
-             ULONG cbMax,
-             ULONG *pcbData) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IROTData_GetComparisonData_Proxy( 
-    IROTData * This,
-     byte *pbData,
-     ULONG cbMax,
-     ULONG *pcbData);
-
-
-void __stdcall IROTData_GetComparisonData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumString *LPENUMSTRING;
-
-
-extern "C" const IID IID_IEnumString;
-
-
-    
-    struct __declspec(uuid("00000101-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumString : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             LPOLESTR *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumString **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumString_RemoteNext_Proxy( 
-    IEnumString * This,
-     ULONG celt,
-     LPOLESTR *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumString_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumString_Skip_Proxy( 
-    IEnumString * This,
-     ULONG celt);
-
-
-void __stdcall IEnumString_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumString_Reset_Proxy( 
-    IEnumString * This);
-
-
-void __stdcall IEnumString_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumString_Clone_Proxy( 
-    IEnumString * This,
-     IEnumString **ppenum);
-
-
-void __stdcall IEnumString_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISequentialStream;
-
-
-    
-    struct __declspec(uuid("0c733a30-2a1c-11ce-ade5-00aa0044773d")) __declspec(novtable)
-    ISequentialStream : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Read( 
-             void *pv,
-             ULONG cb,
-             ULONG *pcbRead) = 0;
-        
-        virtual  HRESULT __stdcall Write( 
-             const void *pv,
-             ULONG cb,
-             ULONG *pcbWritten) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall ISequentialStream_RemoteRead_Proxy( 
-    ISequentialStream * This,
-     byte *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
-
-void __stdcall ISequentialStream_RemoteRead_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ISequentialStream_RemoteWrite_Proxy( 
-    ISequentialStream * This,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
-void __stdcall ISequentialStream_RemoteWrite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IStream *LPSTREAM;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSTATSTG
-    {
-    LPOLESTR pwcsName;
-    DWORD type;
-    ULARGE_INTEGER cbSize;
-    FILETIME mtime;
-    FILETIME ctime;
-    FILETIME atime;
-    DWORD grfMode;
-    DWORD grfLocksSupported;
-    CLSID clsid;
-    DWORD grfStateBits;
-    DWORD reserved;
-    } 	STATSTG;
-
-
-typedef 
-enum tagSTGTY
-    {	STGTY_STORAGE	= 1,
-	STGTY_STREAM	= 2,
-	STGTY_LOCKBYTES	= 3,
-	STGTY_PROPERTY	= 4
-    } 	STGTY;
-
-typedef 
-enum tagSTREAM_SEEK
-    {	STREAM_SEEK_SET	= 0,
-	STREAM_SEEK_CUR	= 1,
-	STREAM_SEEK_END	= 2
-    } 	STREAM_SEEK;
-
-typedef 
-enum tagLOCKTYPE
-    {	LOCK_WRITE	= 1,
-	LOCK_EXCLUSIVE	= 2,
-	LOCK_ONLYONCE	= 4
-    } 	LOCKTYPE;
-
-
-extern "C" const IID IID_IStream;
-
-
-    
-    struct __declspec(uuid("0000000c-0000-0000-C000-000000000046")) __declspec(novtable)
-    IStream : public ISequentialStream
-    {
-    public:
-        virtual  HRESULT __stdcall Seek( 
-             LARGE_INTEGER dlibMove,
-             DWORD dwOrigin,
-             ULARGE_INTEGER *plibNewPosition) = 0;
-        
-        virtual HRESULT __stdcall SetSize( 
-             ULARGE_INTEGER libNewSize) = 0;
-        
-        virtual  HRESULT __stdcall CopyTo( 
-             IStream *pstm,
-             ULARGE_INTEGER cb,
-             ULARGE_INTEGER *pcbRead,
-             ULARGE_INTEGER *pcbWritten) = 0;
-        
-        virtual HRESULT __stdcall Commit( 
-             DWORD grfCommitFlags) = 0;
-        
-        virtual HRESULT __stdcall Revert( void) = 0;
-        
-        virtual HRESULT __stdcall LockRegion( 
-             ULARGE_INTEGER libOffset,
-             ULARGE_INTEGER cb,
-             DWORD dwLockType) = 0;
-        
-        virtual HRESULT __stdcall UnlockRegion( 
-             ULARGE_INTEGER libOffset,
-             ULARGE_INTEGER cb,
-             DWORD dwLockType) = 0;
-        
-        virtual HRESULT __stdcall Stat( 
-             STATSTG *pstatstg,
-             DWORD grfStatFlag) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IStream **ppstm) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IStream_RemoteSeek_Proxy( 
-    IStream * This,
-     LARGE_INTEGER dlibMove,
-     DWORD dwOrigin,
-     ULARGE_INTEGER *plibNewPosition);
-
-
-void __stdcall IStream_RemoteSeek_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_SetSize_Proxy( 
-    IStream * This,
-     ULARGE_INTEGER libNewSize);
-
-
-void __stdcall IStream_SetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IStream_RemoteCopyTo_Proxy( 
-    IStream * This,
-     IStream *pstm,
-     ULARGE_INTEGER cb,
-     ULARGE_INTEGER *pcbRead,
-     ULARGE_INTEGER *pcbWritten);
-
-
-void __stdcall IStream_RemoteCopyTo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_Commit_Proxy( 
-    IStream * This,
-     DWORD grfCommitFlags);
-
-
-void __stdcall IStream_Commit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_Revert_Proxy( 
-    IStream * This);
-
-
-void __stdcall IStream_Revert_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_LockRegion_Proxy( 
-    IStream * This,
-     ULARGE_INTEGER libOffset,
-     ULARGE_INTEGER cb,
-     DWORD dwLockType);
-
-
-void __stdcall IStream_LockRegion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_UnlockRegion_Proxy( 
-    IStream * This,
-     ULARGE_INTEGER libOffset,
-     ULARGE_INTEGER cb,
-     DWORD dwLockType);
-
-
-void __stdcall IStream_UnlockRegion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_Stat_Proxy( 
-    IStream * This,
-     STATSTG *pstatstg,
-     DWORD grfStatFlag);
-
-
-void __stdcall IStream_Stat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStream_Clone_Proxy( 
-    IStream * This,
-     IStream **ppstm);
-
-
-void __stdcall IStream_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumSTATSTG *LPENUMSTATSTG;
-
-
-extern "C" const IID IID_IEnumSTATSTG;
-
-
-    
-    struct __declspec(uuid("0000000d-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumSTATSTG : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             STATSTG *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumSTATSTG **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumSTATSTG_RemoteNext_Proxy( 
-    IEnumSTATSTG * This,
-     ULONG celt,
-     STATSTG *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumSTATSTG_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATSTG_Skip_Proxy( 
-    IEnumSTATSTG * This,
-     ULONG celt);
-
-
-void __stdcall IEnumSTATSTG_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATSTG_Reset_Proxy( 
-    IEnumSTATSTG * This);
-
-
-void __stdcall IEnumSTATSTG_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATSTG_Clone_Proxy( 
-    IEnumSTATSTG * This,
-     IEnumSTATSTG **ppenum);
-
-
-void __stdcall IEnumSTATSTG_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IStorage *LPSTORAGE;
-
-typedef struct tagRemSNB
-    {
-    unsigned long ulCntStr;
-    unsigned long ulCntChar;
-     OLECHAR rgString[ 1 ];
-    } 	RemSNB;
-
-typedef  RemSNB *wireSNB;
-
-typedef  OLECHAR **SNB;
-
-
-extern "C" const IID IID_IStorage;
-
-
-    
-    struct __declspec(uuid("0000000b-0000-0000-C000-000000000046")) __declspec(novtable)
-    IStorage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateStream( 
-             const OLECHAR *pwcsName,
-             DWORD grfMode,
-             DWORD reserved1,
-             DWORD reserved2,
-             IStream **ppstm) = 0;
-        
-        virtual  HRESULT __stdcall OpenStream( 
-             const OLECHAR *pwcsName,
-             void *reserved1,
-             DWORD grfMode,
-             DWORD reserved2,
-             IStream **ppstm) = 0;
-        
-        virtual HRESULT __stdcall CreateStorage( 
-             const OLECHAR *pwcsName,
-             DWORD grfMode,
-             DWORD reserved1,
-             DWORD reserved2,
-             IStorage **ppstg) = 0;
-        
-        virtual HRESULT __stdcall OpenStorage( 
-             const OLECHAR *pwcsName,
-             IStorage *pstgPriority,
-             DWORD grfMode,
-             SNB snbExclude,
-             DWORD reserved,
-             IStorage **ppstg) = 0;
-        
-        virtual HRESULT __stdcall CopyTo( 
-             DWORD ciidExclude,
-             const IID *rgiidExclude,
-             SNB snbExclude,
-             IStorage *pstgDest) = 0;
-        
-        virtual HRESULT __stdcall MoveElementTo( 
-             const OLECHAR *pwcsName,
-             IStorage *pstgDest,
-             const OLECHAR *pwcsNewName,
-             DWORD grfFlags) = 0;
-        
-        virtual HRESULT __stdcall Commit( 
-             DWORD grfCommitFlags) = 0;
-        
-        virtual HRESULT __stdcall Revert( void) = 0;
-        
-        virtual  HRESULT __stdcall EnumElements( 
-             DWORD reserved1,
-             void *reserved2,
-             DWORD reserved3,
-             IEnumSTATSTG **ppenum) = 0;
-        
-        virtual HRESULT __stdcall DestroyElement( 
-             const OLECHAR *pwcsName) = 0;
-        
-        virtual HRESULT __stdcall RenameElement( 
-             const OLECHAR *pwcsOldName,
-             const OLECHAR *pwcsNewName) = 0;
-        
-        virtual HRESULT __stdcall SetElementTimes( 
-             const OLECHAR *pwcsName,
-             const FILETIME *pctime,
-             const FILETIME *patime,
-             const FILETIME *pmtime) = 0;
-        
-        virtual HRESULT __stdcall SetClass( 
-             const IID & clsid) = 0;
-        
-        virtual HRESULT __stdcall SetStateBits( 
-             DWORD grfStateBits,
-             DWORD grfMask) = 0;
-        
-        virtual HRESULT __stdcall Stat( 
-             STATSTG *pstatstg,
-             DWORD grfStatFlag) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IStorage_CreateStream_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     DWORD grfMode,
-     DWORD reserved1,
-     DWORD reserved2,
-     IStream **ppstm);
-
-
-void __stdcall IStorage_CreateStream_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IStorage_RemoteOpenStream_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     unsigned long cbReserved1,
-     byte *reserved1,
-     DWORD grfMode,
-     DWORD reserved2,
-     IStream **ppstm);
-
-
-void __stdcall IStorage_RemoteOpenStream_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_CreateStorage_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     DWORD grfMode,
-     DWORD reserved1,
-     DWORD reserved2,
-     IStorage **ppstg);
-
-
-void __stdcall IStorage_CreateStorage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_OpenStorage_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     IStorage *pstgPriority,
-     DWORD grfMode,
-     SNB snbExclude,
-     DWORD reserved,
-     IStorage **ppstg);
-
-
-void __stdcall IStorage_OpenStorage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_CopyTo_Proxy( 
-    IStorage * This,
-     DWORD ciidExclude,
-     const IID *rgiidExclude,
-     SNB snbExclude,
-     IStorage *pstgDest);
-
-
-void __stdcall IStorage_CopyTo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_MoveElementTo_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     IStorage *pstgDest,
-     const OLECHAR *pwcsNewName,
-     DWORD grfFlags);
-
-
-void __stdcall IStorage_MoveElementTo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_Commit_Proxy( 
-    IStorage * This,
-     DWORD grfCommitFlags);
-
-
-void __stdcall IStorage_Commit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_Revert_Proxy( 
-    IStorage * This);
-
-
-void __stdcall IStorage_Revert_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IStorage_RemoteEnumElements_Proxy( 
-    IStorage * This,
-     DWORD reserved1,
-     unsigned long cbReserved2,
-     byte *reserved2,
-     DWORD reserved3,
-     IEnumSTATSTG **ppenum);
-
-
-void __stdcall IStorage_RemoteEnumElements_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_DestroyElement_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName);
-
-
-void __stdcall IStorage_DestroyElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_RenameElement_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsOldName,
-     const OLECHAR *pwcsNewName);
-
-
-void __stdcall IStorage_RenameElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_SetElementTimes_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     const FILETIME *pctime,
-     const FILETIME *patime,
-     const FILETIME *pmtime);
-
-
-void __stdcall IStorage_SetElementTimes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_SetClass_Proxy( 
-    IStorage * This,
-     const IID & clsid);
-
-
-void __stdcall IStorage_SetClass_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_SetStateBits_Proxy( 
-    IStorage * This,
-     DWORD grfStateBits,
-     DWORD grfMask);
-
-
-void __stdcall IStorage_SetStateBits_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IStorage_Stat_Proxy( 
-    IStorage * This,
-     STATSTG *pstatstg,
-     DWORD grfStatFlag);
-
-
-void __stdcall IStorage_Stat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IPersistFile *LPPERSISTFILE;
-
-
-extern "C" const IID IID_IPersistFile;
-
-
-    
-    struct __declspec(uuid("0000010b-0000-0000-C000-000000000046")) __declspec(novtable)
-    IPersistFile : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             LPCOLESTR pszFileName,
-             DWORD dwMode) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             LPCOLESTR pszFileName,
-             BOOL fRemember) = 0;
-        
-        virtual HRESULT __stdcall SaveCompleted( 
-             LPCOLESTR pszFileName) = 0;
-        
-        virtual HRESULT __stdcall GetCurFile( 
-             LPOLESTR *ppszFileName) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistFile_IsDirty_Proxy( 
-    IPersistFile * This);
-
-
-void __stdcall IPersistFile_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistFile_Load_Proxy( 
-    IPersistFile * This,
-     LPCOLESTR pszFileName,
-     DWORD dwMode);
-
-
-void __stdcall IPersistFile_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistFile_Save_Proxy( 
-    IPersistFile * This,
-     LPCOLESTR pszFileName,
-     BOOL fRemember);
-
-
-void __stdcall IPersistFile_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistFile_SaveCompleted_Proxy( 
-    IPersistFile * This,
-     LPCOLESTR pszFileName);
-
-
-void __stdcall IPersistFile_SaveCompleted_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistFile_GetCurFile_Proxy( 
-    IPersistFile * This,
-     LPOLESTR *ppszFileName);
-
-
-void __stdcall IPersistFile_GetCurFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IPersistStorage *LPPERSISTSTORAGE;
-
-
-extern "C" const IID IID_IPersistStorage;
-
-
-    
-    struct __declspec(uuid("0000010a-0000-0000-C000-000000000046")) __declspec(novtable)
-    IPersistStorage : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-        virtual HRESULT __stdcall InitNew( 
-             IStorage *pStg) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             IStorage *pStg) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             IStorage *pStgSave,
-             BOOL fSameAsLoad) = 0;
-        
-        virtual HRESULT __stdcall SaveCompleted( 
-             IStorage *pStgNew) = 0;
-        
-        virtual HRESULT __stdcall HandsOffStorage( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistStorage_IsDirty_Proxy( 
-    IPersistStorage * This);
-
-
-void __stdcall IPersistStorage_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStorage_InitNew_Proxy( 
-    IPersistStorage * This,
-     IStorage *pStg);
-
-
-void __stdcall IPersistStorage_InitNew_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStorage_Load_Proxy( 
-    IPersistStorage * This,
-     IStorage *pStg);
-
-
-void __stdcall IPersistStorage_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStorage_Save_Proxy( 
-    IPersistStorage * This,
-     IStorage *pStgSave,
-     BOOL fSameAsLoad);
-
-
-void __stdcall IPersistStorage_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStorage_SaveCompleted_Proxy( 
-    IPersistStorage * This,
-     IStorage *pStgNew);
-
-
-void __stdcall IPersistStorage_SaveCompleted_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStorage_HandsOffStorage_Proxy( 
-    IPersistStorage * This);
-
-
-void __stdcall IPersistStorage_HandsOffStorage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ILockBytes *LPLOCKBYTES;
-
-
-extern "C" const IID IID_ILockBytes;
-
-
-    
-    struct __declspec(uuid("0000000a-0000-0000-C000-000000000046")) __declspec(novtable)
-    ILockBytes : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall ReadAt( 
-             ULARGE_INTEGER ulOffset,
-             void *pv,
-             ULONG cb,
-             ULONG *pcbRead) = 0;
-        
-        virtual  HRESULT __stdcall WriteAt( 
-             ULARGE_INTEGER ulOffset,
-             const void *pv,
-             ULONG cb,
-             ULONG *pcbWritten) = 0;
-        
-        virtual HRESULT __stdcall Flush( void) = 0;
-        
-        virtual HRESULT __stdcall SetSize( 
-             ULARGE_INTEGER cb) = 0;
-        
-        virtual HRESULT __stdcall LockRegion( 
-             ULARGE_INTEGER libOffset,
-             ULARGE_INTEGER cb,
-             DWORD dwLockType) = 0;
-        
-        virtual HRESULT __stdcall UnlockRegion( 
-             ULARGE_INTEGER libOffset,
-             ULARGE_INTEGER cb,
-             DWORD dwLockType) = 0;
-        
-        virtual HRESULT __stdcall Stat( 
-             STATSTG *pstatstg,
-             DWORD grfStatFlag) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall ILockBytes_RemoteReadAt_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     byte *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
-
-void __stdcall ILockBytes_RemoteReadAt_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ILockBytes_RemoteWriteAt_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
-void __stdcall ILockBytes_RemoteWriteAt_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILockBytes_Flush_Proxy( 
-    ILockBytes * This);
-
-
-void __stdcall ILockBytes_Flush_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILockBytes_SetSize_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER cb);
-
-
-void __stdcall ILockBytes_SetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILockBytes_LockRegion_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER libOffset,
-     ULARGE_INTEGER cb,
-     DWORD dwLockType);
-
-
-void __stdcall ILockBytes_LockRegion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILockBytes_UnlockRegion_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER libOffset,
-     ULARGE_INTEGER cb,
-     DWORD dwLockType);
-
-
-void __stdcall ILockBytes_UnlockRegion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILockBytes_Stat_Proxy( 
-    ILockBytes * This,
-     STATSTG *pstatstg,
-     DWORD grfStatFlag);
-
-
-void __stdcall ILockBytes_Stat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumFORMATETC *LPENUMFORMATETC;
-
-typedef struct tagDVTARGETDEVICE
-    {
-    DWORD tdSize;
-    WORD tdDriverNameOffset;
-    WORD tdDeviceNameOffset;
-    WORD tdPortNameOffset;
-    WORD tdExtDevmodeOffset;
-     BYTE tdData[ 1 ];
-    } 	DVTARGETDEVICE;
-
-typedef CLIPFORMAT *LPCLIPFORMAT;
-
-typedef struct tagFORMATETC
-    {
-    CLIPFORMAT cfFormat;
-     DVTARGETDEVICE *ptd;
-    DWORD dwAspect;
-    LONG lindex;
-    DWORD tymed;
-    } 	FORMATETC;
-
-typedef struct tagFORMATETC *LPFORMATETC;
-
-
-extern "C" const IID IID_IEnumFORMATETC;
-
-
-    
-    struct __declspec(uuid("00000103-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumFORMATETC : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             FORMATETC *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumFORMATETC **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumFORMATETC_RemoteNext_Proxy( 
-    IEnumFORMATETC * This,
-     ULONG celt,
-     FORMATETC *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumFORMATETC_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumFORMATETC_Skip_Proxy( 
-    IEnumFORMATETC * This,
-     ULONG celt);
-
-
-void __stdcall IEnumFORMATETC_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumFORMATETC_Reset_Proxy( 
-    IEnumFORMATETC * This);
-
-
-void __stdcall IEnumFORMATETC_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumFORMATETC_Clone_Proxy( 
-    IEnumFORMATETC * This,
-     IEnumFORMATETC **ppenum);
-
-
-void __stdcall IEnumFORMATETC_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumSTATDATA *LPENUMSTATDATA;
-
-typedef 
-enum tagADVF
-    {	ADVF_NODATA	= 1,
-	ADVF_PRIMEFIRST	= 2,
-	ADVF_ONLYONCE	= 4,
-	ADVF_DATAONSTOP	= 64,
-	ADVFCACHE_NOHANDLER	= 8,
-	ADVFCACHE_FORCEBUILTIN	= 16,
-	ADVFCACHE_ONSAVE	= 32
-    } 	ADVF;
-
-typedef struct tagSTATDATA
-    {
-    FORMATETC formatetc;
-    DWORD advf;
-     IAdviseSink *pAdvSink;
-    DWORD dwConnection;
-    } 	STATDATA;
-
-typedef STATDATA *LPSTATDATA;
-
-
-extern "C" const IID IID_IEnumSTATDATA;
-
-
-    
-    struct __declspec(uuid("00000105-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumSTATDATA : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             STATDATA *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumSTATDATA **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumSTATDATA_RemoteNext_Proxy( 
-    IEnumSTATDATA * This,
-     ULONG celt,
-     STATDATA *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumSTATDATA_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATDATA_Skip_Proxy( 
-    IEnumSTATDATA * This,
-     ULONG celt);
-
-
-void __stdcall IEnumSTATDATA_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATDATA_Reset_Proxy( 
-    IEnumSTATDATA * This);
-
-
-void __stdcall IEnumSTATDATA_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATDATA_Clone_Proxy( 
-    IEnumSTATDATA * This,
-     IEnumSTATDATA **ppenum);
-
-
-void __stdcall IEnumSTATDATA_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IRootStorage *LPROOTSTORAGE;
-
-
-extern "C" const IID IID_IRootStorage;
-
-
-    
-    struct __declspec(uuid("00000012-0000-0000-C000-000000000046")) __declspec(novtable)
-    IRootStorage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SwitchToFile( 
-             LPOLESTR pszFile) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRootStorage_SwitchToFile_Proxy( 
-    IRootStorage * This,
-     LPOLESTR pszFile);
-
-
-void __stdcall IRootStorage_SwitchToFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IAdviseSink *LPADVISESINK;
-
-typedef  
-enum tagTYMED
-    {	TYMED_HGLOBAL	= 1,
-	TYMED_FILE	= 2,
-	TYMED_ISTREAM	= 4,
-	TYMED_ISTORAGE	= 8,
-	TYMED_GDI	= 16,
-	TYMED_MFPICT	= 32,
-	TYMED_ENHMF	= 64,
-	TYMED_NULL	= 0
-    } 	TYMED;
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4200)
-
-typedef struct tagRemSTGMEDIUM
-    {
-    DWORD tymed;
-    DWORD dwHandleType;
-    unsigned long pData;
-    unsigned long pUnkForRelease;
-    unsigned long cbData;
-     byte data[ 1 ];
-    } 	RemSTGMEDIUM;
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSTGMEDIUM
-    {
-    DWORD tymed;
-     union 
-        {
-         HBITMAP hBitmap;
-         HMETAFILEPICT hMetaFilePict;
-         HENHMETAFILE hEnhMetaFile;
-         HGLOBAL hGlobal;
-         LPOLESTR lpszFileName;
-         IStream *pstm;
-         IStorage *pstg;
-           
-        } 	;
-     IUnknown *pUnkForRelease;
-    } 	uSTGMEDIUM;
-
-
-typedef struct _GDI_OBJECT
-    {
-    DWORD ObjectType;
-      union __MIDL_IAdviseSink_0002
-        {
-         wireHBITMAP hBitmap;
-         wireHPALETTE hPalette;
-         wireHGLOBAL hGeneric;
-        } 	u;
-    } 	GDI_OBJECT;
-
-typedef struct _userSTGMEDIUM
-    {
-    struct _STGMEDIUM_UNION
-        {
-        DWORD tymed;
-          union __MIDL_IAdviseSink_0003
-            {
-               
-             wireHMETAFILEPICT hMetaFilePict;
-             wireHENHMETAFILE hHEnhMetaFile;
-             GDI_OBJECT *hGdiHandle;
-             wireHGLOBAL hGlobal;
-             LPOLESTR lpszFileName;
-             BYTE_BLOB *pstm;
-             BYTE_BLOB *pstg;
-            } 	u;
-        } 	;
-    IUnknown *pUnkForRelease;
-    } 	userSTGMEDIUM;
-
-typedef  userSTGMEDIUM *wireSTGMEDIUM;
-
-typedef  uSTGMEDIUM STGMEDIUM;
-
-typedef  userSTGMEDIUM *wireASYNC_STGMEDIUM;
-
-typedef  STGMEDIUM ASYNC_STGMEDIUM;
-
-typedef STGMEDIUM *LPSTGMEDIUM;
-
-typedef struct _userFLAG_STGMEDIUM
-    {
-    long ContextFlags;
-    long fPassOwnership;
-    userSTGMEDIUM Stgmed;
-    } 	userFLAG_STGMEDIUM;
-
-typedef  userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
-
-typedef  struct _FLAG_STGMEDIUM
-    {
-    long ContextFlags;
-    long fPassOwnership;
-    STGMEDIUM Stgmed;
-    } 	FLAG_STGMEDIUM;
-
-
-extern "C" const IID IID_IAdviseSink;
-
-
-    
-    struct __declspec(uuid("0000010f-0000-0000-C000-000000000046")) __declspec(novtable)
-    IAdviseSink : public IUnknown
-    {
-    public:
-        virtual  void __stdcall OnDataChange( 
-             FORMATETC *pFormatetc,
-             STGMEDIUM *pStgmed) = 0;
-        
-        virtual  void __stdcall OnViewChange( 
-             DWORD dwAspect,
-             LONG lindex) = 0;
-        
-        virtual  void __stdcall OnRename( 
-             IMoniker *pmk) = 0;
-        
-        virtual  void __stdcall OnSave( void) = 0;
-        
-        virtual  void __stdcall OnClose( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IAdviseSink_RemoteOnDataChange_Proxy( 
-    IAdviseSink * This,
-     FORMATETC *pFormatetc,
-     ASYNC_STGMEDIUM *pStgmed);
-
-
-void __stdcall IAdviseSink_RemoteOnDataChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAdviseSink_RemoteOnViewChange_Proxy( 
-    IAdviseSink * This,
-     DWORD dwAspect,
-     LONG lindex);
-
-
-void __stdcall IAdviseSink_RemoteOnViewChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAdviseSink_RemoteOnRename_Proxy( 
-    IAdviseSink * This,
-     IMoniker *pmk);
-
-
-void __stdcall IAdviseSink_RemoteOnRename_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAdviseSink_RemoteOnSave_Proxy( 
-    IAdviseSink * This);
-
-
-void __stdcall IAdviseSink_RemoteOnSave_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAdviseSink_RemoteOnClose_Proxy( 
-    IAdviseSink * This);
-
-
-void __stdcall IAdviseSink_RemoteOnClose_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIAdviseSink;
-
-
-    
-    struct __declspec(uuid("00000150-0000-0000-C000-000000000046")) __declspec(novtable)
-    AsyncIAdviseSink : public IUnknown
-    {
-    public:
-        virtual  void __stdcall Begin_OnDataChange( 
-             FORMATETC *pFormatetc,
-             STGMEDIUM *pStgmed) = 0;
-        
-        virtual  void __stdcall Finish_OnDataChange( void) = 0;
-        
-        virtual  void __stdcall Begin_OnViewChange( 
-             DWORD dwAspect,
-             LONG lindex) = 0;
-        
-        virtual  void __stdcall Finish_OnViewChange( void) = 0;
-        
-        virtual  void __stdcall Begin_OnRename( 
-             IMoniker *pmk) = 0;
-        
-        virtual  void __stdcall Finish_OnRename( void) = 0;
-        
-        virtual  void __stdcall Begin_OnSave( void) = 0;
-        
-        virtual  void __stdcall Finish_OnSave( void) = 0;
-        
-        virtual  void __stdcall Begin_OnClose( void) = 0;
-        
-        virtual  void __stdcall Finish_OnClose( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy( 
-    AsyncIAdviseSink * This,
-     FORMATETC *pFormatetc,
-     ASYNC_STGMEDIUM *pStgmed);
-
-
-void __stdcall AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy( 
-    AsyncIAdviseSink * This,
-     DWORD dwAspect,
-     LONG lindex);
-
-
-void __stdcall AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnRename_Proxy( 
-    AsyncIAdviseSink * This,
-     IMoniker *pmk);
-
-
-void __stdcall AsyncIAdviseSink_Begin_RemoteOnRename_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnRename_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Finish_RemoteOnRename_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnSave_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Begin_RemoteOnSave_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnSave_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Finish_RemoteOnSave_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnClose_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Begin_RemoteOnClose_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnClose_Proxy( 
-    AsyncIAdviseSink * This);
-
-
-void __stdcall AsyncIAdviseSink_Finish_RemoteOnClose_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IAdviseSink2 *LPADVISESINK2;
-
-
-extern "C" const IID IID_IAdviseSink2;
-
-
-    
-    struct __declspec(uuid("00000125-0000-0000-C000-000000000046")) __declspec(novtable)
-    IAdviseSink2 : public IAdviseSink
-    {
-    public:
-        virtual  void __stdcall OnLinkSrcChange( 
-             IMoniker *pmk) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IAdviseSink2_RemoteOnLinkSrcChange_Proxy( 
-    IAdviseSink2 * This,
-     IMoniker *pmk);
-
-
-void __stdcall IAdviseSink2_RemoteOnLinkSrcChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIAdviseSink2;
-
-
-    
-    struct __declspec(uuid("00000151-0000-0000-C000-000000000046")) __declspec(novtable)
-    AsyncIAdviseSink2 : public AsyncIAdviseSink
-    {
-    public:
-        virtual  void __stdcall Begin_OnLinkSrcChange( 
-             IMoniker *pmk) = 0;
-        
-        virtual  void __stdcall Finish_OnLinkSrcChange( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy( 
-    AsyncIAdviseSink2 * This,
-     IMoniker *pmk);
-
-
-void __stdcall AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy( 
-    AsyncIAdviseSink2 * This);
-
-
-void __stdcall AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IDataObject *LPDATAOBJECT;
-
-typedef 
-enum tagDATADIR
-    {	DATADIR_GET	= 1,
-	DATADIR_SET	= 2
-    } 	DATADIR;
-
-
-extern "C" const IID IID_IDataObject;
-
-
-    
-    struct __declspec(uuid("0000010e-0000-0000-C000-000000000046")) __declspec(novtable)
-    IDataObject : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall GetData( 
-             FORMATETC *pformatetcIn,
-             STGMEDIUM *pmedium) = 0;
-        
-        virtual  HRESULT __stdcall GetDataHere( 
-             FORMATETC *pformatetc,
-             STGMEDIUM *pmedium) = 0;
-        
-        virtual HRESULT __stdcall QueryGetData( 
-             FORMATETC *pformatetc) = 0;
-        
-        virtual HRESULT __stdcall GetCanonicalFormatEtc( 
-             FORMATETC *pformatectIn,
-             FORMATETC *pformatetcOut) = 0;
-        
-        virtual  HRESULT __stdcall SetData( 
-             FORMATETC *pformatetc,
-             STGMEDIUM *pmedium,
-             BOOL fRelease) = 0;
-        
-        virtual HRESULT __stdcall EnumFormatEtc( 
-             DWORD dwDirection,
-             IEnumFORMATETC **ppenumFormatEtc) = 0;
-        
-        virtual HRESULT __stdcall DAdvise( 
-             FORMATETC *pformatetc,
-             DWORD advf,
-             IAdviseSink *pAdvSink,
-             DWORD *pdwConnection) = 0;
-        
-        virtual HRESULT __stdcall DUnadvise( 
-             DWORD dwConnection) = 0;
-        
-        virtual HRESULT __stdcall EnumDAdvise( 
-             IEnumSTATDATA **ppenumAdvise) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IDataObject_RemoteGetData_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetcIn,
-     STGMEDIUM *pRemoteMedium);
-
-
-void __stdcall IDataObject_RemoteGetData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IDataObject_RemoteGetDataHere_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     STGMEDIUM *pRemoteMedium);
-
-
-void __stdcall IDataObject_RemoteGetDataHere_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataObject_QueryGetData_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetc);
-
-
-void __stdcall IDataObject_QueryGetData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataObject_GetCanonicalFormatEtc_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatectIn,
-     FORMATETC *pformatetcOut);
-
-
-void __stdcall IDataObject_GetCanonicalFormatEtc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IDataObject_RemoteSetData_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     FLAG_STGMEDIUM *pmedium,
-     BOOL fRelease);
-
-
-void __stdcall IDataObject_RemoteSetData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataObject_EnumFormatEtc_Proxy( 
-    IDataObject * This,
-     DWORD dwDirection,
-     IEnumFORMATETC **ppenumFormatEtc);
-
-
-void __stdcall IDataObject_EnumFormatEtc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataObject_DAdvise_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     DWORD advf,
-     IAdviseSink *pAdvSink,
-     DWORD *pdwConnection);
-
-
-void __stdcall IDataObject_DAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataObject_DUnadvise_Proxy( 
-    IDataObject * This,
-     DWORD dwConnection);
-
-
-void __stdcall IDataObject_DUnadvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataObject_EnumDAdvise_Proxy( 
-    IDataObject * This,
-     IEnumSTATDATA **ppenumAdvise);
-
-
-void __stdcall IDataObject_EnumDAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IDataAdviseHolder *LPDATAADVISEHOLDER;
-
-
-extern "C" const IID IID_IDataAdviseHolder;
-
-
-    
-    struct __declspec(uuid("00000110-0000-0000-C000-000000000046")) __declspec(novtable)
-    IDataAdviseHolder : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Advise( 
-             IDataObject *pDataObject,
-             FORMATETC *pFetc,
-             DWORD advf,
-             IAdviseSink *pAdvise,
-             DWORD *pdwConnection) = 0;
-        
-        virtual HRESULT __stdcall Unadvise( 
-             DWORD dwConnection) = 0;
-        
-        virtual HRESULT __stdcall EnumAdvise( 
-             IEnumSTATDATA **ppenumAdvise) = 0;
-        
-        virtual HRESULT __stdcall SendOnDataChange( 
-             IDataObject *pDataObject,
-             DWORD dwReserved,
-             DWORD advf) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDataAdviseHolder_Advise_Proxy( 
-    IDataAdviseHolder * This,
-     IDataObject *pDataObject,
-     FORMATETC *pFetc,
-     DWORD advf,
-     IAdviseSink *pAdvise,
-     DWORD *pdwConnection);
-
-
-void __stdcall IDataAdviseHolder_Advise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataAdviseHolder_Unadvise_Proxy( 
-    IDataAdviseHolder * This,
-     DWORD dwConnection);
-
-
-void __stdcall IDataAdviseHolder_Unadvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataAdviseHolder_EnumAdvise_Proxy( 
-    IDataAdviseHolder * This,
-     IEnumSTATDATA **ppenumAdvise);
-
-
-void __stdcall IDataAdviseHolder_EnumAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataAdviseHolder_SendOnDataChange_Proxy( 
-    IDataAdviseHolder * This,
-     IDataObject *pDataObject,
-     DWORD dwReserved,
-     DWORD advf);
-
-
-void __stdcall IDataAdviseHolder_SendOnDataChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IMessageFilter *LPMESSAGEFILTER;
-
-typedef 
-enum tagCALLTYPE
-    {	CALLTYPE_TOPLEVEL	= 1,
-	CALLTYPE_NESTED	= 2,
-	CALLTYPE_ASYNC	= 3,
-	CALLTYPE_TOPLEVEL_CALLPENDING	= 4,
-	CALLTYPE_ASYNC_CALLPENDING	= 5
-    } 	CALLTYPE;
-
-typedef 
-enum tagSERVERCALL
-    {	SERVERCALL_ISHANDLED	= 0,
-	SERVERCALL_REJECTED	= 1,
-	SERVERCALL_RETRYLATER	= 2
-    } 	SERVERCALL;
-
-typedef 
-enum tagPENDINGTYPE
-    {	PENDINGTYPE_TOPLEVEL	= 1,
-	PENDINGTYPE_NESTED	= 2
-    } 	PENDINGTYPE;
-
-typedef 
-enum tagPENDINGMSG
-    {	PENDINGMSG_CANCELCALL	= 0,
-	PENDINGMSG_WAITNOPROCESS	= 1,
-	PENDINGMSG_WAITDEFPROCESS	= 2
-    } 	PENDINGMSG;
-
-typedef struct tagINTERFACEINFO
-    {
-    IUnknown *pUnk;
-    IID iid;
-    WORD wMethod;
-    } 	INTERFACEINFO;
-
-typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
-
-
-extern "C" const IID IID_IMessageFilter;
-
-
-    
-    struct __declspec(uuid("00000016-0000-0000-C000-000000000046")) __declspec(novtable)
-    IMessageFilter : public IUnknown
-    {
-    public:
-        virtual DWORD __stdcall HandleInComingCall( 
-             DWORD dwCallType,
-             HTASK htaskCaller,
-             DWORD dwTickCount,
-             LPINTERFACEINFO lpInterfaceInfo) = 0;
-        
-        virtual DWORD __stdcall RetryRejectedCall( 
-             HTASK htaskCallee,
-             DWORD dwTickCount,
-             DWORD dwRejectType) = 0;
-        
-        virtual DWORD __stdcall MessagePending( 
-             HTASK htaskCallee,
-             DWORD dwTickCount,
-             DWORD dwPendingType) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-DWORD __stdcall IMessageFilter_HandleInComingCall_Proxy( 
-    IMessageFilter * This,
-     DWORD dwCallType,
-     HTASK htaskCaller,
-     DWORD dwTickCount,
-     LPINTERFACEINFO lpInterfaceInfo);
-
-
-void __stdcall IMessageFilter_HandleInComingCall_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-DWORD __stdcall IMessageFilter_RetryRejectedCall_Proxy( 
-    IMessageFilter * This,
-     HTASK htaskCallee,
-     DWORD dwTickCount,
-     DWORD dwRejectType);
-
-
-void __stdcall IMessageFilter_RetryRejectedCall_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-DWORD __stdcall IMessageFilter_MessagePending_Proxy( 
-    IMessageFilter * This,
-     HTASK htaskCallee,
-     DWORD dwTickCount,
-     DWORD dwPendingType);
-
-
-void __stdcall IMessageFilter_MessagePending_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef unsigned long RPCOLEDATAREP;
-
-typedef struct tagRPCOLEMESSAGE
-    {
-    void *reserved1;
-    RPCOLEDATAREP dataRepresentation;
-    void *Buffer;
-    ULONG cbBuffer;
-    ULONG iMethod;
-    void *reserved2[ 5 ];
-    ULONG rpcFlags;
-    } 	RPCOLEMESSAGE;
-
-typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
-
-
-extern "C" const IID IID_IRpcChannelBuffer;
-
-
-    
-    struct __declspec(uuid("D5F56B60-593B-101A-B569-08002B2DBF7A")) __declspec(novtable)
-    IRpcChannelBuffer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetBuffer( 
-             RPCOLEMESSAGE *pMessage,
-             const IID & riid) = 0;
-        
-        virtual HRESULT __stdcall SendReceive( 
-             RPCOLEMESSAGE *pMessage,
-             ULONG *pStatus) = 0;
-        
-        virtual HRESULT __stdcall FreeBuffer( 
-             RPCOLEMESSAGE *pMessage) = 0;
-        
-        virtual HRESULT __stdcall GetDestCtx( 
-             DWORD *pdwDestContext,
-             void **ppvDestContext) = 0;
-        
-        virtual HRESULT __stdcall IsConnected( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcChannelBuffer_GetBuffer_Proxy( 
-    IRpcChannelBuffer * This,
-     RPCOLEMESSAGE *pMessage,
-     const IID & riid);
-
-
-void __stdcall IRpcChannelBuffer_GetBuffer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer_SendReceive_Proxy( 
-    IRpcChannelBuffer * This,
-     RPCOLEMESSAGE *pMessage,
-     ULONG *pStatus);
-
-
-void __stdcall IRpcChannelBuffer_SendReceive_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer_FreeBuffer_Proxy( 
-    IRpcChannelBuffer * This,
-     RPCOLEMESSAGE *pMessage);
-
-
-void __stdcall IRpcChannelBuffer_FreeBuffer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer_GetDestCtx_Proxy( 
-    IRpcChannelBuffer * This,
-     DWORD *pdwDestContext,
-     void **ppvDestContext);
-
-
-void __stdcall IRpcChannelBuffer_GetDestCtx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer_IsConnected_Proxy( 
-    IRpcChannelBuffer * This);
-
-
-void __stdcall IRpcChannelBuffer_IsConnected_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcChannelBuffer2;
-
-
-    
-    struct __declspec(uuid("594f31d0-7f19-11d0-b194-00a0c90dc8bf")) __declspec(novtable)
-    IRpcChannelBuffer2 : public IRpcChannelBuffer
-    {
-    public:
-        virtual HRESULT __stdcall GetProtocolVersion( 
-             DWORD *pdwVersion) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcChannelBuffer2_GetProtocolVersion_Proxy( 
-    IRpcChannelBuffer2 * This,
-     DWORD *pdwVersion);
-
-
-void __stdcall IRpcChannelBuffer2_GetProtocolVersion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAsyncRpcChannelBuffer;
-
-
-    
-    struct __declspec(uuid("a5029fb6-3c34-11d1-9c99-00c04fb998aa")) __declspec(novtable)
-    IAsyncRpcChannelBuffer : public IRpcChannelBuffer2
-    {
-    public:
-        virtual HRESULT __stdcall Send( 
-             RPCOLEMESSAGE *pMsg,
-             ISynchronize *pSync,
-             ULONG *pulStatus) = 0;
-        
-        virtual HRESULT __stdcall Receive( 
-             RPCOLEMESSAGE *pMsg,
-             ULONG *pulStatus) = 0;
-        
-        virtual HRESULT __stdcall GetDestCtxEx( 
-             RPCOLEMESSAGE *pMsg,
-             DWORD *pdwDestContext,
-             void **ppvDestContext) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAsyncRpcChannelBuffer_Send_Proxy( 
-    IAsyncRpcChannelBuffer * This,
-     RPCOLEMESSAGE *pMsg,
-     ISynchronize *pSync,
-     ULONG *pulStatus);
-
-
-void __stdcall IAsyncRpcChannelBuffer_Send_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAsyncRpcChannelBuffer_Receive_Proxy( 
-    IAsyncRpcChannelBuffer * This,
-     RPCOLEMESSAGE *pMsg,
-     ULONG *pulStatus);
-
-
-void __stdcall IAsyncRpcChannelBuffer_Receive_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy( 
-    IAsyncRpcChannelBuffer * This,
-     RPCOLEMESSAGE *pMsg,
-     DWORD *pdwDestContext,
-     void **ppvDestContext);
-
-
-void __stdcall IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcChannelBuffer3;
-
-
-    
-    struct __declspec(uuid("25B15600-0115-11d0-BF0D-00AA00B8DFD2")) __declspec(novtable)
-    IRpcChannelBuffer3 : public IRpcChannelBuffer2
-    {
-    public:
-        virtual HRESULT __stdcall Send( 
-             RPCOLEMESSAGE *pMsg,
-             ULONG *pulStatus) = 0;
-        
-        virtual HRESULT __stdcall Receive( 
-             RPCOLEMESSAGE *pMsg,
-             ULONG ulSize,
-             ULONG *pulStatus) = 0;
-        
-        virtual HRESULT __stdcall Cancel( 
-             RPCOLEMESSAGE *pMsg) = 0;
-        
-        virtual HRESULT __stdcall GetCallContext( 
-             RPCOLEMESSAGE *pMsg,
-             const IID & riid,
-             void **pInterface) = 0;
-        
-        virtual HRESULT __stdcall GetDestCtxEx( 
-             RPCOLEMESSAGE *pMsg,
-             DWORD *pdwDestContext,
-             void **ppvDestContext) = 0;
-        
-        virtual HRESULT __stdcall GetState( 
-             RPCOLEMESSAGE *pMsg,
-             DWORD *pState) = 0;
-        
-        virtual HRESULT __stdcall RegisterAsync( 
-             RPCOLEMESSAGE *pMsg,
-             IAsyncManager *pAsyncMgr) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcChannelBuffer3_Send_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg,
-     ULONG *pulStatus);
-
-
-void __stdcall IRpcChannelBuffer3_Send_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer3_Receive_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg,
-     ULONG ulSize,
-     ULONG *pulStatus);
-
-
-void __stdcall IRpcChannelBuffer3_Receive_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer3_Cancel_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg);
-
-
-void __stdcall IRpcChannelBuffer3_Cancel_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer3_GetCallContext_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg,
-     const IID & riid,
-     void **pInterface);
-
-
-void __stdcall IRpcChannelBuffer3_GetCallContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer3_GetDestCtxEx_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg,
-     DWORD *pdwDestContext,
-     void **ppvDestContext);
-
-
-void __stdcall IRpcChannelBuffer3_GetDestCtxEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer3_GetState_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg,
-     DWORD *pState);
-
-
-void __stdcall IRpcChannelBuffer3_GetState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcChannelBuffer3_RegisterAsync_Proxy( 
-    IRpcChannelBuffer3 * This,
-     RPCOLEMESSAGE *pMsg,
-     IAsyncManager *pAsyncMgr);
-
-
-void __stdcall IRpcChannelBuffer3_RegisterAsync_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcSyntaxNegotiate;
-
-
-    
-    struct __declspec(uuid("58a08519-24c8-4935-b482-3fd823333a4f")) __declspec(novtable)
-    IRpcSyntaxNegotiate : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall NegotiateSyntax( 
-             RPCOLEMESSAGE *pMsg) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcSyntaxNegotiate_NegotiateSyntax_Proxy( 
-    IRpcSyntaxNegotiate * This,
-     RPCOLEMESSAGE *pMsg);
-
-
-void __stdcall IRpcSyntaxNegotiate_NegotiateSyntax_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcProxyBuffer;
-
-
-    
-    struct __declspec(uuid("D5F56A34-593B-101A-B569-08002B2DBF7A")) __declspec(novtable)
-    IRpcProxyBuffer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Connect( 
-             IRpcChannelBuffer *pRpcChannelBuffer) = 0;
-        
-        virtual void __stdcall Disconnect( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcProxyBuffer_Connect_Proxy( 
-    IRpcProxyBuffer * This,
-     IRpcChannelBuffer *pRpcChannelBuffer);
-
-
-void __stdcall IRpcProxyBuffer_Connect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IRpcProxyBuffer_Disconnect_Proxy( 
-    IRpcProxyBuffer * This);
-
-
-void __stdcall IRpcProxyBuffer_Disconnect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcStubBuffer;
-
-
-    
-    struct __declspec(uuid("D5F56AFC-593B-101A-B569-08002B2DBF7A")) __declspec(novtable)
-    IRpcStubBuffer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Connect( 
-             IUnknown *pUnkServer) = 0;
-        
-        virtual void __stdcall Disconnect( void) = 0;
-        
-        virtual HRESULT __stdcall Invoke( 
-             RPCOLEMESSAGE *_prpcmsg,
-             IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
-        
-        virtual IRpcStubBuffer *__stdcall IsIIDSupported( 
-             const IID & riid) = 0;
-        
-        virtual ULONG __stdcall CountRefs( void) = 0;
-        
-        virtual HRESULT __stdcall DebugServerQueryInterface( 
-            void **ppv) = 0;
-        
-        virtual void __stdcall DebugServerRelease( 
-            void *pv) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcStubBuffer_Connect_Proxy( 
-    IRpcStubBuffer * This,
-     IUnknown *pUnkServer);
-
-
-void __stdcall IRpcStubBuffer_Connect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IRpcStubBuffer_Disconnect_Proxy( 
-    IRpcStubBuffer * This);
-
-
-void __stdcall IRpcStubBuffer_Disconnect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcStubBuffer_Invoke_Proxy( 
-    IRpcStubBuffer * This,
-     RPCOLEMESSAGE *_prpcmsg,
-     IRpcChannelBuffer *_pRpcChannelBuffer);
-
-
-void __stdcall IRpcStubBuffer_Invoke_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-IRpcStubBuffer *__stdcall IRpcStubBuffer_IsIIDSupported_Proxy( 
-    IRpcStubBuffer * This,
-     const IID & riid);
-
-
-void __stdcall IRpcStubBuffer_IsIIDSupported_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-ULONG __stdcall IRpcStubBuffer_CountRefs_Proxy( 
-    IRpcStubBuffer * This);
-
-
-void __stdcall IRpcStubBuffer_CountRefs_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcStubBuffer_DebugServerQueryInterface_Proxy( 
-    IRpcStubBuffer * This,
-    void **ppv);
-
-
-void __stdcall IRpcStubBuffer_DebugServerQueryInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IRpcStubBuffer_DebugServerRelease_Proxy( 
-    IRpcStubBuffer * This,
-    void *pv);
-
-
-void __stdcall IRpcStubBuffer_DebugServerRelease_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IPSFactoryBuffer;
-
-
-    
-    struct __declspec(uuid("D5F569D0-593B-101A-B569-08002B2DBF7A")) __declspec(novtable)
-    IPSFactoryBuffer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateProxy( 
-             IUnknown *pUnkOuter,
-             const IID & riid,
-             IRpcProxyBuffer **ppProxy,
-             void **ppv) = 0;
-        
-        virtual HRESULT __stdcall CreateStub( 
-             const IID & riid,
-             IUnknown *pUnkServer,
-             IRpcStubBuffer **ppStub) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPSFactoryBuffer_CreateProxy_Proxy( 
-    IPSFactoryBuffer * This,
-     IUnknown *pUnkOuter,
-     const IID & riid,
-     IRpcProxyBuffer **ppProxy,
-     void **ppv);
-
-
-void __stdcall IPSFactoryBuffer_CreateProxy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPSFactoryBuffer_CreateStub_Proxy( 
-    IPSFactoryBuffer * This,
-     const IID & riid,
-     IUnknown *pUnkServer,
-     IRpcStubBuffer **ppStub);
-
-
-void __stdcall IPSFactoryBuffer_CreateStub_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-typedef struct SChannelHookCallInfo
-    {
-    IID iid;
-    DWORD cbSize;
-    GUID uCausality;
-    DWORD dwServerPid;
-    DWORD iMethod;
-    void *pObject;
-    } 	SChannelHookCallInfo;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IChannelHook;
-
-
-    
-    struct __declspec(uuid("1008c4a0-7613-11cf-9af1-0020af6e72f4")) __declspec(novtable)
-    IChannelHook : public IUnknown
-    {
-    public:
-        virtual void __stdcall ClientGetSize( 
-             const GUID & uExtent,
-             const IID & riid,
-             ULONG *pDataSize) = 0;
-        
-        virtual void __stdcall ClientFillBuffer( 
-             const GUID & uExtent,
-             const IID & riid,
-             ULONG *pDataSize,
-             void *pDataBuffer) = 0;
-        
-        virtual void __stdcall ClientNotify( 
-             const GUID & uExtent,
-             const IID & riid,
-             ULONG cbDataSize,
-             void *pDataBuffer,
-             DWORD lDataRep,
-             HRESULT hrFault) = 0;
-        
-        virtual void __stdcall ServerNotify( 
-             const GUID & uExtent,
-             const IID & riid,
-             ULONG cbDataSize,
-             void *pDataBuffer,
-             DWORD lDataRep) = 0;
-        
-        virtual void __stdcall ServerGetSize( 
-             const GUID & uExtent,
-             const IID & riid,
-             HRESULT hrFault,
-             ULONG *pDataSize) = 0;
-        
-        virtual void __stdcall ServerFillBuffer( 
-             const GUID & uExtent,
-             const IID & riid,
-             ULONG *pDataSize,
-             void *pDataBuffer,
-             HRESULT hrFault) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void __stdcall IChannelHook_ClientGetSize_Proxy( 
-    IChannelHook * This,
-     const GUID & uExtent,
-     const IID & riid,
-     ULONG *pDataSize);
-
-
-void __stdcall IChannelHook_ClientGetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IChannelHook_ClientFillBuffer_Proxy( 
-    IChannelHook * This,
-     const GUID & uExtent,
-     const IID & riid,
-     ULONG *pDataSize,
-     void *pDataBuffer);
-
-
-void __stdcall IChannelHook_ClientFillBuffer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IChannelHook_ClientNotify_Proxy( 
-    IChannelHook * This,
-     const GUID & uExtent,
-     const IID & riid,
-     ULONG cbDataSize,
-     void *pDataBuffer,
-     DWORD lDataRep,
-     HRESULT hrFault);
-
-
-void __stdcall IChannelHook_ClientNotify_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IChannelHook_ServerNotify_Proxy( 
-    IChannelHook * This,
-     const GUID & uExtent,
-     const IID & riid,
-     ULONG cbDataSize,
-     void *pDataBuffer,
-     DWORD lDataRep);
-
-
-void __stdcall IChannelHook_ServerNotify_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IChannelHook_ServerGetSize_Proxy( 
-    IChannelHook * This,
-     const GUID & uExtent,
-     const IID & riid,
-     HRESULT hrFault,
-     ULONG *pDataSize);
-
-
-void __stdcall IChannelHook_ServerGetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-void __stdcall IChannelHook_ServerFillBuffer_Proxy( 
-    IChannelHook * This,
-     const GUID & uExtent,
-     const IID & riid,
-     ULONG *pDataSize,
-     void *pDataBuffer,
-     HRESULT hrFault);
-
-
-void __stdcall IChannelHook_ServerFillBuffer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-extern const FMTID FMTID_SummaryInformation;
-
-extern const FMTID FMTID_DocSummaryInformation;
-
-extern const FMTID FMTID_UserDefinedProperties;
-
-extern const FMTID FMTID_DiscardableInformation;
-
-extern const FMTID FMTID_ImageSummaryInformation;
-
-extern const FMTID FMTID_AudioSummaryInformation;
-
-extern const FMTID FMTID_VideoSummaryInformation;
-
-extern const FMTID FMTID_MediaFileSummaryInformation;
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef struct tagSOLE_AUTHENTICATION_SERVICE
-    {
-    DWORD dwAuthnSvc;
-    DWORD dwAuthzSvc;
-    OLECHAR *pPrincipalName;
-    HRESULT hr;
-    } 	SOLE_AUTHENTICATION_SERVICE;
-
-typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
-
-typedef 
-enum tagEOLE_AUTHENTICATION_CAPABILITIES
-    {	EOAC_NONE	= 0,
-	EOAC_MUTUAL_AUTH	= 0x1,
-	EOAC_STATIC_CLOAKING	= 0x20,
-	EOAC_DYNAMIC_CLOAKING	= 0x40,
-	EOAC_ANY_AUTHORITY	= 0x80,
-	EOAC_MAKE_FULLSIC	= 0x100,
-	EOAC_DEFAULT	= 0x800,
-	EOAC_SECURE_REFS	= 0x2,
-	EOAC_ACCESS_CONTROL	= 0x4,
-	EOAC_APPID	= 0x8,
-	EOAC_DYNAMIC	= 0x10,
-	EOAC_REQUIRE_FULLSIC	= 0x200,
-	EOAC_AUTO_IMPERSONATE	= 0x400,
-	EOAC_NO_CUSTOM_MARSHAL	= 0x2000,
-	EOAC_DISABLE_AAA	= 0x1000
-    } 	EOLE_AUTHENTICATION_CAPABILITIES;
-
-
-
-
-
-typedef struct tagSOLE_AUTHENTICATION_INFO
-    {
-    DWORD dwAuthnSvc;
-    DWORD dwAuthzSvc;
-    void *pAuthInfo;
-    } 	SOLE_AUTHENTICATION_INFO;
-
-typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
-
-typedef struct tagSOLE_AUTHENTICATION_LIST
-    {
-    DWORD cAuthInfo;
-    SOLE_AUTHENTICATION_INFO *aAuthInfo;
-    } 	SOLE_AUTHENTICATION_LIST;
-
-typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
-
-
-extern "C" const IID IID_IClientSecurity;
-
-
-    
-    struct __declspec(uuid("0000013D-0000-0000-C000-000000000046")) __declspec(novtable)
-    IClientSecurity : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall QueryBlanket( 
-             IUnknown *pProxy,
-             DWORD *pAuthnSvc,
-             DWORD *pAuthzSvc,
-             OLECHAR **pServerPrincName,
-             DWORD *pAuthnLevel,
-             DWORD *pImpLevel,
-             void **pAuthInfo,
-             DWORD *pCapabilites) = 0;
-        
-        virtual HRESULT __stdcall SetBlanket( 
-             IUnknown *pProxy,
-             DWORD dwAuthnSvc,
-             DWORD dwAuthzSvc,
-             OLECHAR *pServerPrincName,
-             DWORD dwAuthnLevel,
-             DWORD dwImpLevel,
-             void *pAuthInfo,
-             DWORD dwCapabilities) = 0;
-        
-        virtual HRESULT __stdcall CopyProxy( 
-             IUnknown *pProxy,
-             IUnknown **ppCopy) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IClientSecurity_QueryBlanket_Proxy( 
-    IClientSecurity * This,
-     IUnknown *pProxy,
-     DWORD *pAuthnSvc,
-     DWORD *pAuthzSvc,
-     OLECHAR **pServerPrincName,
-     DWORD *pAuthnLevel,
-     DWORD *pImpLevel,
-     void **pAuthInfo,
-     DWORD *pCapabilites);
-
-
-void __stdcall IClientSecurity_QueryBlanket_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IClientSecurity_SetBlanket_Proxy( 
-    IClientSecurity * This,
-     IUnknown *pProxy,
-     DWORD dwAuthnSvc,
-     DWORD dwAuthzSvc,
-     OLECHAR *pServerPrincName,
-     DWORD dwAuthnLevel,
-     DWORD dwImpLevel,
-     void *pAuthInfo,
-     DWORD dwCapabilities);
-
-
-void __stdcall IClientSecurity_SetBlanket_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IClientSecurity_CopyProxy_Proxy( 
-    IClientSecurity * This,
-     IUnknown *pProxy,
-     IUnknown **ppCopy);
-
-
-void __stdcall IClientSecurity_CopyProxy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IServerSecurity;
-
-
-    
-    struct __declspec(uuid("0000013E-0000-0000-C000-000000000046")) __declspec(novtable)
-    IServerSecurity : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall QueryBlanket( 
-             DWORD *pAuthnSvc,
-             DWORD *pAuthzSvc,
-             OLECHAR **pServerPrincName,
-             DWORD *pAuthnLevel,
-             DWORD *pImpLevel,
-             void **pPrivs,
-             DWORD *pCapabilities) = 0;
-        
-        virtual HRESULT __stdcall ImpersonateClient( void) = 0;
-        
-        virtual HRESULT __stdcall RevertToSelf( void) = 0;
-        
-        virtual BOOL __stdcall IsImpersonating( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IServerSecurity_QueryBlanket_Proxy( 
-    IServerSecurity * This,
-     DWORD *pAuthnSvc,
-     DWORD *pAuthzSvc,
-     OLECHAR **pServerPrincName,
-     DWORD *pAuthnLevel,
-     DWORD *pImpLevel,
-     void **pPrivs,
-     DWORD *pCapabilities);
-
-
-void __stdcall IServerSecurity_QueryBlanket_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IServerSecurity_ImpersonateClient_Proxy( 
-    IServerSecurity * This);
-
-
-void __stdcall IServerSecurity_ImpersonateClient_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IServerSecurity_RevertToSelf_Proxy( 
-    IServerSecurity * This);
-
-
-void __stdcall IServerSecurity_RevertToSelf_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-BOOL __stdcall IServerSecurity_IsImpersonating_Proxy( 
-    IServerSecurity * This);
-
-
-void __stdcall IServerSecurity_IsImpersonating_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IClassActivator;
-
-
-    
-    struct __declspec(uuid("00000140-0000-0000-C000-000000000046")) __declspec(novtable)
-    IClassActivator : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetClassObject( 
-             const IID & rclsid,
-             DWORD dwClassContext,
-             LCID locale,
-             const IID & riid,
-             void **ppv) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IClassActivator_GetClassObject_Proxy( 
-    IClassActivator * This,
-     const IID & rclsid,
-     DWORD dwClassContext,
-     LCID locale,
-     const IID & riid,
-     void **ppv);
-
-
-void __stdcall IClassActivator_GetClassObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcOptions;
-
-
-    
-    struct __declspec(uuid("00000144-0000-0000-C000-000000000046")) __declspec(novtable)
-    IRpcOptions : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Set( 
-             IUnknown *pPrx,
-             DWORD dwProperty,
-             ULONG_PTR dwValue) = 0;
-        
-        virtual HRESULT __stdcall Query( 
-             IUnknown *pPrx,
-             DWORD dwProperty,
-             ULONG_PTR *pdwValue) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcOptions_Set_Proxy( 
-    IRpcOptions * This,
-     IUnknown *pPrx,
-     DWORD dwProperty,
-     ULONG_PTR dwValue);
-
-
-void __stdcall IRpcOptions_Set_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcOptions_Query_Proxy( 
-    IRpcOptions * This,
-     IUnknown *pPrx,
-     DWORD dwProperty,
-     ULONG_PTR *pdwValue);
-
-
-void __stdcall IRpcOptions_Query_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-enum __MIDL___MIDL_itf_objidl_0055_0001
-    {	COMBND_RPCTIMEOUT	= 0x1,
-	COMBND_SERVER_LOCALITY	= 0x2
-    } ;
-
-enum __MIDL___MIDL_itf_objidl_0055_0002
-    {	SERVER_LOCALITY_PROCESS_LOCAL	= 0,
-	SERVER_LOCALITY_MACHINE_LOCAL	= 1,
-	SERVER_LOCALITY_REMOTE	= 2
-    } ;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IFillLockBytes;
-
-
-    
-    struct __declspec(uuid("99caf010-415e-11cf-8814-00aa00b569f5")) __declspec(novtable)
-    IFillLockBytes : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall FillAppend( 
-             const void *pv,
-             ULONG cb,
-             ULONG *pcbWritten) = 0;
-        
-        virtual  HRESULT __stdcall FillAt( 
-             ULARGE_INTEGER ulOffset,
-             const void *pv,
-             ULONG cb,
-             ULONG *pcbWritten) = 0;
-        
-        virtual HRESULT __stdcall SetFillSize( 
-             ULARGE_INTEGER ulSize) = 0;
-        
-        virtual HRESULT __stdcall Terminate( 
-             BOOL bCanceled) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IFillLockBytes_RemoteFillAppend_Proxy( 
-    IFillLockBytes * This,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
-void __stdcall IFillLockBytes_RemoteFillAppend_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IFillLockBytes_RemoteFillAt_Proxy( 
-    IFillLockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
-void __stdcall IFillLockBytes_RemoteFillAt_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFillLockBytes_SetFillSize_Proxy( 
-    IFillLockBytes * This,
-     ULARGE_INTEGER ulSize);
-
-
-void __stdcall IFillLockBytes_SetFillSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFillLockBytes_Terminate_Proxy( 
-    IFillLockBytes * This,
-     BOOL bCanceled);
-
-
-void __stdcall IFillLockBytes_Terminate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IProgressNotify;
-
-
-    
-    struct __declspec(uuid("a9d758a0-4617-11cf-95fc-00aa00680db4")) __declspec(novtable)
-    IProgressNotify : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall OnProgress( 
-             DWORD dwProgressCurrent,
-             DWORD dwProgressMaximum,
-             BOOL fAccurate,
-             BOOL fOwner) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IProgressNotify_OnProgress_Proxy( 
-    IProgressNotify * This,
-     DWORD dwProgressCurrent,
-     DWORD dwProgressMaximum,
-     BOOL fAccurate,
-     BOOL fOwner);
-
-
-void __stdcall IProgressNotify_OnProgress_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef struct tagStorageLayout
-    {
-    DWORD LayoutType;
-    OLECHAR *pwcsElementName;
-    LARGE_INTEGER cOffset;
-    LARGE_INTEGER cBytes;
-    } 	StorageLayout;
-
-
-extern "C" const IID IID_ILayoutStorage;
-
-
-    
-    struct __declspec(uuid("0e6d4d90-6738-11cf-9608-00aa00680db4")) __declspec(novtable)
-    ILayoutStorage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall LayoutScript( 
-             StorageLayout *pStorageLayout,
-             DWORD nEntries,
-             DWORD glfInterleavedFlag) = 0;
-        
-        virtual HRESULT __stdcall BeginMonitor( void) = 0;
-        
-        virtual HRESULT __stdcall EndMonitor( void) = 0;
-        
-        virtual HRESULT __stdcall ReLayoutDocfile( 
-             OLECHAR *pwcsNewDfName) = 0;
-        
-        virtual HRESULT __stdcall ReLayoutDocfileOnILockBytes( 
-             ILockBytes *pILockBytes) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ILayoutStorage_LayoutScript_Proxy( 
-    ILayoutStorage * This,
-     StorageLayout *pStorageLayout,
-     DWORD nEntries,
-     DWORD glfInterleavedFlag);
-
-
-void __stdcall ILayoutStorage_LayoutScript_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILayoutStorage_BeginMonitor_Proxy( 
-    ILayoutStorage * This);
-
-
-void __stdcall ILayoutStorage_BeginMonitor_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILayoutStorage_EndMonitor_Proxy( 
-    ILayoutStorage * This);
-
-
-void __stdcall ILayoutStorage_EndMonitor_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILayoutStorage_ReLayoutDocfile_Proxy( 
-    ILayoutStorage * This,
-     OLECHAR *pwcsNewDfName);
-
-
-void __stdcall ILayoutStorage_ReLayoutDocfile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy( 
-    ILayoutStorage * This,
-     ILockBytes *pILockBytes);
-
-
-void __stdcall ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IBlockingLock;
-
-
-    
-    struct __declspec(uuid("30f3d47a-6447-11d1-8e3c-00c04fb9386d")) __declspec(novtable)
-    IBlockingLock : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Lock( 
-             DWORD dwTimeout) = 0;
-        
-        virtual HRESULT __stdcall Unlock( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IBlockingLock_Lock_Proxy( 
-    IBlockingLock * This,
-     DWORD dwTimeout);
-
-
-void __stdcall IBlockingLock_Lock_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBlockingLock_Unlock_Proxy( 
-    IBlockingLock * This);
-
-
-void __stdcall IBlockingLock_Unlock_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ITimeAndNoticeControl;
-
-
-    
-    struct __declspec(uuid("bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4")) __declspec(novtable)
-    ITimeAndNoticeControl : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SuppressChanges( 
-             DWORD res1,
-             DWORD res2) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ITimeAndNoticeControl_SuppressChanges_Proxy( 
-    ITimeAndNoticeControl * This,
-     DWORD res1,
-     DWORD res2);
-
-
-void __stdcall ITimeAndNoticeControl_SuppressChanges_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IOplockStorage;
-
-
-    
-    struct __declspec(uuid("8d19c834-8879-11d1-83e9-00c04fc2c6d4")) __declspec(novtable)
-    IOplockStorage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateStorageEx( 
-             LPCWSTR pwcsName,
-             DWORD grfMode,
-             DWORD stgfmt,
-             DWORD grfAttrs,
-             const IID & riid,
-             void **ppstgOpen) = 0;
-        
-        virtual HRESULT __stdcall OpenStorageEx( 
-             LPCWSTR pwcsName,
-             DWORD grfMode,
-             DWORD stgfmt,
-             DWORD grfAttrs,
-             const IID & riid,
-             void **ppstgOpen) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOplockStorage_CreateStorageEx_Proxy( 
-    IOplockStorage * This,
-     LPCWSTR pwcsName,
-     DWORD grfMode,
-     DWORD stgfmt,
-     DWORD grfAttrs,
-     const IID & riid,
-     void **ppstgOpen);
-
-
-void __stdcall IOplockStorage_CreateStorageEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOplockStorage_OpenStorageEx_Proxy( 
-    IOplockStorage * This,
-     LPCWSTR pwcsName,
-     DWORD grfMode,
-     DWORD stgfmt,
-     DWORD grfAttrs,
-     const IID & riid,
-     void **ppstgOpen);
-
-
-void __stdcall IOplockStorage_OpenStorageEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ISurrogate *LPSURROGATE;
-
-
-extern "C" const IID IID_ISurrogate;
-
-
-    
-    struct __declspec(uuid("00000022-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISurrogate : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall LoadDllServer( 
-             const IID & Clsid) = 0;
-        
-        virtual HRESULT __stdcall FreeSurrogate( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISurrogate_LoadDllServer_Proxy( 
-    ISurrogate * This,
-     const IID & Clsid);
-
-
-void __stdcall ISurrogate_LoadDllServer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISurrogate_FreeSurrogate_Proxy( 
-    ISurrogate * This);
-
-
-void __stdcall ISurrogate_FreeSurrogate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
-
-
-extern "C" const IID IID_IGlobalInterfaceTable;
-
-
-    
-    struct __declspec(uuid("00000146-0000-0000-C000-000000000046")) __declspec(novtable)
-    IGlobalInterfaceTable : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall RegisterInterfaceInGlobal( 
-             IUnknown *pUnk,
-             const IID & riid,
-             DWORD *pdwCookie) = 0;
-        
-        virtual HRESULT __stdcall RevokeInterfaceFromGlobal( 
-             DWORD dwCookie) = 0;
-        
-        virtual HRESULT __stdcall GetInterfaceFromGlobal( 
-             DWORD dwCookie,
-             const IID & riid,
-             void **ppv) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy( 
-    IGlobalInterfaceTable * This,
-     IUnknown *pUnk,
-     const IID & riid,
-     DWORD *pdwCookie);
-
-
-void __stdcall IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy( 
-    IGlobalInterfaceTable * This,
-     DWORD dwCookie);
-
-
-void __stdcall IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy( 
-    IGlobalInterfaceTable * This,
-     DWORD dwCookie,
-     const IID & riid,
-     void **ppv);
-
-
-void __stdcall IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IDirectWriterLock;
-
-
-    
-    struct __declspec(uuid("0e6d4d92-6738-11cf-9608-00aa00680db4")) __declspec(novtable)
-    IDirectWriterLock : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall WaitForWriteAccess( 
-             DWORD dwTimeout) = 0;
-        
-        virtual HRESULT __stdcall ReleaseWriteAccess( void) = 0;
-        
-        virtual HRESULT __stdcall HaveWriteAccess( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDirectWriterLock_WaitForWriteAccess_Proxy( 
-    IDirectWriterLock * This,
-     DWORD dwTimeout);
-
-
-void __stdcall IDirectWriterLock_WaitForWriteAccess_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDirectWriterLock_ReleaseWriteAccess_Proxy( 
-    IDirectWriterLock * This);
-
-
-void __stdcall IDirectWriterLock_ReleaseWriteAccess_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDirectWriterLock_HaveWriteAccess_Proxy( 
-    IDirectWriterLock * This);
-
-
-void __stdcall IDirectWriterLock_HaveWriteAccess_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISynchronize;
-
-
-    
-    struct __declspec(uuid("00000030-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISynchronize : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Wait( 
-             DWORD dwFlags,
-             DWORD dwMilliseconds) = 0;
-        
-        virtual HRESULT __stdcall Signal( void) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISynchronize_Wait_Proxy( 
-    ISynchronize * This,
-     DWORD dwFlags,
-     DWORD dwMilliseconds);
-
-
-void __stdcall ISynchronize_Wait_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISynchronize_Signal_Proxy( 
-    ISynchronize * This);
-
-
-void __stdcall ISynchronize_Signal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISynchronize_Reset_Proxy( 
-    ISynchronize * This);
-
-
-void __stdcall ISynchronize_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISynchronizeHandle;
-
-
-    
-    struct __declspec(uuid("00000031-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISynchronizeHandle : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetHandle( 
-             HANDLE *ph) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISynchronizeHandle_GetHandle_Proxy( 
-    ISynchronizeHandle * This,
-     HANDLE *ph);
-
-
-void __stdcall ISynchronizeHandle_GetHandle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISynchronizeEvent;
-
-
-    
-    struct __declspec(uuid("00000032-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISynchronizeEvent : public ISynchronizeHandle
-    {
-    public:
-        virtual HRESULT __stdcall SetEventHandle( 
-             HANDLE *ph) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISynchronizeEvent_SetEventHandle_Proxy( 
-    ISynchronizeEvent * This,
-     HANDLE *ph);
-
-
-void __stdcall ISynchronizeEvent_SetEventHandle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISynchronizeContainer;
-
-
-    
-    struct __declspec(uuid("00000033-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISynchronizeContainer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall AddSynchronize( 
-             ISynchronize *pSync) = 0;
-        
-        virtual HRESULT __stdcall WaitMultiple( 
-             DWORD dwFlags,
-             DWORD dwTimeOut,
-             ISynchronize **ppSync) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISynchronizeContainer_AddSynchronize_Proxy( 
-    ISynchronizeContainer * This,
-     ISynchronize *pSync);
-
-
-void __stdcall ISynchronizeContainer_AddSynchronize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISynchronizeContainer_WaitMultiple_Proxy( 
-    ISynchronizeContainer * This,
-     DWORD dwFlags,
-     DWORD dwTimeOut,
-     ISynchronize **ppSync);
-
-
-void __stdcall ISynchronizeContainer_WaitMultiple_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISynchronizeMutex;
-
-
-    
-    struct __declspec(uuid("00000025-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISynchronizeMutex : public ISynchronize
-    {
-    public:
-        virtual HRESULT __stdcall ReleaseMutex( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISynchronizeMutex_ReleaseMutex_Proxy( 
-    ISynchronizeMutex * This);
-
-
-void __stdcall ISynchronizeMutex_ReleaseMutex_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ICancelMethodCalls *LPCANCELMETHODCALLS;
-
-
-extern "C" const IID IID_ICancelMethodCalls;
-
-
-    
-    struct __declspec(uuid("00000029-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICancelMethodCalls : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Cancel( 
-             ULONG ulSeconds) = 0;
-        
-        virtual HRESULT __stdcall TestCancel( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICancelMethodCalls_Cancel_Proxy( 
-    ICancelMethodCalls * This,
-     ULONG ulSeconds);
-
-
-void __stdcall ICancelMethodCalls_Cancel_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICancelMethodCalls_TestCancel_Proxy( 
-    ICancelMethodCalls * This);
-
-
-void __stdcall ICancelMethodCalls_TestCancel_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef 
-enum tagDCOM_CALL_STATE
-    {	DCOM_NONE	= 0,
-	DCOM_CALL_COMPLETE	= 0x1,
-	DCOM_CALL_CANCELED	= 0x2
-    } 	DCOM_CALL_STATE;
-
-
-extern "C" const IID IID_IAsyncManager;
-
-
-    
-    struct __declspec(uuid("0000002A-0000-0000-C000-000000000046")) __declspec(novtable)
-    IAsyncManager : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CompleteCall( 
-             HRESULT Result) = 0;
-        
-        virtual HRESULT __stdcall GetCallContext( 
-             const IID & riid,
-             void **pInterface) = 0;
-        
-        virtual HRESULT __stdcall GetState( 
-             ULONG *pulStateFlags) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAsyncManager_CompleteCall_Proxy( 
-    IAsyncManager * This,
-     HRESULT Result);
-
-
-void __stdcall IAsyncManager_CompleteCall_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAsyncManager_GetCallContext_Proxy( 
-    IAsyncManager * This,
-     const IID & riid,
-     void **pInterface);
-
-
-void __stdcall IAsyncManager_GetCallContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAsyncManager_GetState_Proxy( 
-    IAsyncManager * This,
-     ULONG *pulStateFlags);
-
-
-void __stdcall IAsyncManager_GetState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ICallFactory;
-
-
-    
-    struct __declspec(uuid("1c733a30-2a1c-11ce-ade5-00aa0044773d")) __declspec(novtable)
-    ICallFactory : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateCall( 
-             const IID & riid,
-             IUnknown *pCtrlUnk,
-             const IID & riid2,
-             IUnknown **ppv) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICallFactory_CreateCall_Proxy( 
-    ICallFactory * This,
-     const IID & riid,
-     IUnknown *pCtrlUnk,
-     const IID & riid2,
-     IUnknown **ppv);
-
-
-void __stdcall ICallFactory_CreateCall_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRpcHelper;
-
-
-    
-    struct __declspec(uuid("00000149-0000-0000-C000-000000000046")) __declspec(novtable)
-    IRpcHelper : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetDCOMProtocolVersion( 
-             DWORD *pComVersion) = 0;
-        
-        virtual HRESULT __stdcall GetIIDFromOBJREF( 
-             void *pObjRef,
-             IID **piid) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRpcHelper_GetDCOMProtocolVersion_Proxy( 
-    IRpcHelper * This,
-     DWORD *pComVersion);
-
-
-void __stdcall IRpcHelper_GetDCOMProtocolVersion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRpcHelper_GetIIDFromOBJREF_Proxy( 
-    IRpcHelper * This,
-     void *pObjRef,
-     IID **piid);
-
-
-void __stdcall IRpcHelper_GetIIDFromOBJREF_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IReleaseMarshalBuffers;
-
-
-    
-    struct __declspec(uuid("eb0cb9e8-7996-11d2-872e-0000f8080859")) __declspec(novtable)
-    IReleaseMarshalBuffers : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ReleaseMarshalBuffer( 
-             RPCOLEMESSAGE *pMsg,
-             DWORD dwFlags,
-             IUnknown *pChnl) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IReleaseMarshalBuffers_ReleaseMarshalBuffer_Proxy( 
-    IReleaseMarshalBuffers * This,
-     RPCOLEMESSAGE *pMsg,
-     DWORD dwFlags,
-     IUnknown *pChnl);
-
-
-void __stdcall IReleaseMarshalBuffers_ReleaseMarshalBuffer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IWaitMultiple;
-
-
-    
-    struct __declspec(uuid("0000002B-0000-0000-C000-000000000046")) __declspec(novtable)
-    IWaitMultiple : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall WaitMultiple( 
-             DWORD timeout,
-             ISynchronize **pSync) = 0;
-        
-        virtual HRESULT __stdcall AddSynchronize( 
-             ISynchronize *pSync) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IWaitMultiple_WaitMultiple_Proxy( 
-    IWaitMultiple * This,
-     DWORD timeout,
-     ISynchronize **pSync);
-
-
-void __stdcall IWaitMultiple_WaitMultiple_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IWaitMultiple_AddSynchronize_Proxy( 
-    IWaitMultiple * This,
-     ISynchronize *pSync);
-
-
-void __stdcall IWaitMultiple_AddSynchronize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IUrlMon;
-
-
-    
-    struct __declspec(uuid("00000026-0000-0000-C000-000000000046")) __declspec(novtable)
-    IUrlMon : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall AsyncGetClassBits( 
-             const IID & rclsid,
-             LPCWSTR pszTYPE,
-             LPCWSTR pszExt,
-             DWORD dwFileVersionMS,
-             DWORD dwFileVersionLS,
-             LPCWSTR pszCodeBase,
-             IBindCtx *pbc,
-             DWORD dwClassContext,
-             const IID & riid,
-             DWORD flags) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IUrlMon_AsyncGetClassBits_Proxy( 
-    IUrlMon * This,
-     const IID & rclsid,
-     LPCWSTR pszTYPE,
-     LPCWSTR pszExt,
-     DWORD dwFileVersionMS,
-     DWORD dwFileVersionLS,
-     LPCWSTR pszCodeBase,
-     IBindCtx *pbc,
-     DWORD dwClassContext,
-     const IID & riid,
-     DWORD flags);
-
-
-void __stdcall IUrlMon_AsyncGetClassBits_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IForegroundTransfer;
-
-
-    
-    struct __declspec(uuid("00000145-0000-0000-C000-000000000046")) __declspec(novtable)
-    IForegroundTransfer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall AllowForegroundTransfer( 
-             void *lpvReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IForegroundTransfer_AllowForegroundTransfer_Proxy( 
-    IForegroundTransfer * This,
-     void *lpvReserved);
-
-
-void __stdcall IForegroundTransfer_AllowForegroundTransfer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IAddrTrackingControl *LPADDRTRACKINGCONTROL;
-
-
-extern "C" const IID IID_IAddrTrackingControl;
-
-
-    
-    struct __declspec(uuid("00000147-0000-0000-C000-000000000046")) __declspec(novtable)
-    IAddrTrackingControl : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall EnableCOMDynamicAddrTracking( void) = 0;
-        
-        virtual HRESULT __stdcall DisableCOMDynamicAddrTracking( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAddrTrackingControl_EnableCOMDynamicAddrTracking_Proxy( 
-    IAddrTrackingControl * This);
-
-
-void __stdcall IAddrTrackingControl_EnableCOMDynamicAddrTracking_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAddrTrackingControl_DisableCOMDynamicAddrTracking_Proxy( 
-    IAddrTrackingControl * This);
-
-
-void __stdcall IAddrTrackingControl_DisableCOMDynamicAddrTracking_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
-
-
-extern "C" const IID IID_IAddrExclusionControl;
-
-
-    
-    struct __declspec(uuid("00000148-0000-0000-C000-000000000046")) __declspec(novtable)
-    IAddrExclusionControl : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetCurrentAddrExclusionList( 
-             const IID & riid,
-             void **ppEnumerator) = 0;
-        
-        virtual HRESULT __stdcall UpdateAddrExclusionList( 
-             IUnknown *pEnumerator) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAddrExclusionControl_GetCurrentAddrExclusionList_Proxy( 
-    IAddrExclusionControl * This,
-     const IID & riid,
-     void **ppEnumerator);
-
-
-void __stdcall IAddrExclusionControl_GetCurrentAddrExclusionList_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAddrExclusionControl_UpdateAddrExclusionList_Proxy( 
-    IAddrExclusionControl * This,
-     IUnknown *pEnumerator);
-
-
-void __stdcall IAddrExclusionControl_UpdateAddrExclusionList_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IPipeByte;
-
-
-    
-    struct __declspec(uuid("DB2F3ACA-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable)
-    IPipeByte : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Pull( 
-             BYTE *buf,
-             ULONG cRequest,
-             ULONG *pcReturned) = 0;
-        
-        virtual HRESULT __stdcall Push( 
-             BYTE *buf,
-             ULONG cSent) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPipeByte_Pull_Proxy( 
-    IPipeByte * This,
-     BYTE *buf,
-     ULONG cRequest,
-     ULONG *pcReturned);
-
-
-void __stdcall IPipeByte_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPipeByte_Push_Proxy( 
-    IPipeByte * This,
-     BYTE *buf,
-     ULONG cSent);
-
-
-void __stdcall IPipeByte_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIPipeByte;
-
-
-    
-    struct __declspec(uuid("DB2F3ACB-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable)
-    AsyncIPipeByte : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Begin_Pull( 
-             ULONG cRequest) = 0;
-        
-        virtual HRESULT __stdcall Finish_Pull( 
-             BYTE *buf,
-             ULONG *pcReturned) = 0;
-        
-        virtual HRESULT __stdcall Begin_Push( 
-             BYTE *buf,
-             ULONG cSent) = 0;
-        
-        virtual HRESULT __stdcall Finish_Push( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall AsyncIPipeByte_Begin_Pull_Proxy( 
-    AsyncIPipeByte * This,
-     ULONG cRequest);
-
-
-void __stdcall AsyncIPipeByte_Begin_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeByte_Finish_Pull_Proxy( 
-    AsyncIPipeByte * This,
-     BYTE *buf,
-     ULONG *pcReturned);
-
-
-void __stdcall AsyncIPipeByte_Finish_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeByte_Begin_Push_Proxy( 
-    AsyncIPipeByte * This,
-     BYTE *buf,
-     ULONG cSent);
-
-
-void __stdcall AsyncIPipeByte_Begin_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeByte_Finish_Push_Proxy( 
-    AsyncIPipeByte * This);
-
-
-void __stdcall AsyncIPipeByte_Finish_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IPipeLong;
-
-
-    
-    struct __declspec(uuid("DB2F3ACC-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable)
-    IPipeLong : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Pull( 
-             LONG *buf,
-             ULONG cRequest,
-             ULONG *pcReturned) = 0;
-        
-        virtual HRESULT __stdcall Push( 
-             LONG *buf,
-             ULONG cSent) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPipeLong_Pull_Proxy( 
-    IPipeLong * This,
-     LONG *buf,
-     ULONG cRequest,
-     ULONG *pcReturned);
-
-
-void __stdcall IPipeLong_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPipeLong_Push_Proxy( 
-    IPipeLong * This,
-     LONG *buf,
-     ULONG cSent);
-
-
-void __stdcall IPipeLong_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIPipeLong;
-
-
-    
-    struct __declspec(uuid("DB2F3ACD-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable)
-    AsyncIPipeLong : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Begin_Pull( 
-             ULONG cRequest) = 0;
-        
-        virtual HRESULT __stdcall Finish_Pull( 
-             LONG *buf,
-             ULONG *pcReturned) = 0;
-        
-        virtual HRESULT __stdcall Begin_Push( 
-             LONG *buf,
-             ULONG cSent) = 0;
-        
-        virtual HRESULT __stdcall Finish_Push( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall AsyncIPipeLong_Begin_Pull_Proxy( 
-    AsyncIPipeLong * This,
-     ULONG cRequest);
-
-
-void __stdcall AsyncIPipeLong_Begin_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeLong_Finish_Pull_Proxy( 
-    AsyncIPipeLong * This,
-     LONG *buf,
-     ULONG *pcReturned);
-
-
-void __stdcall AsyncIPipeLong_Finish_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeLong_Begin_Push_Proxy( 
-    AsyncIPipeLong * This,
-     LONG *buf,
-     ULONG cSent);
-
-
-void __stdcall AsyncIPipeLong_Begin_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeLong_Finish_Push_Proxy( 
-    AsyncIPipeLong * This);
-
-
-void __stdcall AsyncIPipeLong_Finish_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IPipeDouble;
-
-
-    
-    struct __declspec(uuid("DB2F3ACE-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable)
-    IPipeDouble : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Pull( 
-             DOUBLE *buf,
-             ULONG cRequest,
-             ULONG *pcReturned) = 0;
-        
-        virtual HRESULT __stdcall Push( 
-             DOUBLE *buf,
-             ULONG cSent) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPipeDouble_Pull_Proxy( 
-    IPipeDouble * This,
-     DOUBLE *buf,
-     ULONG cRequest,
-     ULONG *pcReturned);
-
-
-void __stdcall IPipeDouble_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPipeDouble_Push_Proxy( 
-    IPipeDouble * This,
-     DOUBLE *buf,
-     ULONG cSent);
-
-
-void __stdcall IPipeDouble_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_AsyncIPipeDouble;
-
-
-    
-    struct __declspec(uuid("DB2F3ACF-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable)
-    AsyncIPipeDouble : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Begin_Pull( 
-             ULONG cRequest) = 0;
-        
-        virtual HRESULT __stdcall Finish_Pull( 
-             DOUBLE *buf,
-             ULONG *pcReturned) = 0;
-        
-        virtual HRESULT __stdcall Begin_Push( 
-             DOUBLE *buf,
-             ULONG cSent) = 0;
-        
-        virtual HRESULT __stdcall Finish_Push( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall AsyncIPipeDouble_Begin_Pull_Proxy( 
-    AsyncIPipeDouble * This,
-     ULONG cRequest);
-
-
-void __stdcall AsyncIPipeDouble_Begin_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeDouble_Finish_Pull_Proxy( 
-    AsyncIPipeDouble * This,
-     DOUBLE *buf,
-     ULONG *pcReturned);
-
-
-void __stdcall AsyncIPipeDouble_Finish_Pull_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeDouble_Begin_Push_Proxy( 
-    AsyncIPipeDouble * This,
-     DOUBLE *buf,
-     ULONG cSent);
-
-
-void __stdcall AsyncIPipeDouble_Begin_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall AsyncIPipeDouble_Finish_Push_Proxy( 
-    AsyncIPipeDouble * This);
-
-
-void __stdcall AsyncIPipeDouble_Finish_Push_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IThumbnailExtractor;
-
-
-    
-    struct __declspec(uuid("969dc708-5c76-11d1-8d86-0000f804b057")) __declspec(novtable)
-    IThumbnailExtractor : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ExtractThumbnail( 
-             IStorage *pStg,
-             ULONG ulLength,
-             ULONG ulHeight,
-             ULONG *pulOutputLength,
-             ULONG *pulOutputHeight,
-             HBITMAP *phOutputBitmap) = 0;
-        
-        virtual HRESULT __stdcall OnFileUpdated( 
-             IStorage *pStg) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IThumbnailExtractor_ExtractThumbnail_Proxy( 
-    IThumbnailExtractor * This,
-     IStorage *pStg,
-     ULONG ulLength,
-     ULONG ulHeight,
-     ULONG *pulOutputLength,
-     ULONG *pulOutputHeight,
-     HBITMAP *phOutputBitmap);
-
-
-void __stdcall IThumbnailExtractor_ExtractThumbnail_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IThumbnailExtractor_OnFileUpdated_Proxy( 
-    IThumbnailExtractor * This,
-     IStorage *pStg);
-
-
-void __stdcall IThumbnailExtractor_OnFileUpdated_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IDummyHICONIncluder;
-
-
-    
-    struct __declspec(uuid("947990de-cc28-11d2-a0f7-00805f858fb1")) __declspec(novtable)
-    IDummyHICONIncluder : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Dummy( 
-             HICON h1,
-             HDC h2) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDummyHICONIncluder_Dummy_Proxy( 
-    IDummyHICONIncluder * This,
-     HICON h1,
-     HDC h2);
-
-
-void __stdcall IDummyHICONIncluder_Dummy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef 
-enum tagApplicationType
-    {	ServerApplication	= 0,
-	LibraryApplication	= ServerApplication + 1
-    } 	ApplicationType;
-
-typedef 
-enum tagShutdownType
-    {	IdleShutdown	= 0,
-	ForcedShutdown	= IdleShutdown + 1
-    } 	ShutdownType;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IProcessLock;
-
-
-    
-    struct __declspec(uuid("000001d5-0000-0000-C000-000000000046")) __declspec(novtable)
-    IProcessLock : public IUnknown
-    {
-    public:
-        virtual ULONG __stdcall AddRefOnProcess( void) = 0;
-        
-        virtual ULONG __stdcall ReleaseRefOnProcess( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ULONG __stdcall IProcessLock_AddRefOnProcess_Proxy( 
-    IProcessLock * This);
-
-
-void __stdcall IProcessLock_AddRefOnProcess_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-ULONG __stdcall IProcessLock_ReleaseRefOnProcess_Proxy( 
-    IProcessLock * This);
-
-
-void __stdcall IProcessLock_ReleaseRefOnProcess_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISurrogateService;
-
-
-    
-    struct __declspec(uuid("000001d4-0000-0000-C000-000000000046")) __declspec(novtable)
-    ISurrogateService : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Init( 
-             const GUID & rguidProcessID,
-             IProcessLock *pProcessLock,
-             BOOL *pfApplicationAware) = 0;
-        
-        virtual HRESULT __stdcall ApplicationLaunch( 
-             const GUID & rguidApplID,
-             ApplicationType appType) = 0;
-        
-        virtual HRESULT __stdcall ApplicationFree( 
-             const GUID & rguidApplID) = 0;
-        
-        virtual HRESULT __stdcall CatalogRefresh( 
-             ULONG ulReserved) = 0;
-        
-        virtual HRESULT __stdcall ProcessShutdown( 
-             ShutdownType shutdownType) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISurrogateService_Init_Proxy( 
-    ISurrogateService * This,
-     const GUID & rguidProcessID,
-     IProcessLock *pProcessLock,
-     BOOL *pfApplicationAware);
-
-
-void __stdcall ISurrogateService_Init_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISurrogateService_ApplicationLaunch_Proxy( 
-    ISurrogateService * This,
-     const GUID & rguidApplID,
-     ApplicationType appType);
-
-
-void __stdcall ISurrogateService_ApplicationLaunch_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISurrogateService_ApplicationFree_Proxy( 
-    ISurrogateService * This,
-     const GUID & rguidApplID);
-
-
-void __stdcall ISurrogateService_ApplicationFree_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISurrogateService_CatalogRefresh_Proxy( 
-    ISurrogateService * This,
-     ULONG ulReserved);
-
-
-void __stdcall ISurrogateService_CatalogRefresh_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISurrogateService_ProcessShutdown_Proxy( 
-    ISurrogateService * This,
-     ShutdownType shutdownType);
-
-
-void __stdcall ISurrogateService_ProcessShutdown_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-typedef 
-enum _APTTYPE
-    {	APTTYPE_CURRENT	= -1,
-	APTTYPE_STA	= 0,
-	APTTYPE_MTA	= 1,
-	APTTYPE_NA	= 2,
-	APTTYPE_MAINSTA	= 3
-    } 	APTTYPE;
-
-typedef 
-enum _THDTYPE
-    {	THDTYPE_BLOCKMESSAGES	= 0,
-	THDTYPE_PROCESSMESSAGES	= 1
-    } 	THDTYPE;
-
-typedef DWORD APARTMENTID;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IComThreadingInfo;
-
-
-    
-    struct __declspec(uuid("000001ce-0000-0000-C000-000000000046")) __declspec(novtable)
-    IComThreadingInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetCurrentApartmentType( 
-             APTTYPE *pAptType) = 0;
-        
-        virtual HRESULT __stdcall GetCurrentThreadType( 
-             THDTYPE *pThreadType) = 0;
-        
-        virtual HRESULT __stdcall GetCurrentLogicalThreadId( 
-             GUID *pguidLogicalThreadId) = 0;
-        
-        virtual HRESULT __stdcall SetCurrentLogicalThreadId( 
-             const GUID & rguid) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IComThreadingInfo_GetCurrentApartmentType_Proxy( 
-    IComThreadingInfo * This,
-     APTTYPE *pAptType);
-
-
-void __stdcall IComThreadingInfo_GetCurrentApartmentType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IComThreadingInfo_GetCurrentThreadType_Proxy( 
-    IComThreadingInfo * This,
-     THDTYPE *pThreadType);
-
-
-void __stdcall IComThreadingInfo_GetCurrentThreadType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IComThreadingInfo_GetCurrentLogicalThreadId_Proxy( 
-    IComThreadingInfo * This,
-     GUID *pguidLogicalThreadId);
-
-
-void __stdcall IComThreadingInfo_GetCurrentLogicalThreadId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IComThreadingInfo_SetCurrentLogicalThreadId_Proxy( 
-    IComThreadingInfo * This,
-     const GUID & rguid);
-
-
-void __stdcall IComThreadingInfo_SetCurrentLogicalThreadId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IProcessInitControl;
-
-
-    
-    struct __declspec(uuid("72380d55-8d2b-43a3-8513-2b6ef31434e9")) __declspec(novtable)
-    IProcessInitControl : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ResetInitializerTimeout( 
-             DWORD dwSecondsRemaining) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IProcessInitControl_ResetInitializerTimeout_Proxy( 
-    IProcessInitControl * This,
-     DWORD dwSecondsRemaining);
-
-
-void __stdcall IProcessInitControl_ResetInitializerTimeout_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInitializeSpy *LPINITIALIZESPY;
-
-
-extern "C" const IID IID_IInitializeSpy;
-
-
-    
-    struct __declspec(uuid("00000034-0000-0000-C000-000000000046")) __declspec(novtable)
-    IInitializeSpy : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall PreInitialize( 
-             DWORD dwCoInit,
-             DWORD dwCurThreadAptRefs) = 0;
-        
-        virtual HRESULT __stdcall PostInitialize( 
-             HRESULT hrCoInit,
-             DWORD dwCoInit,
-             DWORD dwNewThreadAptRefs) = 0;
-        
-        virtual HRESULT __stdcall PreUninitialize( 
-             DWORD dwCurThreadAptRefs) = 0;
-        
-        virtual HRESULT __stdcall PostUninitialize( 
-             DWORD dwNewThreadAptRefs) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInitializeSpy_PreInitialize_Proxy( 
-    IInitializeSpy * This,
-     DWORD dwCoInit,
-     DWORD dwCurThreadAptRefs);
-
-
-void __stdcall IInitializeSpy_PreInitialize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInitializeSpy_PostInitialize_Proxy( 
-    IInitializeSpy * This,
-     HRESULT hrCoInit,
-     DWORD dwCoInit,
-     DWORD dwNewThreadAptRefs);
-
-
-void __stdcall IInitializeSpy_PostInitialize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInitializeSpy_PreUninitialize_Proxy( 
-    IInitializeSpy * This,
-     DWORD dwCurThreadAptRefs);
-
-
-void __stdcall IInitializeSpy_PreUninitialize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInitializeSpy_PostUninitialize_Proxy( 
-    IInitializeSpy * This,
-     DWORD dwNewThreadAptRefs);
-
-
-void __stdcall IInitializeSpy_PostUninitialize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_s_ifspec;
-
-
-
-unsigned long             __stdcall  ASYNC_STGMEDIUM_UserSize(     unsigned long *, unsigned long            , ASYNC_STGMEDIUM * ); 
-unsigned char * __stdcall  ASYNC_STGMEDIUM_UserMarshal(  unsigned long *, unsigned char *, ASYNC_STGMEDIUM * ); 
-unsigned char * __stdcall  ASYNC_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, ASYNC_STGMEDIUM * ); 
-void                      __stdcall  ASYNC_STGMEDIUM_UserFree(     unsigned long *, ASYNC_STGMEDIUM * ); 
-
-unsigned long             __stdcall  CLIPFORMAT_UserSize(     unsigned long *, unsigned long            , CLIPFORMAT * ); 
-unsigned char * __stdcall  CLIPFORMAT_UserMarshal(  unsigned long *, unsigned char *, CLIPFORMAT * ); 
-unsigned char * __stdcall  CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT * ); 
-void                      __stdcall  CLIPFORMAT_UserFree(     unsigned long *, CLIPFORMAT * ); 
-
-unsigned long             __stdcall  FLAG_STGMEDIUM_UserSize(     unsigned long *, unsigned long            , FLAG_STGMEDIUM * ); 
-unsigned char * __stdcall  FLAG_STGMEDIUM_UserMarshal(  unsigned long *, unsigned char *, FLAG_STGMEDIUM * ); 
-unsigned char * __stdcall  FLAG_STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, FLAG_STGMEDIUM * ); 
-void                      __stdcall  FLAG_STGMEDIUM_UserFree(     unsigned long *, FLAG_STGMEDIUM * ); 
-
-unsigned long             __stdcall  HBITMAP_UserSize(     unsigned long *, unsigned long            , HBITMAP * ); 
-unsigned char * __stdcall  HBITMAP_UserMarshal(  unsigned long *, unsigned char *, HBITMAP * ); 
-unsigned char * __stdcall  HBITMAP_UserUnmarshal(unsigned long *, unsigned char *, HBITMAP * ); 
-void                      __stdcall  HBITMAP_UserFree(     unsigned long *, HBITMAP * ); 
-
-unsigned long             __stdcall  HDC_UserSize(     unsigned long *, unsigned long            , HDC * ); 
-unsigned char * __stdcall  HDC_UserMarshal(  unsigned long *, unsigned char *, HDC * ); 
-unsigned char * __stdcall  HDC_UserUnmarshal(unsigned long *, unsigned char *, HDC * ); 
-void                      __stdcall  HDC_UserFree(     unsigned long *, HDC * ); 
-
-unsigned long             __stdcall  HICON_UserSize(     unsigned long *, unsigned long            , HICON * ); 
-unsigned char * __stdcall  HICON_UserMarshal(  unsigned long *, unsigned char *, HICON * ); 
-unsigned char * __stdcall  HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * ); 
-void                      __stdcall  HICON_UserFree(     unsigned long *, HICON * ); 
-
-unsigned long             __stdcall  SNB_UserSize(     unsigned long *, unsigned long            , SNB * ); 
-unsigned char * __stdcall  SNB_UserMarshal(  unsigned long *, unsigned char *, SNB * ); 
-unsigned char * __stdcall  SNB_UserUnmarshal(unsigned long *, unsigned char *, SNB * ); 
-void                      __stdcall  SNB_UserFree(     unsigned long *, SNB * ); 
-
-unsigned long             __stdcall  STGMEDIUM_UserSize(     unsigned long *, unsigned long            , STGMEDIUM * ); 
-unsigned char * __stdcall  STGMEDIUM_UserMarshal(  unsigned long *, unsigned char *, STGMEDIUM * ); 
-unsigned char * __stdcall  STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM * ); 
-void                      __stdcall  STGMEDIUM_UserFree(     unsigned long *, STGMEDIUM * ); 
-
- HRESULT __stdcall IEnumUnknown_Next_Proxy( 
-    IEnumUnknown * This,
-     ULONG celt,
-     IUnknown **rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumUnknown_Next_Stub( 
-    IEnumUnknown * This,
-     ULONG celt,
-     IUnknown **rgelt,
-     ULONG *pceltFetched);
-
- HRESULT __stdcall IBindCtx_SetBindOptions_Proxy( 
-    IBindCtx * This,
-     BIND_OPTS *pbindopts);
-
-
- HRESULT __stdcall IBindCtx_SetBindOptions_Stub( 
-    IBindCtx * This,
-     BIND_OPTS2 *pbindopts);
-
- HRESULT __stdcall IBindCtx_GetBindOptions_Proxy( 
-    IBindCtx * This,
-     BIND_OPTS *pbindopts);
-
-
- HRESULT __stdcall IBindCtx_GetBindOptions_Stub( 
-    IBindCtx * This,
-     BIND_OPTS2 *pbindopts);
-
- HRESULT __stdcall IEnumMoniker_Next_Proxy( 
-    IEnumMoniker * This,
-     ULONG celt,
-     IMoniker **rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumMoniker_Next_Stub( 
-    IEnumMoniker * This,
-     ULONG celt,
-     IMoniker **rgelt,
-     ULONG *pceltFetched);
-
- BOOL __stdcall IRunnableObject_IsRunning_Proxy( 
-    IRunnableObject * This);
-
-
- HRESULT __stdcall IRunnableObject_IsRunning_Stub( 
-    IRunnableObject * This);
-
- HRESULT __stdcall IMoniker_BindToObject_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     const IID & riidResult,
-     void **ppvResult);
-
-
- HRESULT __stdcall IMoniker_BindToObject_Stub( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     const IID & riidResult,
-     IUnknown **ppvResult);
-
- HRESULT __stdcall IMoniker_BindToStorage_Proxy( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     const IID & riid,
-     void **ppvObj);
-
-
- HRESULT __stdcall IMoniker_BindToStorage_Stub( 
-    IMoniker * This,
-     IBindCtx *pbc,
-     IMoniker *pmkToLeft,
-     const IID & riid,
-     IUnknown **ppvObj);
-
- HRESULT __stdcall IEnumString_Next_Proxy( 
-    IEnumString * This,
-     ULONG celt,
-     LPOLESTR *rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumString_Next_Stub( 
-    IEnumString * This,
-     ULONG celt,
-     LPOLESTR *rgelt,
-     ULONG *pceltFetched);
-
- HRESULT __stdcall ISequentialStream_Read_Proxy( 
-    ISequentialStream * This,
-     void *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
-
- HRESULT __stdcall ISequentialStream_Read_Stub( 
-    ISequentialStream * This,
-     byte *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
- HRESULT __stdcall ISequentialStream_Write_Proxy( 
-    ISequentialStream * This,
-     const void *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
- HRESULT __stdcall ISequentialStream_Write_Stub( 
-    ISequentialStream * This,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
- HRESULT __stdcall IStream_Seek_Proxy( 
-    IStream * This,
-     LARGE_INTEGER dlibMove,
-     DWORD dwOrigin,
-     ULARGE_INTEGER *plibNewPosition);
-
-
- HRESULT __stdcall IStream_Seek_Stub( 
-    IStream * This,
-     LARGE_INTEGER dlibMove,
-     DWORD dwOrigin,
-     ULARGE_INTEGER *plibNewPosition);
-
- HRESULT __stdcall IStream_CopyTo_Proxy( 
-    IStream * This,
-     IStream *pstm,
-     ULARGE_INTEGER cb,
-     ULARGE_INTEGER *pcbRead,
-     ULARGE_INTEGER *pcbWritten);
-
-
- HRESULT __stdcall IStream_CopyTo_Stub( 
-    IStream * This,
-     IStream *pstm,
-     ULARGE_INTEGER cb,
-     ULARGE_INTEGER *pcbRead,
-     ULARGE_INTEGER *pcbWritten);
-
- HRESULT __stdcall IEnumSTATSTG_Next_Proxy( 
-    IEnumSTATSTG * This,
-     ULONG celt,
-     STATSTG *rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumSTATSTG_Next_Stub( 
-    IEnumSTATSTG * This,
-     ULONG celt,
-     STATSTG *rgelt,
-     ULONG *pceltFetched);
-
- HRESULT __stdcall IStorage_OpenStream_Proxy( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     void *reserved1,
-     DWORD grfMode,
-     DWORD reserved2,
-     IStream **ppstm);
-
-
- HRESULT __stdcall IStorage_OpenStream_Stub( 
-    IStorage * This,
-     const OLECHAR *pwcsName,
-     unsigned long cbReserved1,
-     byte *reserved1,
-     DWORD grfMode,
-     DWORD reserved2,
-     IStream **ppstm);
-
- HRESULT __stdcall IStorage_EnumElements_Proxy( 
-    IStorage * This,
-     DWORD reserved1,
-     void *reserved2,
-     DWORD reserved3,
-     IEnumSTATSTG **ppenum);
-
-
- HRESULT __stdcall IStorage_EnumElements_Stub( 
-    IStorage * This,
-     DWORD reserved1,
-     unsigned long cbReserved2,
-     byte *reserved2,
-     DWORD reserved3,
-     IEnumSTATSTG **ppenum);
-
- HRESULT __stdcall ILockBytes_ReadAt_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     void *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
-
- HRESULT __stdcall ILockBytes_ReadAt_Stub( 
-    ILockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     byte *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
- HRESULT __stdcall ILockBytes_WriteAt_Proxy( 
-    ILockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     const void *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
- HRESULT __stdcall ILockBytes_WriteAt_Stub( 
-    ILockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
- HRESULT __stdcall IEnumFORMATETC_Next_Proxy( 
-    IEnumFORMATETC * This,
-     ULONG celt,
-     FORMATETC *rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumFORMATETC_Next_Stub( 
-    IEnumFORMATETC * This,
-     ULONG celt,
-     FORMATETC *rgelt,
-     ULONG *pceltFetched);
-
- HRESULT __stdcall IEnumSTATDATA_Next_Proxy( 
-    IEnumSTATDATA * This,
-     ULONG celt,
-     STATDATA *rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumSTATDATA_Next_Stub( 
-    IEnumSTATDATA * This,
-     ULONG celt,
-     STATDATA *rgelt,
-     ULONG *pceltFetched);
-
- void __stdcall IAdviseSink_OnDataChange_Proxy( 
-    IAdviseSink * This,
-     FORMATETC *pFormatetc,
-     STGMEDIUM *pStgmed);
-
-
- HRESULT __stdcall IAdviseSink_OnDataChange_Stub( 
-    IAdviseSink * This,
-     FORMATETC *pFormatetc,
-     ASYNC_STGMEDIUM *pStgmed);
-
- void __stdcall IAdviseSink_OnViewChange_Proxy( 
-    IAdviseSink * This,
-     DWORD dwAspect,
-     LONG lindex);
-
-
- HRESULT __stdcall IAdviseSink_OnViewChange_Stub( 
-    IAdviseSink * This,
-     DWORD dwAspect,
-     LONG lindex);
-
- void __stdcall IAdviseSink_OnRename_Proxy( 
-    IAdviseSink * This,
-     IMoniker *pmk);
-
-
- HRESULT __stdcall IAdviseSink_OnRename_Stub( 
-    IAdviseSink * This,
-     IMoniker *pmk);
-
- void __stdcall IAdviseSink_OnSave_Proxy( 
-    IAdviseSink * This);
-
-
- HRESULT __stdcall IAdviseSink_OnSave_Stub( 
-    IAdviseSink * This);
-
- void __stdcall IAdviseSink_OnClose_Proxy( 
-    IAdviseSink * This);
-
-
- HRESULT __stdcall IAdviseSink_OnClose_Stub( 
-    IAdviseSink * This);
-
- void __stdcall IAdviseSink2_OnLinkSrcChange_Proxy( 
-    IAdviseSink2 * This,
-     IMoniker *pmk);
-
-
- HRESULT __stdcall IAdviseSink2_OnLinkSrcChange_Stub( 
-    IAdviseSink2 * This,
-     IMoniker *pmk);
-
- HRESULT __stdcall IDataObject_GetData_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetcIn,
-     STGMEDIUM *pmedium);
-
-
- HRESULT __stdcall IDataObject_GetData_Stub( 
-    IDataObject * This,
-     FORMATETC *pformatetcIn,
-     STGMEDIUM *pRemoteMedium);
-
- HRESULT __stdcall IDataObject_GetDataHere_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     STGMEDIUM *pmedium);
-
-
- HRESULT __stdcall IDataObject_GetDataHere_Stub( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     STGMEDIUM *pRemoteMedium);
-
- HRESULT __stdcall IDataObject_SetData_Proxy( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     STGMEDIUM *pmedium,
-     BOOL fRelease);
-
-
- HRESULT __stdcall IDataObject_SetData_Stub( 
-    IDataObject * This,
-     FORMATETC *pformatetc,
-     FLAG_STGMEDIUM *pmedium,
-     BOOL fRelease);
-
- HRESULT __stdcall IFillLockBytes_FillAppend_Proxy( 
-    IFillLockBytes * This,
-     const void *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
- HRESULT __stdcall IFillLockBytes_FillAppend_Stub( 
-    IFillLockBytes * This,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
- HRESULT __stdcall IFillLockBytes_FillAt_Proxy( 
-    IFillLockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     const void *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
-
- HRESULT __stdcall IFillLockBytes_FillAt_Stub( 
-    IFillLockBytes * This,
-     ULARGE_INTEGER ulOffset,
-     const byte *pv,
-     ULONG cb,
-     ULONG *pcbWritten);
-
- void __stdcall AsyncIAdviseSink_Begin_OnDataChange_Proxy( 
-    AsyncIAdviseSink * This,
-     FORMATETC *pFormatetc,
-     STGMEDIUM *pStgmed);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_OnDataChange_Stub( 
-    AsyncIAdviseSink * This,
-     FORMATETC *pFormatetc,
-     ASYNC_STGMEDIUM *pStgmed);
-
- void __stdcall AsyncIAdviseSink_Finish_OnDataChange_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_OnDataChange_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink_Begin_OnViewChange_Proxy( 
-    AsyncIAdviseSink * This,
-     DWORD dwAspect,
-     LONG lindex);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_OnViewChange_Stub( 
-    AsyncIAdviseSink * This,
-     DWORD dwAspect,
-     LONG lindex);
-
- void __stdcall AsyncIAdviseSink_Finish_OnViewChange_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_OnViewChange_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink_Begin_OnRename_Proxy( 
-    AsyncIAdviseSink * This,
-     IMoniker *pmk);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_OnRename_Stub( 
-    AsyncIAdviseSink * This,
-     IMoniker *pmk);
-
- void __stdcall AsyncIAdviseSink_Finish_OnRename_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_OnRename_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink_Begin_OnSave_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_OnSave_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink_Finish_OnSave_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_OnSave_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink_Begin_OnClose_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Begin_OnClose_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink_Finish_OnClose_Proxy( 
-    AsyncIAdviseSink * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink_Finish_OnClose_Stub( 
-    AsyncIAdviseSink * This);
-
- void __stdcall AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy( 
-    AsyncIAdviseSink2 * This,
-     IMoniker *pmk);
-
-
- HRESULT __stdcall AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub( 
-    AsyncIAdviseSink2 * This,
-     IMoniker *pmk);
-
- void __stdcall AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy( 
-    AsyncIAdviseSink2 * This);
-
-
- HRESULT __stdcall AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub( 
-    AsyncIAdviseSink2 * This);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-extern "C" {
-
-
-extern const IID GUID_NULL;
-extern const IID CATID_MARSHALER;
-extern const IID IID_IRpcChannel;
-extern const IID IID_IRpcStub;
-extern const IID IID_IStubManager;
-extern const IID IID_IRpcProxy;
-extern const IID IID_IProxyManager;
-extern const IID IID_IPSFactory;
-extern const IID IID_IInternalMoniker;
-extern const IID IID_IDfReserved1;
-extern const IID IID_IDfReserved2;
-extern const IID IID_IDfReserved3;
-extern const CLSID CLSID_StdMarshal;
-extern const CLSID CLSID_AggStdMarshal;
-extern const CLSID CLSID_StdAsyncActManager;
-extern const IID IID_IStub;
-extern const IID IID_IProxy;
-extern const IID IID_IEnumGeneric;
-extern const IID IID_IEnumHolder;
-extern const IID IID_IEnumCallback;
-extern const IID IID_IOleManager;
-extern const IID IID_IOlePresObj;
-extern const IID IID_IDebug;
-extern const IID IID_IDebugStream;
-extern const CLSID CLSID_PSGenObject;
-extern const CLSID CLSID_PSClientSite;
-extern const CLSID CLSID_PSClassObject;
-extern const CLSID CLSID_PSInPlaceActive;
-extern const CLSID CLSID_PSInPlaceFrame;
-extern const CLSID CLSID_PSDragDrop;
-extern const CLSID CLSID_PSBindCtx;
-extern const CLSID CLSID_PSEnumerators;
-extern const CLSID CLSID_StaticMetafile;
-extern const CLSID CLSID_StaticDib;
-extern const CLSID CID_CDfsVolume;
-extern const CLSID CLSID_DCOMAccessControl;
-extern const CLSID CLSID_StdGlobalInterfaceTable;
-extern const CLSID CLSID_ComBinding;
-extern const CLSID CLSID_StdEvent;
-extern const CLSID CLSID_ManualResetEvent;
-extern const CLSID CLSID_SynchronizeContainer;
-extern const CLSID CLSID_AddrControl;
-
-
-
-
-
-
-
-
-
-
-extern const CLSID CLSID_CCDFormKrnl;
-extern const CLSID CLSID_CCDPropertyPage;
-extern const CLSID CLSID_CCDFormDialog;
-
-
-
-
-extern const CLSID CLSID_CCDCommandButton;
-extern const CLSID CLSID_CCDComboBox;
-extern const CLSID CLSID_CCDTextBox;
-extern const CLSID CLSID_CCDCheckBox;
-extern const CLSID CLSID_CCDLabel;
-extern const CLSID CLSID_CCDOptionButton;
-extern const CLSID CLSID_CCDListBox;
-extern const CLSID CLSID_CCDScrollBar;
-extern const CLSID CLSID_CCDGroupBox;
-
-
-
-
-extern const CLSID CLSID_CCDGeneralPropertyPage;
-extern const CLSID CLSID_CCDGenericPropertyPage;
-extern const CLSID CLSID_CCDFontPropertyPage;
-extern const CLSID CLSID_CCDColorPropertyPage;
-extern const CLSID CLSID_CCDLabelPropertyPage;
-extern const CLSID CLSID_CCDCheckBoxPropertyPage;
-extern const CLSID CLSID_CCDTextBoxPropertyPage;
-extern const CLSID CLSID_CCDOptionButtonPropertyPage;
-extern const CLSID CLSID_CCDListBoxPropertyPage;
-extern const CLSID CLSID_CCDCommandButtonPropertyPage;
-extern const CLSID CLSID_CCDComboBoxPropertyPage;
-extern const CLSID CLSID_CCDScrollBarPropertyPage;
-extern const CLSID CLSID_CCDGroupBoxPropertyPage;
-extern const CLSID CLSID_CCDXObjectPropertyPage;
-
-extern const CLSID CLSID_CStdPropertyFrame;
-
-extern const CLSID CLSID_CFormPropertyPage;
-extern const CLSID CLSID_CGridPropertyPage;
-
-extern const CLSID CLSID_CWSJArticlePage;
-extern const CLSID CLSID_CSystemPage;
-
-extern const CLSID CLSID_IdentityUnmarshal;
-extern const CLSID CLSID_InProcFreeMarshaler;
-
-extern const CLSID CLSID_Picture_Metafile;
-extern const CLSID CLSID_Picture_EnhMetafile;
-extern const CLSID CLSID_Picture_Dib;
-
-
-
-
-extern const GUID GUID_TRISTATE;
-
-
-}
-
-
-
-
-
-
-
-
-typedef enum tagCOINIT
-{
-  COINIT_APARTMENTTHREADED  = 0x2,      
-
-
-  
-  COINIT_MULTITHREADED      = 0x0,      
-  COINIT_DISABLE_OLE1DDE    = 0x4,      
-  COINIT_SPEED_OVER_MEMORY  = 0x8,      
-
-} COINIT;
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall CoBuildVersion( void );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoInitialize( LPVOID pvReserved);
-extern "C" __declspec(dllimport) void __stdcall  CoUninitialize(void);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetMalloc( DWORD dwMemContext,  LPMALLOC * ppMalloc);
-extern "C" __declspec(dllimport) DWORD __stdcall CoGetCurrentProcess(void);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRegisterMallocSpy( LPMALLOCSPY pMallocSpy);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRevokeMallocSpy(void);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoCreateStandardMalloc( DWORD memctx,  IMalloc * * ppMalloc);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoInitializeEx( LPVOID pvReserved,  DWORD dwCoInit);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetCallerTID( LPDWORD lpdwTID );
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRegisterInitializeSpy( LPINITIALIZESPY pSpy,  ULARGE_INTEGER *puliCookie);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRevokeInitializeSpy( ULARGE_INTEGER uliCookie);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetContextToken(ULONG_PTR* pToken);
-
-
-
-typedef enum tagCOMSD
-{
-    SD_LAUNCHPERMISSIONS = 0,   	
-    SD_ACCESSPERMISSIONS = 1,   	
-    SD_LAUNCHRESTRICTIONS = 2,   	
-    SD_ACCESSRESTRICTIONS = 3   	
-    
-} COMSD;
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetSystemSecurityPermissions(COMSD comSDType, PSECURITY_DESCRIPTOR *ppSD);
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSOleTlsDataPublic
-{
-    void *pvReserved0[2];
-    DWORD dwReserved0[3];
-    void *pvReserved1[1];
-    DWORD dwReserved1[3];
-    void *pvReserved2[4];
-    DWORD dwReserved2[1];
-    void *pCurrentCtx;
-} SOleTlsDataPublic;
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall     CoGetObjectContext( const IID & riid,  LPVOID * ppv);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetClassObject( const IID & rclsid,  DWORD dwClsContext,  LPVOID pvReserved,
-                     const IID & riid,  LPVOID * ppv);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRegisterClassObject( const IID & rclsid,  LPUNKNOWN pUnk,
-                     DWORD dwClsContext,  DWORD flags,  LPDWORD lpdwRegister);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRevokeClassObject( DWORD dwRegister);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoResumeClassObjects(void);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoSuspendClassObjects(void);
-extern "C" __declspec(dllimport) ULONG __stdcall CoAddRefServerProcess(void);
-extern "C" __declspec(dllimport) ULONG __stdcall CoReleaseServerProcess(void);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetPSClsid( const IID & riid,  CLSID *pClsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRegisterPSClsid( const IID & riid,  const IID & rclsid);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoRegisterSurrogate( LPSURROGATE pSurrogate);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetMarshalSizeMax( ULONG *pulSize,  const IID & riid,  LPUNKNOWN pUnk,
-                     DWORD dwDestContext,  LPVOID pvDestContext,  DWORD mshlflags);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoMarshalInterface( LPSTREAM pStm,  const IID & riid,  LPUNKNOWN pUnk,
-                     DWORD dwDestContext,  LPVOID pvDestContext,  DWORD mshlflags);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoUnmarshalInterface( LPSTREAM pStm,  const IID & riid,  LPVOID * ppv);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoMarshalHresult( LPSTREAM pstm,  HRESULT hresult);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoUnmarshalHresult( LPSTREAM pstm,  HRESULT  * phresult);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoReleaseMarshalData( LPSTREAM pStm);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoDisconnectObject( LPUNKNOWN pUnk,  DWORD dwReserved);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoLockObjectExternal( LPUNKNOWN pUnk,  BOOL fLock,  BOOL fLastUnlockReleases);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetStandardMarshal( const IID & riid,  LPUNKNOWN pUnk,
-                     DWORD dwDestContext,  LPVOID pvDestContext,  DWORD mshlflags,
-                     LPMARSHAL * ppMarshal);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetStdMarshalEx( LPUNKNOWN pUnkOuter,  DWORD smexflags,
-                             LPUNKNOWN * ppUnkInner);
-
-
-typedef enum tagSTDMSHLFLAGS
-{
-    SMEXF_SERVER     = 0x01,       
-    SMEXF_HANDLER    = 0x02        
-} STDMSHLFLAGS;
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall CoIsHandlerConnected( LPUNKNOWN pUnk);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoMarshalInterThreadInterfaceInStream( const IID & riid,  LPUNKNOWN pUnk,
-                     LPSTREAM *ppStm);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetInterfaceAndReleaseStream( LPSTREAM pStm,  const IID & iid,
-                     LPVOID * ppv);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateFreeThreadedMarshaler( LPUNKNOWN  punkOuter,
-                     LPUNKNOWN *ppunkMarshal);
-
-
-
-extern "C" __declspec(dllimport) HINSTANCE __stdcall CoLoadLibrary( LPOLESTR lpszLibName,  BOOL bAutoFree);
-extern "C" __declspec(dllimport) void __stdcall CoFreeLibrary( HINSTANCE hInst);
-extern "C" __declspec(dllimport) void __stdcall CoFreeAllLibraries(void);
-extern "C" __declspec(dllimport) void __stdcall CoFreeUnusedLibraries(void);
-
-
-
-extern "C" __declspec(dllimport) void __stdcall CoFreeUnusedLibrariesEx( DWORD dwUnloadDelay,  DWORD dwReserved);
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoInitializeSecurity(
-                     PSECURITY_DESCRIPTOR         pSecDesc,
-                     LONG                         cAuthSvc,
-                     SOLE_AUTHENTICATION_SERVICE *asAuthSvc,
-                     void                        *pReserved1,
-                     DWORD                        dwAuthnLevel,
-                     DWORD                        dwImpLevel,
-                     void                        *pAuthList,
-                     DWORD                        dwCapabilities,
-                     void                        *pReserved3 );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetCallContext(  const IID & riid,  void **ppInterface );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoQueryProxyBlanket(
-      IUnknown                  *pProxy,
-     DWORD                     *pwAuthnSvc,
-     DWORD                     *pAuthzSvc,
-     OLECHAR                  **pServerPrincName,
-     DWORD                     *pAuthnLevel,
-     DWORD                     *pImpLevel,
-     RPC_AUTH_IDENTITY_HANDLE  *pAuthInfo,
-     DWORD                     *pCapabilites );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoSetProxyBlanket(
-     IUnknown                 *pProxy,
-     DWORD                     dwAuthnSvc,
-     DWORD                     dwAuthzSvc,
-     OLECHAR                  *pServerPrincName,
-     DWORD                     dwAuthnLevel,
-     DWORD                     dwImpLevel,
-     RPC_AUTH_IDENTITY_HANDLE  pAuthInfo,
-     DWORD                     dwCapabilities );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoCopyProxy(
-      IUnknown    *pProxy,
-     IUnknown   **ppCopy );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoQueryClientBlanket(
-     DWORD             *pAuthnSvc,
-     DWORD             *pAuthzSvc,
-     OLECHAR          **pServerPrincName,
-     DWORD             *pAuthnLevel,
-     DWORD             *pImpLevel,
-     RPC_AUTHZ_HANDLE  *pPrivs,
-     DWORD             *pCapabilities );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoImpersonateClient();
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoRevertToSelf();
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoQueryAuthenticationServices(
-     DWORD *pcAuthSvc,
-     SOLE_AUTHENTICATION_SERVICE **asAuthSvc );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoSwitchCallContext(  IUnknown *pNewObject,  IUnknown **ppOldObject );
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateInstance( const IID & rclsid,  LPUNKNOWN pUnkOuter,
-                     DWORD dwClsContext,  const IID & riid,  LPVOID * ppv);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetInstanceFromFile(
-     COSERVERINFO *              pServerInfo,
-     CLSID       *               pClsid,
-     IUnknown    *               punkOuter, 
-     DWORD                       dwClsCtx,
-     DWORD                       grfMode,
-     OLECHAR *                   pwszName,
-     DWORD                       dwCount,
-      MULTI_QI    *           pResults );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetInstanceFromIStorage(
-     COSERVERINFO *              pServerInfo,
-     CLSID       *               pClsid,
-     IUnknown    *               punkOuter, 
-     DWORD                       dwClsCtx,
-     struct IStorage *           pstg,
-     DWORD                       dwCount,
-      MULTI_QI    *           pResults );
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateInstanceEx(
-     const IID &                    Clsid,
-     IUnknown    *               punkOuter, 
-     DWORD                       dwClsCtx,
-     COSERVERINFO *              pServerInfo,
-     DWORD                       dwCount,
-      MULTI_QI    *           pResults );
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetCancelObject( DWORD dwThreadId,  const IID & iid,  void **ppUnk);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoSetCancelObject( IUnknown *pUnk);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoCancelCall( DWORD dwThreadId,  ULONG ulTimeout);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoTestCancel();
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoEnableCallCancellation( LPVOID pReserved);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoDisableCallCancellation( LPVOID pReserved);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoAllowSetForegroundWindow( IUnknown *pUnk,  LPVOID lpvReserved);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall DcomChannelSetHResult( LPVOID pvReserved,  ULONG* pulReserved,  HRESULT appsHR);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StringFromCLSID( const IID & rclsid,  LPOLESTR * lplpsz);
-extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromString( LPOLESTR lpsz,  LPCLSID pclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall StringFromIID( const IID & rclsid,  LPOLESTR * lplpsz);
-extern "C" __declspec(dllimport) HRESULT __stdcall IIDFromString( LPOLESTR lpsz,  LPIID lpiid);
-extern "C" __declspec(dllimport) BOOL __stdcall CoIsOle1Class( const IID & rclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall ProgIDFromCLSID ( const IID & clsid,  LPOLESTR * lplpszProgID);
-extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromProgID ( LPCOLESTR lpszProgID,  LPCLSID lpclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromProgIDEx ( LPCOLESTR lpszProgID,  LPCLSID lpclsid);
-extern "C" __declspec(dllimport) int __stdcall StringFromGUID2( const GUID & rguid,  LPOLESTR lpsz,  int cchMax);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateGuid( GUID  *pguid);
-
-extern "C" __declspec(dllimport) BOOL __stdcall CoFileTimeToDosDateTime(
-                  FILETIME * lpFileTime,  LPWORD lpDosDate,  LPWORD lpDosTime);
-extern "C" __declspec(dllimport) BOOL __stdcall CoDosDateTimeToFileTime(
-                        WORD nDosDate,  WORD nDosTime,  FILETIME * lpFileTime);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoFileTimeNow(  FILETIME * lpFileTime );
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterMessageFilter(  LPMESSAGEFILTER lpMessageFilter,
-                                 LPMESSAGEFILTER * lplpMessageFilter );
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterChannelHook(  const GUID & ExtensionUuid,  IChannelHook *pChannelHook );
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoWaitForMultipleHandles ( DWORD dwFlags,
-                                     DWORD dwTimeout,
-                                     ULONG cHandles,
-                                     LPHANDLE pHandles,
-                                     LPDWORD  lpdwindex);
-
-
-
-typedef enum tagCOWAIT_FLAGS
-{
-  COWAIT_WAITALL = 1,
-  COWAIT_ALERTABLE = 2,
-  COWAIT_INPUTAVAILABLE = 4
-}COWAIT_FLAGS;
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoInvalidateRemoteMachineBindings(LPOLESTR pszMachineName);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CoGetTreatAsClass( const IID & clsidOld,  LPCLSID pClsidNew);
-extern "C" __declspec(dllimport) HRESULT __stdcall CoTreatAsClass( const IID & clsidOld,  const IID & clsidNew);
-
-
-
-
-
-
-
-
-
-
-typedef HRESULT (__stdcall * LPFNGETCLASSOBJECT) (const IID &, const IID &, LPVOID *);
-
-
-
-
-
-typedef HRESULT (__stdcall * LPFNCANUNLOADNOW)(void);
-
-
-extern "C" HRESULT __stdcall  DllGetClassObject( const IID & rclsid,  const IID & riid,  LPVOID * ppv);
-
-extern "C" HRESULT __stdcall  DllCanUnloadNow(void);
-
-
-
-extern "C" __declspec(dllimport) LPVOID __stdcall CoTaskMemAlloc( SIZE_T cb);
-extern "C" __declspec(dllimport) LPVOID __stdcall CoTaskMemRealloc( LPVOID pv,  SIZE_T cb);
-extern "C" __declspec(dllimport) void __stdcall   CoTaskMemFree( LPVOID pv);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateDataAdviseHolder( LPDATAADVISEHOLDER * ppDAHolder);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateDataCache( LPUNKNOWN pUnkOuter,  const IID & rclsid,
-                                         const IID & iid,  LPVOID * ppv);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgCreateDocfile( const OLECHAR * pwcsName,
-             DWORD grfMode,
-             DWORD reserved,
-             IStorage  *  *ppstgOpen);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgCreateDocfileOnILockBytes( ILockBytes  *plkbyt,
-                     DWORD grfMode,
-                     DWORD reserved,
-                     IStorage  *  *ppstgOpen);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenStorage( const OLECHAR * pwcsName,
-                IStorage  *pstgPriority,
-                DWORD grfMode,
-                SNB snbExclude,
-                DWORD reserved,
-               IStorage  *  *ppstgOpen);
-extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenStorageOnILockBytes( ILockBytes  *plkbyt,
-                    IStorage  *pstgPriority,
-                    DWORD grfMode,
-                    SNB snbExclude,
-                    DWORD reserved,
-                   IStorage  *  *ppstgOpen);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgIsStorageFile( const OLECHAR * pwcsName);
-extern "C" __declspec(dllimport) HRESULT __stdcall StgIsStorageILockBytes( ILockBytes * plkbyt);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgSetTimes( OLECHAR const * lpszName,
-                    FILETIME const * pctime,
-                    FILETIME const * patime,
-                    FILETIME const * pmtime);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenAsyncDocfileOnIFillLockBytes(  IFillLockBytes *pflb,
-               DWORD grfMode,
-               DWORD asyncFlags,
-              IStorage **ppstgOpen);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgGetIFillLockBytesOnILockBytes(  ILockBytes *pilb,
-              IFillLockBytes **ppflb);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgGetIFillLockBytesOnFile( OLECHAR const *pwcsName,
-              IFillLockBytes **ppflb);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenLayoutDocfile( OLECHAR const *pwcsDfName,
-               DWORD grfMode,
-               DWORD reserved,
-              IStorage **ppstgOpen);
-
-
-
-
-
-
-
-
-
-
-typedef struct tagSTGOPTIONS
-{
-    USHORT usVersion;            
-    USHORT reserved;             
-    ULONG ulSectorSize;          
-
-    const WCHAR *pwcsTemplateFile;  
-
-} STGOPTIONS;
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgCreateStorageEx ( const WCHAR* pwcsName,
-              DWORD grfMode,
-              DWORD stgfmt,              
-              DWORD grfAttrs,             
-              STGOPTIONS * pStgOptions,
-              void * reserved,
-              const IID & riid,
-             void ** ppObjectOpen);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenStorageEx ( const WCHAR* pwcsName,
-              DWORD grfMode,
-              DWORD stgfmt,              
-              DWORD grfAttrs,             
-              STGOPTIONS * pStgOptions,
-              void * reserved,
-              const IID & riid,
-             void ** ppObjectOpen);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  BindMoniker( LPMONIKER pmk,  DWORD grfOpt,  const IID & iidResult,  LPVOID * ppvResult);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoInstall(
-      IBindCtx     * pbc,
-      DWORD          dwFlags,
-      uCLSSPEC     * pClassSpec,
-      QUERYCONTEXT * pQuery,
-      LPWSTR         pszCodeBase);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CoGetObject( LPCWSTR pszName,  BIND_OPTS *pBindOptions,  const IID & riid,  void **ppv);
-extern "C" __declspec(dllimport) HRESULT __stdcall  MkParseDisplayName( LPBC pbc,  LPCOLESTR szUserName,
-                 ULONG  * pchEaten,  LPMONIKER  * ppmk);
-extern "C" __declspec(dllimport) HRESULT __stdcall  MonikerRelativePathTo( LPMONIKER pmkSrc,  LPMONIKER pmkDest,  LPMONIKER
-                * ppmkRelPath,  BOOL dwReserved);
-extern "C" __declspec(dllimport) HRESULT __stdcall  MonikerCommonPrefixWith( LPMONIKER pmkThis,  LPMONIKER pmkOther,
-                 LPMONIKER * ppmkCommon);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateBindCtx( DWORD reserved,  LPBC * ppbc);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateGenericComposite( LPMONIKER pmkFirst,  LPMONIKER pmkRest,
-     LPMONIKER * ppmkComposite);
-extern "C" __declspec(dllimport) HRESULT __stdcall  GetClassFile ( LPCOLESTR szFilename,  CLSID * pclsid);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateClassMoniker( const IID & rclsid,  LPMONIKER * ppmk);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateFileMoniker( LPCOLESTR lpszPathName,  LPMONIKER * ppmk);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateItemMoniker( LPCOLESTR lpszDelim,  LPCOLESTR lpszItem,
-     LPMONIKER * ppmk);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateAntiMoniker( LPMONIKER * ppmk);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreatePointerMoniker( LPUNKNOWN punk,  LPMONIKER * ppmk);
-extern "C" __declspec(dllimport) HRESULT __stdcall  CreateObjrefMoniker( LPUNKNOWN punk,  LPMONIKER  * ppmk);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  GetRunningObjectTable(  DWORD reserved,  LPRUNNINGOBJECTTABLE * pprot);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IPersistMoniker IPersistMoniker;
-
-
-
-
-
-typedef struct IMonikerProp IMonikerProp;
-
-
-
-
-
-typedef struct IBindProtocol IBindProtocol;
-
-
-
-
-
-typedef struct IBinding IBinding;
-
-
-
-
-
-typedef struct IBindStatusCallback IBindStatusCallback;
-
-
-
-
-
-typedef struct IAuthenticate IAuthenticate;
-
-
-
-
-
-typedef struct IHttpNegotiate IHttpNegotiate;
-
-
-
-
-
-typedef struct IHttpNegotiate2 IHttpNegotiate2;
-
-
-
-
-
-typedef struct IWinInetFileStream IWinInetFileStream;
-
-
-
-
-
-typedef struct IWindowForBindingUI IWindowForBindingUI;
-
-
-
-
-
-typedef struct ICodeInstall ICodeInstall;
-
-
-
-
-
-typedef struct IWinInetInfo IWinInetInfo;
-
-
-
-
-
-typedef struct IHttpSecurity IHttpSecurity;
-
-
-
-
-
-typedef struct IWinInetHttpInfo IWinInetHttpInfo;
-
-
-
-
-
-typedef struct IWinInetCacheHints IWinInetCacheHints;
-
-
-
-
-
-typedef struct IBindHost IBindHost;
-
-
-
-
-
-typedef struct IInternet IInternet;
-
-
-
-
-
-typedef struct IInternetBindInfo IInternetBindInfo;
-
-
-
-
-
-typedef struct IInternetProtocolRoot IInternetProtocolRoot;
-
-
-
-
-
-typedef struct IInternetProtocol IInternetProtocol;
-
-
-
-
-
-typedef struct IInternetProtocolSink IInternetProtocolSink;
-
-
-
-
-
-typedef struct IInternetProtocolSinkStackable IInternetProtocolSinkStackable;
-
-
-
-
-
-typedef struct IInternetSession IInternetSession;
-
-
-
-
-
-typedef struct IInternetThreadSwitch IInternetThreadSwitch;
-
-
-
-
-
-typedef struct IInternetPriority IInternetPriority;
-
-
-
-
-
-typedef struct IInternetProtocolInfo IInternetProtocolInfo;
-
-
-
-
-
-typedef struct IInternetSecurityMgrSite IInternetSecurityMgrSite;
-
-
-
-
-
-typedef struct IInternetSecurityManager IInternetSecurityManager;
-
-
-
-
-
-typedef struct IInternetSecurityManagerEx IInternetSecurityManagerEx;
-
-
-
-
-
-typedef struct IZoneIdentifier IZoneIdentifier;
-
-
-
-
-
-typedef struct IInternetHostSecurityManager IInternetHostSecurityManager;
-
-
-
-
-
-typedef struct IInternetZoneManager IInternetZoneManager;
-
-
-
-
-
-typedef struct IInternetZoneManagerEx IInternetZoneManagerEx;
-
-
-
-
-
-typedef struct ISoftDistExt ISoftDistExt;
-
-
-
-
-
-typedef struct ICatalogFileInfo ICatalogFileInfo;
-
-
-
-
-
-typedef struct IDataFilter IDataFilter;
-
-
-
-
-
-typedef struct IEncodingFilterFactory IEncodingFilterFactory;
-
-
-
-
-
-typedef struct IWrappedProtocol IWrappedProtocol;
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IOleAdviseHolder IOleAdviseHolder;
-
-
-
-
-
-typedef struct IOleCache IOleCache;
-
-
-
-
-
-typedef struct IOleCache2 IOleCache2;
-
-
-
-
-
-typedef struct IOleCacheControl IOleCacheControl;
-
-
-
-
-
-typedef struct IParseDisplayName IParseDisplayName;
-
-
-
-
-
-typedef struct IOleContainer IOleContainer;
-
-
-
-
-
-typedef struct IOleClientSite IOleClientSite;
-
-
-
-
-
-typedef struct IOleObject IOleObject;
-
-
-
-
-
-typedef struct IOleWindow IOleWindow;
-
-
-
-
-
-typedef struct IOleLink IOleLink;
-
-
-
-
-
-typedef struct IOleItemContainer IOleItemContainer;
-
-
-
-
-
-typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow;
-
-
-
-
-
-typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
-
-
-
-
-
-typedef struct IOleInPlaceFrame IOleInPlaceFrame;
-
-
-
-
-
-typedef struct IOleInPlaceObject IOleInPlaceObject;
-
-
-
-
-
-typedef struct IOleInPlaceSite IOleInPlaceSite;
-
-
-
-
-
-typedef struct IContinue IContinue;
-
-
-
-
-
-typedef struct IViewObject IViewObject;
-
-
-
-
-
-typedef struct IViewObject2 IViewObject2;
-
-
-
-
-
-typedef struct IDropSource IDropSource;
-
-
-
-
-
-typedef struct IDropTarget IDropTarget;
-
-
-
-
-
-typedef struct IEnumOLEVERB IEnumOLEVERB;
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IOleAdviseHolder *LPOLEADVISEHOLDER;
-
-
-extern "C" const IID IID_IOleAdviseHolder;
-
-
-    
-    struct __declspec(uuid("00000111-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleAdviseHolder : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Advise( 
-             IAdviseSink *pAdvise,
-             DWORD *pdwConnection) = 0;
-        
-        virtual HRESULT __stdcall Unadvise( 
-             DWORD dwConnection) = 0;
-        
-        virtual HRESULT __stdcall EnumAdvise( 
-             IEnumSTATDATA **ppenumAdvise) = 0;
-        
-        virtual HRESULT __stdcall SendOnRename( 
-             IMoniker *pmk) = 0;
-        
-        virtual HRESULT __stdcall SendOnSave( void) = 0;
-        
-        virtual HRESULT __stdcall SendOnClose( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleAdviseHolder_Advise_Proxy( 
-    IOleAdviseHolder * This,
-     IAdviseSink *pAdvise,
-     DWORD *pdwConnection);
-
-
-void __stdcall IOleAdviseHolder_Advise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleAdviseHolder_Unadvise_Proxy( 
-    IOleAdviseHolder * This,
-     DWORD dwConnection);
-
-
-void __stdcall IOleAdviseHolder_Unadvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleAdviseHolder_EnumAdvise_Proxy( 
-    IOleAdviseHolder * This,
-     IEnumSTATDATA **ppenumAdvise);
-
-
-void __stdcall IOleAdviseHolder_EnumAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleAdviseHolder_SendOnRename_Proxy( 
-    IOleAdviseHolder * This,
-     IMoniker *pmk);
-
-
-void __stdcall IOleAdviseHolder_SendOnRename_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleAdviseHolder_SendOnSave_Proxy( 
-    IOleAdviseHolder * This);
-
-
-void __stdcall IOleAdviseHolder_SendOnSave_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleAdviseHolder_SendOnClose_Proxy( 
-    IOleAdviseHolder * This);
-
-
-void __stdcall IOleAdviseHolder_SendOnClose_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleCache *LPOLECACHE;
-
-
-extern "C" const IID IID_IOleCache;
-
-
-    
-    struct __declspec(uuid("0000011e-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleCache : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Cache( 
-             FORMATETC *pformatetc,
-             DWORD advf,
-             DWORD *pdwConnection) = 0;
-        
-        virtual HRESULT __stdcall Uncache( 
-             DWORD dwConnection) = 0;
-        
-        virtual HRESULT __stdcall EnumCache( 
-             IEnumSTATDATA **ppenumSTATDATA) = 0;
-        
-        virtual HRESULT __stdcall InitCache( 
-             IDataObject *pDataObject) = 0;
-        
-        virtual HRESULT __stdcall SetData( 
-             FORMATETC *pformatetc,
-             STGMEDIUM *pmedium,
-             BOOL fRelease) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleCache_Cache_Proxy( 
-    IOleCache * This,
-     FORMATETC *pformatetc,
-     DWORD advf,
-     DWORD *pdwConnection);
-
-
-void __stdcall IOleCache_Cache_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleCache_Uncache_Proxy( 
-    IOleCache * This,
-     DWORD dwConnection);
-
-
-void __stdcall IOleCache_Uncache_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleCache_EnumCache_Proxy( 
-    IOleCache * This,
-     IEnumSTATDATA **ppenumSTATDATA);
-
-
-void __stdcall IOleCache_EnumCache_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleCache_InitCache_Proxy( 
-    IOleCache * This,
-     IDataObject *pDataObject);
-
-
-void __stdcall IOleCache_InitCache_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleCache_SetData_Proxy( 
-    IOleCache * This,
-     FORMATETC *pformatetc,
-     STGMEDIUM *pmedium,
-     BOOL fRelease);
-
-
-void __stdcall IOleCache_SetData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleCache2 *LPOLECACHE2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  
-enum tagDISCARDCACHE
-    {	DISCARDCACHE_SAVEIFDIRTY	= 0,
-	DISCARDCACHE_NOSAVE	= 1
-    } 	DISCARDCACHE;
-
-
-extern "C" const IID IID_IOleCache2;
-
-
-    
-    struct __declspec(uuid("00000128-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleCache2 : public IOleCache
-    {
-    public:
-        virtual  HRESULT __stdcall UpdateCache( 
-             LPDATAOBJECT pDataObject,
-             DWORD grfUpdf,
-             LPVOID pReserved) = 0;
-        
-        virtual HRESULT __stdcall DiscardCache( 
-             DWORD dwDiscardOptions) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IOleCache2_RemoteUpdateCache_Proxy( 
-    IOleCache2 * This,
-     LPDATAOBJECT pDataObject,
-     DWORD grfUpdf,
-     LONG_PTR pReserved);
-
-
-void __stdcall IOleCache2_RemoteUpdateCache_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleCache2_DiscardCache_Proxy( 
-    IOleCache2 * This,
-     DWORD dwDiscardOptions);
-
-
-void __stdcall IOleCache2_DiscardCache_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleCacheControl *LPOLECACHECONTROL;
-
-
-extern "C" const IID IID_IOleCacheControl;
-
-
-    
-    struct __declspec(uuid("00000129-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleCacheControl : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall OnRun( 
-            LPDATAOBJECT pDataObject) = 0;
-        
-        virtual HRESULT __stdcall OnStop( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleCacheControl_OnRun_Proxy( 
-    IOleCacheControl * This,
-    LPDATAOBJECT pDataObject);
-
-
-void __stdcall IOleCacheControl_OnRun_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleCacheControl_OnStop_Proxy( 
-    IOleCacheControl * This);
-
-
-void __stdcall IOleCacheControl_OnStop_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IParseDisplayName *LPPARSEDISPLAYNAME;
-
-
-extern "C" const IID IID_IParseDisplayName;
-
-
-    
-    struct __declspec(uuid("0000011a-0000-0000-C000-000000000046")) __declspec(novtable)
-    IParseDisplayName : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ParseDisplayName( 
-             IBindCtx *pbc,
-             LPOLESTR pszDisplayName,
-             ULONG *pchEaten,
-             IMoniker **ppmkOut) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IParseDisplayName_ParseDisplayName_Proxy( 
-    IParseDisplayName * This,
-     IBindCtx *pbc,
-     LPOLESTR pszDisplayName,
-     ULONG *pchEaten,
-     IMoniker **ppmkOut);
-
-
-void __stdcall IParseDisplayName_ParseDisplayName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleContainer *LPOLECONTAINER;
-
-
-extern "C" const IID IID_IOleContainer;
-
-
-    
-    struct __declspec(uuid("0000011b-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleContainer : public IParseDisplayName
-    {
-    public:
-        virtual HRESULT __stdcall EnumObjects( 
-             DWORD grfFlags,
-             IEnumUnknown **ppenum) = 0;
-        
-        virtual HRESULT __stdcall LockContainer( 
-             BOOL fLock) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleContainer_EnumObjects_Proxy( 
-    IOleContainer * This,
-     DWORD grfFlags,
-     IEnumUnknown **ppenum);
-
-
-void __stdcall IOleContainer_EnumObjects_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleContainer_LockContainer_Proxy( 
-    IOleContainer * This,
-     BOOL fLock);
-
-
-void __stdcall IOleContainer_LockContainer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleClientSite *LPOLECLIENTSITE;
-
-
-extern "C" const IID IID_IOleClientSite;
-
-
-    
-    struct __declspec(uuid("00000118-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleClientSite : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SaveObject( void) = 0;
-        
-        virtual HRESULT __stdcall GetMoniker( 
-             DWORD dwAssign,
-             DWORD dwWhichMoniker,
-             IMoniker **ppmk) = 0;
-        
-        virtual HRESULT __stdcall GetContainer( 
-             IOleContainer **ppContainer) = 0;
-        
-        virtual HRESULT __stdcall ShowObject( void) = 0;
-        
-        virtual HRESULT __stdcall OnShowWindow( 
-             BOOL fShow) = 0;
-        
-        virtual HRESULT __stdcall RequestNewObjectLayout( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleClientSite_SaveObject_Proxy( 
-    IOleClientSite * This);
-
-
-void __stdcall IOleClientSite_SaveObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleClientSite_GetMoniker_Proxy( 
-    IOleClientSite * This,
-     DWORD dwAssign,
-     DWORD dwWhichMoniker,
-     IMoniker **ppmk);
-
-
-void __stdcall IOleClientSite_GetMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleClientSite_GetContainer_Proxy( 
-    IOleClientSite * This,
-     IOleContainer **ppContainer);
-
-
-void __stdcall IOleClientSite_GetContainer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleClientSite_ShowObject_Proxy( 
-    IOleClientSite * This);
-
-
-void __stdcall IOleClientSite_ShowObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleClientSite_OnShowWindow_Proxy( 
-    IOleClientSite * This,
-     BOOL fShow);
-
-
-void __stdcall IOleClientSite_OnShowWindow_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleClientSite_RequestNewObjectLayout_Proxy( 
-    IOleClientSite * This);
-
-
-void __stdcall IOleClientSite_RequestNewObjectLayout_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleObject *LPOLEOBJECT;
-
-typedef 
-enum tagOLEGETMONIKER
-    {	OLEGETMONIKER_ONLYIFTHERE	= 1,
-	OLEGETMONIKER_FORCEASSIGN	= 2,
-	OLEGETMONIKER_UNASSIGN	= 3,
-	OLEGETMONIKER_TEMPFORUSER	= 4
-    } 	OLEGETMONIKER;
-
-typedef 
-enum tagOLEWHICHMK
-    {	OLEWHICHMK_CONTAINER	= 1,
-	OLEWHICHMK_OBJREL	= 2,
-	OLEWHICHMK_OBJFULL	= 3
-    } 	OLEWHICHMK;
-
-typedef 
-enum tagUSERCLASSTYPE
-    {	USERCLASSTYPE_FULL	= 1,
-	USERCLASSTYPE_SHORT	= 2,
-	USERCLASSTYPE_APPNAME	= 3
-    } 	USERCLASSTYPE;
-
-typedef 
-enum tagOLEMISC
-    {	OLEMISC_RECOMPOSEONRESIZE	= 0x1,
-	OLEMISC_ONLYICONIC	= 0x2,
-	OLEMISC_INSERTNOTREPLACE	= 0x4,
-	OLEMISC_STATIC	= 0x8,
-	OLEMISC_CANTLINKINSIDE	= 0x10,
-	OLEMISC_CANLINKBYOLE1	= 0x20,
-	OLEMISC_ISLINKOBJECT	= 0x40,
-	OLEMISC_INSIDEOUT	= 0x80,
-	OLEMISC_ACTIVATEWHENVISIBLE	= 0x100,
-	OLEMISC_RENDERINGISDEVICEINDEPENDENT	= 0x200,
-	OLEMISC_INVISIBLEATRUNTIME	= 0x400,
-	OLEMISC_ALWAYSRUN	= 0x800,
-	OLEMISC_ACTSLIKEBUTTON	= 0x1000,
-	OLEMISC_ACTSLIKELABEL	= 0x2000,
-	OLEMISC_NOUIACTIVATE	= 0x4000,
-	OLEMISC_ALIGNABLE	= 0x8000,
-	OLEMISC_SIMPLEFRAME	= 0x10000,
-	OLEMISC_SETCLIENTSITEFIRST	= 0x20000,
-	OLEMISC_IMEMODE	= 0x40000,
-	OLEMISC_IGNOREACTIVATEWHENVISIBLE	= 0x80000,
-	OLEMISC_WANTSTOMENUMERGE	= 0x100000,
-	OLEMISC_SUPPORTSMULTILEVELUNDO	= 0x200000
-    } 	OLEMISC;
-
-typedef 
-enum tagOLECLOSE
-    {	OLECLOSE_SAVEIFDIRTY	= 0,
-	OLECLOSE_NOSAVE	= 1,
-	OLECLOSE_PROMPTSAVE	= 2
-    } 	OLECLOSE;
-
-
-extern "C" const IID IID_IOleObject;
-
-
-    
-    struct __declspec(uuid("00000112-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleObject : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetClientSite( 
-             IOleClientSite *pClientSite) = 0;
-        
-        virtual HRESULT __stdcall GetClientSite( 
-             IOleClientSite **ppClientSite) = 0;
-        
-        virtual HRESULT __stdcall SetHostNames( 
-             LPCOLESTR szContainerApp,
-             LPCOLESTR szContainerObj) = 0;
-        
-        virtual HRESULT __stdcall Close( 
-             DWORD dwSaveOption) = 0;
-        
-        virtual HRESULT __stdcall SetMoniker( 
-             DWORD dwWhichMoniker,
-             IMoniker *pmk) = 0;
-        
-        virtual HRESULT __stdcall GetMoniker( 
-             DWORD dwAssign,
-             DWORD dwWhichMoniker,
-             IMoniker **ppmk) = 0;
-        
-        virtual HRESULT __stdcall InitFromData( 
-             IDataObject *pDataObject,
-             BOOL fCreation,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall GetClipboardData( 
-             DWORD dwReserved,
-             IDataObject **ppDataObject) = 0;
-        
-        virtual HRESULT __stdcall DoVerb( 
-             LONG iVerb,
-             LPMSG lpmsg,
-             IOleClientSite *pActiveSite,
-             LONG lindex,
-             HWND hwndParent,
-             LPCRECT lprcPosRect) = 0;
-        
-        virtual HRESULT __stdcall EnumVerbs( 
-             IEnumOLEVERB **ppEnumOleVerb) = 0;
-        
-        virtual HRESULT __stdcall Update( void) = 0;
-        
-        virtual HRESULT __stdcall IsUpToDate( void) = 0;
-        
-        virtual HRESULT __stdcall GetUserClassID( 
-             CLSID *pClsid) = 0;
-        
-        virtual HRESULT __stdcall GetUserType( 
-             DWORD dwFormOfType,
-             LPOLESTR *pszUserType) = 0;
-        
-        virtual HRESULT __stdcall SetExtent( 
-             DWORD dwDrawAspect,
-             SIZEL *psizel) = 0;
-        
-        virtual HRESULT __stdcall GetExtent( 
-             DWORD dwDrawAspect,
-             SIZEL *psizel) = 0;
-        
-        virtual HRESULT __stdcall Advise( 
-             IAdviseSink *pAdvSink,
-             DWORD *pdwConnection) = 0;
-        
-        virtual HRESULT __stdcall Unadvise( 
-             DWORD dwConnection) = 0;
-        
-        virtual HRESULT __stdcall EnumAdvise( 
-             IEnumSTATDATA **ppenumAdvise) = 0;
-        
-        virtual HRESULT __stdcall GetMiscStatus( 
-             DWORD dwAspect,
-             DWORD *pdwStatus) = 0;
-        
-        virtual HRESULT __stdcall SetColorScheme( 
-             LOGPALETTE *pLogpal) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleObject_SetClientSite_Proxy( 
-    IOleObject * This,
-     IOleClientSite *pClientSite);
-
-
-void __stdcall IOleObject_SetClientSite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetClientSite_Proxy( 
-    IOleObject * This,
-     IOleClientSite **ppClientSite);
-
-
-void __stdcall IOleObject_GetClientSite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_SetHostNames_Proxy( 
-    IOleObject * This,
-     LPCOLESTR szContainerApp,
-     LPCOLESTR szContainerObj);
-
-
-void __stdcall IOleObject_SetHostNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_Close_Proxy( 
-    IOleObject * This,
-     DWORD dwSaveOption);
-
-
-void __stdcall IOleObject_Close_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_SetMoniker_Proxy( 
-    IOleObject * This,
-     DWORD dwWhichMoniker,
-     IMoniker *pmk);
-
-
-void __stdcall IOleObject_SetMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetMoniker_Proxy( 
-    IOleObject * This,
-     DWORD dwAssign,
-     DWORD dwWhichMoniker,
-     IMoniker **ppmk);
-
-
-void __stdcall IOleObject_GetMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_InitFromData_Proxy( 
-    IOleObject * This,
-     IDataObject *pDataObject,
-     BOOL fCreation,
-     DWORD dwReserved);
-
-
-void __stdcall IOleObject_InitFromData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetClipboardData_Proxy( 
-    IOleObject * This,
-     DWORD dwReserved,
-     IDataObject **ppDataObject);
-
-
-void __stdcall IOleObject_GetClipboardData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_DoVerb_Proxy( 
-    IOleObject * This,
-     LONG iVerb,
-     LPMSG lpmsg,
-     IOleClientSite *pActiveSite,
-     LONG lindex,
-     HWND hwndParent,
-     LPCRECT lprcPosRect);
-
-
-void __stdcall IOleObject_DoVerb_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_EnumVerbs_Proxy( 
-    IOleObject * This,
-     IEnumOLEVERB **ppEnumOleVerb);
-
-
-void __stdcall IOleObject_EnumVerbs_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_Update_Proxy( 
-    IOleObject * This);
-
-
-void __stdcall IOleObject_Update_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_IsUpToDate_Proxy( 
-    IOleObject * This);
-
-
-void __stdcall IOleObject_IsUpToDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetUserClassID_Proxy( 
-    IOleObject * This,
-     CLSID *pClsid);
-
-
-void __stdcall IOleObject_GetUserClassID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetUserType_Proxy( 
-    IOleObject * This,
-     DWORD dwFormOfType,
-     LPOLESTR *pszUserType);
-
-
-void __stdcall IOleObject_GetUserType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_SetExtent_Proxy( 
-    IOleObject * This,
-     DWORD dwDrawAspect,
-     SIZEL *psizel);
-
-
-void __stdcall IOleObject_SetExtent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetExtent_Proxy( 
-    IOleObject * This,
-     DWORD dwDrawAspect,
-     SIZEL *psizel);
-
-
-void __stdcall IOleObject_GetExtent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_Advise_Proxy( 
-    IOleObject * This,
-     IAdviseSink *pAdvSink,
-     DWORD *pdwConnection);
-
-
-void __stdcall IOleObject_Advise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_Unadvise_Proxy( 
-    IOleObject * This,
-     DWORD dwConnection);
-
-
-void __stdcall IOleObject_Unadvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_EnumAdvise_Proxy( 
-    IOleObject * This,
-     IEnumSTATDATA **ppenumAdvise);
-
-
-void __stdcall IOleObject_EnumAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_GetMiscStatus_Proxy( 
-    IOleObject * This,
-     DWORD dwAspect,
-     DWORD *pdwStatus);
-
-
-void __stdcall IOleObject_GetMiscStatus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleObject_SetColorScheme_Proxy( 
-    IOleObject * This,
-     LOGPALETTE *pLogpal);
-
-
-void __stdcall IOleObject_SetColorScheme_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef 
-enum tagOLERENDER
-    {	OLERENDER_NONE	= 0,
-	OLERENDER_DRAW	= 1,
-	OLERENDER_FORMAT	= 2,
-	OLERENDER_ASIS	= 3
-    } 	OLERENDER;
-
-typedef OLERENDER *LPOLERENDER;
-
-typedef struct tagOBJECTDESCRIPTOR
-    {
-    ULONG cbSize;
-    CLSID clsid;
-    DWORD dwDrawAspect;
-    SIZEL sizel;
-    POINTL pointl;
-    DWORD dwStatus;
-    DWORD dwFullUserTypeName;
-    DWORD dwSrcOfCopy;
-    } 	OBJECTDESCRIPTOR;
-
-typedef struct tagOBJECTDESCRIPTOR *POBJECTDESCRIPTOR;
-
-typedef struct tagOBJECTDESCRIPTOR *LPOBJECTDESCRIPTOR;
-
-typedef struct tagOBJECTDESCRIPTOR LINKSRCDESCRIPTOR;
-
-typedef struct tagOBJECTDESCRIPTOR *PLINKSRCDESCRIPTOR;
-
-typedef struct tagOBJECTDESCRIPTOR *LPLINKSRCDESCRIPTOR;
-
-
-
-extern RPC_IF_HANDLE IOLETypes_v0_0_c_ifspec;
-extern RPC_IF_HANDLE IOLETypes_v0_0_s_ifspec;
-
-
-
-
-
-
- 
-
-typedef  IOleWindow *LPOLEWINDOW;
-
-
-extern "C" const IID IID_IOleWindow;
-
-
-    
-    struct __declspec(uuid("00000114-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleWindow : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall GetWindow( 
-             HWND *phwnd) = 0;
-        
-        virtual HRESULT __stdcall ContextSensitiveHelp( 
-             BOOL fEnterMode) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IOleWindow_GetWindow_Proxy( 
-    IOleWindow * This,
-     HWND *phwnd);
-
-
-void __stdcall IOleWindow_GetWindow_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleWindow_ContextSensitiveHelp_Proxy( 
-    IOleWindow * This,
-     BOOL fEnterMode);
-
-
-void __stdcall IOleWindow_ContextSensitiveHelp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleLink *LPOLELINK;
-
-typedef 
-enum tagOLEUPDATE
-    {	OLEUPDATE_ALWAYS	= 1,
-	OLEUPDATE_ONCALL	= 3
-    } 	OLEUPDATE;
-
-typedef OLEUPDATE *LPOLEUPDATE;
-
-typedef OLEUPDATE *POLEUPDATE;
-
-typedef 
-enum tagOLELINKBIND
-    {	OLELINKBIND_EVENIFCLASSDIFF	= 1
-    } 	OLELINKBIND;
-
-
-extern "C" const IID IID_IOleLink;
-
-
-    
-    struct __declspec(uuid("0000011d-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleLink : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetUpdateOptions( 
-             DWORD dwUpdateOpt) = 0;
-        
-        virtual HRESULT __stdcall GetUpdateOptions( 
-             DWORD *pdwUpdateOpt) = 0;
-        
-        virtual HRESULT __stdcall SetSourceMoniker( 
-             IMoniker *pmk,
-             const IID & rclsid) = 0;
-        
-        virtual HRESULT __stdcall GetSourceMoniker( 
-             IMoniker **ppmk) = 0;
-        
-        virtual HRESULT __stdcall SetSourceDisplayName( 
-             LPCOLESTR pszStatusText) = 0;
-        
-        virtual HRESULT __stdcall GetSourceDisplayName( 
-             LPOLESTR *ppszDisplayName) = 0;
-        
-        virtual HRESULT __stdcall BindToSource( 
-             DWORD bindflags,
-             IBindCtx *pbc) = 0;
-        
-        virtual HRESULT __stdcall BindIfRunning( void) = 0;
-        
-        virtual HRESULT __stdcall GetBoundSource( 
-             IUnknown **ppunk) = 0;
-        
-        virtual HRESULT __stdcall UnbindSource( void) = 0;
-        
-        virtual HRESULT __stdcall Update( 
-             IBindCtx *pbc) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleLink_SetUpdateOptions_Proxy( 
-    IOleLink * This,
-     DWORD dwUpdateOpt);
-
-
-void __stdcall IOleLink_SetUpdateOptions_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_GetUpdateOptions_Proxy( 
-    IOleLink * This,
-     DWORD *pdwUpdateOpt);
-
-
-void __stdcall IOleLink_GetUpdateOptions_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_SetSourceMoniker_Proxy( 
-    IOleLink * This,
-     IMoniker *pmk,
-     const IID & rclsid);
-
-
-void __stdcall IOleLink_SetSourceMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_GetSourceMoniker_Proxy( 
-    IOleLink * This,
-     IMoniker **ppmk);
-
-
-void __stdcall IOleLink_GetSourceMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_SetSourceDisplayName_Proxy( 
-    IOleLink * This,
-     LPCOLESTR pszStatusText);
-
-
-void __stdcall IOleLink_SetSourceDisplayName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_GetSourceDisplayName_Proxy( 
-    IOleLink * This,
-     LPOLESTR *ppszDisplayName);
-
-
-void __stdcall IOleLink_GetSourceDisplayName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_BindToSource_Proxy( 
-    IOleLink * This,
-     DWORD bindflags,
-     IBindCtx *pbc);
-
-
-void __stdcall IOleLink_BindToSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_BindIfRunning_Proxy( 
-    IOleLink * This);
-
-
-void __stdcall IOleLink_BindIfRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_GetBoundSource_Proxy( 
-    IOleLink * This,
-     IUnknown **ppunk);
-
-
-void __stdcall IOleLink_GetBoundSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_UnbindSource_Proxy( 
-    IOleLink * This);
-
-
-void __stdcall IOleLink_UnbindSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleLink_Update_Proxy( 
-    IOleLink * This,
-     IBindCtx *pbc);
-
-
-void __stdcall IOleLink_Update_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleItemContainer *LPOLEITEMCONTAINER;
-
-typedef 
-enum tagBINDSPEED
-    {	BINDSPEED_INDEFINITE	= 1,
-	BINDSPEED_MODERATE	= 2,
-	BINDSPEED_IMMEDIATE	= 3
-    } 	BINDSPEED;
-
-typedef  
-enum tagOLECONTF
-    {	OLECONTF_EMBEDDINGS	= 1,
-	OLECONTF_LINKS	= 2,
-	OLECONTF_OTHERS	= 4,
-	OLECONTF_ONLYUSER	= 8,
-	OLECONTF_ONLYIFRUNNING	= 16
-    } 	OLECONTF;
-
-
-extern "C" const IID IID_IOleItemContainer;
-
-
-    
-    struct __declspec(uuid("0000011c-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleItemContainer : public IOleContainer
-    {
-    public:
-        virtual HRESULT __stdcall GetObjectW( 
-             LPOLESTR pszItem,
-             DWORD dwSpeedNeeded,
-             IBindCtx *pbc,
-             const IID & riid,
-             void **ppvObject) = 0;
-        
-        virtual HRESULT __stdcall GetObjectStorage( 
-             LPOLESTR pszItem,
-             IBindCtx *pbc,
-             const IID & riid,
-             void **ppvStorage) = 0;
-        
-        virtual HRESULT __stdcall IsRunning( 
-             LPOLESTR pszItem) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleItemContainer_GetObject_Proxy( 
-    IOleItemContainer * This,
-     LPOLESTR pszItem,
-     DWORD dwSpeedNeeded,
-     IBindCtx *pbc,
-     const IID & riid,
-     void **ppvObject);
-
-
-void __stdcall IOleItemContainer_GetObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleItemContainer_GetObjectStorage_Proxy( 
-    IOleItemContainer * This,
-     LPOLESTR pszItem,
-     IBindCtx *pbc,
-     const IID & riid,
-     void **ppvStorage);
-
-
-void __stdcall IOleItemContainer_GetObjectStorage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleItemContainer_IsRunning_Proxy( 
-    IOleItemContainer * This,
-     LPOLESTR pszItem);
-
-
-void __stdcall IOleItemContainer_IsRunning_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
-
-typedef RECT BORDERWIDTHS;
-
-typedef LPRECT LPBORDERWIDTHS;
-
-typedef LPCRECT LPCBORDERWIDTHS;
-
-
-extern "C" const IID IID_IOleInPlaceUIWindow;
-
-
-    
-    struct __declspec(uuid("00000115-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleInPlaceUIWindow : public IOleWindow
-    {
-    public:
-        virtual  HRESULT __stdcall GetBorder( 
-             LPRECT lprectBorder) = 0;
-        
-        virtual  HRESULT __stdcall RequestBorderSpace( 
-             LPCBORDERWIDTHS pborderwidths) = 0;
-        
-        virtual  HRESULT __stdcall SetBorderSpace( 
-             LPCBORDERWIDTHS pborderwidths) = 0;
-        
-        virtual HRESULT __stdcall SetActiveObject( 
-             IOleInPlaceActiveObject *pActiveObject,
-             LPCOLESTR pszObjName) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IOleInPlaceUIWindow_GetBorder_Proxy( 
-    IOleInPlaceUIWindow * This,
-     LPRECT lprectBorder);
-
-
-void __stdcall IOleInPlaceUIWindow_GetBorder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceUIWindow_RequestBorderSpace_Proxy( 
-    IOleInPlaceUIWindow * This,
-     LPCBORDERWIDTHS pborderwidths);
-
-
-void __stdcall IOleInPlaceUIWindow_RequestBorderSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceUIWindow_SetBorderSpace_Proxy( 
-    IOleInPlaceUIWindow * This,
-     LPCBORDERWIDTHS pborderwidths);
-
-
-void __stdcall IOleInPlaceUIWindow_SetBorderSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceUIWindow_SetActiveObject_Proxy( 
-    IOleInPlaceUIWindow * This,
-     IOleInPlaceActiveObject *pActiveObject,
-     LPCOLESTR pszObjName);
-
-
-void __stdcall IOleInPlaceUIWindow_SetActiveObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
-
-
-extern "C" const IID IID_IOleInPlaceActiveObject;
-
-
-    
-    struct __declspec(uuid("00000117-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleInPlaceActiveObject : public IOleWindow
-    {
-    public:
-        virtual  HRESULT __stdcall TranslateAcceleratorW( 
-             LPMSG lpmsg) = 0;
-        
-        virtual  HRESULT __stdcall OnFrameWindowActivate( 
-             BOOL fActivate) = 0;
-        
-        virtual  HRESULT __stdcall OnDocWindowActivate( 
-             BOOL fActivate) = 0;
-        
-        virtual  HRESULT __stdcall ResizeBorder( 
-             LPCRECT prcBorder,
-             IOleInPlaceUIWindow *pUIWindow,
-             BOOL fFrameWindow) = 0;
-        
-        virtual HRESULT __stdcall EnableModeless( 
-             BOOL fEnable) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy( 
-    IOleInPlaceActiveObject * This);
-
-
-void __stdcall IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy( 
-    IOleInPlaceActiveObject * This,
-     BOOL fActivate);
-
-
-void __stdcall IOleInPlaceActiveObject_OnFrameWindowActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceActiveObject_OnDocWindowActivate_Proxy( 
-    IOleInPlaceActiveObject * This,
-     BOOL fActivate);
-
-
-void __stdcall IOleInPlaceActiveObject_OnDocWindowActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceActiveObject_RemoteResizeBorder_Proxy( 
-    IOleInPlaceActiveObject * This,
-     LPCRECT prcBorder,
-     const IID & riid,
-     IOleInPlaceUIWindow *pUIWindow,
-     BOOL fFrameWindow);
-
-
-void __stdcall IOleInPlaceActiveObject_RemoteResizeBorder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceActiveObject_EnableModeless_Proxy( 
-    IOleInPlaceActiveObject * This,
-     BOOL fEnable);
-
-
-void __stdcall IOleInPlaceActiveObject_EnableModeless_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleInPlaceFrame *LPOLEINPLACEFRAME;
-
-typedef struct tagOIFI
-    {
-    UINT cb;
-    BOOL fMDIApp;
-    HWND hwndFrame;
-    HACCEL haccel;
-    UINT cAccelEntries;
-    } 	OLEINPLACEFRAMEINFO;
-
-typedef struct tagOIFI *LPOLEINPLACEFRAMEINFO;
-
-typedef struct tagOleMenuGroupWidths
-    {
-    LONG width[ 6 ];
-    } 	OLEMENUGROUPWIDTHS;
-
-typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS;
-
-typedef HGLOBAL HOLEMENU;
-
-
-extern "C" const IID IID_IOleInPlaceFrame;
-
-
-    
-    struct __declspec(uuid("00000116-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleInPlaceFrame : public IOleInPlaceUIWindow
-    {
-    public:
-        virtual HRESULT __stdcall InsertMenus( 
-             HMENU hmenuShared,
-             LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
-        
-        virtual  HRESULT __stdcall SetMenu( 
-             HMENU hmenuShared,
-             HOLEMENU holemenu,
-             HWND hwndActiveObject) = 0;
-        
-        virtual HRESULT __stdcall RemoveMenus( 
-             HMENU hmenuShared) = 0;
-        
-        virtual  HRESULT __stdcall SetStatusText( 
-             LPCOLESTR pszStatusText) = 0;
-        
-        virtual HRESULT __stdcall EnableModeless( 
-             BOOL fEnable) = 0;
-        
-        virtual HRESULT __stdcall TranslateAcceleratorW( 
-             LPMSG lpmsg,
-             WORD wID) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleInPlaceFrame_InsertMenus_Proxy( 
-    IOleInPlaceFrame * This,
-     HMENU hmenuShared,
-     LPOLEMENUGROUPWIDTHS lpMenuWidths);
-
-
-void __stdcall IOleInPlaceFrame_InsertMenus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceFrame_SetMenu_Proxy( 
-    IOleInPlaceFrame * This,
-     HMENU hmenuShared,
-     HOLEMENU holemenu,
-     HWND hwndActiveObject);
-
-
-void __stdcall IOleInPlaceFrame_SetMenu_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceFrame_RemoveMenus_Proxy( 
-    IOleInPlaceFrame * This,
-     HMENU hmenuShared);
-
-
-void __stdcall IOleInPlaceFrame_RemoveMenus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceFrame_SetStatusText_Proxy( 
-    IOleInPlaceFrame * This,
-     LPCOLESTR pszStatusText);
-
-
-void __stdcall IOleInPlaceFrame_SetStatusText_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceFrame_EnableModeless_Proxy( 
-    IOleInPlaceFrame * This,
-     BOOL fEnable);
-
-
-void __stdcall IOleInPlaceFrame_EnableModeless_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceFrame_TranslateAccelerator_Proxy( 
-    IOleInPlaceFrame * This,
-     LPMSG lpmsg,
-     WORD wID);
-
-
-void __stdcall IOleInPlaceFrame_TranslateAccelerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleInPlaceObject *LPOLEINPLACEOBJECT;
-
-
-extern "C" const IID IID_IOleInPlaceObject;
-
-
-    
-    struct __declspec(uuid("00000113-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleInPlaceObject : public IOleWindow
-    {
-    public:
-        virtual HRESULT __stdcall InPlaceDeactivate( void) = 0;
-        
-        virtual HRESULT __stdcall UIDeactivate( void) = 0;
-        
-        virtual  HRESULT __stdcall SetObjectRects( 
-             LPCRECT lprcPosRect,
-             LPCRECT lprcClipRect) = 0;
-        
-        virtual HRESULT __stdcall ReactivateAndUndo( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleInPlaceObject_InPlaceDeactivate_Proxy( 
-    IOleInPlaceObject * This);
-
-
-void __stdcall IOleInPlaceObject_InPlaceDeactivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceObject_UIDeactivate_Proxy( 
-    IOleInPlaceObject * This);
-
-
-void __stdcall IOleInPlaceObject_UIDeactivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IOleInPlaceObject_SetObjectRects_Proxy( 
-    IOleInPlaceObject * This,
-     LPCRECT lprcPosRect,
-     LPCRECT lprcClipRect);
-
-
-void __stdcall IOleInPlaceObject_SetObjectRects_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceObject_ReactivateAndUndo_Proxy( 
-    IOleInPlaceObject * This);
-
-
-void __stdcall IOleInPlaceObject_ReactivateAndUndo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IOleInPlaceSite *LPOLEINPLACESITE;
-
-
-extern "C" const IID IID_IOleInPlaceSite;
-
-
-    
-    struct __declspec(uuid("00000119-0000-0000-C000-000000000046")) __declspec(novtable)
-    IOleInPlaceSite : public IOleWindow
-    {
-    public:
-        virtual HRESULT __stdcall CanInPlaceActivate( void) = 0;
-        
-        virtual HRESULT __stdcall OnInPlaceActivate( void) = 0;
-        
-        virtual HRESULT __stdcall OnUIActivate( void) = 0;
-        
-        virtual HRESULT __stdcall GetWindowContext( 
-             IOleInPlaceFrame **ppFrame,
-             IOleInPlaceUIWindow **ppDoc,
-             LPRECT lprcPosRect,
-             LPRECT lprcClipRect,
-             LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0;
-        
-        virtual HRESULT __stdcall Scroll( 
-             SIZE scrollExtant) = 0;
-        
-        virtual HRESULT __stdcall OnUIDeactivate( 
-             BOOL fUndoable) = 0;
-        
-        virtual HRESULT __stdcall OnInPlaceDeactivate( void) = 0;
-        
-        virtual HRESULT __stdcall DiscardUndoState( void) = 0;
-        
-        virtual HRESULT __stdcall DeactivateAndUndo( void) = 0;
-        
-        virtual HRESULT __stdcall OnPosRectChange( 
-             LPCRECT lprcPosRect) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleInPlaceSite_CanInPlaceActivate_Proxy( 
-    IOleInPlaceSite * This);
-
-
-void __stdcall IOleInPlaceSite_CanInPlaceActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_OnInPlaceActivate_Proxy( 
-    IOleInPlaceSite * This);
-
-
-void __stdcall IOleInPlaceSite_OnInPlaceActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_OnUIActivate_Proxy( 
-    IOleInPlaceSite * This);
-
-
-void __stdcall IOleInPlaceSite_OnUIActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_GetWindowContext_Proxy( 
-    IOleInPlaceSite * This,
-     IOleInPlaceFrame **ppFrame,
-     IOleInPlaceUIWindow **ppDoc,
-     LPRECT lprcPosRect,
-     LPRECT lprcClipRect,
-     LPOLEINPLACEFRAMEINFO lpFrameInfo);
-
-
-void __stdcall IOleInPlaceSite_GetWindowContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_Scroll_Proxy( 
-    IOleInPlaceSite * This,
-     SIZE scrollExtant);
-
-
-void __stdcall IOleInPlaceSite_Scroll_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_OnUIDeactivate_Proxy( 
-    IOleInPlaceSite * This,
-     BOOL fUndoable);
-
-
-void __stdcall IOleInPlaceSite_OnUIDeactivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_OnInPlaceDeactivate_Proxy( 
-    IOleInPlaceSite * This);
-
-
-void __stdcall IOleInPlaceSite_OnInPlaceDeactivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_DiscardUndoState_Proxy( 
-    IOleInPlaceSite * This);
-
-
-void __stdcall IOleInPlaceSite_DiscardUndoState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_DeactivateAndUndo_Proxy( 
-    IOleInPlaceSite * This);
-
-
-void __stdcall IOleInPlaceSite_DeactivateAndUndo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSite_OnPosRectChange_Proxy( 
-    IOleInPlaceSite * This,
-     LPCRECT lprcPosRect);
-
-
-void __stdcall IOleInPlaceSite_OnPosRectChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IContinue;
-
-
-    
-    struct __declspec(uuid("0000012a-0000-0000-C000-000000000046")) __declspec(novtable)
-    IContinue : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall FContinue( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IContinue_FContinue_Proxy( 
-    IContinue * This);
-
-
-void __stdcall IContinue_FContinue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IViewObject *LPVIEWOBJECT;
-
-
-extern "C" const IID IID_IViewObject;
-
-
-    
-    struct __declspec(uuid("0000010d-0000-0000-C000-000000000046")) __declspec(novtable)
-    IViewObject : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Draw( 
-             DWORD dwDrawAspect,
-             LONG lindex,
-             void *pvAspect,
-             DVTARGETDEVICE *ptd,
-             HDC hdcTargetDev,
-             HDC hdcDraw,
-             LPCRECTL lprcBounds,
-             LPCRECTL lprcWBounds,
-             BOOL ( __stdcall *pfnContinue )( 
-                ULONG_PTR dwContinue),
-             ULONG_PTR dwContinue) = 0;
-        
-        virtual  HRESULT __stdcall GetColorSet( 
-             DWORD dwDrawAspect,
-             LONG lindex,
-             void *pvAspect,
-             DVTARGETDEVICE *ptd,
-             HDC hicTargetDev,
-             LOGPALETTE **ppColorSet) = 0;
-        
-        virtual  HRESULT __stdcall Freeze( 
-             DWORD dwDrawAspect,
-             LONG lindex,
-             void *pvAspect,
-             DWORD *pdwFreeze) = 0;
-        
-        virtual HRESULT __stdcall Unfreeze( 
-             DWORD dwFreeze) = 0;
-        
-        virtual HRESULT __stdcall SetAdvise( 
-             DWORD aspects,
-             DWORD advf,
-             IAdviseSink *pAdvSink) = 0;
-        
-        virtual  HRESULT __stdcall GetAdvise( 
-             DWORD *pAspects,
-             DWORD *pAdvf,
-             IAdviseSink **ppAdvSink) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IViewObject_RemoteDraw_Proxy( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     ULONG_PTR pvAspect,
-     DVTARGETDEVICE *ptd,
-     ULONG_PTR hdcTargetDev,
-     ULONG_PTR hdcDraw,
-     LPCRECTL lprcBounds,
-     LPCRECTL lprcWBounds,
-     IContinue *pContinue);
-
-
-void __stdcall IViewObject_RemoteDraw_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IViewObject_RemoteGetColorSet_Proxy( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     ULONG_PTR pvAspect,
-     DVTARGETDEVICE *ptd,
-     ULONG_PTR hicTargetDev,
-     LOGPALETTE **ppColorSet);
-
-
-void __stdcall IViewObject_RemoteGetColorSet_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IViewObject_RemoteFreeze_Proxy( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     ULONG_PTR pvAspect,
-     DWORD *pdwFreeze);
-
-
-void __stdcall IViewObject_RemoteFreeze_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IViewObject_Unfreeze_Proxy( 
-    IViewObject * This,
-     DWORD dwFreeze);
-
-
-void __stdcall IViewObject_Unfreeze_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IViewObject_SetAdvise_Proxy( 
-    IViewObject * This,
-     DWORD aspects,
-     DWORD advf,
-     IAdviseSink *pAdvSink);
-
-
-void __stdcall IViewObject_SetAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IViewObject_RemoteGetAdvise_Proxy( 
-    IViewObject * This,
-     DWORD *pAspects,
-     DWORD *pAdvf,
-     IAdviseSink **ppAdvSink);
-
-
-void __stdcall IViewObject_RemoteGetAdvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IViewObject2 *LPVIEWOBJECT2;
-
-
-extern "C" const IID IID_IViewObject2;
-
-
-    
-    struct __declspec(uuid("00000127-0000-0000-C000-000000000046")) __declspec(novtable)
-    IViewObject2 : public IViewObject
-    {
-    public:
-        virtual HRESULT __stdcall GetExtent( 
-             DWORD dwDrawAspect,
-             LONG lindex,
-             DVTARGETDEVICE *ptd,
-             LPSIZEL lpsizel) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IViewObject2_GetExtent_Proxy( 
-    IViewObject2 * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     DVTARGETDEVICE *ptd,
-     LPSIZEL lpsizel);
-
-
-void __stdcall IViewObject2_GetExtent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IDropSource *LPDROPSOURCE;
-
-
-extern "C" const IID IID_IDropSource;
-
-
-    
-    struct __declspec(uuid("00000121-0000-0000-C000-000000000046")) __declspec(novtable)
-    IDropSource : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall QueryContinueDrag( 
-             BOOL fEscapePressed,
-             DWORD grfKeyState) = 0;
-        
-        virtual HRESULT __stdcall GiveFeedback( 
-             DWORD dwEffect) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDropSource_QueryContinueDrag_Proxy( 
-    IDropSource * This,
-     BOOL fEscapePressed,
-     DWORD grfKeyState);
-
-
-void __stdcall IDropSource_QueryContinueDrag_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDropSource_GiveFeedback_Proxy( 
-    IDropSource * This,
-     DWORD dwEffect);
-
-
-void __stdcall IDropSource_GiveFeedback_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IDropTarget *LPDROPTARGET;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_IDropTarget;
-
-
-    
-    struct __declspec(uuid("00000122-0000-0000-C000-000000000046")) __declspec(novtable)
-    IDropTarget : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall DragEnter( 
-             IDataObject *pDataObj,
-             DWORD grfKeyState,
-             POINTL pt,
-             DWORD *pdwEffect) = 0;
-        
-        virtual HRESULT __stdcall DragOver( 
-             DWORD grfKeyState,
-             POINTL pt,
-             DWORD *pdwEffect) = 0;
-        
-        virtual HRESULT __stdcall DragLeave( void) = 0;
-        
-        virtual HRESULT __stdcall Drop( 
-             IDataObject *pDataObj,
-             DWORD grfKeyState,
-             POINTL pt,
-             DWORD *pdwEffect) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDropTarget_DragEnter_Proxy( 
-    IDropTarget * This,
-     IDataObject *pDataObj,
-     DWORD grfKeyState,
-     POINTL pt,
-     DWORD *pdwEffect);
-
-
-void __stdcall IDropTarget_DragEnter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDropTarget_DragOver_Proxy( 
-    IDropTarget * This,
-     DWORD grfKeyState,
-     POINTL pt,
-     DWORD *pdwEffect);
-
-
-void __stdcall IDropTarget_DragOver_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDropTarget_DragLeave_Proxy( 
-    IDropTarget * This);
-
-
-void __stdcall IDropTarget_DragLeave_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDropTarget_Drop_Proxy( 
-    IDropTarget * This,
-     IDataObject *pDataObj,
-     DWORD grfKeyState,
-     POINTL pt,
-     DWORD *pdwEffect);
-
-
-void __stdcall IDropTarget_Drop_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumOLEVERB *LPENUMOLEVERB;
-
-typedef struct tagOLEVERB
-    {
-    LONG lVerb;
-    LPOLESTR lpszVerbName;
-    DWORD fuFlags;
-    DWORD grfAttribs;
-    } 	OLEVERB;
-
-typedef struct tagOLEVERB *LPOLEVERB;
-
-typedef  
-enum tagOLEVERBATTRIB
-    {	OLEVERBATTRIB_NEVERDIRTIES	= 1,
-	OLEVERBATTRIB_ONCONTAINERMENU	= 2
-    } 	OLEVERBATTRIB;
-
-
-extern "C" const IID IID_IEnumOLEVERB;
-
-
-    
-    struct __declspec(uuid("00000104-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumOLEVERB : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             LPOLEVERB rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumOLEVERB **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumOLEVERB_RemoteNext_Proxy( 
-    IEnumOLEVERB * This,
-     ULONG celt,
-     LPOLEVERB rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumOLEVERB_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumOLEVERB_Skip_Proxy( 
-    IEnumOLEVERB * This,
-     ULONG celt);
-
-
-void __stdcall IEnumOLEVERB_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumOLEVERB_Reset_Proxy( 
-    IEnumOLEVERB * This);
-
-
-void __stdcall IEnumOLEVERB_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumOLEVERB_Clone_Proxy( 
-    IEnumOLEVERB * This,
-     IEnumOLEVERB **ppenum);
-
-
-void __stdcall IEnumOLEVERB_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-unsigned long             __stdcall  CLIPFORMAT_UserSize(     unsigned long *, unsigned long            , CLIPFORMAT * ); 
-unsigned char * __stdcall  CLIPFORMAT_UserMarshal(  unsigned long *, unsigned char *, CLIPFORMAT * ); 
-unsigned char * __stdcall  CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT * ); 
-void                      __stdcall  CLIPFORMAT_UserFree(     unsigned long *, CLIPFORMAT * ); 
-
-unsigned long             __stdcall  HACCEL_UserSize(     unsigned long *, unsigned long            , HACCEL * ); 
-unsigned char * __stdcall  HACCEL_UserMarshal(  unsigned long *, unsigned char *, HACCEL * ); 
-unsigned char * __stdcall  HACCEL_UserUnmarshal(unsigned long *, unsigned char *, HACCEL * ); 
-void                      __stdcall  HACCEL_UserFree(     unsigned long *, HACCEL * ); 
-
-unsigned long             __stdcall  HGLOBAL_UserSize(     unsigned long *, unsigned long            , HGLOBAL * ); 
-unsigned char * __stdcall  HGLOBAL_UserMarshal(  unsigned long *, unsigned char *, HGLOBAL * ); 
-unsigned char * __stdcall  HGLOBAL_UserUnmarshal(unsigned long *, unsigned char *, HGLOBAL * ); 
-void                      __stdcall  HGLOBAL_UserFree(     unsigned long *, HGLOBAL * ); 
-
-unsigned long             __stdcall  HMENU_UserSize(     unsigned long *, unsigned long            , HMENU * ); 
-unsigned char * __stdcall  HMENU_UserMarshal(  unsigned long *, unsigned char *, HMENU * ); 
-unsigned char * __stdcall  HMENU_UserUnmarshal(unsigned long *, unsigned char *, HMENU * ); 
-void                      __stdcall  HMENU_UserFree(     unsigned long *, HMENU * ); 
-
-unsigned long             __stdcall  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
-unsigned char * __stdcall  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
-unsigned char * __stdcall  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
-void                      __stdcall  HWND_UserFree(     unsigned long *, HWND * ); 
-
-unsigned long             __stdcall  STGMEDIUM_UserSize(     unsigned long *, unsigned long            , STGMEDIUM * ); 
-unsigned char * __stdcall  STGMEDIUM_UserMarshal(  unsigned long *, unsigned char *, STGMEDIUM * ); 
-unsigned char * __stdcall  STGMEDIUM_UserUnmarshal(unsigned long *, unsigned char *, STGMEDIUM * ); 
-void                      __stdcall  STGMEDIUM_UserFree(     unsigned long *, STGMEDIUM * ); 
-
- HRESULT __stdcall IOleCache2_UpdateCache_Proxy( 
-    IOleCache2 * This,
-     LPDATAOBJECT pDataObject,
-     DWORD grfUpdf,
-     LPVOID pReserved);
-
-
- HRESULT __stdcall IOleCache2_UpdateCache_Stub( 
-    IOleCache2 * This,
-     LPDATAOBJECT pDataObject,
-     DWORD grfUpdf,
-     LONG_PTR pReserved);
-
- HRESULT __stdcall IOleInPlaceActiveObject_TranslateAccelerator_Proxy( 
-    IOleInPlaceActiveObject * This,
-     LPMSG lpmsg);
-
-
- HRESULT __stdcall IOleInPlaceActiveObject_TranslateAccelerator_Stub( 
-    IOleInPlaceActiveObject * This);
-
- HRESULT __stdcall IOleInPlaceActiveObject_ResizeBorder_Proxy( 
-    IOleInPlaceActiveObject * This,
-     LPCRECT prcBorder,
-     IOleInPlaceUIWindow *pUIWindow,
-     BOOL fFrameWindow);
-
-
- HRESULT __stdcall IOleInPlaceActiveObject_ResizeBorder_Stub( 
-    IOleInPlaceActiveObject * This,
-     LPCRECT prcBorder,
-     const IID & riid,
-     IOleInPlaceUIWindow *pUIWindow,
-     BOOL fFrameWindow);
-
- HRESULT __stdcall IViewObject_Draw_Proxy( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     void *pvAspect,
-     DVTARGETDEVICE *ptd,
-     HDC hdcTargetDev,
-     HDC hdcDraw,
-     LPCRECTL lprcBounds,
-     LPCRECTL lprcWBounds,
-     BOOL ( __stdcall *pfnContinue )( 
-        ULONG_PTR dwContinue),
-     ULONG_PTR dwContinue);
-
-
- HRESULT __stdcall IViewObject_Draw_Stub( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     ULONG_PTR pvAspect,
-     DVTARGETDEVICE *ptd,
-     ULONG_PTR hdcTargetDev,
-     ULONG_PTR hdcDraw,
-     LPCRECTL lprcBounds,
-     LPCRECTL lprcWBounds,
-     IContinue *pContinue);
-
- HRESULT __stdcall IViewObject_GetColorSet_Proxy( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     void *pvAspect,
-     DVTARGETDEVICE *ptd,
-     HDC hicTargetDev,
-     LOGPALETTE **ppColorSet);
-
-
- HRESULT __stdcall IViewObject_GetColorSet_Stub( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     ULONG_PTR pvAspect,
-     DVTARGETDEVICE *ptd,
-     ULONG_PTR hicTargetDev,
-     LOGPALETTE **ppColorSet);
-
- HRESULT __stdcall IViewObject_Freeze_Proxy( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     void *pvAspect,
-     DWORD *pdwFreeze);
-
-
- HRESULT __stdcall IViewObject_Freeze_Stub( 
-    IViewObject * This,
-     DWORD dwDrawAspect,
-     LONG lindex,
-     ULONG_PTR pvAspect,
-     DWORD *pdwFreeze);
-
- HRESULT __stdcall IViewObject_GetAdvise_Proxy( 
-    IViewObject * This,
-     DWORD *pAspects,
-     DWORD *pAdvf,
-     IAdviseSink **ppAdvSink);
-
-
- HRESULT __stdcall IViewObject_GetAdvise_Stub( 
-    IViewObject * This,
-     DWORD *pAspects,
-     DWORD *pAdvf,
-     IAdviseSink **ppAdvSink);
-
- HRESULT __stdcall IEnumOLEVERB_Next_Proxy( 
-    IEnumOLEVERB * This,
-     ULONG celt,
-     LPOLEVERB rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumOLEVERB_Next_Stub( 
-    IEnumOLEVERB * This,
-     ULONG celt,
-     LPOLEVERB rgelt,
-     ULONG *pceltFetched);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IServiceProvider IServiceProvider;
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma comment(lib,"uuid.lib")
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IServiceProvider *LPSERVICEPROVIDER;
-
-
-    extern "C" const IID IID_IServiceProvider;
-    extern "C++"
-    {
-        struct __declspec(uuid("6d5140c1-7436-11ce-8034-00aa006009fa")) __declspec(novtable)
-        IServiceProvider : public IUnknown
-        {
-        public:
-            virtual  HRESULT __stdcall QueryService( 
-                 const GUID & guidService,
-                 const IID & riid,
-                 void  * *ppvObject) = 0;
-            
-            template <class Q>
-            HRESULT __stdcall QueryService(const GUID & guidService, Q** pp)
-            {
-                return QueryService(guidService, __uuidof(Q), (void **)pp);
-            }
-        };
-    }
-
-     HRESULT __stdcall IServiceProvider_RemoteQueryService_Proxy( 
-        IServiceProvider  * This,
-         const GUID & guidService,
-         const IID & riid,
-         IUnknown  * *ppvObject);
-
-    void __stdcall IServiceProvider_RemoteQueryService_Stub(
-        IRpcStubBuffer *This,
-        IRpcChannelBuffer *_pRpcChannelBuffer,
-        PRPC_MESSAGE _pRpcMessage,
-        DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_servprov_0093_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_servprov_0093_v0_0_s_ifspec;
-
-
-
- HRESULT __stdcall IServiceProvider_QueryService_Proxy( 
-    IServiceProvider * This,
-     const GUID & guidService,
-     const IID & riid,
-     void **ppvObject);
-
-
- HRESULT __stdcall IServiceProvider_QueryService_Stub( 
-    IServiceProvider * This,
-     const GUID & guidService,
-     const IID & riid,
-     IUnknown **ppvObject);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IXMLDOMImplementation IXMLDOMImplementation;
-
-
-
-
-
-typedef struct IXMLDOMNode IXMLDOMNode;
-
-
-
-
-
-typedef struct IXMLDOMDocumentFragment IXMLDOMDocumentFragment;
-
-
-
-
-
-typedef struct IXMLDOMDocument IXMLDOMDocument;
-
-
-
-
-
-typedef struct IXMLDOMNodeList IXMLDOMNodeList;
-
-
-
-
-
-typedef struct IXMLDOMNamedNodeMap IXMLDOMNamedNodeMap;
-
-
-
-
-
-typedef struct IXMLDOMCharacterData IXMLDOMCharacterData;
-
-
-
-
-
-typedef struct IXMLDOMAttribute IXMLDOMAttribute;
-
-
-
-
-
-typedef struct IXMLDOMElement IXMLDOMElement;
-
-
-
-
-
-typedef struct IXMLDOMText IXMLDOMText;
-
-
-
-
-
-typedef struct IXMLDOMComment IXMLDOMComment;
-
-
-
-
-
-typedef struct IXMLDOMProcessingInstruction IXMLDOMProcessingInstruction;
-
-
-
-
-
-typedef struct IXMLDOMCDATASection IXMLDOMCDATASection;
-
-
-
-
-
-typedef struct IXMLDOMDocumentType IXMLDOMDocumentType;
-
-
-
-
-
-typedef struct IXMLDOMNotation IXMLDOMNotation;
-
-
-
-
-
-typedef struct IXMLDOMEntity IXMLDOMEntity;
-
-
-
-
-
-typedef struct IXMLDOMEntityReference IXMLDOMEntityReference;
-
-
-
-
-
-typedef struct IXMLDOMParseError IXMLDOMParseError;
-
-
-
-
-
-typedef struct IXTLRuntime IXTLRuntime;
-
-
-
-
-
-typedef struct XMLDOMDocumentEvents XMLDOMDocumentEvents;
-
-
-
-
-
-
-
-typedef class DOMDocument DOMDocument;
-
-
-
-
-
-
-
-
-
-
-
-typedef class DOMFreeThreadedDocument DOMFreeThreadedDocument;
-
-
-
-
-
-
-
-
-
-typedef struct IXMLHttpRequest IXMLHttpRequest;
-
-
-
-
-
-
-
-typedef class XMLHTTPRequest XMLHTTPRequest;
-
-
-
-
-
-
-
-
-
-typedef struct IXMLDSOControl IXMLDSOControl;
-
-
-
-
-
-
-
-typedef class XMLDSOControl XMLDSOControl;
-
-
-
-
-
-
-
-
-
-typedef struct IXMLElementCollection IXMLElementCollection;
-
-
-
-
-
-typedef struct IXMLDocument IXMLDocument;
-
-
-
-
-
-typedef struct IXMLDocument2 IXMLDocument2;
-
-
-
-
-
-typedef struct IXMLElement IXMLElement;
-
-
-
-
-
-typedef struct IXMLElement2 IXMLElement2;
-
-
-
-
-
-typedef struct IXMLAttribute IXMLAttribute;
-
-
-
-
-
-typedef struct IXMLError IXMLError;
-
-
-
-
-
-
-
-typedef class XMLDocument XMLDocument;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct ICreateTypeInfo ICreateTypeInfo;
-
-
-
-
-
-typedef struct ICreateTypeInfo2 ICreateTypeInfo2;
-
-
-
-
-
-typedef struct ICreateTypeLib ICreateTypeLib;
-
-
-
-
-
-typedef struct ICreateTypeLib2 ICreateTypeLib2;
-
-
-
-
-
-typedef struct IDispatch IDispatch;
-
-
-
-
-
-typedef struct IEnumVARIANT IEnumVARIANT;
-
-
-
-
-
-typedef struct ITypeComp ITypeComp;
-
-
-
-
-
-typedef struct ITypeInfo ITypeInfo;
-
-
-
-
-
-typedef struct ITypeInfo2 ITypeInfo2;
-
-
-
-
-
-typedef struct ITypeLib ITypeLib;
-
-
-
-
-
-typedef struct ITypeLib2 ITypeLib2;
-
-
-
-
-
-typedef struct ITypeChangeEvents ITypeChangeEvents;
-
-
-
-
-
-typedef struct IErrorInfo IErrorInfo;
-
-
-
-
-
-typedef struct ICreateErrorInfo ICreateErrorInfo;
-
-
-
-
-
-typedef struct ISupportErrorInfo ISupportErrorInfo;
-
-
-
-
-
-typedef struct ITypeFactory ITypeFactory;
-
-
-
-
-
-typedef struct ITypeMarshal ITypeMarshal;
-
-
-
-
-
-typedef struct IRecordInfo IRecordInfo;
-
-
-
-
-
-typedef struct IErrorLog IErrorLog;
-
-
-
-
-
-typedef struct IPropertyBag IPropertyBag;
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)    
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef CY CURRENCY;
-
-typedef struct tagSAFEARRAYBOUND
-    {
-    ULONG cElements;
-    LONG lLbound;
-    } 	SAFEARRAYBOUND;
-
-typedef struct tagSAFEARRAYBOUND *LPSAFEARRAYBOUND;
-
-
-typedef  struct _wireVARIANT *wireVARIANT;
-
-typedef  struct _wireBRECORD *wireBRECORD;
-
-typedef struct _wireSAFEARR_BSTR
-    {
-    ULONG Size;
-     wireBSTR *aBstr;
-    } 	SAFEARR_BSTR;
-
-typedef struct _wireSAFEARR_UNKNOWN
-    {
-    ULONG Size;
-     IUnknown **apUnknown;
-    } 	SAFEARR_UNKNOWN;
-
-typedef struct _wireSAFEARR_DISPATCH
-    {
-    ULONG Size;
-     IDispatch **apDispatch;
-    } 	SAFEARR_DISPATCH;
-
-typedef struct _wireSAFEARR_VARIANT
-    {
-    ULONG Size;
-     wireVARIANT *aVariant;
-    } 	SAFEARR_VARIANT;
-
-typedef struct _wireSAFEARR_BRECORD
-    {
-    ULONG Size;
-     wireBRECORD *aRecord;
-    } 	SAFEARR_BRECORD;
-
-typedef struct _wireSAFEARR_HAVEIID
-    {
-    ULONG Size;
-     IUnknown **apUnknown;
-    IID iid;
-    } 	SAFEARR_HAVEIID;
-
-typedef  
-enum tagSF_TYPE
-    {	SF_ERROR	= VT_ERROR,
-	SF_I1	= VT_I1,
-	SF_I2	= VT_I2,
-	SF_I4	= VT_I4,
-	SF_I8	= VT_I8,
-	SF_BSTR	= VT_BSTR,
-	SF_UNKNOWN	= VT_UNKNOWN,
-	SF_DISPATCH	= VT_DISPATCH,
-	SF_VARIANT	= VT_VARIANT,
-	SF_RECORD	= VT_RECORD,
-	SF_HAVEIID	= VT_UNKNOWN | VT_RESERVED
-    } 	SF_TYPE;
-
-typedef struct _wireSAFEARRAY_UNION
-    {
-    ULONG sfType;
-      union __MIDL_IOleAutomationTypes_0001
-        {
-         SAFEARR_BSTR BstrStr;
-         SAFEARR_UNKNOWN UnknownStr;
-         SAFEARR_DISPATCH DispatchStr;
-         SAFEARR_VARIANT VariantStr;
-         SAFEARR_BRECORD RecordStr;
-         SAFEARR_HAVEIID HaveIidStr;
-         BYTE_SIZEDARR ByteStr;
-         WORD_SIZEDARR WordStr;
-         DWORD_SIZEDARR LongStr;
-         HYPER_SIZEDARR HyperStr;
-        } 	u;
-    } 	SAFEARRAYUNION;
-
-typedef  struct _wireSAFEARRAY
-    {
-    USHORT cDims;
-    USHORT fFeatures;
-    ULONG cbElements;
-    ULONG cLocks;
-    SAFEARRAYUNION uArrayStructs;
-     SAFEARRAYBOUND rgsabound[ 1 ];
-    } 	*wireSAFEARRAY;
-
-typedef  wireSAFEARRAY *wirePSAFEARRAY;
-
-typedef struct tagSAFEARRAY
-    {
-    USHORT cDims;
-    USHORT fFeatures;
-    ULONG cbElements;
-    ULONG cLocks;
-    PVOID pvData;
-    SAFEARRAYBOUND rgsabound[ 1 ];
-    } 	SAFEARRAY;
-
-typedef  SAFEARRAY *LPSAFEARRAY;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  struct tagVARIANT VARIANT;
-
-struct tagVARIANT
-    {
-    union 
-        {
-        struct 
-            {
-            VARTYPE vt;
-            WORD wReserved1;
-            WORD wReserved2;
-            WORD wReserved3;
-            union 
-                {
-                LONGLONG llVal;
-                LONG lVal;
-                BYTE bVal;
-                SHORT iVal;
-                FLOAT fltVal;
-                DOUBLE dblVal;
-                VARIANT_BOOL boolVal;
-                
-                SCODE scode;
-                CY cyVal;
-                DATE date;
-                BSTR bstrVal;
-                IUnknown *punkVal;
-                IDispatch *pdispVal;
-                SAFEARRAY *parray;
-                BYTE *pbVal;
-                SHORT *piVal;
-                LONG *plVal;
-                LONGLONG *pllVal;
-                FLOAT *pfltVal;
-                DOUBLE *pdblVal;
-                VARIANT_BOOL *pboolVal;
-                
-                SCODE *pscode;
-                CY *pcyVal;
-                DATE *pdate;
-                BSTR *pbstrVal;
-                IUnknown **ppunkVal;
-                IDispatch **ppdispVal;
-                SAFEARRAY **pparray;
-                VARIANT *pvarVal;
-                PVOID byref;
-                CHAR cVal;
-                USHORT uiVal;
-                ULONG ulVal;
-                ULONGLONG ullVal;
-                INT intVal;
-                UINT uintVal;
-                DECIMAL *pdecVal;
-                CHAR *pcVal;
-                USHORT *puiVal;
-                ULONG *pulVal;
-                ULONGLONG *pullVal;
-                INT *pintVal;
-                UINT *puintVal;
-                struct 
-                    {
-                    PVOID pvRecord;
-                    IRecordInfo *pRecInfo;
-                    } 	;
-                } 	;
-            } 	;
-        DECIMAL decVal;
-        } 	;
-    } ;
-typedef VARIANT *LPVARIANT;
-
-typedef VARIANT VARIANTARG;
-
-typedef VARIANT *LPVARIANTARG;
-
-
-struct _wireBRECORD
-    {
-    ULONG fFlags;
-    ULONG clSize;
-    IRecordInfo *pRecInfo;
-     byte *pRecord;
-    } ;
-struct _wireVARIANT
-    {
-    DWORD clSize;
-    DWORD rpcReserved;
-    USHORT vt;
-    USHORT wReserved1;
-    USHORT wReserved2;
-    USHORT wReserved3;
-     union 
-        {
-         LONGLONG llVal;
-         LONG lVal;
-         BYTE bVal;
-         SHORT iVal;
-         FLOAT fltVal;
-         DOUBLE dblVal;
-         VARIANT_BOOL boolVal;
-         SCODE scode;
-         CY cyVal;
-         DATE date;
-         wireBSTR bstrVal;
-         IUnknown *punkVal;
-         IDispatch *pdispVal;
-         wirePSAFEARRAY parray;
-         wireBRECORD brecVal;
-         BYTE *pbVal;
-         SHORT *piVal;
-         LONG *plVal;
-         LONGLONG *pllVal;
-         FLOAT *pfltVal;
-         DOUBLE *pdblVal;
-         VARIANT_BOOL *pboolVal;
-         SCODE *pscode;
-         CY *pcyVal;
-         DATE *pdate;
-         wireBSTR *pbstrVal;
-         IUnknown **ppunkVal;
-         IDispatch **ppdispVal;
-         wirePSAFEARRAY *pparray;
-         wireVARIANT *pvarVal;
-         CHAR cVal;
-         USHORT uiVal;
-         ULONG ulVal;
-         ULONGLONG ullVal;
-         INT intVal;
-         UINT uintVal;
-         DECIMAL decVal;
-         DECIMAL *pdecVal;
-         CHAR *pcVal;
-         USHORT *puiVal;
-         ULONG *pulVal;
-         ULONGLONG *pullVal;
-         INT *pintVal;
-         UINT *puintVal;
-           
-           
-        } 	;
-    } ;
-typedef LONG DISPID;
-
-typedef DISPID MEMBERID;
-
-typedef DWORD HREFTYPE;
-
-typedef  
-enum tagTYPEKIND
-    {	TKIND_ENUM	= 0,
-	TKIND_RECORD	= TKIND_ENUM + 1,
-	TKIND_MODULE	= TKIND_RECORD + 1,
-	TKIND_INTERFACE	= TKIND_MODULE + 1,
-	TKIND_DISPATCH	= TKIND_INTERFACE + 1,
-	TKIND_COCLASS	= TKIND_DISPATCH + 1,
-	TKIND_ALIAS	= TKIND_COCLASS + 1,
-	TKIND_UNION	= TKIND_ALIAS + 1,
-	TKIND_MAX	= TKIND_UNION + 1
-    } 	TYPEKIND;
-
-typedef struct tagTYPEDESC
-    {
-     union 
-        {
-         struct tagTYPEDESC *lptdesc;
-         struct tagARRAYDESC *lpadesc;
-         HREFTYPE hreftype;
-           
-        } 	;
-    VARTYPE vt;
-    } 	TYPEDESC;
-
-typedef struct tagARRAYDESC
-    {
-    TYPEDESC tdescElem;
-    USHORT cDims;
-     SAFEARRAYBOUND rgbounds[ 1 ];
-    } 	ARRAYDESC;
-
-typedef struct tagPARAMDESCEX
-    {
-    ULONG cBytes;
-    VARIANTARG varDefaultValue;
-    } 	PARAMDESCEX;
-
-typedef struct tagPARAMDESCEX *LPPARAMDESCEX;
-
-typedef struct tagPARAMDESC
-    {
-    LPPARAMDESCEX pparamdescex;
-    USHORT wParamFlags;
-    } 	PARAMDESC;
-
-typedef struct tagPARAMDESC *LPPARAMDESC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagIDLDESC
-    {
-    ULONG_PTR dwReserved;
-    USHORT wIDLFlags;
-    } 	IDLDESC;
-
-typedef struct tagIDLDESC *LPIDLDESC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagELEMDESC {
-    TYPEDESC tdesc;             
-    union {
-        IDLDESC idldesc;        
-        PARAMDESC paramdesc;    
-    };
-} ELEMDESC, * LPELEMDESC;
-
-
-
-typedef struct tagTYPEATTR
-    {
-    GUID guid;
-    LCID lcid;
-    DWORD dwReserved;
-    MEMBERID memidConstructor;
-    MEMBERID memidDestructor;
-    LPOLESTR lpstrSchema;
-    ULONG cbSizeInstance;
-    TYPEKIND typekind;
-    WORD cFuncs;
-    WORD cVars;
-    WORD cImplTypes;
-    WORD cbSizeVft;
-    WORD cbAlignment;
-    WORD wTypeFlags;
-    WORD wMajorVerNum;
-    WORD wMinorVerNum;
-    TYPEDESC tdescAlias;
-    IDLDESC idldescType;
-    } 	TYPEATTR;
-
-typedef struct tagTYPEATTR *LPTYPEATTR;
-
-typedef struct tagDISPPARAMS
-    {
-     VARIANTARG *rgvarg;
-     DISPID *rgdispidNamedArgs;
-    UINT cArgs;
-    UINT cNamedArgs;
-    } 	DISPPARAMS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagEXCEPINFO {
-    WORD  wCode;
-    WORD  wReserved;
-    BSTR  bstrSource;
-    BSTR  bstrDescription;
-    BSTR  bstrHelpFile;
-    DWORD dwHelpContext;
-    PVOID pvReserved;
-    HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
-    SCODE scode;
-} EXCEPINFO, * LPEXCEPINFO;
-
-
-
-typedef  
-enum tagCALLCONV
-    {	CC_FASTCALL	= 0,
-	CC_CDECL	= 1,
-	CC_MSCPASCAL	= CC_CDECL + 1,
-	CC_PASCAL	= CC_MSCPASCAL,
-	CC_MACPASCAL	= CC_PASCAL + 1,
-	CC_STDCALL	= CC_MACPASCAL + 1,
-	CC_FPFASTCALL	= CC_STDCALL + 1,
-	CC_SYSCALL	= CC_FPFASTCALL + 1,
-	CC_MPWCDECL	= CC_SYSCALL + 1,
-	CC_MPWPASCAL	= CC_MPWCDECL + 1,
-	CC_MAX	= CC_MPWPASCAL + 1
-    } 	CALLCONV;
-
-typedef  
-enum tagFUNCKIND
-    {	FUNC_VIRTUAL	= 0,
-	FUNC_PUREVIRTUAL	= FUNC_VIRTUAL + 1,
-	FUNC_NONVIRTUAL	= FUNC_PUREVIRTUAL + 1,
-	FUNC_STATIC	= FUNC_NONVIRTUAL + 1,
-	FUNC_DISPATCH	= FUNC_STATIC + 1
-    } 	FUNCKIND;
-
-typedef  
-enum tagINVOKEKIND
-    {	INVOKE_FUNC	= 1,
-	INVOKE_PROPERTYGET	= 2,
-	INVOKE_PROPERTYPUT	= 4,
-	INVOKE_PROPERTYPUTREF	= 8
-    } 	INVOKEKIND;
-
-typedef struct tagFUNCDESC
-    {
-    MEMBERID memid;
-     SCODE *lprgscode;
-     ELEMDESC *lprgelemdescParam;
-    FUNCKIND funckind;
-    INVOKEKIND invkind;
-    CALLCONV callconv;
-    SHORT cParams;
-    SHORT cParamsOpt;
-    SHORT oVft;
-    SHORT cScodes;
-    ELEMDESC elemdescFunc;
-    WORD wFuncFlags;
-    } 	FUNCDESC;
-
-typedef struct tagFUNCDESC *LPFUNCDESC;
-
-typedef  
-enum tagVARKIND
-    {	VAR_PERINSTANCE	= 0,
-	VAR_STATIC	= VAR_PERINSTANCE + 1,
-	VAR_CONST	= VAR_STATIC + 1,
-	VAR_DISPATCH	= VAR_CONST + 1
-    } 	VARKIND;
-
-
-
-
-
-
-
-
-
-typedef struct tagVARDESC
-    {
-    MEMBERID memid;
-    LPOLESTR lpstrSchema;
-     union 
-        {
-         ULONG oInst;
-         VARIANT *lpvarValue;
-        } 	;
-    ELEMDESC elemdescVar;
-    WORD wVarFlags;
-    VARKIND varkind;
-    } 	VARDESC;
-
-typedef struct tagVARDESC *LPVARDESC;
-
-typedef 
-enum tagTYPEFLAGS
-    {	TYPEFLAG_FAPPOBJECT	= 0x1,
-	TYPEFLAG_FCANCREATE	= 0x2,
-	TYPEFLAG_FLICENSED	= 0x4,
-	TYPEFLAG_FPREDECLID	= 0x8,
-	TYPEFLAG_FHIDDEN	= 0x10,
-	TYPEFLAG_FCONTROL	= 0x20,
-	TYPEFLAG_FDUAL	= 0x40,
-	TYPEFLAG_FNONEXTENSIBLE	= 0x80,
-	TYPEFLAG_FOLEAUTOMATION	= 0x100,
-	TYPEFLAG_FRESTRICTED	= 0x200,
-	TYPEFLAG_FAGGREGATABLE	= 0x400,
-	TYPEFLAG_FREPLACEABLE	= 0x800,
-	TYPEFLAG_FDISPATCHABLE	= 0x1000,
-	TYPEFLAG_FREVERSEBIND	= 0x2000,
-	TYPEFLAG_FPROXY	= 0x4000
-    } 	TYPEFLAGS;
-
-typedef 
-enum tagFUNCFLAGS
-    {	FUNCFLAG_FRESTRICTED	= 0x1,
-	FUNCFLAG_FSOURCE	= 0x2,
-	FUNCFLAG_FBINDABLE	= 0x4,
-	FUNCFLAG_FREQUESTEDIT	= 0x8,
-	FUNCFLAG_FDISPLAYBIND	= 0x10,
-	FUNCFLAG_FDEFAULTBIND	= 0x20,
-	FUNCFLAG_FHIDDEN	= 0x40,
-	FUNCFLAG_FUSESGETLASTERROR	= 0x80,
-	FUNCFLAG_FDEFAULTCOLLELEM	= 0x100,
-	FUNCFLAG_FUIDEFAULT	= 0x200,
-	FUNCFLAG_FNONBROWSABLE	= 0x400,
-	FUNCFLAG_FREPLACEABLE	= 0x800,
-	FUNCFLAG_FIMMEDIATEBIND	= 0x1000
-    } 	FUNCFLAGS;
-
-typedef 
-enum tagVARFLAGS
-    {	VARFLAG_FREADONLY	= 0x1,
-	VARFLAG_FSOURCE	= 0x2,
-	VARFLAG_FBINDABLE	= 0x4,
-	VARFLAG_FREQUESTEDIT	= 0x8,
-	VARFLAG_FDISPLAYBIND	= 0x10,
-	VARFLAG_FDEFAULTBIND	= 0x20,
-	VARFLAG_FHIDDEN	= 0x40,
-	VARFLAG_FRESTRICTED	= 0x80,
-	VARFLAG_FDEFAULTCOLLELEM	= 0x100,
-	VARFLAG_FUIDEFAULT	= 0x200,
-	VARFLAG_FNONBROWSABLE	= 0x400,
-	VARFLAG_FREPLACEABLE	= 0x800,
-	VARFLAG_FIMMEDIATEBIND	= 0x1000
-    } 	VARFLAGS;
-
-typedef  struct tagCLEANLOCALSTORAGE
-    {
-    IUnknown *pInterface;
-    PVOID pStorage;
-    DWORD flags;
-    } 	CLEANLOCALSTORAGE;
-
-typedef struct tagCUSTDATAITEM
-    {
-    GUID guid;
-    VARIANTARG varValue;
-    } 	CUSTDATAITEM;
-
-typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM;
-
-typedef struct tagCUSTDATA
-    {
-    DWORD cCustData;
-     LPCUSTDATAITEM prgCustData;
-    } 	CUSTDATA;
-
-typedef struct tagCUSTDATA *LPCUSTDATA;
-
-
-
-extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec;
-extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec;
-
-
-
-
-
-
- 
-
-typedef  ICreateTypeInfo *LPCREATETYPEINFO;
-
-
-extern "C" const IID IID_ICreateTypeInfo;
-
-
-    
-    struct __declspec(uuid("00020405-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICreateTypeInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetGuid( 
-             const GUID & guid) = 0;
-        
-        virtual HRESULT __stdcall SetTypeFlags( 
-             UINT uTypeFlags) = 0;
-        
-        virtual HRESULT __stdcall SetDocString( 
-             LPOLESTR pStrDoc) = 0;
-        
-        virtual HRESULT __stdcall SetHelpContext( 
-             DWORD dwHelpContext) = 0;
-        
-        virtual HRESULT __stdcall SetVersion( 
-             WORD wMajorVerNum,
-             WORD wMinorVerNum) = 0;
-        
-        virtual HRESULT __stdcall AddRefTypeInfo( 
-             ITypeInfo *pTInfo,
-             HREFTYPE *phRefType) = 0;
-        
-        virtual HRESULT __stdcall AddFuncDesc( 
-             UINT index,
-             FUNCDESC *pFuncDesc) = 0;
-        
-        virtual HRESULT __stdcall AddImplType( 
-             UINT index,
-             HREFTYPE hRefType) = 0;
-        
-        virtual HRESULT __stdcall SetImplTypeFlags( 
-             UINT index,
-             INT implTypeFlags) = 0;
-        
-        virtual HRESULT __stdcall SetAlignment( 
-             WORD cbAlignment) = 0;
-        
-        virtual HRESULT __stdcall SetSchema( 
-             LPOLESTR pStrSchema) = 0;
-        
-        virtual HRESULT __stdcall AddVarDesc( 
-             UINT index,
-             VARDESC *pVarDesc) = 0;
-        
-        virtual HRESULT __stdcall SetFuncAndParamNames( 
-             UINT index,
-             LPOLESTR *rgszNames,
-             UINT cNames) = 0;
-        
-        virtual HRESULT __stdcall SetVarName( 
-             UINT index,
-             LPOLESTR szName) = 0;
-        
-        virtual HRESULT __stdcall SetTypeDescAlias( 
-             TYPEDESC *pTDescAlias) = 0;
-        
-        virtual HRESULT __stdcall DefineFuncAsDllEntry( 
-             UINT index,
-             LPOLESTR szDllName,
-             LPOLESTR szProcName) = 0;
-        
-        virtual HRESULT __stdcall SetFuncDocString( 
-             UINT index,
-             LPOLESTR szDocString) = 0;
-        
-        virtual HRESULT __stdcall SetVarDocString( 
-             UINT index,
-             LPOLESTR szDocString) = 0;
-        
-        virtual HRESULT __stdcall SetFuncHelpContext( 
-             UINT index,
-             DWORD dwHelpContext) = 0;
-        
-        virtual HRESULT __stdcall SetVarHelpContext( 
-             UINT index,
-             DWORD dwHelpContext) = 0;
-        
-        virtual HRESULT __stdcall SetMops( 
-             UINT index,
-             BSTR bstrMops) = 0;
-        
-        virtual HRESULT __stdcall SetTypeIdldesc( 
-             IDLDESC *pIdlDesc) = 0;
-        
-        virtual HRESULT __stdcall LayOut( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICreateTypeInfo_SetGuid_Proxy( 
-    ICreateTypeInfo * This,
-     const GUID & guid);
-
-
-void __stdcall ICreateTypeInfo_SetGuid_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetTypeFlags_Proxy( 
-    ICreateTypeInfo * This,
-     UINT uTypeFlags);
-
-
-void __stdcall ICreateTypeInfo_SetTypeFlags_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetDocString_Proxy( 
-    ICreateTypeInfo * This,
-     LPOLESTR pStrDoc);
-
-
-void __stdcall ICreateTypeInfo_SetDocString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetHelpContext_Proxy( 
-    ICreateTypeInfo * This,
-     DWORD dwHelpContext);
-
-
-void __stdcall ICreateTypeInfo_SetHelpContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetVersion_Proxy( 
-    ICreateTypeInfo * This,
-     WORD wMajorVerNum,
-     WORD wMinorVerNum);
-
-
-void __stdcall ICreateTypeInfo_SetVersion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_AddRefTypeInfo_Proxy( 
-    ICreateTypeInfo * This,
-     ITypeInfo *pTInfo,
-     HREFTYPE *phRefType);
-
-
-void __stdcall ICreateTypeInfo_AddRefTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_AddFuncDesc_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     FUNCDESC *pFuncDesc);
-
-
-void __stdcall ICreateTypeInfo_AddFuncDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_AddImplType_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     HREFTYPE hRefType);
-
-
-void __stdcall ICreateTypeInfo_AddImplType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetImplTypeFlags_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     INT implTypeFlags);
-
-
-void __stdcall ICreateTypeInfo_SetImplTypeFlags_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetAlignment_Proxy( 
-    ICreateTypeInfo * This,
-     WORD cbAlignment);
-
-
-void __stdcall ICreateTypeInfo_SetAlignment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetSchema_Proxy( 
-    ICreateTypeInfo * This,
-     LPOLESTR pStrSchema);
-
-
-void __stdcall ICreateTypeInfo_SetSchema_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_AddVarDesc_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     VARDESC *pVarDesc);
-
-
-void __stdcall ICreateTypeInfo_AddVarDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetFuncAndParamNames_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     LPOLESTR *rgszNames,
-     UINT cNames);
-
-
-void __stdcall ICreateTypeInfo_SetFuncAndParamNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetVarName_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     LPOLESTR szName);
-
-
-void __stdcall ICreateTypeInfo_SetVarName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetTypeDescAlias_Proxy( 
-    ICreateTypeInfo * This,
-     TYPEDESC *pTDescAlias);
-
-
-void __stdcall ICreateTypeInfo_SetTypeDescAlias_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_DefineFuncAsDllEntry_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     LPOLESTR szDllName,
-     LPOLESTR szProcName);
-
-
-void __stdcall ICreateTypeInfo_DefineFuncAsDllEntry_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetFuncDocString_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     LPOLESTR szDocString);
-
-
-void __stdcall ICreateTypeInfo_SetFuncDocString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetVarDocString_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     LPOLESTR szDocString);
-
-
-void __stdcall ICreateTypeInfo_SetVarDocString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetFuncHelpContext_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     DWORD dwHelpContext);
-
-
-void __stdcall ICreateTypeInfo_SetFuncHelpContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetVarHelpContext_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     DWORD dwHelpContext);
-
-
-void __stdcall ICreateTypeInfo_SetVarHelpContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetMops_Proxy( 
-    ICreateTypeInfo * This,
-     UINT index,
-     BSTR bstrMops);
-
-
-void __stdcall ICreateTypeInfo_SetMops_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_SetTypeIdldesc_Proxy( 
-    ICreateTypeInfo * This,
-     IDLDESC *pIdlDesc);
-
-
-void __stdcall ICreateTypeInfo_SetTypeIdldesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo_LayOut_Proxy( 
-    ICreateTypeInfo * This);
-
-
-void __stdcall ICreateTypeInfo_LayOut_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ICreateTypeInfo2 *LPCREATETYPEINFO2;
-
-
-extern "C" const IID IID_ICreateTypeInfo2;
-
-
-    
-    struct __declspec(uuid("0002040E-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICreateTypeInfo2 : public ICreateTypeInfo
-    {
-    public:
-        virtual HRESULT __stdcall DeleteFuncDesc( 
-             UINT index) = 0;
-        
-        virtual HRESULT __stdcall DeleteFuncDescByMemId( 
-             MEMBERID memid,
-             INVOKEKIND invKind) = 0;
-        
-        virtual HRESULT __stdcall DeleteVarDesc( 
-             UINT index) = 0;
-        
-        virtual HRESULT __stdcall DeleteVarDescByMemId( 
-             MEMBERID memid) = 0;
-        
-        virtual HRESULT __stdcall DeleteImplType( 
-             UINT index) = 0;
-        
-        virtual HRESULT __stdcall SetCustData( 
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall SetFuncCustData( 
-             UINT index,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall SetParamCustData( 
-             UINT indexFunc,
-             UINT indexParam,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall SetVarCustData( 
-             UINT index,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall SetImplTypeCustData( 
-             UINT index,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall SetHelpStringContext( 
-             ULONG dwHelpStringContext) = 0;
-        
-        virtual HRESULT __stdcall SetFuncHelpStringContext( 
-             UINT index,
-             ULONG dwHelpStringContext) = 0;
-        
-        virtual HRESULT __stdcall SetVarHelpStringContext( 
-             UINT index,
-             ULONG dwHelpStringContext) = 0;
-        
-        virtual HRESULT __stdcall Invalidate( void) = 0;
-        
-        virtual HRESULT __stdcall SetName( 
-             LPOLESTR szName) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICreateTypeInfo2_DeleteFuncDesc_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index);
-
-
-void __stdcall ICreateTypeInfo2_DeleteFuncDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_DeleteFuncDescByMemId_Proxy( 
-    ICreateTypeInfo2 * This,
-     MEMBERID memid,
-     INVOKEKIND invKind);
-
-
-void __stdcall ICreateTypeInfo2_DeleteFuncDescByMemId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_DeleteVarDesc_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index);
-
-
-void __stdcall ICreateTypeInfo2_DeleteVarDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_DeleteVarDescByMemId_Proxy( 
-    ICreateTypeInfo2 * This,
-     MEMBERID memid);
-
-
-void __stdcall ICreateTypeInfo2_DeleteVarDescByMemId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_DeleteImplType_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index);
-
-
-void __stdcall ICreateTypeInfo2_DeleteImplType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetCustData_Proxy( 
-    ICreateTypeInfo2 * This,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ICreateTypeInfo2_SetCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetFuncCustData_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ICreateTypeInfo2_SetFuncCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetParamCustData_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT indexFunc,
-     UINT indexParam,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ICreateTypeInfo2_SetParamCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetVarCustData_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ICreateTypeInfo2_SetVarCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetImplTypeCustData_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ICreateTypeInfo2_SetImplTypeCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetHelpStringContext_Proxy( 
-    ICreateTypeInfo2 * This,
-     ULONG dwHelpStringContext);
-
-
-void __stdcall ICreateTypeInfo2_SetHelpStringContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetFuncHelpStringContext_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index,
-     ULONG dwHelpStringContext);
-
-
-void __stdcall ICreateTypeInfo2_SetFuncHelpStringContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetVarHelpStringContext_Proxy( 
-    ICreateTypeInfo2 * This,
-     UINT index,
-     ULONG dwHelpStringContext);
-
-
-void __stdcall ICreateTypeInfo2_SetVarHelpStringContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_Invalidate_Proxy( 
-    ICreateTypeInfo2 * This);
-
-
-void __stdcall ICreateTypeInfo2_Invalidate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeInfo2_SetName_Proxy( 
-    ICreateTypeInfo2 * This,
-     LPOLESTR szName);
-
-
-void __stdcall ICreateTypeInfo2_SetName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ICreateTypeLib *LPCREATETYPELIB;
-
-
-extern "C" const IID IID_ICreateTypeLib;
-
-
-    
-    struct __declspec(uuid("00020406-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICreateTypeLib : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateTypeInfo( 
-             LPOLESTR szName,
-             TYPEKIND tkind,
-             ICreateTypeInfo **ppCTInfo) = 0;
-        
-        virtual HRESULT __stdcall SetName( 
-             LPOLESTR szName) = 0;
-        
-        virtual HRESULT __stdcall SetVersion( 
-             WORD wMajorVerNum,
-             WORD wMinorVerNum) = 0;
-        
-        virtual HRESULT __stdcall SetGuid( 
-             const GUID & guid) = 0;
-        
-        virtual HRESULT __stdcall SetDocString( 
-             LPOLESTR szDoc) = 0;
-        
-        virtual HRESULT __stdcall SetHelpFileName( 
-             LPOLESTR szHelpFileName) = 0;
-        
-        virtual HRESULT __stdcall SetHelpContext( 
-             DWORD dwHelpContext) = 0;
-        
-        virtual HRESULT __stdcall SetLcid( 
-             LCID lcid) = 0;
-        
-        virtual HRESULT __stdcall SetLibFlags( 
-             UINT uLibFlags) = 0;
-        
-        virtual HRESULT __stdcall SaveAllChanges( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICreateTypeLib_CreateTypeInfo_Proxy( 
-    ICreateTypeLib * This,
-     LPOLESTR szName,
-     TYPEKIND tkind,
-     ICreateTypeInfo **ppCTInfo);
-
-
-void __stdcall ICreateTypeLib_CreateTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetName_Proxy( 
-    ICreateTypeLib * This,
-     LPOLESTR szName);
-
-
-void __stdcall ICreateTypeLib_SetName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetVersion_Proxy( 
-    ICreateTypeLib * This,
-     WORD wMajorVerNum,
-     WORD wMinorVerNum);
-
-
-void __stdcall ICreateTypeLib_SetVersion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetGuid_Proxy( 
-    ICreateTypeLib * This,
-     const GUID & guid);
-
-
-void __stdcall ICreateTypeLib_SetGuid_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetDocString_Proxy( 
-    ICreateTypeLib * This,
-     LPOLESTR szDoc);
-
-
-void __stdcall ICreateTypeLib_SetDocString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetHelpFileName_Proxy( 
-    ICreateTypeLib * This,
-     LPOLESTR szHelpFileName);
-
-
-void __stdcall ICreateTypeLib_SetHelpFileName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetHelpContext_Proxy( 
-    ICreateTypeLib * This,
-     DWORD dwHelpContext);
-
-
-void __stdcall ICreateTypeLib_SetHelpContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetLcid_Proxy( 
-    ICreateTypeLib * This,
-     LCID lcid);
-
-
-void __stdcall ICreateTypeLib_SetLcid_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SetLibFlags_Proxy( 
-    ICreateTypeLib * This,
-     UINT uLibFlags);
-
-
-void __stdcall ICreateTypeLib_SetLibFlags_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib_SaveAllChanges_Proxy( 
-    ICreateTypeLib * This);
-
-
-void __stdcall ICreateTypeLib_SaveAllChanges_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ICreateTypeLib2 *LPCREATETYPELIB2;
-
-
-extern "C" const IID IID_ICreateTypeLib2;
-
-
-    
-    struct __declspec(uuid("0002040F-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICreateTypeLib2 : public ICreateTypeLib
-    {
-    public:
-        virtual HRESULT __stdcall DeleteTypeInfo( 
-             LPOLESTR szName) = 0;
-        
-        virtual HRESULT __stdcall SetCustData( 
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall SetHelpStringContext( 
-             ULONG dwHelpStringContext) = 0;
-        
-        virtual HRESULT __stdcall SetHelpStringDll( 
-             LPOLESTR szFileName) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICreateTypeLib2_DeleteTypeInfo_Proxy( 
-    ICreateTypeLib2 * This,
-     LPOLESTR szName);
-
-
-void __stdcall ICreateTypeLib2_DeleteTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib2_SetCustData_Proxy( 
-    ICreateTypeLib2 * This,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ICreateTypeLib2_SetCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib2_SetHelpStringContext_Proxy( 
-    ICreateTypeLib2 * This,
-     ULONG dwHelpStringContext);
-
-
-void __stdcall ICreateTypeLib2_SetHelpStringContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateTypeLib2_SetHelpStringDll_Proxy( 
-    ICreateTypeLib2 * This,
-     LPOLESTR szFileName);
-
-
-void __stdcall ICreateTypeLib2_SetHelpStringDll_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IDispatch *LPDISPATCH;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_IDispatch;
-
-
-    
-    struct __declspec(uuid("00020400-0000-0000-C000-000000000046")) __declspec(novtable)
-    IDispatch : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetTypeInfoCount( 
-             UINT *pctinfo) = 0;
-        
-        virtual HRESULT __stdcall GetTypeInfo( 
-             UINT iTInfo,
-             LCID lcid,
-             ITypeInfo **ppTInfo) = 0;
-        
-        virtual HRESULT __stdcall GetIDsOfNames( 
-             const IID & riid,
-             LPOLESTR *rgszNames,
-             UINT cNames,
-             LCID lcid,
-             DISPID *rgDispId) = 0;
-        
-        virtual  HRESULT __stdcall Invoke( 
-             DISPID dispIdMember,
-             const IID & riid,
-             LCID lcid,
-             WORD wFlags,
-             DISPPARAMS *pDispParams,
-             VARIANT *pVarResult,
-             EXCEPINFO *pExcepInfo,
-             UINT *puArgErr) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDispatch_GetTypeInfoCount_Proxy( 
-    IDispatch * This,
-     UINT *pctinfo);
-
-
-void __stdcall IDispatch_GetTypeInfoCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDispatch_GetTypeInfo_Proxy( 
-    IDispatch * This,
-     UINT iTInfo,
-     LCID lcid,
-     ITypeInfo **ppTInfo);
-
-
-void __stdcall IDispatch_GetTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDispatch_GetIDsOfNames_Proxy( 
-    IDispatch * This,
-     const IID & riid,
-     LPOLESTR *rgszNames,
-     UINT cNames,
-     LCID lcid,
-     DISPID *rgDispId);
-
-
-void __stdcall IDispatch_GetIDsOfNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IDispatch_RemoteInvoke_Proxy( 
-    IDispatch * This,
-     DISPID dispIdMember,
-     const IID & riid,
-     LCID lcid,
-     DWORD dwFlags,
-     DISPPARAMS *pDispParams,
-     VARIANT *pVarResult,
-     EXCEPINFO *pExcepInfo,
-     UINT *pArgErr,
-     UINT cVarRef,
-     UINT *rgVarRefIdx,
-     VARIANTARG *rgVarRef);
-
-
-void __stdcall IDispatch_RemoteInvoke_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumVARIANT *LPENUMVARIANT;
-
-
-extern "C" const IID IID_IEnumVARIANT;
-
-
-    
-    struct __declspec(uuid("00020404-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumVARIANT : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             VARIANT *rgVar,
-             ULONG *pCeltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumVARIANT **ppEnum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumVARIANT_RemoteNext_Proxy( 
-    IEnumVARIANT * This,
-     ULONG celt,
-     VARIANT *rgVar,
-     ULONG *pCeltFetched);
-
-
-void __stdcall IEnumVARIANT_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumVARIANT_Skip_Proxy( 
-    IEnumVARIANT * This,
-     ULONG celt);
-
-
-void __stdcall IEnumVARIANT_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumVARIANT_Reset_Proxy( 
-    IEnumVARIANT * This);
-
-
-void __stdcall IEnumVARIANT_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumVARIANT_Clone_Proxy( 
-    IEnumVARIANT * This,
-     IEnumVARIANT **ppEnum);
-
-
-void __stdcall IEnumVARIANT_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ITypeComp *LPTYPECOMP;
-
-typedef  
-enum tagDESCKIND
-    {	DESCKIND_NONE	= 0,
-	DESCKIND_FUNCDESC	= DESCKIND_NONE + 1,
-	DESCKIND_VARDESC	= DESCKIND_FUNCDESC + 1,
-	DESCKIND_TYPECOMP	= DESCKIND_VARDESC + 1,
-	DESCKIND_IMPLICITAPPOBJ	= DESCKIND_TYPECOMP + 1,
-	DESCKIND_MAX	= DESCKIND_IMPLICITAPPOBJ + 1
-    } 	DESCKIND;
-
-typedef union tagBINDPTR
-    {
-    FUNCDESC *lpfuncdesc;
-    VARDESC *lpvardesc;
-    ITypeComp *lptcomp;
-    } 	BINDPTR;
-
-typedef union tagBINDPTR *LPBINDPTR;
-
-
-extern "C" const IID IID_ITypeComp;
-
-
-    
-    struct __declspec(uuid("00020403-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeComp : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Bind( 
-             LPOLESTR szName,
-             ULONG lHashVal,
-             WORD wFlags,
-             ITypeInfo **ppTInfo,
-             DESCKIND *pDescKind,
-             BINDPTR *pBindPtr) = 0;
-        
-        virtual  HRESULT __stdcall BindType( 
-             LPOLESTR szName,
-             ULONG lHashVal,
-             ITypeInfo **ppTInfo,
-             ITypeComp **ppTComp) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall ITypeComp_RemoteBind_Proxy( 
-    ITypeComp * This,
-     LPOLESTR szName,
-     ULONG lHashVal,
-     WORD wFlags,
-     ITypeInfo **ppTInfo,
-     DESCKIND *pDescKind,
-     LPFUNCDESC *ppFuncDesc,
-     LPVARDESC *ppVarDesc,
-     ITypeComp **ppTypeComp,
-     CLEANLOCALSTORAGE *pDummy);
-
-
-void __stdcall ITypeComp_RemoteBind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeComp_RemoteBindType_Proxy( 
-    ITypeComp * This,
-     LPOLESTR szName,
-     ULONG lHashVal,
-     ITypeInfo **ppTInfo);
-
-
-void __stdcall ITypeComp_RemoteBindType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ITypeInfo *LPTYPEINFO;
-
-
-extern "C" const IID IID_ITypeInfo;
-
-
-    
-    struct __declspec(uuid("00020401-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeInfo : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall GetTypeAttr( 
-             TYPEATTR **ppTypeAttr) = 0;
-        
-        virtual HRESULT __stdcall GetTypeComp( 
-             ITypeComp **ppTComp) = 0;
-        
-        virtual  HRESULT __stdcall GetFuncDesc( 
-             UINT index,
-             FUNCDESC **ppFuncDesc) = 0;
-        
-        virtual  HRESULT __stdcall GetVarDesc( 
-             UINT index,
-             VARDESC **ppVarDesc) = 0;
-        
-        virtual  HRESULT __stdcall GetNames( 
-             MEMBERID memid,
-             BSTR *rgBstrNames,
-             UINT cMaxNames,
-             UINT *pcNames) = 0;
-        
-        virtual HRESULT __stdcall GetRefTypeOfImplType( 
-             UINT index,
-             HREFTYPE *pRefType) = 0;
-        
-        virtual HRESULT __stdcall GetImplTypeFlags( 
-             UINT index,
-             INT *pImplTypeFlags) = 0;
-        
-        virtual  HRESULT __stdcall GetIDsOfNames( 
-             LPOLESTR *rgszNames,
-             UINT cNames,
-             MEMBERID *pMemId) = 0;
-        
-        virtual  HRESULT __stdcall Invoke( 
-             PVOID pvInstance,
-             MEMBERID memid,
-             WORD wFlags,
-             DISPPARAMS *pDispParams,
-             VARIANT *pVarResult,
-             EXCEPINFO *pExcepInfo,
-             UINT *puArgErr) = 0;
-        
-        virtual  HRESULT __stdcall GetDocumentation( 
-             MEMBERID memid,
-             BSTR *pBstrName,
-             BSTR *pBstrDocString,
-             DWORD *pdwHelpContext,
-             BSTR *pBstrHelpFile) = 0;
-        
-        virtual  HRESULT __stdcall GetDllEntry( 
-             MEMBERID memid,
-             INVOKEKIND invKind,
-             BSTR *pBstrDllName,
-             BSTR *pBstrName,
-             WORD *pwOrdinal) = 0;
-        
-        virtual HRESULT __stdcall GetRefTypeInfo( 
-             HREFTYPE hRefType,
-             ITypeInfo **ppTInfo) = 0;
-        
-        virtual  HRESULT __stdcall AddressOfMember( 
-             MEMBERID memid,
-             INVOKEKIND invKind,
-             PVOID *ppv) = 0;
-        
-        virtual  HRESULT __stdcall CreateInstance( 
-             IUnknown *pUnkOuter,
-             const IID & riid,
-             PVOID *ppvObj) = 0;
-        
-        virtual HRESULT __stdcall GetMops( 
-             MEMBERID memid,
-             BSTR *pBstrMops) = 0;
-        
-        virtual  HRESULT __stdcall GetContainingTypeLib( 
-             ITypeLib **ppTLib,
-             UINT *pIndex) = 0;
-        
-        virtual  void __stdcall ReleaseTypeAttr( 
-             TYPEATTR *pTypeAttr) = 0;
-        
-        virtual  void __stdcall ReleaseFuncDesc( 
-             FUNCDESC *pFuncDesc) = 0;
-        
-        virtual  void __stdcall ReleaseVarDesc( 
-             VARDESC *pVarDesc) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetTypeAttr_Proxy( 
-    ITypeInfo * This,
-     LPTYPEATTR *ppTypeAttr,
-     CLEANLOCALSTORAGE *pDummy);
-
-
-void __stdcall ITypeInfo_RemoteGetTypeAttr_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo_GetTypeComp_Proxy( 
-    ITypeInfo * This,
-     ITypeComp **ppTComp);
-
-
-void __stdcall ITypeInfo_GetTypeComp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetFuncDesc_Proxy( 
-    ITypeInfo * This,
-     UINT index,
-     LPFUNCDESC *ppFuncDesc,
-     CLEANLOCALSTORAGE *pDummy);
-
-
-void __stdcall ITypeInfo_RemoteGetFuncDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetVarDesc_Proxy( 
-    ITypeInfo * This,
-     UINT index,
-     LPVARDESC *ppVarDesc,
-     CLEANLOCALSTORAGE *pDummy);
-
-
-void __stdcall ITypeInfo_RemoteGetVarDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetNames_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     BSTR *rgBstrNames,
-     UINT cMaxNames,
-     UINT *pcNames);
-
-
-void __stdcall ITypeInfo_RemoteGetNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo_GetRefTypeOfImplType_Proxy( 
-    ITypeInfo * This,
-     UINT index,
-     HREFTYPE *pRefType);
-
-
-void __stdcall ITypeInfo_GetRefTypeOfImplType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo_GetImplTypeFlags_Proxy( 
-    ITypeInfo * This,
-     UINT index,
-     INT *pImplTypeFlags);
-
-
-void __stdcall ITypeInfo_GetImplTypeFlags_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_LocalGetIDsOfNames_Proxy( 
-    ITypeInfo * This);
-
-
-void __stdcall ITypeInfo_LocalGetIDsOfNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_LocalInvoke_Proxy( 
-    ITypeInfo * This);
-
-
-void __stdcall ITypeInfo_LocalInvoke_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetDocumentation_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     DWORD refPtrFlags,
-     BSTR *pBstrName,
-     BSTR *pBstrDocString,
-     DWORD *pdwHelpContext,
-     BSTR *pBstrHelpFile);
-
-
-void __stdcall ITypeInfo_RemoteGetDocumentation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetDllEntry_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     INVOKEKIND invKind,
-     DWORD refPtrFlags,
-     BSTR *pBstrDllName,
-     BSTR *pBstrName,
-     WORD *pwOrdinal);
-
-
-void __stdcall ITypeInfo_RemoteGetDllEntry_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo_GetRefTypeInfo_Proxy( 
-    ITypeInfo * This,
-     HREFTYPE hRefType,
-     ITypeInfo **ppTInfo);
-
-
-void __stdcall ITypeInfo_GetRefTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_LocalAddressOfMember_Proxy( 
-    ITypeInfo * This);
-
-
-void __stdcall ITypeInfo_LocalAddressOfMember_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteCreateInstance_Proxy( 
-    ITypeInfo * This,
-     const IID & riid,
-     IUnknown **ppvObj);
-
-
-void __stdcall ITypeInfo_RemoteCreateInstance_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo_GetMops_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     BSTR *pBstrMops);
-
-
-void __stdcall ITypeInfo_GetMops_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_RemoteGetContainingTypeLib_Proxy( 
-    ITypeInfo * This,
-     ITypeLib **ppTLib,
-     UINT *pIndex);
-
-
-void __stdcall ITypeInfo_RemoteGetContainingTypeLib_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_LocalReleaseTypeAttr_Proxy( 
-    ITypeInfo * This);
-
-
-void __stdcall ITypeInfo_LocalReleaseTypeAttr_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_LocalReleaseFuncDesc_Proxy( 
-    ITypeInfo * This);
-
-
-void __stdcall ITypeInfo_LocalReleaseFuncDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo_LocalReleaseVarDesc_Proxy( 
-    ITypeInfo * This);
-
-
-void __stdcall ITypeInfo_LocalReleaseVarDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ITypeInfo2 *LPTYPEINFO2;
-
-
-extern "C" const IID IID_ITypeInfo2;
-
-
-    
-    struct __declspec(uuid("00020412-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeInfo2 : public ITypeInfo
-    {
-    public:
-        virtual HRESULT __stdcall GetTypeKind( 
-             TYPEKIND *pTypeKind) = 0;
-        
-        virtual HRESULT __stdcall GetTypeFlags( 
-             ULONG *pTypeFlags) = 0;
-        
-        virtual HRESULT __stdcall GetFuncIndexOfMemId( 
-             MEMBERID memid,
-             INVOKEKIND invKind,
-             UINT *pFuncIndex) = 0;
-        
-        virtual HRESULT __stdcall GetVarIndexOfMemId( 
-             MEMBERID memid,
-             UINT *pVarIndex) = 0;
-        
-        virtual HRESULT __stdcall GetCustData( 
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall GetFuncCustData( 
-             UINT index,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall GetParamCustData( 
-             UINT indexFunc,
-             UINT indexParam,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall GetVarCustData( 
-             UINT index,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual HRESULT __stdcall GetImplTypeCustData( 
-             UINT index,
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual  HRESULT __stdcall GetDocumentation2( 
-             MEMBERID memid,
-             LCID lcid,
-             BSTR *pbstrHelpString,
-             DWORD *pdwHelpStringContext,
-             BSTR *pbstrHelpStringDll) = 0;
-        
-        virtual HRESULT __stdcall GetAllCustData( 
-             CUSTDATA *pCustData) = 0;
-        
-        virtual HRESULT __stdcall GetAllFuncCustData( 
-             UINT index,
-             CUSTDATA *pCustData) = 0;
-        
-        virtual HRESULT __stdcall GetAllParamCustData( 
-             UINT indexFunc,
-             UINT indexParam,
-             CUSTDATA *pCustData) = 0;
-        
-        virtual HRESULT __stdcall GetAllVarCustData( 
-             UINT index,
-             CUSTDATA *pCustData) = 0;
-        
-        virtual HRESULT __stdcall GetAllImplTypeCustData( 
-             UINT index,
-             CUSTDATA *pCustData) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ITypeInfo2_GetTypeKind_Proxy( 
-    ITypeInfo2 * This,
-     TYPEKIND *pTypeKind);
-
-
-void __stdcall ITypeInfo2_GetTypeKind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetTypeFlags_Proxy( 
-    ITypeInfo2 * This,
-     ULONG *pTypeFlags);
-
-
-void __stdcall ITypeInfo2_GetTypeFlags_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetFuncIndexOfMemId_Proxy( 
-    ITypeInfo2 * This,
-     MEMBERID memid,
-     INVOKEKIND invKind,
-     UINT *pFuncIndex);
-
-
-void __stdcall ITypeInfo2_GetFuncIndexOfMemId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetVarIndexOfMemId_Proxy( 
-    ITypeInfo2 * This,
-     MEMBERID memid,
-     UINT *pVarIndex);
-
-
-void __stdcall ITypeInfo2_GetVarIndexOfMemId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetCustData_Proxy( 
-    ITypeInfo2 * This,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ITypeInfo2_GetCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetFuncCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT index,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ITypeInfo2_GetFuncCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetParamCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT indexFunc,
-     UINT indexParam,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ITypeInfo2_GetParamCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetVarCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT index,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ITypeInfo2_GetVarCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetImplTypeCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT index,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ITypeInfo2_GetImplTypeCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeInfo2_RemoteGetDocumentation2_Proxy( 
-    ITypeInfo2 * This,
-     MEMBERID memid,
-     LCID lcid,
-     DWORD refPtrFlags,
-     BSTR *pbstrHelpString,
-     DWORD *pdwHelpStringContext,
-     BSTR *pbstrHelpStringDll);
-
-
-void __stdcall ITypeInfo2_RemoteGetDocumentation2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetAllCustData_Proxy( 
-    ITypeInfo2 * This,
-     CUSTDATA *pCustData);
-
-
-void __stdcall ITypeInfo2_GetAllCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetAllFuncCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT index,
-     CUSTDATA *pCustData);
-
-
-void __stdcall ITypeInfo2_GetAllFuncCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetAllParamCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT indexFunc,
-     UINT indexParam,
-     CUSTDATA *pCustData);
-
-
-void __stdcall ITypeInfo2_GetAllParamCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetAllVarCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT index,
-     CUSTDATA *pCustData);
-
-
-void __stdcall ITypeInfo2_GetAllVarCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeInfo2_GetAllImplTypeCustData_Proxy( 
-    ITypeInfo2 * This,
-     UINT index,
-     CUSTDATA *pCustData);
-
-
-void __stdcall ITypeInfo2_GetAllImplTypeCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  
-enum tagSYSKIND
-    {	SYS_WIN16	= 0,
-	SYS_WIN32	= SYS_WIN16 + 1,
-	SYS_MAC	= SYS_WIN32 + 1,
-	SYS_WIN64	= SYS_MAC + 1
-    } 	SYSKIND;
-
-typedef  
-enum tagLIBFLAGS
-    {	LIBFLAG_FRESTRICTED	= 0x1,
-	LIBFLAG_FCONTROL	= 0x2,
-	LIBFLAG_FHIDDEN	= 0x4,
-	LIBFLAG_FHASDISKIMAGE	= 0x8
-    } 	LIBFLAGS;
-
-typedef  ITypeLib *LPTYPELIB;
-
-typedef struct tagTLIBATTR
-    {
-    GUID guid;
-    LCID lcid;
-    SYSKIND syskind;
-    WORD wMajorVerNum;
-    WORD wMinorVerNum;
-    WORD wLibFlags;
-    } 	TLIBATTR;
-
-typedef struct tagTLIBATTR *LPTLIBATTR;
-
-
-extern "C" const IID IID_ITypeLib;
-
-
-    
-    struct __declspec(uuid("00020402-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeLib : public IUnknown
-    {
-    public:
-        virtual  UINT __stdcall GetTypeInfoCount( void) = 0;
-        
-        virtual HRESULT __stdcall GetTypeInfo( 
-             UINT index,
-             ITypeInfo **ppTInfo) = 0;
-        
-        virtual HRESULT __stdcall GetTypeInfoType( 
-             UINT index,
-             TYPEKIND *pTKind) = 0;
-        
-        virtual HRESULT __stdcall GetTypeInfoOfGuid( 
-             const GUID & guid,
-             ITypeInfo **ppTinfo) = 0;
-        
-        virtual  HRESULT __stdcall GetLibAttr( 
-             TLIBATTR **ppTLibAttr) = 0;
-        
-        virtual HRESULT __stdcall GetTypeComp( 
-             ITypeComp **ppTComp) = 0;
-        
-        virtual  HRESULT __stdcall GetDocumentation( 
-             INT index,
-             BSTR *pBstrName,
-             BSTR *pBstrDocString,
-             DWORD *pdwHelpContext,
-             BSTR *pBstrHelpFile) = 0;
-        
-        virtual  HRESULT __stdcall IsName( 
-             LPOLESTR szNameBuf,
-             ULONG lHashVal,
-             BOOL *pfName) = 0;
-        
-        virtual  HRESULT __stdcall FindName( 
-             LPOLESTR szNameBuf,
-             ULONG lHashVal,
-             ITypeInfo **ppTInfo,
-             MEMBERID *rgMemId,
-             USHORT *pcFound) = 0;
-        
-        virtual  void __stdcall ReleaseTLibAttr( 
-             TLIBATTR *pTLibAttr) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall ITypeLib_RemoteGetTypeInfoCount_Proxy( 
-    ITypeLib * This,
-     UINT *pcTInfo);
-
-
-void __stdcall ITypeLib_RemoteGetTypeInfoCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeLib_GetTypeInfo_Proxy( 
-    ITypeLib * This,
-     UINT index,
-     ITypeInfo **ppTInfo);
-
-
-void __stdcall ITypeLib_GetTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeLib_GetTypeInfoType_Proxy( 
-    ITypeLib * This,
-     UINT index,
-     TYPEKIND *pTKind);
-
-
-void __stdcall ITypeLib_GetTypeInfoType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeLib_GetTypeInfoOfGuid_Proxy( 
-    ITypeLib * This,
-     const GUID & guid,
-     ITypeInfo **ppTinfo);
-
-
-void __stdcall ITypeLib_GetTypeInfoOfGuid_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib_RemoteGetLibAttr_Proxy( 
-    ITypeLib * This,
-     LPTLIBATTR *ppTLibAttr,
-     CLEANLOCALSTORAGE *pDummy);
-
-
-void __stdcall ITypeLib_RemoteGetLibAttr_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeLib_GetTypeComp_Proxy( 
-    ITypeLib * This,
-     ITypeComp **ppTComp);
-
-
-void __stdcall ITypeLib_GetTypeComp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib_RemoteGetDocumentation_Proxy( 
-    ITypeLib * This,
-     INT index,
-     DWORD refPtrFlags,
-     BSTR *pBstrName,
-     BSTR *pBstrDocString,
-     DWORD *pdwHelpContext,
-     BSTR *pBstrHelpFile);
-
-
-void __stdcall ITypeLib_RemoteGetDocumentation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib_RemoteIsName_Proxy( 
-    ITypeLib * This,
-     LPOLESTR szNameBuf,
-     ULONG lHashVal,
-     BOOL *pfName,
-     BSTR *pBstrLibName);
-
-
-void __stdcall ITypeLib_RemoteIsName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib_RemoteFindName_Proxy( 
-    ITypeLib * This,
-     LPOLESTR szNameBuf,
-     ULONG lHashVal,
-     ITypeInfo **ppTInfo,
-     MEMBERID *rgMemId,
-     USHORT *pcFound,
-     BSTR *pBstrLibName);
-
-
-void __stdcall ITypeLib_RemoteFindName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib_LocalReleaseTLibAttr_Proxy( 
-    ITypeLib * This);
-
-
-void __stdcall ITypeLib_LocalReleaseTLibAttr_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ITypeLib2 *LPTYPELIB2;
-
-
-extern "C" const IID IID_ITypeLib2;
-
-
-    
-    struct __declspec(uuid("00020411-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeLib2 : public ITypeLib
-    {
-    public:
-        virtual HRESULT __stdcall GetCustData( 
-             const GUID & guid,
-             VARIANT *pVarVal) = 0;
-        
-        virtual  HRESULT __stdcall GetLibStatistics( 
-             ULONG *pcUniqueNames,
-             ULONG *pcchUniqueNames) = 0;
-        
-        virtual  HRESULT __stdcall GetDocumentation2( 
-             INT index,
-             LCID lcid,
-             BSTR *pbstrHelpString,
-             DWORD *pdwHelpStringContext,
-             BSTR *pbstrHelpStringDll) = 0;
-        
-        virtual HRESULT __stdcall GetAllCustData( 
-             CUSTDATA *pCustData) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ITypeLib2_GetCustData_Proxy( 
-    ITypeLib2 * This,
-     const GUID & guid,
-     VARIANT *pVarVal);
-
-
-void __stdcall ITypeLib2_GetCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib2_RemoteGetLibStatistics_Proxy( 
-    ITypeLib2 * This,
-     ULONG *pcUniqueNames,
-     ULONG *pcchUniqueNames);
-
-
-void __stdcall ITypeLib2_RemoteGetLibStatistics_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ITypeLib2_RemoteGetDocumentation2_Proxy( 
-    ITypeLib2 * This,
-     INT index,
-     LCID lcid,
-     DWORD refPtrFlags,
-     BSTR *pbstrHelpString,
-     DWORD *pdwHelpStringContext,
-     BSTR *pbstrHelpStringDll);
-
-
-void __stdcall ITypeLib2_RemoteGetDocumentation2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeLib2_GetAllCustData_Proxy( 
-    ITypeLib2 * This,
-     CUSTDATA *pCustData);
-
-
-void __stdcall ITypeLib2_GetAllCustData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ITypeChangeEvents *LPTYPECHANGEEVENTS;
-
-typedef 
-enum tagCHANGEKIND
-    {	CHANGEKIND_ADDMEMBER	= 0,
-	CHANGEKIND_DELETEMEMBER	= CHANGEKIND_ADDMEMBER + 1,
-	CHANGEKIND_SETNAMES	= CHANGEKIND_DELETEMEMBER + 1,
-	CHANGEKIND_SETDOCUMENTATION	= CHANGEKIND_SETNAMES + 1,
-	CHANGEKIND_GENERAL	= CHANGEKIND_SETDOCUMENTATION + 1,
-	CHANGEKIND_INVALIDATE	= CHANGEKIND_GENERAL + 1,
-	CHANGEKIND_CHANGEFAILED	= CHANGEKIND_INVALIDATE + 1,
-	CHANGEKIND_MAX	= CHANGEKIND_CHANGEFAILED + 1
-    } 	CHANGEKIND;
-
-
-extern "C" const IID IID_ITypeChangeEvents;
-
-
-    
-    struct __declspec(uuid("00020410-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeChangeEvents : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall RequestTypeChange( 
-             CHANGEKIND changeKind,
-             ITypeInfo *pTInfoBefore,
-             LPOLESTR pStrName,
-             INT *pfCancel) = 0;
-        
-        virtual HRESULT __stdcall AfterTypeChange( 
-             CHANGEKIND changeKind,
-             ITypeInfo *pTInfoAfter,
-             LPOLESTR pStrName) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ITypeChangeEvents_RequestTypeChange_Proxy( 
-    ITypeChangeEvents * This,
-     CHANGEKIND changeKind,
-     ITypeInfo *pTInfoBefore,
-     LPOLESTR pStrName,
-     INT *pfCancel);
-
-
-void __stdcall ITypeChangeEvents_RequestTypeChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeChangeEvents_AfterTypeChange_Proxy( 
-    ITypeChangeEvents * This,
-     CHANGEKIND changeKind,
-     ITypeInfo *pTInfoAfter,
-     LPOLESTR pStrName);
-
-
-void __stdcall ITypeChangeEvents_AfterTypeChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IErrorInfo *LPERRORINFO;
-
-
-extern "C" const IID IID_IErrorInfo;
-
-
-    
-    struct __declspec(uuid("1CF2B120-547D-101B-8E65-08002B2BD119")) __declspec(novtable)
-    IErrorInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetGUID( 
-             GUID *pGUID) = 0;
-        
-        virtual HRESULT __stdcall GetSource( 
-             BSTR *pBstrSource) = 0;
-        
-        virtual HRESULT __stdcall GetDescription( 
-             BSTR *pBstrDescription) = 0;
-        
-        virtual HRESULT __stdcall GetHelpFile( 
-             BSTR *pBstrHelpFile) = 0;
-        
-        virtual HRESULT __stdcall GetHelpContext( 
-             DWORD *pdwHelpContext) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IErrorInfo_GetGUID_Proxy( 
-    IErrorInfo * This,
-     GUID *pGUID);
-
-
-void __stdcall IErrorInfo_GetGUID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IErrorInfo_GetSource_Proxy( 
-    IErrorInfo * This,
-     BSTR *pBstrSource);
-
-
-void __stdcall IErrorInfo_GetSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IErrorInfo_GetDescription_Proxy( 
-    IErrorInfo * This,
-     BSTR *pBstrDescription);
-
-
-void __stdcall IErrorInfo_GetDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IErrorInfo_GetHelpFile_Proxy( 
-    IErrorInfo * This,
-     BSTR *pBstrHelpFile);
-
-
-void __stdcall IErrorInfo_GetHelpFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IErrorInfo_GetHelpContext_Proxy( 
-    IErrorInfo * This,
-     DWORD *pdwHelpContext);
-
-
-void __stdcall IErrorInfo_GetHelpContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ICreateErrorInfo *LPCREATEERRORINFO;
-
-
-extern "C" const IID IID_ICreateErrorInfo;
-
-
-    
-    struct __declspec(uuid("22F03340-547D-101B-8E65-08002B2BD119")) __declspec(novtable)
-    ICreateErrorInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetGUID( 
-             const GUID & rguid) = 0;
-        
-        virtual HRESULT __stdcall SetSource( 
-             LPOLESTR szSource) = 0;
-        
-        virtual HRESULT __stdcall SetDescription( 
-             LPOLESTR szDescription) = 0;
-        
-        virtual HRESULT __stdcall SetHelpFile( 
-             LPOLESTR szHelpFile) = 0;
-        
-        virtual HRESULT __stdcall SetHelpContext( 
-             DWORD dwHelpContext) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICreateErrorInfo_SetGUID_Proxy( 
-    ICreateErrorInfo * This,
-     const GUID & rguid);
-
-
-void __stdcall ICreateErrorInfo_SetGUID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateErrorInfo_SetSource_Proxy( 
-    ICreateErrorInfo * This,
-     LPOLESTR szSource);
-
-
-void __stdcall ICreateErrorInfo_SetSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateErrorInfo_SetDescription_Proxy( 
-    ICreateErrorInfo * This,
-     LPOLESTR szDescription);
-
-
-void __stdcall ICreateErrorInfo_SetDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateErrorInfo_SetHelpFile_Proxy( 
-    ICreateErrorInfo * This,
-     LPOLESTR szHelpFile);
-
-
-void __stdcall ICreateErrorInfo_SetHelpFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICreateErrorInfo_SetHelpContext_Proxy( 
-    ICreateErrorInfo * This,
-     DWORD dwHelpContext);
-
-
-void __stdcall ICreateErrorInfo_SetHelpContext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  ISupportErrorInfo *LPSUPPORTERRORINFO;
-
-
-extern "C" const IID IID_ISupportErrorInfo;
-
-
-    
-    struct __declspec(uuid("DF0B3D60-548F-101B-8E65-08002B2BD119")) __declspec(novtable)
-    ISupportErrorInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall InterfaceSupportsErrorInfo( 
-             const IID & riid) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISupportErrorInfo_InterfaceSupportsErrorInfo_Proxy( 
-    ISupportErrorInfo * This,
-     const IID & riid);
-
-
-void __stdcall ISupportErrorInfo_InterfaceSupportsErrorInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ITypeFactory;
-
-
-    
-    struct __declspec(uuid("0000002E-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeFactory : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateFromTypeInfo( 
-             ITypeInfo *pTypeInfo,
-             const IID & riid,
-             IUnknown **ppv) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ITypeFactory_CreateFromTypeInfo_Proxy( 
-    ITypeFactory * This,
-     ITypeInfo *pTypeInfo,
-     const IID & riid,
-     IUnknown **ppv);
-
-
-void __stdcall ITypeFactory_CreateFromTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ITypeMarshal;
-
-
-    
-    struct __declspec(uuid("0000002D-0000-0000-C000-000000000046")) __declspec(novtable)
-    ITypeMarshal : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Size( 
-             PVOID pvType,
-             DWORD dwDestContext,
-             PVOID pvDestContext,
-             ULONG *pSize) = 0;
-        
-        virtual HRESULT __stdcall Marshal( 
-             PVOID pvType,
-             DWORD dwDestContext,
-             PVOID pvDestContext,
-             ULONG cbBufferLength,
-             BYTE *pBuffer,
-             ULONG *pcbWritten) = 0;
-        
-        virtual HRESULT __stdcall Unmarshal( 
-             PVOID pvType,
-             DWORD dwFlags,
-             ULONG cbBufferLength,
-             BYTE *pBuffer,
-             ULONG *pcbRead) = 0;
-        
-        virtual HRESULT __stdcall Free( 
-             PVOID pvType) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ITypeMarshal_Size_Proxy( 
-    ITypeMarshal * This,
-     PVOID pvType,
-     DWORD dwDestContext,
-     PVOID pvDestContext,
-     ULONG *pSize);
-
-
-void __stdcall ITypeMarshal_Size_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeMarshal_Marshal_Proxy( 
-    ITypeMarshal * This,
-     PVOID pvType,
-     DWORD dwDestContext,
-     PVOID pvDestContext,
-     ULONG cbBufferLength,
-     BYTE *pBuffer,
-     ULONG *pcbWritten);
-
-
-void __stdcall ITypeMarshal_Marshal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeMarshal_Unmarshal_Proxy( 
-    ITypeMarshal * This,
-     PVOID pvType,
-     DWORD dwFlags,
-     ULONG cbBufferLength,
-     BYTE *pBuffer,
-     ULONG *pcbRead);
-
-
-void __stdcall ITypeMarshal_Unmarshal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ITypeMarshal_Free_Proxy( 
-    ITypeMarshal * This,
-     PVOID pvType);
-
-
-void __stdcall ITypeMarshal_Free_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IRecordInfo *LPRECORDINFO;
-
-
-extern "C" const IID IID_IRecordInfo;
-
-
-    
-    struct __declspec(uuid("0000002F-0000-0000-C000-000000000046")) __declspec(novtable)
-    IRecordInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall RecordInit( 
-             PVOID pvNew) = 0;
-        
-        virtual HRESULT __stdcall RecordClear( 
-             PVOID pvExisting) = 0;
-        
-        virtual HRESULT __stdcall RecordCopy( 
-             PVOID pvExisting,
-             PVOID pvNew) = 0;
-        
-        virtual HRESULT __stdcall GetGuid( 
-             GUID *pguid) = 0;
-        
-        virtual HRESULT __stdcall GetName( 
-             BSTR *pbstrName) = 0;
-        
-        virtual HRESULT __stdcall GetSize( 
-             ULONG *pcbSize) = 0;
-        
-        virtual HRESULT __stdcall GetTypeInfo( 
-             ITypeInfo **ppTypeInfo) = 0;
-        
-        virtual HRESULT __stdcall GetField( 
-             PVOID pvData,
-             LPCOLESTR szFieldName,
-             VARIANT *pvarField) = 0;
-        
-        virtual HRESULT __stdcall GetFieldNoCopy( 
-             PVOID pvData,
-             LPCOLESTR szFieldName,
-             VARIANT *pvarField,
-             PVOID *ppvDataCArray) = 0;
-        
-        virtual HRESULT __stdcall PutField( 
-             ULONG wFlags,
-             PVOID pvData,
-             LPCOLESTR szFieldName,
-             VARIANT *pvarField) = 0;
-        
-        virtual HRESULT __stdcall PutFieldNoCopy( 
-             ULONG wFlags,
-             PVOID pvData,
-             LPCOLESTR szFieldName,
-             VARIANT *pvarField) = 0;
-        
-        virtual HRESULT __stdcall GetFieldNames( 
-             ULONG *pcNames,
-             BSTR *rgBstrNames) = 0;
-        
-        virtual BOOL __stdcall IsMatchingType( 
-             IRecordInfo *pRecordInfo) = 0;
-        
-        virtual PVOID __stdcall RecordCreate( void) = 0;
-        
-        virtual HRESULT __stdcall RecordCreateCopy( 
-             PVOID pvSource,
-             PVOID *ppvDest) = 0;
-        
-        virtual HRESULT __stdcall RecordDestroy( 
-             PVOID pvRecord) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRecordInfo_RecordInit_Proxy( 
-    IRecordInfo * This,
-     PVOID pvNew);
-
-
-void __stdcall IRecordInfo_RecordInit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_RecordClear_Proxy( 
-    IRecordInfo * This,
-     PVOID pvExisting);
-
-
-void __stdcall IRecordInfo_RecordClear_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_RecordCopy_Proxy( 
-    IRecordInfo * This,
-     PVOID pvExisting,
-     PVOID pvNew);
-
-
-void __stdcall IRecordInfo_RecordCopy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetGuid_Proxy( 
-    IRecordInfo * This,
-     GUID *pguid);
-
-
-void __stdcall IRecordInfo_GetGuid_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetName_Proxy( 
-    IRecordInfo * This,
-     BSTR *pbstrName);
-
-
-void __stdcall IRecordInfo_GetName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetSize_Proxy( 
-    IRecordInfo * This,
-     ULONG *pcbSize);
-
-
-void __stdcall IRecordInfo_GetSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetTypeInfo_Proxy( 
-    IRecordInfo * This,
-     ITypeInfo **ppTypeInfo);
-
-
-void __stdcall IRecordInfo_GetTypeInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetField_Proxy( 
-    IRecordInfo * This,
-     PVOID pvData,
-     LPCOLESTR szFieldName,
-     VARIANT *pvarField);
-
-
-void __stdcall IRecordInfo_GetField_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetFieldNoCopy_Proxy( 
-    IRecordInfo * This,
-     PVOID pvData,
-     LPCOLESTR szFieldName,
-     VARIANT *pvarField,
-     PVOID *ppvDataCArray);
-
-
-void __stdcall IRecordInfo_GetFieldNoCopy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_PutField_Proxy( 
-    IRecordInfo * This,
-     ULONG wFlags,
-     PVOID pvData,
-     LPCOLESTR szFieldName,
-     VARIANT *pvarField);
-
-
-void __stdcall IRecordInfo_PutField_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_PutFieldNoCopy_Proxy( 
-    IRecordInfo * This,
-     ULONG wFlags,
-     PVOID pvData,
-     LPCOLESTR szFieldName,
-     VARIANT *pvarField);
-
-
-void __stdcall IRecordInfo_PutFieldNoCopy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_GetFieldNames_Proxy( 
-    IRecordInfo * This,
-     ULONG *pcNames,
-     BSTR *rgBstrNames);
-
-
-void __stdcall IRecordInfo_GetFieldNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-BOOL __stdcall IRecordInfo_IsMatchingType_Proxy( 
-    IRecordInfo * This,
-     IRecordInfo *pRecordInfo);
-
-
-void __stdcall IRecordInfo_IsMatchingType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-PVOID __stdcall IRecordInfo_RecordCreate_Proxy( 
-    IRecordInfo * This);
-
-
-void __stdcall IRecordInfo_RecordCreate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_RecordCreateCopy_Proxy( 
-    IRecordInfo * This,
-     PVOID pvSource,
-     PVOID *ppvDest);
-
-
-void __stdcall IRecordInfo_RecordCreateCopy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRecordInfo_RecordDestroy_Proxy( 
-    IRecordInfo * This,
-     PVOID pvRecord);
-
-
-void __stdcall IRecordInfo_RecordDestroy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IErrorLog *LPERRORLOG;
-
-
-extern "C" const IID IID_IErrorLog;
-
-
-    
-    struct __declspec(uuid("3127CA40-446E-11CE-8135-00AA004BB851")) __declspec(novtable)
-    IErrorLog : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall AddError( 
-             LPCOLESTR pszPropName,
-             EXCEPINFO *pExcepInfo) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IErrorLog_AddError_Proxy( 
-    IErrorLog * This,
-     LPCOLESTR pszPropName,
-     EXCEPINFO *pExcepInfo);
-
-
-void __stdcall IErrorLog_AddError_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPropertyBag *LPPROPERTYBAG;
-
-
-extern "C" const IID IID_IPropertyBag;
-
-
-    
-    struct __declspec(uuid("55272A00-42CB-11CE-8135-00AA004BB851")) __declspec(novtable)
-    IPropertyBag : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Read( 
-             LPCOLESTR pszPropName,
-             VARIANT *pVar,
-             IErrorLog *pErrorLog) = 0;
-        
-        virtual HRESULT __stdcall Write( 
-             LPCOLESTR pszPropName,
-             VARIANT *pVar) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IPropertyBag_RemoteRead_Proxy( 
-    IPropertyBag * This,
-     LPCOLESTR pszPropName,
-     VARIANT *pVar,
-     IErrorLog *pErrorLog,
-     DWORD varType,
-     IUnknown *pUnkObj);
-
-
-void __stdcall IPropertyBag_RemoteRead_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyBag_Write_Proxy( 
-    IPropertyBag * This,
-     LPCOLESTR pszPropName,
-     VARIANT *pVar);
-
-
-void __stdcall IPropertyBag_Write_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_oaidl_0114_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_oaidl_0114_v0_0_s_ifspec;
-
-
-
-unsigned long             __stdcall  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
-unsigned char * __stdcall  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
-unsigned char * __stdcall  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
-void                      __stdcall  BSTR_UserFree(     unsigned long *, BSTR * ); 
-
-unsigned long             __stdcall  CLEANLOCALSTORAGE_UserSize(     unsigned long *, unsigned long            , CLEANLOCALSTORAGE * ); 
-unsigned char * __stdcall  CLEANLOCALSTORAGE_UserMarshal(  unsigned long *, unsigned char *, CLEANLOCALSTORAGE * ); 
-unsigned char * __stdcall  CLEANLOCALSTORAGE_UserUnmarshal(unsigned long *, unsigned char *, CLEANLOCALSTORAGE * ); 
-void                      __stdcall  CLEANLOCALSTORAGE_UserFree(     unsigned long *, CLEANLOCALSTORAGE * ); 
-
-unsigned long             __stdcall  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
-unsigned char * __stdcall  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
-unsigned char * __stdcall  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
-void                      __stdcall  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
-
- HRESULT __stdcall IDispatch_Invoke_Proxy( 
-    IDispatch * This,
-     DISPID dispIdMember,
-     const IID & riid,
-     LCID lcid,
-     WORD wFlags,
-     DISPPARAMS *pDispParams,
-     VARIANT *pVarResult,
-     EXCEPINFO *pExcepInfo,
-     UINT *puArgErr);
-
-
- HRESULT __stdcall IDispatch_Invoke_Stub( 
-    IDispatch * This,
-     DISPID dispIdMember,
-     const IID & riid,
-     LCID lcid,
-     DWORD dwFlags,
-     DISPPARAMS *pDispParams,
-     VARIANT *pVarResult,
-     EXCEPINFO *pExcepInfo,
-     UINT *pArgErr,
-     UINT cVarRef,
-     UINT *rgVarRefIdx,
-     VARIANTARG *rgVarRef);
-
- HRESULT __stdcall IEnumVARIANT_Next_Proxy( 
-    IEnumVARIANT * This,
-     ULONG celt,
-     VARIANT *rgVar,
-     ULONG *pCeltFetched);
-
-
- HRESULT __stdcall IEnumVARIANT_Next_Stub( 
-    IEnumVARIANT * This,
-     ULONG celt,
-     VARIANT *rgVar,
-     ULONG *pCeltFetched);
-
- HRESULT __stdcall ITypeComp_Bind_Proxy( 
-    ITypeComp * This,
-     LPOLESTR szName,
-     ULONG lHashVal,
-     WORD wFlags,
-     ITypeInfo **ppTInfo,
-     DESCKIND *pDescKind,
-     BINDPTR *pBindPtr);
-
-
- HRESULT __stdcall ITypeComp_Bind_Stub( 
-    ITypeComp * This,
-     LPOLESTR szName,
-     ULONG lHashVal,
-     WORD wFlags,
-     ITypeInfo **ppTInfo,
-     DESCKIND *pDescKind,
-     LPFUNCDESC *ppFuncDesc,
-     LPVARDESC *ppVarDesc,
-     ITypeComp **ppTypeComp,
-     CLEANLOCALSTORAGE *pDummy);
-
- HRESULT __stdcall ITypeComp_BindType_Proxy( 
-    ITypeComp * This,
-     LPOLESTR szName,
-     ULONG lHashVal,
-     ITypeInfo **ppTInfo,
-     ITypeComp **ppTComp);
-
-
- HRESULT __stdcall ITypeComp_BindType_Stub( 
-    ITypeComp * This,
-     LPOLESTR szName,
-     ULONG lHashVal,
-     ITypeInfo **ppTInfo);
-
- HRESULT __stdcall ITypeInfo_GetTypeAttr_Proxy( 
-    ITypeInfo * This,
-     TYPEATTR **ppTypeAttr);
-
-
- HRESULT __stdcall ITypeInfo_GetTypeAttr_Stub( 
-    ITypeInfo * This,
-     LPTYPEATTR *ppTypeAttr,
-     CLEANLOCALSTORAGE *pDummy);
-
- HRESULT __stdcall ITypeInfo_GetFuncDesc_Proxy( 
-    ITypeInfo * This,
-     UINT index,
-     FUNCDESC **ppFuncDesc);
-
-
- HRESULT __stdcall ITypeInfo_GetFuncDesc_Stub( 
-    ITypeInfo * This,
-     UINT index,
-     LPFUNCDESC *ppFuncDesc,
-     CLEANLOCALSTORAGE *pDummy);
-
- HRESULT __stdcall ITypeInfo_GetVarDesc_Proxy( 
-    ITypeInfo * This,
-     UINT index,
-     VARDESC **ppVarDesc);
-
-
- HRESULT __stdcall ITypeInfo_GetVarDesc_Stub( 
-    ITypeInfo * This,
-     UINT index,
-     LPVARDESC *ppVarDesc,
-     CLEANLOCALSTORAGE *pDummy);
-
- HRESULT __stdcall ITypeInfo_GetNames_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     BSTR *rgBstrNames,
-     UINT cMaxNames,
-     UINT *pcNames);
-
-
- HRESULT __stdcall ITypeInfo_GetNames_Stub( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     BSTR *rgBstrNames,
-     UINT cMaxNames,
-     UINT *pcNames);
-
- HRESULT __stdcall ITypeInfo_GetIDsOfNames_Proxy( 
-    ITypeInfo * This,
-     LPOLESTR *rgszNames,
-     UINT cNames,
-     MEMBERID *pMemId);
-
-
- HRESULT __stdcall ITypeInfo_GetIDsOfNames_Stub( 
-    ITypeInfo * This);
-
- HRESULT __stdcall ITypeInfo_Invoke_Proxy( 
-    ITypeInfo * This,
-     PVOID pvInstance,
-     MEMBERID memid,
-     WORD wFlags,
-     DISPPARAMS *pDispParams,
-     VARIANT *pVarResult,
-     EXCEPINFO *pExcepInfo,
-     UINT *puArgErr);
-
-
- HRESULT __stdcall ITypeInfo_Invoke_Stub( 
-    ITypeInfo * This);
-
- HRESULT __stdcall ITypeInfo_GetDocumentation_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     BSTR *pBstrName,
-     BSTR *pBstrDocString,
-     DWORD *pdwHelpContext,
-     BSTR *pBstrHelpFile);
-
-
- HRESULT __stdcall ITypeInfo_GetDocumentation_Stub( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     DWORD refPtrFlags,
-     BSTR *pBstrName,
-     BSTR *pBstrDocString,
-     DWORD *pdwHelpContext,
-     BSTR *pBstrHelpFile);
-
- HRESULT __stdcall ITypeInfo_GetDllEntry_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     INVOKEKIND invKind,
-     BSTR *pBstrDllName,
-     BSTR *pBstrName,
-     WORD *pwOrdinal);
-
-
- HRESULT __stdcall ITypeInfo_GetDllEntry_Stub( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     INVOKEKIND invKind,
-     DWORD refPtrFlags,
-     BSTR *pBstrDllName,
-     BSTR *pBstrName,
-     WORD *pwOrdinal);
-
- HRESULT __stdcall ITypeInfo_AddressOfMember_Proxy( 
-    ITypeInfo * This,
-     MEMBERID memid,
-     INVOKEKIND invKind,
-     PVOID *ppv);
-
-
- HRESULT __stdcall ITypeInfo_AddressOfMember_Stub( 
-    ITypeInfo * This);
-
- HRESULT __stdcall ITypeInfo_CreateInstance_Proxy( 
-    ITypeInfo * This,
-     IUnknown *pUnkOuter,
-     const IID & riid,
-     PVOID *ppvObj);
-
-
- HRESULT __stdcall ITypeInfo_CreateInstance_Stub( 
-    ITypeInfo * This,
-     const IID & riid,
-     IUnknown **ppvObj);
-
- HRESULT __stdcall ITypeInfo_GetContainingTypeLib_Proxy( 
-    ITypeInfo * This,
-     ITypeLib **ppTLib,
-     UINT *pIndex);
-
-
- HRESULT __stdcall ITypeInfo_GetContainingTypeLib_Stub( 
-    ITypeInfo * This,
-     ITypeLib **ppTLib,
-     UINT *pIndex);
-
- void __stdcall ITypeInfo_ReleaseTypeAttr_Proxy( 
-    ITypeInfo * This,
-     TYPEATTR *pTypeAttr);
-
-
- HRESULT __stdcall ITypeInfo_ReleaseTypeAttr_Stub( 
-    ITypeInfo * This);
-
- void __stdcall ITypeInfo_ReleaseFuncDesc_Proxy( 
-    ITypeInfo * This,
-     FUNCDESC *pFuncDesc);
-
-
- HRESULT __stdcall ITypeInfo_ReleaseFuncDesc_Stub( 
-    ITypeInfo * This);
-
- void __stdcall ITypeInfo_ReleaseVarDesc_Proxy( 
-    ITypeInfo * This,
-     VARDESC *pVarDesc);
-
-
- HRESULT __stdcall ITypeInfo_ReleaseVarDesc_Stub( 
-    ITypeInfo * This);
-
- HRESULT __stdcall ITypeInfo2_GetDocumentation2_Proxy( 
-    ITypeInfo2 * This,
-     MEMBERID memid,
-     LCID lcid,
-     BSTR *pbstrHelpString,
-     DWORD *pdwHelpStringContext,
-     BSTR *pbstrHelpStringDll);
-
-
- HRESULT __stdcall ITypeInfo2_GetDocumentation2_Stub( 
-    ITypeInfo2 * This,
-     MEMBERID memid,
-     LCID lcid,
-     DWORD refPtrFlags,
-     BSTR *pbstrHelpString,
-     DWORD *pdwHelpStringContext,
-     BSTR *pbstrHelpStringDll);
-
- UINT __stdcall ITypeLib_GetTypeInfoCount_Proxy( 
-    ITypeLib * This);
-
-
- HRESULT __stdcall ITypeLib_GetTypeInfoCount_Stub( 
-    ITypeLib * This,
-     UINT *pcTInfo);
-
- HRESULT __stdcall ITypeLib_GetLibAttr_Proxy( 
-    ITypeLib * This,
-     TLIBATTR **ppTLibAttr);
-
-
- HRESULT __stdcall ITypeLib_GetLibAttr_Stub( 
-    ITypeLib * This,
-     LPTLIBATTR *ppTLibAttr,
-     CLEANLOCALSTORAGE *pDummy);
-
- HRESULT __stdcall ITypeLib_GetDocumentation_Proxy( 
-    ITypeLib * This,
-     INT index,
-     BSTR *pBstrName,
-     BSTR *pBstrDocString,
-     DWORD *pdwHelpContext,
-     BSTR *pBstrHelpFile);
-
-
- HRESULT __stdcall ITypeLib_GetDocumentation_Stub( 
-    ITypeLib * This,
-     INT index,
-     DWORD refPtrFlags,
-     BSTR *pBstrName,
-     BSTR *pBstrDocString,
-     DWORD *pdwHelpContext,
-     BSTR *pBstrHelpFile);
-
- HRESULT __stdcall ITypeLib_IsName_Proxy( 
-    ITypeLib * This,
-     LPOLESTR szNameBuf,
-     ULONG lHashVal,
-     BOOL *pfName);
-
-
- HRESULT __stdcall ITypeLib_IsName_Stub( 
-    ITypeLib * This,
-     LPOLESTR szNameBuf,
-     ULONG lHashVal,
-     BOOL *pfName,
-     BSTR *pBstrLibName);
-
- HRESULT __stdcall ITypeLib_FindName_Proxy( 
-    ITypeLib * This,
-     LPOLESTR szNameBuf,
-     ULONG lHashVal,
-     ITypeInfo **ppTInfo,
-     MEMBERID *rgMemId,
-     USHORT *pcFound);
-
-
- HRESULT __stdcall ITypeLib_FindName_Stub( 
-    ITypeLib * This,
-     LPOLESTR szNameBuf,
-     ULONG lHashVal,
-     ITypeInfo **ppTInfo,
-     MEMBERID *rgMemId,
-     USHORT *pcFound,
-     BSTR *pBstrLibName);
-
- void __stdcall ITypeLib_ReleaseTLibAttr_Proxy( 
-    ITypeLib * This,
-     TLIBATTR *pTLibAttr);
-
-
- HRESULT __stdcall ITypeLib_ReleaseTLibAttr_Stub( 
-    ITypeLib * This);
-
- HRESULT __stdcall ITypeLib2_GetLibStatistics_Proxy( 
-    ITypeLib2 * This,
-     ULONG *pcUniqueNames,
-     ULONG *pcchUniqueNames);
-
-
- HRESULT __stdcall ITypeLib2_GetLibStatistics_Stub( 
-    ITypeLib2 * This,
-     ULONG *pcUniqueNames,
-     ULONG *pcchUniqueNames);
-
- HRESULT __stdcall ITypeLib2_GetDocumentation2_Proxy( 
-    ITypeLib2 * This,
-     INT index,
-     LCID lcid,
-     BSTR *pbstrHelpString,
-     DWORD *pdwHelpStringContext,
-     BSTR *pbstrHelpStringDll);
-
-
- HRESULT __stdcall ITypeLib2_GetDocumentation2_Stub( 
-    ITypeLib2 * This,
-     INT index,
-     LCID lcid,
-     DWORD refPtrFlags,
-     BSTR *pbstrHelpString,
-     DWORD *pdwHelpStringContext,
-     BSTR *pbstrHelpStringDll);
-
- HRESULT __stdcall IPropertyBag_Read_Proxy( 
-    IPropertyBag * This,
-     LPCOLESTR pszPropName,
-     VARIANT *pVar,
-     IErrorLog *pErrorLog);
-
-
- HRESULT __stdcall IPropertyBag_Read_Stub( 
-    IPropertyBag * This,
-     LPCOLESTR pszPropName,
-     VARIANT *pVar,
-     IErrorLog *pErrorLog,
-     DWORD varType,
-     IUnknown *pUnkObj);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-typedef struct _xml_error
-    {
-    unsigned int _nLine;
-    BSTR _pchBuf;
-    unsigned int _cchBuf;
-    unsigned int _ich;
-    BSTR _pszFound;
-    BSTR _pszExpected;
-    DWORD _reserved1;
-    DWORD _reserved2;
-    } 	XML_ERROR;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_v0_0_s_ifspec;
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  
-enum tagDOMNodeType
-    {	NODE_INVALID	= 0,
-	NODE_ELEMENT	= NODE_INVALID + 1,
-	NODE_ATTRIBUTE	= NODE_ELEMENT + 1,
-	NODE_TEXT	= NODE_ATTRIBUTE + 1,
-	NODE_CDATA_SECTION	= NODE_TEXT + 1,
-	NODE_ENTITY_REFERENCE	= NODE_CDATA_SECTION + 1,
-	NODE_ENTITY	= NODE_ENTITY_REFERENCE + 1,
-	NODE_PROCESSING_INSTRUCTION	= NODE_ENTITY + 1,
-	NODE_COMMENT	= NODE_PROCESSING_INSTRUCTION + 1,
-	NODE_DOCUMENT	= NODE_COMMENT + 1,
-	NODE_DOCUMENT_TYPE	= NODE_DOCUMENT + 1,
-	NODE_DOCUMENT_FRAGMENT	= NODE_DOCUMENT_TYPE + 1,
-	NODE_NOTATION	= NODE_DOCUMENT_FRAGMENT + 1
-    } 	DOMNodeType;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  
-enum tagXMLEMEM_TYPE
-    {	XMLELEMTYPE_ELEMENT	= 0,
-	XMLELEMTYPE_TEXT	= XMLELEMTYPE_ELEMENT + 1,
-	XMLELEMTYPE_COMMENT	= XMLELEMTYPE_TEXT + 1,
-	XMLELEMTYPE_DOCUMENT	= XMLELEMTYPE_COMMENT + 1,
-	XMLELEMTYPE_DTD	= XMLELEMTYPE_DOCUMENT + 1,
-	XMLELEMTYPE_PI	= XMLELEMTYPE_DTD + 1,
-	XMLELEMTYPE_OTHER	= XMLELEMTYPE_PI + 1
-    } 	XMLELEM_TYPE;
-
-
-extern "C" const IID LIBID_MSXML;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMImplementation;
-
-
-    
-    struct __declspec(uuid("2933BF8F-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMImplementation : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall hasFeature( 
-             BSTR feature,
-             BSTR version,
-             VARIANT_BOOL *hasFeature) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMImplementation_hasFeature_Proxy( 
-    IXMLDOMImplementation * This,
-     BSTR feature,
-     BSTR version,
-     VARIANT_BOOL *hasFeature);
-
-
-void __stdcall IXMLDOMImplementation_hasFeature_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMNode;
-
-
-    
-    struct __declspec(uuid("2933BF80-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMNode : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_nodeName( 
-             BSTR *name) = 0;
-        
-        virtual  HRESULT __stdcall get_nodeValue( 
-             VARIANT *value) = 0;
-        
-        virtual  HRESULT __stdcall put_nodeValue( 
-             VARIANT value) = 0;
-        
-        virtual  HRESULT __stdcall get_nodeType( 
-             DOMNodeType *type) = 0;
-        
-        virtual  HRESULT __stdcall get_parentNode( 
-             IXMLDOMNode **parent) = 0;
-        
-        virtual  HRESULT __stdcall get_childNodes( 
-             IXMLDOMNodeList **childList) = 0;
-        
-        virtual  HRESULT __stdcall get_firstChild( 
-             IXMLDOMNode **firstChild) = 0;
-        
-        virtual  HRESULT __stdcall get_lastChild( 
-             IXMLDOMNode **lastChild) = 0;
-        
-        virtual  HRESULT __stdcall get_previousSibling( 
-             IXMLDOMNode **previousSibling) = 0;
-        
-        virtual  HRESULT __stdcall get_nextSibling( 
-             IXMLDOMNode **nextSibling) = 0;
-        
-        virtual  HRESULT __stdcall get_attributes( 
-             IXMLDOMNamedNodeMap **attributeMap) = 0;
-        
-        virtual  HRESULT __stdcall insertBefore( 
-             IXMLDOMNode *newChild,
-             VARIANT refChild,
-             IXMLDOMNode **outNewChild) = 0;
-        
-        virtual  HRESULT __stdcall replaceChild( 
-             IXMLDOMNode *newChild,
-             IXMLDOMNode *oldChild,
-             IXMLDOMNode **outOldChild) = 0;
-        
-        virtual  HRESULT __stdcall removeChild( 
-             IXMLDOMNode *childNode,
-             IXMLDOMNode **oldChild) = 0;
-        
-        virtual  HRESULT __stdcall appendChild( 
-             IXMLDOMNode *newChild,
-             IXMLDOMNode **outNewChild) = 0;
-        
-        virtual  HRESULT __stdcall hasChildNodes( 
-             VARIANT_BOOL *hasChild) = 0;
-        
-        virtual  HRESULT __stdcall get_ownerDocument( 
-             IXMLDOMDocument **DOMDocument) = 0;
-        
-        virtual  HRESULT __stdcall cloneNode( 
-             VARIANT_BOOL deep,
-             IXMLDOMNode **cloneRoot) = 0;
-        
-        virtual  HRESULT __stdcall get_nodeTypeString( 
-             BSTR *nodeType) = 0;
-        
-        virtual  HRESULT __stdcall get_text( 
-             BSTR *text) = 0;
-        
-        virtual  HRESULT __stdcall put_text( 
-             BSTR text) = 0;
-        
-        virtual  HRESULT __stdcall get_specified( 
-             VARIANT_BOOL *isSpecified) = 0;
-        
-        virtual  HRESULT __stdcall get_definition( 
-             IXMLDOMNode **definitionNode) = 0;
-        
-        virtual  HRESULT __stdcall get_nodeTypedValue( 
-             VARIANT *typedValue) = 0;
-        
-        virtual  HRESULT __stdcall put_nodeTypedValue( 
-             VARIANT typedValue) = 0;
-        
-        virtual  HRESULT __stdcall get_dataType( 
-             VARIANT *dataTypeName) = 0;
-        
-        virtual  HRESULT __stdcall put_dataType( 
-             BSTR dataTypeName) = 0;
-        
-        virtual  HRESULT __stdcall get_xml( 
-             BSTR *xmlString) = 0;
-        
-        virtual  HRESULT __stdcall transformNode( 
-             IXMLDOMNode *stylesheet,
-             BSTR *xmlString) = 0;
-        
-        virtual  HRESULT __stdcall selectNodes( 
-             BSTR queryString,
-             IXMLDOMNodeList **resultList) = 0;
-        
-        virtual  HRESULT __stdcall selectSingleNode( 
-             BSTR queryString,
-             IXMLDOMNode **resultNode) = 0;
-        
-        virtual  HRESULT __stdcall get_parsed( 
-             VARIANT_BOOL *isParsed) = 0;
-        
-        virtual  HRESULT __stdcall get_namespaceURI( 
-             BSTR *namespaceURI) = 0;
-        
-        virtual  HRESULT __stdcall get_prefix( 
-             BSTR *prefixString) = 0;
-        
-        virtual  HRESULT __stdcall get_baseName( 
-             BSTR *nameString) = 0;
-        
-        virtual  HRESULT __stdcall transformNodeToObject( 
-             IXMLDOMNode *stylesheet,
-             VARIANT outputObject) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMNode_get_nodeName_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *name);
-
-
-void __stdcall IXMLDOMNode_get_nodeName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_nodeValue_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT *value);
-
-
-void __stdcall IXMLDOMNode_get_nodeValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_put_nodeValue_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT value);
-
-
-void __stdcall IXMLDOMNode_put_nodeValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_nodeType_Proxy( 
-    IXMLDOMNode * This,
-     DOMNodeType *type);
-
-
-void __stdcall IXMLDOMNode_get_nodeType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_parentNode_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode **parent);
-
-
-void __stdcall IXMLDOMNode_get_parentNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_childNodes_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNodeList **childList);
-
-
-void __stdcall IXMLDOMNode_get_childNodes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_firstChild_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode **firstChild);
-
-
-void __stdcall IXMLDOMNode_get_firstChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_lastChild_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode **lastChild);
-
-
-void __stdcall IXMLDOMNode_get_lastChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_previousSibling_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode **previousSibling);
-
-
-void __stdcall IXMLDOMNode_get_previousSibling_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_nextSibling_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode **nextSibling);
-
-
-void __stdcall IXMLDOMNode_get_nextSibling_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_attributes_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNamedNodeMap **attributeMap);
-
-
-void __stdcall IXMLDOMNode_get_attributes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_insertBefore_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode *newChild,
-     VARIANT refChild,
-     IXMLDOMNode **outNewChild);
-
-
-void __stdcall IXMLDOMNode_insertBefore_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_replaceChild_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode *newChild,
-     IXMLDOMNode *oldChild,
-     IXMLDOMNode **outOldChild);
-
-
-void __stdcall IXMLDOMNode_replaceChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_removeChild_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode *childNode,
-     IXMLDOMNode **oldChild);
-
-
-void __stdcall IXMLDOMNode_removeChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_appendChild_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode *newChild,
-     IXMLDOMNode **outNewChild);
-
-
-void __stdcall IXMLDOMNode_appendChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_hasChildNodes_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT_BOOL *hasChild);
-
-
-void __stdcall IXMLDOMNode_hasChildNodes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_ownerDocument_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMDocument **DOMDocument);
-
-
-void __stdcall IXMLDOMNode_get_ownerDocument_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_cloneNode_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT_BOOL deep,
-     IXMLDOMNode **cloneRoot);
-
-
-void __stdcall IXMLDOMNode_cloneNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_nodeTypeString_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *nodeType);
-
-
-void __stdcall IXMLDOMNode_get_nodeTypeString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_text_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *text);
-
-
-void __stdcall IXMLDOMNode_get_text_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_put_text_Proxy( 
-    IXMLDOMNode * This,
-     BSTR text);
-
-
-void __stdcall IXMLDOMNode_put_text_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_specified_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT_BOOL *isSpecified);
-
-
-void __stdcall IXMLDOMNode_get_specified_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_definition_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode **definitionNode);
-
-
-void __stdcall IXMLDOMNode_get_definition_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_nodeTypedValue_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT *typedValue);
-
-
-void __stdcall IXMLDOMNode_get_nodeTypedValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_put_nodeTypedValue_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT typedValue);
-
-
-void __stdcall IXMLDOMNode_put_nodeTypedValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_dataType_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT *dataTypeName);
-
-
-void __stdcall IXMLDOMNode_get_dataType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_put_dataType_Proxy( 
-    IXMLDOMNode * This,
-     BSTR dataTypeName);
-
-
-void __stdcall IXMLDOMNode_put_dataType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_xml_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *xmlString);
-
-
-void __stdcall IXMLDOMNode_get_xml_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_transformNode_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode *stylesheet,
-     BSTR *xmlString);
-
-
-void __stdcall IXMLDOMNode_transformNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_selectNodes_Proxy( 
-    IXMLDOMNode * This,
-     BSTR queryString,
-     IXMLDOMNodeList **resultList);
-
-
-void __stdcall IXMLDOMNode_selectNodes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_selectSingleNode_Proxy( 
-    IXMLDOMNode * This,
-     BSTR queryString,
-     IXMLDOMNode **resultNode);
-
-
-void __stdcall IXMLDOMNode_selectSingleNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_parsed_Proxy( 
-    IXMLDOMNode * This,
-     VARIANT_BOOL *isParsed);
-
-
-void __stdcall IXMLDOMNode_get_parsed_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_namespaceURI_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *namespaceURI);
-
-
-void __stdcall IXMLDOMNode_get_namespaceURI_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_prefix_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *prefixString);
-
-
-void __stdcall IXMLDOMNode_get_prefix_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_get_baseName_Proxy( 
-    IXMLDOMNode * This,
-     BSTR *nameString);
-
-
-void __stdcall IXMLDOMNode_get_baseName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNode_transformNodeToObject_Proxy( 
-    IXMLDOMNode * This,
-     IXMLDOMNode *stylesheet,
-     VARIANT outputObject);
-
-
-void __stdcall IXMLDOMNode_transformNodeToObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMDocumentFragment;
-
-
-    
-    struct __declspec(uuid("3efaa413-272f-11d2-836f-0000f87a7782")) __declspec(novtable)
-    IXMLDOMDocumentFragment : public IXMLDOMNode
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMDocument;
-
-
-    
-    struct __declspec(uuid("2933BF81-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMDocument : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_doctype( 
-             IXMLDOMDocumentType **documentType) = 0;
-        
-        virtual  HRESULT __stdcall get_implementation( 
-             IXMLDOMImplementation **impl) = 0;
-        
-        virtual  HRESULT __stdcall get_documentElement( 
-             IXMLDOMElement **DOMElement) = 0;
-        
-        virtual  HRESULT __stdcall putref_documentElement( 
-             IXMLDOMElement *DOMElement) = 0;
-        
-        virtual  HRESULT __stdcall createElement( 
-             BSTR tagName,
-             IXMLDOMElement **element) = 0;
-        
-        virtual  HRESULT __stdcall createDocumentFragment( 
-             IXMLDOMDocumentFragment **docFrag) = 0;
-        
-        virtual  HRESULT __stdcall createTextNode( 
-             BSTR data,
-             IXMLDOMText **text) = 0;
-        
-        virtual  HRESULT __stdcall createComment( 
-             BSTR data,
-             IXMLDOMComment **comment) = 0;
-        
-        virtual  HRESULT __stdcall createCDATASection( 
-             BSTR data,
-             IXMLDOMCDATASection **cdata) = 0;
-        
-        virtual  HRESULT __stdcall createProcessingInstruction( 
-             BSTR target,
-             BSTR data,
-             IXMLDOMProcessingInstruction **pi) = 0;
-        
-        virtual  HRESULT __stdcall createAttribute( 
-             BSTR name,
-             IXMLDOMAttribute **attribute) = 0;
-        
-        virtual  HRESULT __stdcall createEntityReference( 
-             BSTR name,
-             IXMLDOMEntityReference **entityRef) = 0;
-        
-        virtual  HRESULT __stdcall getElementsByTagName( 
-             BSTR tagName,
-             IXMLDOMNodeList **resultList) = 0;
-        
-        virtual  HRESULT __stdcall createNode( 
-             VARIANT Type,
-             BSTR name,
-             BSTR namespaceURI,
-             IXMLDOMNode **node) = 0;
-        
-        virtual  HRESULT __stdcall nodeFromID( 
-             BSTR idString,
-             IXMLDOMNode **node) = 0;
-        
-        virtual  HRESULT __stdcall load( 
-             VARIANT xmlSource,
-             VARIANT_BOOL *isSuccessful) = 0;
-        
-        virtual  HRESULT __stdcall get_readyState( 
-             long *value) = 0;
-        
-        virtual  HRESULT __stdcall get_parseError( 
-             IXMLDOMParseError **errorObj) = 0;
-        
-        virtual  HRESULT __stdcall get_url( 
-             BSTR *urlString) = 0;
-        
-        virtual  HRESULT __stdcall get_async( 
-             VARIANT_BOOL *isAsync) = 0;
-        
-        virtual  HRESULT __stdcall put_async( 
-             VARIANT_BOOL isAsync) = 0;
-        
-        virtual  HRESULT __stdcall abort( void) = 0;
-        
-        virtual  HRESULT __stdcall loadXML( 
-             BSTR bstrXML,
-             VARIANT_BOOL *isSuccessful) = 0;
-        
-        virtual  HRESULT __stdcall save( 
-             VARIANT destination) = 0;
-        
-        virtual  HRESULT __stdcall get_validateOnParse( 
-             VARIANT_BOOL *isValidating) = 0;
-        
-        virtual  HRESULT __stdcall put_validateOnParse( 
-             VARIANT_BOOL isValidating) = 0;
-        
-        virtual  HRESULT __stdcall get_resolveExternals( 
-             VARIANT_BOOL *isResolving) = 0;
-        
-        virtual  HRESULT __stdcall put_resolveExternals( 
-             VARIANT_BOOL isResolving) = 0;
-        
-        virtual  HRESULT __stdcall get_preserveWhiteSpace( 
-             VARIANT_BOOL *isPreserving) = 0;
-        
-        virtual  HRESULT __stdcall put_preserveWhiteSpace( 
-             VARIANT_BOOL isPreserving) = 0;
-        
-        virtual  HRESULT __stdcall put_onreadystatechange( 
-             VARIANT readystatechangeSink) = 0;
-        
-        virtual  HRESULT __stdcall put_ondataavailable( 
-             VARIANT ondataavailableSink) = 0;
-        
-        virtual  HRESULT __stdcall put_ontransformnode( 
-             VARIANT ontransformnodeSink) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMDocument_get_doctype_Proxy( 
-    IXMLDOMDocument * This,
-     IXMLDOMDocumentType **documentType);
-
-
-void __stdcall IXMLDOMDocument_get_doctype_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_implementation_Proxy( 
-    IXMLDOMDocument * This,
-     IXMLDOMImplementation **impl);
-
-
-void __stdcall IXMLDOMDocument_get_implementation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_documentElement_Proxy( 
-    IXMLDOMDocument * This,
-     IXMLDOMElement **DOMElement);
-
-
-void __stdcall IXMLDOMDocument_get_documentElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_putref_documentElement_Proxy( 
-    IXMLDOMDocument * This,
-     IXMLDOMElement *DOMElement);
-
-
-void __stdcall IXMLDOMDocument_putref_documentElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createElement_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR tagName,
-     IXMLDOMElement **element);
-
-
-void __stdcall IXMLDOMDocument_createElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createDocumentFragment_Proxy( 
-    IXMLDOMDocument * This,
-     IXMLDOMDocumentFragment **docFrag);
-
-
-void __stdcall IXMLDOMDocument_createDocumentFragment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createTextNode_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR data,
-     IXMLDOMText **text);
-
-
-void __stdcall IXMLDOMDocument_createTextNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createComment_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR data,
-     IXMLDOMComment **comment);
-
-
-void __stdcall IXMLDOMDocument_createComment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createCDATASection_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR data,
-     IXMLDOMCDATASection **cdata);
-
-
-void __stdcall IXMLDOMDocument_createCDATASection_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createProcessingInstruction_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR target,
-     BSTR data,
-     IXMLDOMProcessingInstruction **pi);
-
-
-void __stdcall IXMLDOMDocument_createProcessingInstruction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createAttribute_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR name,
-     IXMLDOMAttribute **attribute);
-
-
-void __stdcall IXMLDOMDocument_createAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createEntityReference_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR name,
-     IXMLDOMEntityReference **entityRef);
-
-
-void __stdcall IXMLDOMDocument_createEntityReference_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_getElementsByTagName_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR tagName,
-     IXMLDOMNodeList **resultList);
-
-
-void __stdcall IXMLDOMDocument_getElementsByTagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_createNode_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT Type,
-     BSTR name,
-     BSTR namespaceURI,
-     IXMLDOMNode **node);
-
-
-void __stdcall IXMLDOMDocument_createNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_nodeFromID_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR idString,
-     IXMLDOMNode **node);
-
-
-void __stdcall IXMLDOMDocument_nodeFromID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_load_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT xmlSource,
-     VARIANT_BOOL *isSuccessful);
-
-
-void __stdcall IXMLDOMDocument_load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_readyState_Proxy( 
-    IXMLDOMDocument * This,
-     long *value);
-
-
-void __stdcall IXMLDOMDocument_get_readyState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_parseError_Proxy( 
-    IXMLDOMDocument * This,
-     IXMLDOMParseError **errorObj);
-
-
-void __stdcall IXMLDOMDocument_get_parseError_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_url_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR *urlString);
-
-
-void __stdcall IXMLDOMDocument_get_url_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_async_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL *isAsync);
-
-
-void __stdcall IXMLDOMDocument_get_async_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_async_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL isAsync);
-
-
-void __stdcall IXMLDOMDocument_put_async_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_abort_Proxy( 
-    IXMLDOMDocument * This);
-
-
-void __stdcall IXMLDOMDocument_abort_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_loadXML_Proxy( 
-    IXMLDOMDocument * This,
-     BSTR bstrXML,
-     VARIANT_BOOL *isSuccessful);
-
-
-void __stdcall IXMLDOMDocument_loadXML_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_save_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT destination);
-
-
-void __stdcall IXMLDOMDocument_save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_validateOnParse_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL *isValidating);
-
-
-void __stdcall IXMLDOMDocument_get_validateOnParse_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_validateOnParse_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL isValidating);
-
-
-void __stdcall IXMLDOMDocument_put_validateOnParse_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_resolveExternals_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL *isResolving);
-
-
-void __stdcall IXMLDOMDocument_get_resolveExternals_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_resolveExternals_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL isResolving);
-
-
-void __stdcall IXMLDOMDocument_put_resolveExternals_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_get_preserveWhiteSpace_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL *isPreserving);
-
-
-void __stdcall IXMLDOMDocument_get_preserveWhiteSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_preserveWhiteSpace_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT_BOOL isPreserving);
-
-
-void __stdcall IXMLDOMDocument_put_preserveWhiteSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_onreadystatechange_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT readystatechangeSink);
-
-
-void __stdcall IXMLDOMDocument_put_onreadystatechange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_ondataavailable_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT ondataavailableSink);
-
-
-void __stdcall IXMLDOMDocument_put_ondataavailable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocument_put_ontransformnode_Proxy( 
-    IXMLDOMDocument * This,
-     VARIANT ontransformnodeSink);
-
-
-void __stdcall IXMLDOMDocument_put_ontransformnode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMNodeList;
-
-
-    
-    struct __declspec(uuid("2933BF82-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMNodeList : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_item( 
-             long index,
-             IXMLDOMNode **listItem) = 0;
-        
-        virtual  HRESULT __stdcall get_length( 
-             long *listLength) = 0;
-        
-        virtual  HRESULT __stdcall nextNode( 
-             IXMLDOMNode **nextItem) = 0;
-        
-        virtual  HRESULT __stdcall reset( void) = 0;
-        
-        virtual  HRESULT __stdcall get__newEnum( 
-             IUnknown **ppUnk) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMNodeList_get_item_Proxy( 
-    IXMLDOMNodeList * This,
-     long index,
-     IXMLDOMNode **listItem);
-
-
-void __stdcall IXMLDOMNodeList_get_item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNodeList_get_length_Proxy( 
-    IXMLDOMNodeList * This,
-     long *listLength);
-
-
-void __stdcall IXMLDOMNodeList_get_length_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNodeList_nextNode_Proxy( 
-    IXMLDOMNodeList * This,
-     IXMLDOMNode **nextItem);
-
-
-void __stdcall IXMLDOMNodeList_nextNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNodeList_reset_Proxy( 
-    IXMLDOMNodeList * This);
-
-
-void __stdcall IXMLDOMNodeList_reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNodeList_get__newEnum_Proxy( 
-    IXMLDOMNodeList * This,
-     IUnknown **ppUnk);
-
-
-void __stdcall IXMLDOMNodeList_get__newEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMNamedNodeMap;
-
-
-    
-    struct __declspec(uuid("2933BF83-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMNamedNodeMap : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall getNamedItem( 
-             BSTR name,
-             IXMLDOMNode **namedItem) = 0;
-        
-        virtual  HRESULT __stdcall setNamedItem( 
-             IXMLDOMNode *newItem,
-             IXMLDOMNode **nameItem) = 0;
-        
-        virtual  HRESULT __stdcall removeNamedItem( 
-             BSTR name,
-             IXMLDOMNode **namedItem) = 0;
-        
-        virtual  HRESULT __stdcall get_item( 
-             long index,
-             IXMLDOMNode **listItem) = 0;
-        
-        virtual  HRESULT __stdcall get_length( 
-             long *listLength) = 0;
-        
-        virtual  HRESULT __stdcall getQualifiedItem( 
-             BSTR baseName,
-             BSTR namespaceURI,
-             IXMLDOMNode **qualifiedItem) = 0;
-        
-        virtual  HRESULT __stdcall removeQualifiedItem( 
-             BSTR baseName,
-             BSTR namespaceURI,
-             IXMLDOMNode **qualifiedItem) = 0;
-        
-        virtual  HRESULT __stdcall nextNode( 
-             IXMLDOMNode **nextItem) = 0;
-        
-        virtual  HRESULT __stdcall reset( void) = 0;
-        
-        virtual  HRESULT __stdcall get__newEnum( 
-             IUnknown **ppUnk) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_getNamedItem_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     BSTR name,
-     IXMLDOMNode **namedItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_getNamedItem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_setNamedItem_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     IXMLDOMNode *newItem,
-     IXMLDOMNode **nameItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_setNamedItem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_removeNamedItem_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     BSTR name,
-     IXMLDOMNode **namedItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_removeNamedItem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_get_item_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     long index,
-     IXMLDOMNode **listItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_get_item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_get_length_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     long *listLength);
-
-
-void __stdcall IXMLDOMNamedNodeMap_get_length_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_getQualifiedItem_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     BSTR baseName,
-     BSTR namespaceURI,
-     IXMLDOMNode **qualifiedItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_getQualifiedItem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_removeQualifiedItem_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     BSTR baseName,
-     BSTR namespaceURI,
-     IXMLDOMNode **qualifiedItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_removeQualifiedItem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_nextNode_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     IXMLDOMNode **nextItem);
-
-
-void __stdcall IXMLDOMNamedNodeMap_nextNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_reset_Proxy( 
-    IXMLDOMNamedNodeMap * This);
-
-
-void __stdcall IXMLDOMNamedNodeMap_reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNamedNodeMap_get__newEnum_Proxy( 
-    IXMLDOMNamedNodeMap * This,
-     IUnknown **ppUnk);
-
-
-void __stdcall IXMLDOMNamedNodeMap_get__newEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMCharacterData;
-
-
-    
-    struct __declspec(uuid("2933BF84-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMCharacterData : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_data( 
-             BSTR *data) = 0;
-        
-        virtual  HRESULT __stdcall put_data( 
-             BSTR data) = 0;
-        
-        virtual  HRESULT __stdcall get_length( 
-             long *dataLength) = 0;
-        
-        virtual  HRESULT __stdcall substringData( 
-             long offset,
-             long count,
-             BSTR *data) = 0;
-        
-        virtual  HRESULT __stdcall appendData( 
-             BSTR data) = 0;
-        
-        virtual  HRESULT __stdcall insertData( 
-             long offset,
-             BSTR data) = 0;
-        
-        virtual  HRESULT __stdcall deleteData( 
-             long offset,
-             long count) = 0;
-        
-        virtual  HRESULT __stdcall replaceData( 
-             long offset,
-             long count,
-             BSTR data) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMCharacterData_get_data_Proxy( 
-    IXMLDOMCharacterData * This,
-     BSTR *data);
-
-
-void __stdcall IXMLDOMCharacterData_get_data_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_put_data_Proxy( 
-    IXMLDOMCharacterData * This,
-     BSTR data);
-
-
-void __stdcall IXMLDOMCharacterData_put_data_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_get_length_Proxy( 
-    IXMLDOMCharacterData * This,
-     long *dataLength);
-
-
-void __stdcall IXMLDOMCharacterData_get_length_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_substringData_Proxy( 
-    IXMLDOMCharacterData * This,
-     long offset,
-     long count,
-     BSTR *data);
-
-
-void __stdcall IXMLDOMCharacterData_substringData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_appendData_Proxy( 
-    IXMLDOMCharacterData * This,
-     BSTR data);
-
-
-void __stdcall IXMLDOMCharacterData_appendData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_insertData_Proxy( 
-    IXMLDOMCharacterData * This,
-     long offset,
-     BSTR data);
-
-
-void __stdcall IXMLDOMCharacterData_insertData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_deleteData_Proxy( 
-    IXMLDOMCharacterData * This,
-     long offset,
-     long count);
-
-
-void __stdcall IXMLDOMCharacterData_deleteData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMCharacterData_replaceData_Proxy( 
-    IXMLDOMCharacterData * This,
-     long offset,
-     long count,
-     BSTR data);
-
-
-void __stdcall IXMLDOMCharacterData_replaceData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMAttribute;
-
-
-    
-    struct __declspec(uuid("2933BF85-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMAttribute : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_name( 
-             BSTR *attributeName) = 0;
-        
-        virtual  HRESULT __stdcall get_value( 
-             VARIANT *attributeValue) = 0;
-        
-        virtual  HRESULT __stdcall put_value( 
-             VARIANT attributeValue) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMAttribute_get_name_Proxy( 
-    IXMLDOMAttribute * This,
-     BSTR *attributeName);
-
-
-void __stdcall IXMLDOMAttribute_get_name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMAttribute_get_value_Proxy( 
-    IXMLDOMAttribute * This,
-     VARIANT *attributeValue);
-
-
-void __stdcall IXMLDOMAttribute_get_value_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMAttribute_put_value_Proxy( 
-    IXMLDOMAttribute * This,
-     VARIANT attributeValue);
-
-
-void __stdcall IXMLDOMAttribute_put_value_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMElement;
-
-
-    
-    struct __declspec(uuid("2933BF86-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMElement : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_tagName( 
-             BSTR *tagName) = 0;
-        
-        virtual  HRESULT __stdcall getAttribute( 
-             BSTR name,
-             VARIANT *value) = 0;
-        
-        virtual  HRESULT __stdcall setAttribute( 
-             BSTR name,
-             VARIANT value) = 0;
-        
-        virtual  HRESULT __stdcall removeAttribute( 
-             BSTR name) = 0;
-        
-        virtual  HRESULT __stdcall getAttributeNode( 
-             BSTR name,
-             IXMLDOMAttribute **attributeNode) = 0;
-        
-        virtual  HRESULT __stdcall setAttributeNode( 
-             IXMLDOMAttribute *DOMAttribute,
-             IXMLDOMAttribute **attributeNode) = 0;
-        
-        virtual  HRESULT __stdcall removeAttributeNode( 
-             IXMLDOMAttribute *DOMAttribute,
-             IXMLDOMAttribute **attributeNode) = 0;
-        
-        virtual  HRESULT __stdcall getElementsByTagName( 
-             BSTR tagName,
-             IXMLDOMNodeList **resultList) = 0;
-        
-        virtual  HRESULT __stdcall normalize( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMElement_get_tagName_Proxy( 
-    IXMLDOMElement * This,
-     BSTR *tagName);
-
-
-void __stdcall IXMLDOMElement_get_tagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_getAttribute_Proxy( 
-    IXMLDOMElement * This,
-     BSTR name,
-     VARIANT *value);
-
-
-void __stdcall IXMLDOMElement_getAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_setAttribute_Proxy( 
-    IXMLDOMElement * This,
-     BSTR name,
-     VARIANT value);
-
-
-void __stdcall IXMLDOMElement_setAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_removeAttribute_Proxy( 
-    IXMLDOMElement * This,
-     BSTR name);
-
-
-void __stdcall IXMLDOMElement_removeAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_getAttributeNode_Proxy( 
-    IXMLDOMElement * This,
-     BSTR name,
-     IXMLDOMAttribute **attributeNode);
-
-
-void __stdcall IXMLDOMElement_getAttributeNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_setAttributeNode_Proxy( 
-    IXMLDOMElement * This,
-     IXMLDOMAttribute *DOMAttribute,
-     IXMLDOMAttribute **attributeNode);
-
-
-void __stdcall IXMLDOMElement_setAttributeNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_removeAttributeNode_Proxy( 
-    IXMLDOMElement * This,
-     IXMLDOMAttribute *DOMAttribute,
-     IXMLDOMAttribute **attributeNode);
-
-
-void __stdcall IXMLDOMElement_removeAttributeNode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_getElementsByTagName_Proxy( 
-    IXMLDOMElement * This,
-     BSTR tagName,
-     IXMLDOMNodeList **resultList);
-
-
-void __stdcall IXMLDOMElement_getElementsByTagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMElement_normalize_Proxy( 
-    IXMLDOMElement * This);
-
-
-void __stdcall IXMLDOMElement_normalize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMText;
-
-
-    
-    struct __declspec(uuid("2933BF87-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMText : public IXMLDOMCharacterData
-    {
-    public:
-        virtual  HRESULT __stdcall splitText( 
-             long offset,
-             IXMLDOMText **rightHandTextNode) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMText_splitText_Proxy( 
-    IXMLDOMText * This,
-     long offset,
-     IXMLDOMText **rightHandTextNode);
-
-
-void __stdcall IXMLDOMText_splitText_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMComment;
-
-
-    
-    struct __declspec(uuid("2933BF88-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMComment : public IXMLDOMCharacterData
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMProcessingInstruction;
-
-
-    
-    struct __declspec(uuid("2933BF89-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMProcessingInstruction : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_target( 
-             BSTR *name) = 0;
-        
-        virtual  HRESULT __stdcall get_data( 
-             BSTR *value) = 0;
-        
-        virtual  HRESULT __stdcall put_data( 
-             BSTR value) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMProcessingInstruction_get_target_Proxy( 
-    IXMLDOMProcessingInstruction * This,
-     BSTR *name);
-
-
-void __stdcall IXMLDOMProcessingInstruction_get_target_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMProcessingInstruction_get_data_Proxy( 
-    IXMLDOMProcessingInstruction * This,
-     BSTR *value);
-
-
-void __stdcall IXMLDOMProcessingInstruction_get_data_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMProcessingInstruction_put_data_Proxy( 
-    IXMLDOMProcessingInstruction * This,
-     BSTR value);
-
-
-void __stdcall IXMLDOMProcessingInstruction_put_data_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMCDATASection;
-
-
-    
-    struct __declspec(uuid("2933BF8A-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMCDATASection : public IXMLDOMText
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMDocumentType;
-
-
-    
-    struct __declspec(uuid("2933BF8B-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMDocumentType : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_name( 
-             BSTR *rootName) = 0;
-        
-        virtual  HRESULT __stdcall get_entities( 
-             IXMLDOMNamedNodeMap **entityMap) = 0;
-        
-        virtual  HRESULT __stdcall get_notations( 
-             IXMLDOMNamedNodeMap **notationMap) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMDocumentType_get_name_Proxy( 
-    IXMLDOMDocumentType * This,
-     BSTR *rootName);
-
-
-void __stdcall IXMLDOMDocumentType_get_name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocumentType_get_entities_Proxy( 
-    IXMLDOMDocumentType * This,
-     IXMLDOMNamedNodeMap **entityMap);
-
-
-void __stdcall IXMLDOMDocumentType_get_entities_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMDocumentType_get_notations_Proxy( 
-    IXMLDOMDocumentType * This,
-     IXMLDOMNamedNodeMap **notationMap);
-
-
-void __stdcall IXMLDOMDocumentType_get_notations_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMNotation;
-
-
-    
-    struct __declspec(uuid("2933BF8C-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMNotation : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_publicId( 
-             VARIANT *publicID) = 0;
-        
-        virtual  HRESULT __stdcall get_systemId( 
-             VARIANT *systemID) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMNotation_get_publicId_Proxy( 
-    IXMLDOMNotation * This,
-     VARIANT *publicID);
-
-
-void __stdcall IXMLDOMNotation_get_publicId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMNotation_get_systemId_Proxy( 
-    IXMLDOMNotation * This,
-     VARIANT *systemID);
-
-
-void __stdcall IXMLDOMNotation_get_systemId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMEntity;
-
-
-    
-    struct __declspec(uuid("2933BF8D-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMEntity : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall get_publicId( 
-             VARIANT *publicID) = 0;
-        
-        virtual  HRESULT __stdcall get_systemId( 
-             VARIANT *systemID) = 0;
-        
-        virtual  HRESULT __stdcall get_notationName( 
-             BSTR *name) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMEntity_get_publicId_Proxy( 
-    IXMLDOMEntity * This,
-     VARIANT *publicID);
-
-
-void __stdcall IXMLDOMEntity_get_publicId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMEntity_get_systemId_Proxy( 
-    IXMLDOMEntity * This,
-     VARIANT *systemID);
-
-
-void __stdcall IXMLDOMEntity_get_systemId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMEntity_get_notationName_Proxy( 
-    IXMLDOMEntity * This,
-     BSTR *name);
-
-
-void __stdcall IXMLDOMEntity_get_notationName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMEntityReference;
-
-
-    
-    struct __declspec(uuid("2933BF8E-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable)
-    IXMLDOMEntityReference : public IXMLDOMNode
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDOMParseError;
-
-
-    
-    struct __declspec(uuid("3efaa426-272f-11d2-836f-0000f87a7782")) __declspec(novtable)
-    IXMLDOMParseError : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_errorCode( 
-             long *errorCode) = 0;
-        
-        virtual  HRESULT __stdcall get_url( 
-             BSTR *urlString) = 0;
-        
-        virtual  HRESULT __stdcall get_reason( 
-             BSTR *reasonString) = 0;
-        
-        virtual  HRESULT __stdcall get_srcText( 
-             BSTR *sourceString) = 0;
-        
-        virtual  HRESULT __stdcall get_line( 
-             long *lineNumber) = 0;
-        
-        virtual  HRESULT __stdcall get_linepos( 
-             long *linePosition) = 0;
-        
-        virtual  HRESULT __stdcall get_filepos( 
-             long *filePosition) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDOMParseError_get_errorCode_Proxy( 
-    IXMLDOMParseError * This,
-     long *errorCode);
-
-
-void __stdcall IXMLDOMParseError_get_errorCode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMParseError_get_url_Proxy( 
-    IXMLDOMParseError * This,
-     BSTR *urlString);
-
-
-void __stdcall IXMLDOMParseError_get_url_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMParseError_get_reason_Proxy( 
-    IXMLDOMParseError * This,
-     BSTR *reasonString);
-
-
-void __stdcall IXMLDOMParseError_get_reason_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMParseError_get_srcText_Proxy( 
-    IXMLDOMParseError * This,
-     BSTR *sourceString);
-
-
-void __stdcall IXMLDOMParseError_get_srcText_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMParseError_get_line_Proxy( 
-    IXMLDOMParseError * This,
-     long *lineNumber);
-
-
-void __stdcall IXMLDOMParseError_get_line_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMParseError_get_linepos_Proxy( 
-    IXMLDOMParseError * This,
-     long *linePosition);
-
-
-void __stdcall IXMLDOMParseError_get_linepos_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDOMParseError_get_filepos_Proxy( 
-    IXMLDOMParseError * This,
-     long *filePosition);
-
-
-void __stdcall IXMLDOMParseError_get_filepos_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXTLRuntime;
-
-
-    
-    struct __declspec(uuid("3efaa425-272f-11d2-836f-0000f87a7782")) __declspec(novtable)
-    IXTLRuntime : public IXMLDOMNode
-    {
-    public:
-        virtual  HRESULT __stdcall uniqueID( 
-             IXMLDOMNode *pNode,
-             long *pID) = 0;
-        
-        virtual  HRESULT __stdcall depth( 
-             IXMLDOMNode *pNode,
-             long *pDepth) = 0;
-        
-        virtual  HRESULT __stdcall childNumber( 
-             IXMLDOMNode *pNode,
-             long *pNumber) = 0;
-        
-        virtual  HRESULT __stdcall ancestorChildNumber( 
-             BSTR bstrNodeName,
-             IXMLDOMNode *pNode,
-             long *pNumber) = 0;
-        
-        virtual  HRESULT __stdcall absoluteChildNumber( 
-             IXMLDOMNode *pNode,
-             long *pNumber) = 0;
-        
-        virtual  HRESULT __stdcall formatIndex( 
-             long lIndex,
-             BSTR bstrFormat,
-             BSTR *pbstrFormattedString) = 0;
-        
-        virtual  HRESULT __stdcall formatNumber( 
-             double dblNumber,
-             BSTR bstrFormat,
-             BSTR *pbstrFormattedString) = 0;
-        
-        virtual  HRESULT __stdcall formatDate( 
-             VARIANT varDate,
-             BSTR bstrFormat,
-             VARIANT varDestLocale,
-             BSTR *pbstrFormattedString) = 0;
-        
-        virtual  HRESULT __stdcall formatTime( 
-             VARIANT varTime,
-             BSTR bstrFormat,
-             VARIANT varDestLocale,
-             BSTR *pbstrFormattedString) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXTLRuntime_uniqueID_Proxy( 
-    IXTLRuntime * This,
-     IXMLDOMNode *pNode,
-     long *pID);
-
-
-void __stdcall IXTLRuntime_uniqueID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_depth_Proxy( 
-    IXTLRuntime * This,
-     IXMLDOMNode *pNode,
-     long *pDepth);
-
-
-void __stdcall IXTLRuntime_depth_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_childNumber_Proxy( 
-    IXTLRuntime * This,
-     IXMLDOMNode *pNode,
-     long *pNumber);
-
-
-void __stdcall IXTLRuntime_childNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_ancestorChildNumber_Proxy( 
-    IXTLRuntime * This,
-     BSTR bstrNodeName,
-     IXMLDOMNode *pNode,
-     long *pNumber);
-
-
-void __stdcall IXTLRuntime_ancestorChildNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_absoluteChildNumber_Proxy( 
-    IXTLRuntime * This,
-     IXMLDOMNode *pNode,
-     long *pNumber);
-
-
-void __stdcall IXTLRuntime_absoluteChildNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_formatIndex_Proxy( 
-    IXTLRuntime * This,
-     long lIndex,
-     BSTR bstrFormat,
-     BSTR *pbstrFormattedString);
-
-
-void __stdcall IXTLRuntime_formatIndex_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_formatNumber_Proxy( 
-    IXTLRuntime * This,
-     double dblNumber,
-     BSTR bstrFormat,
-     BSTR *pbstrFormattedString);
-
-
-void __stdcall IXTLRuntime_formatNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_formatDate_Proxy( 
-    IXTLRuntime * This,
-     VARIANT varDate,
-     BSTR bstrFormat,
-     VARIANT varDestLocale,
-     BSTR *pbstrFormattedString);
-
-
-void __stdcall IXTLRuntime_formatDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXTLRuntime_formatTime_Proxy( 
-    IXTLRuntime * This,
-     VARIANT varTime,
-     BSTR bstrFormat,
-     VARIANT varDestLocale,
-     BSTR *pbstrFormattedString);
-
-
-void __stdcall IXTLRuntime_formatTime_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID DIID_XMLDOMDocumentEvents;
-
-
-
-    struct __declspec(uuid("3efaa427-272f-11d2-836f-0000f87a7782")) __declspec(novtable)
-    XMLDOMDocumentEvents : public IDispatch
-    {
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const CLSID CLSID_DOMDocument;
-
-
-
-class __declspec(uuid("2933BF90-7B36-11d2-B20E-00C04F983E60"))
-DOMDocument;
-
-
-extern "C" const CLSID CLSID_DOMFreeThreadedDocument;
-
-
-
-class __declspec(uuid("2933BF91-7B36-11d2-B20E-00C04F983E60"))
-DOMFreeThreadedDocument;
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLHttpRequest;
-
-
-    
-    struct __declspec(uuid("ED8C108D-4349-11D2-91A4-00C04F7969E8")) __declspec(novtable)
-    IXMLHttpRequest : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall open( 
-             BSTR bstrMethod,
-             BSTR bstrUrl,
-             VARIANT varAsync,
-             VARIANT bstrUser,
-             VARIANT bstrPassword) = 0;
-        
-        virtual  HRESULT __stdcall setRequestHeader( 
-             BSTR bstrHeader,
-             BSTR bstrValue) = 0;
-        
-        virtual  HRESULT __stdcall getResponseHeader( 
-             BSTR bstrHeader,
-             BSTR *pbstrValue) = 0;
-        
-        virtual  HRESULT __stdcall getAllResponseHeaders( 
-             BSTR *pbstrHeaders) = 0;
-        
-        virtual  HRESULT __stdcall send( 
-             VARIANT varBody) = 0;
-        
-        virtual  HRESULT __stdcall abort( void) = 0;
-        
-        virtual  HRESULT __stdcall get_status( 
-             long *plStatus) = 0;
-        
-        virtual  HRESULT __stdcall get_statusText( 
-             BSTR *pbstrStatus) = 0;
-        
-        virtual  HRESULT __stdcall get_responseXML( 
-             IDispatch **ppBody) = 0;
-        
-        virtual  HRESULT __stdcall get_responseText( 
-             BSTR *pbstrBody) = 0;
-        
-        virtual  HRESULT __stdcall get_responseBody( 
-             VARIANT *pvarBody) = 0;
-        
-        virtual  HRESULT __stdcall get_responseStream( 
-             VARIANT *pvarBody) = 0;
-        
-        virtual  HRESULT __stdcall get_readyState( 
-             long *plState) = 0;
-        
-        virtual  HRESULT __stdcall put_onreadystatechange( 
-             IDispatch *pReadyStateSink) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLHttpRequest_open_Proxy( 
-    IXMLHttpRequest * This,
-     BSTR bstrMethod,
-     BSTR bstrUrl,
-     VARIANT varAsync,
-     VARIANT bstrUser,
-     VARIANT bstrPassword);
-
-
-void __stdcall IXMLHttpRequest_open_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_setRequestHeader_Proxy( 
-    IXMLHttpRequest * This,
-     BSTR bstrHeader,
-     BSTR bstrValue);
-
-
-void __stdcall IXMLHttpRequest_setRequestHeader_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_getResponseHeader_Proxy( 
-    IXMLHttpRequest * This,
-     BSTR bstrHeader,
-     BSTR *pbstrValue);
-
-
-void __stdcall IXMLHttpRequest_getResponseHeader_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_getAllResponseHeaders_Proxy( 
-    IXMLHttpRequest * This,
-     BSTR *pbstrHeaders);
-
-
-void __stdcall IXMLHttpRequest_getAllResponseHeaders_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_send_Proxy( 
-    IXMLHttpRequest * This,
-     VARIANT varBody);
-
-
-void __stdcall IXMLHttpRequest_send_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_abort_Proxy( 
-    IXMLHttpRequest * This);
-
-
-void __stdcall IXMLHttpRequest_abort_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_status_Proxy( 
-    IXMLHttpRequest * This,
-     long *plStatus);
-
-
-void __stdcall IXMLHttpRequest_get_status_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_statusText_Proxy( 
-    IXMLHttpRequest * This,
-     BSTR *pbstrStatus);
-
-
-void __stdcall IXMLHttpRequest_get_statusText_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_responseXML_Proxy( 
-    IXMLHttpRequest * This,
-     IDispatch **ppBody);
-
-
-void __stdcall IXMLHttpRequest_get_responseXML_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_responseText_Proxy( 
-    IXMLHttpRequest * This,
-     BSTR *pbstrBody);
-
-
-void __stdcall IXMLHttpRequest_get_responseText_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_responseBody_Proxy( 
-    IXMLHttpRequest * This,
-     VARIANT *pvarBody);
-
-
-void __stdcall IXMLHttpRequest_get_responseBody_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_responseStream_Proxy( 
-    IXMLHttpRequest * This,
-     VARIANT *pvarBody);
-
-
-void __stdcall IXMLHttpRequest_get_responseStream_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_get_readyState_Proxy( 
-    IXMLHttpRequest * This,
-     long *plState);
-
-
-void __stdcall IXMLHttpRequest_get_readyState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLHttpRequest_put_onreadystatechange_Proxy( 
-    IXMLHttpRequest * This,
-     IDispatch *pReadyStateSink);
-
-
-void __stdcall IXMLHttpRequest_put_onreadystatechange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-extern "C" const CLSID CLSID_XMLHTTPRequest;
-
-
-
-class __declspec(uuid("ED8C108E-4349-11D2-91A4-00C04F7969E8"))
-XMLHTTPRequest;
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDSOControl;
-
-
-    
-    struct __declspec(uuid("310afa62-0575-11d2-9ca9-0060b0ec3d39")) __declspec(novtable)
-    IXMLDSOControl : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_XMLDocument( 
-             IXMLDOMDocument **ppDoc) = 0;
-        
-        virtual  HRESULT __stdcall put_XMLDocument( 
-             IXMLDOMDocument *ppDoc) = 0;
-        
-        virtual  HRESULT __stdcall get_JavaDSOCompatible( 
-             BOOL *fJavaDSOCompatible) = 0;
-        
-        virtual  HRESULT __stdcall put_JavaDSOCompatible( 
-             BOOL fJavaDSOCompatible) = 0;
-        
-        virtual  HRESULT __stdcall get_readyState( 
-             long *state) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDSOControl_get_XMLDocument_Proxy( 
-    IXMLDSOControl * This,
-     IXMLDOMDocument **ppDoc);
-
-
-void __stdcall IXMLDSOControl_get_XMLDocument_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDSOControl_put_XMLDocument_Proxy( 
-    IXMLDSOControl * This,
-     IXMLDOMDocument *ppDoc);
-
-
-void __stdcall IXMLDSOControl_put_XMLDocument_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDSOControl_get_JavaDSOCompatible_Proxy( 
-    IXMLDSOControl * This,
-     BOOL *fJavaDSOCompatible);
-
-
-void __stdcall IXMLDSOControl_get_JavaDSOCompatible_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDSOControl_put_JavaDSOCompatible_Proxy( 
-    IXMLDSOControl * This,
-     BOOL fJavaDSOCompatible);
-
-
-void __stdcall IXMLDSOControl_put_JavaDSOCompatible_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDSOControl_get_readyState_Proxy( 
-    IXMLDSOControl * This,
-     long *state);
-
-
-void __stdcall IXMLDSOControl_get_readyState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-extern "C" const CLSID CLSID_XMLDSOControl;
-
-
-
-class __declspec(uuid("550dda30-0541-11d2-9ca9-0060b0ec3d39"))
-XMLDSOControl;
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLElementCollection;
-
-
-    
-    struct __declspec(uuid("65725580-9B5D-11d0-9BFE-00C04FC99C8E")) __declspec(novtable)
-    IXMLElementCollection : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall put_length( 
-             long v) = 0;
-        
-        virtual  HRESULT __stdcall get_length( 
-             long *p) = 0;
-        
-        virtual  HRESULT __stdcall get__newEnum( 
-             IUnknown **ppUnk) = 0;
-        
-        virtual  HRESULT __stdcall item( 
-             VARIANT var1,
-             VARIANT var2,
-             IDispatch **ppDisp) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLElementCollection_put_length_Proxy( 
-    IXMLElementCollection * This,
-     long v);
-
-
-void __stdcall IXMLElementCollection_put_length_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElementCollection_get_length_Proxy( 
-    IXMLElementCollection * This,
-     long *p);
-
-
-void __stdcall IXMLElementCollection_get_length_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElementCollection_get__newEnum_Proxy( 
-    IXMLElementCollection * This,
-     IUnknown **ppUnk);
-
-
-void __stdcall IXMLElementCollection_get__newEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElementCollection_item_Proxy( 
-    IXMLElementCollection * This,
-     VARIANT var1,
-     VARIANT var2,
-     IDispatch **ppDisp);
-
-
-void __stdcall IXMLElementCollection_item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDocument;
-
-
-    
-    struct __declspec(uuid("F52E2B61-18A1-11d1-B105-00805F49916B")) __declspec(novtable)
-    IXMLDocument : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_root( 
-             IXMLElement **p) = 0;
-        
-        virtual  HRESULT __stdcall get_fileSize( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_fileModifiedDate( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_fileUpdatedDate( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_URL( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_URL( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall get_mimeType( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_readyState( 
-             long *pl) = 0;
-        
-        virtual  HRESULT __stdcall get_charset( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_charset( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall get_version( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_doctype( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_dtdURL( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall createElement( 
-             VARIANT vType,
-             VARIANT var1,
-             IXMLElement **ppElem) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDocument_get_root_Proxy( 
-    IXMLDocument * This,
-     IXMLElement **p);
-
-
-void __stdcall IXMLDocument_get_root_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_fileSize_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_fileSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_fileModifiedDate_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_fileModifiedDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_fileUpdatedDate_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_fileUpdatedDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_URL_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_URL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_put_URL_Proxy( 
-    IXMLDocument * This,
-     BSTR p);
-
-
-void __stdcall IXMLDocument_put_URL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_mimeType_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_mimeType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_readyState_Proxy( 
-    IXMLDocument * This,
-     long *pl);
-
-
-void __stdcall IXMLDocument_get_readyState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_charset_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_charset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_put_charset_Proxy( 
-    IXMLDocument * This,
-     BSTR p);
-
-
-void __stdcall IXMLDocument_put_charset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_version_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_version_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_doctype_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_doctype_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_get_dtdURL_Proxy( 
-    IXMLDocument * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument_get_dtdURL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument_createElement_Proxy( 
-    IXMLDocument * This,
-     VARIANT vType,
-     VARIANT var1,
-     IXMLElement **ppElem);
-
-
-void __stdcall IXMLDocument_createElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLDocument2;
-
-
-    
-    struct __declspec(uuid("2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9")) __declspec(novtable)
-    IXMLDocument2 : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_root( 
-             IXMLElement2 **p) = 0;
-        
-        virtual  HRESULT __stdcall get_fileSize( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_fileModifiedDate( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_fileUpdatedDate( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_URL( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_URL( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall get_mimeType( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_readyState( 
-             long *pl) = 0;
-        
-        virtual  HRESULT __stdcall get_charset( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_charset( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall get_version( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_doctype( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall get_dtdURL( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall createElement( 
-             VARIANT vType,
-             VARIANT var1,
-             IXMLElement2 **ppElem) = 0;
-        
-        virtual  HRESULT __stdcall get_async( 
-             VARIANT_BOOL *pf) = 0;
-        
-        virtual  HRESULT __stdcall put_async( 
-             VARIANT_BOOL f) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLDocument2_get_root_Proxy( 
-    IXMLDocument2 * This,
-     IXMLElement2 **p);
-
-
-void __stdcall IXMLDocument2_get_root_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_fileSize_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_fileSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_fileModifiedDate_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_fileModifiedDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_fileUpdatedDate_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_fileUpdatedDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_URL_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_URL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_put_URL_Proxy( 
-    IXMLDocument2 * This,
-     BSTR p);
-
-
-void __stdcall IXMLDocument2_put_URL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_mimeType_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_mimeType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_readyState_Proxy( 
-    IXMLDocument2 * This,
-     long *pl);
-
-
-void __stdcall IXMLDocument2_get_readyState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_charset_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_charset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_put_charset_Proxy( 
-    IXMLDocument2 * This,
-     BSTR p);
-
-
-void __stdcall IXMLDocument2_put_charset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_version_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_version_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_doctype_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_doctype_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_dtdURL_Proxy( 
-    IXMLDocument2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLDocument2_get_dtdURL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_createElement_Proxy( 
-    IXMLDocument2 * This,
-     VARIANT vType,
-     VARIANT var1,
-     IXMLElement2 **ppElem);
-
-
-void __stdcall IXMLDocument2_createElement_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_get_async_Proxy( 
-    IXMLDocument2 * This,
-     VARIANT_BOOL *pf);
-
-
-void __stdcall IXMLDocument2_get_async_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLDocument2_put_async_Proxy( 
-    IXMLDocument2 * This,
-     VARIANT_BOOL f);
-
-
-void __stdcall IXMLDocument2_put_async_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLElement;
-
-
-    
-    struct __declspec(uuid("3F7F31AC-E15F-11d0-9C25-00C04FC99C8E")) __declspec(novtable)
-    IXMLElement : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_tagName( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_tagName( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall get_parent( 
-             IXMLElement **ppParent) = 0;
-        
-        virtual  HRESULT __stdcall setAttribute( 
-             BSTR strPropertyName,
-             VARIANT PropertyValue) = 0;
-        
-        virtual  HRESULT __stdcall getAttribute( 
-             BSTR strPropertyName,
-             VARIANT *PropertyValue) = 0;
-        
-        virtual  HRESULT __stdcall removeAttribute( 
-             BSTR strPropertyName) = 0;
-        
-        virtual  HRESULT __stdcall get_children( 
-             IXMLElementCollection **pp) = 0;
-        
-        virtual  HRESULT __stdcall get_type( 
-             long *plType) = 0;
-        
-        virtual  HRESULT __stdcall get_text( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_text( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall addChild( 
-             IXMLElement *pChildElem,
-            long lIndex,
-            long lReserved) = 0;
-        
-        virtual  HRESULT __stdcall removeChild( 
-             IXMLElement *pChildElem) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLElement_get_tagName_Proxy( 
-    IXMLElement * This,
-     BSTR *p);
-
-
-void __stdcall IXMLElement_get_tagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_put_tagName_Proxy( 
-    IXMLElement * This,
-     BSTR p);
-
-
-void __stdcall IXMLElement_put_tagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_get_parent_Proxy( 
-    IXMLElement * This,
-     IXMLElement **ppParent);
-
-
-void __stdcall IXMLElement_get_parent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_setAttribute_Proxy( 
-    IXMLElement * This,
-     BSTR strPropertyName,
-     VARIANT PropertyValue);
-
-
-void __stdcall IXMLElement_setAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_getAttribute_Proxy( 
-    IXMLElement * This,
-     BSTR strPropertyName,
-     VARIANT *PropertyValue);
-
-
-void __stdcall IXMLElement_getAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_removeAttribute_Proxy( 
-    IXMLElement * This,
-     BSTR strPropertyName);
-
-
-void __stdcall IXMLElement_removeAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_get_children_Proxy( 
-    IXMLElement * This,
-     IXMLElementCollection **pp);
-
-
-void __stdcall IXMLElement_get_children_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_get_type_Proxy( 
-    IXMLElement * This,
-     long *plType);
-
-
-void __stdcall IXMLElement_get_type_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_get_text_Proxy( 
-    IXMLElement * This,
-     BSTR *p);
-
-
-void __stdcall IXMLElement_get_text_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_put_text_Proxy( 
-    IXMLElement * This,
-     BSTR p);
-
-
-void __stdcall IXMLElement_put_text_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_addChild_Proxy( 
-    IXMLElement * This,
-     IXMLElement *pChildElem,
-    long lIndex,
-    long lReserved);
-
-
-void __stdcall IXMLElement_addChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement_removeChild_Proxy( 
-    IXMLElement * This,
-     IXMLElement *pChildElem);
-
-
-void __stdcall IXMLElement_removeChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLElement2;
-
-
-    
-    struct __declspec(uuid("2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9")) __declspec(novtable)
-    IXMLElement2 : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_tagName( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_tagName( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall get_parent( 
-             IXMLElement2 **ppParent) = 0;
-        
-        virtual  HRESULT __stdcall setAttribute( 
-             BSTR strPropertyName,
-             VARIANT PropertyValue) = 0;
-        
-        virtual  HRESULT __stdcall getAttribute( 
-             BSTR strPropertyName,
-             VARIANT *PropertyValue) = 0;
-        
-        virtual  HRESULT __stdcall removeAttribute( 
-             BSTR strPropertyName) = 0;
-        
-        virtual  HRESULT __stdcall get_children( 
-             IXMLElementCollection **pp) = 0;
-        
-        virtual  HRESULT __stdcall get_type( 
-             long *plType) = 0;
-        
-        virtual  HRESULT __stdcall get_text( 
-             BSTR *p) = 0;
-        
-        virtual  HRESULT __stdcall put_text( 
-             BSTR p) = 0;
-        
-        virtual  HRESULT __stdcall addChild( 
-             IXMLElement2 *pChildElem,
-            long lIndex,
-            long lReserved) = 0;
-        
-        virtual  HRESULT __stdcall removeChild( 
-             IXMLElement2 *pChildElem) = 0;
-        
-        virtual  HRESULT __stdcall get_attributes( 
-             IXMLElementCollection **pp) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLElement2_get_tagName_Proxy( 
-    IXMLElement2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLElement2_get_tagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_put_tagName_Proxy( 
-    IXMLElement2 * This,
-     BSTR p);
-
-
-void __stdcall IXMLElement2_put_tagName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_get_parent_Proxy( 
-    IXMLElement2 * This,
-     IXMLElement2 **ppParent);
-
-
-void __stdcall IXMLElement2_get_parent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_setAttribute_Proxy( 
-    IXMLElement2 * This,
-     BSTR strPropertyName,
-     VARIANT PropertyValue);
-
-
-void __stdcall IXMLElement2_setAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_getAttribute_Proxy( 
-    IXMLElement2 * This,
-     BSTR strPropertyName,
-     VARIANT *PropertyValue);
-
-
-void __stdcall IXMLElement2_getAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_removeAttribute_Proxy( 
-    IXMLElement2 * This,
-     BSTR strPropertyName);
-
-
-void __stdcall IXMLElement2_removeAttribute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_get_children_Proxy( 
-    IXMLElement2 * This,
-     IXMLElementCollection **pp);
-
-
-void __stdcall IXMLElement2_get_children_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_get_type_Proxy( 
-    IXMLElement2 * This,
-     long *plType);
-
-
-void __stdcall IXMLElement2_get_type_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_get_text_Proxy( 
-    IXMLElement2 * This,
-     BSTR *p);
-
-
-void __stdcall IXMLElement2_get_text_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_put_text_Proxy( 
-    IXMLElement2 * This,
-     BSTR p);
-
-
-void __stdcall IXMLElement2_put_text_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_addChild_Proxy( 
-    IXMLElement2 * This,
-     IXMLElement2 *pChildElem,
-    long lIndex,
-    long lReserved);
-
-
-void __stdcall IXMLElement2_addChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_removeChild_Proxy( 
-    IXMLElement2 * This,
-     IXMLElement2 *pChildElem);
-
-
-void __stdcall IXMLElement2_removeChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLElement2_get_attributes_Proxy( 
-    IXMLElement2 * This,
-     IXMLElementCollection **pp);
-
-
-void __stdcall IXMLElement2_get_attributes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLAttribute;
-
-
-    
-    struct __declspec(uuid("D4D4A0FC-3B73-11d1-B2B4-00C04FB92596")) __declspec(novtable)
-    IXMLAttribute : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_name( 
-             BSTR *n) = 0;
-        
-        virtual  HRESULT __stdcall get_value( 
-             BSTR *v) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IXMLAttribute_get_name_Proxy( 
-    IXMLAttribute * This,
-     BSTR *n);
-
-
-void __stdcall IXMLAttribute_get_name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IXMLAttribute_get_value_Proxy( 
-    IXMLAttribute * This,
-     BSTR *v);
-
-
-void __stdcall IXMLAttribute_get_value_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IXMLError;
-
-
-    
-    struct __declspec(uuid("948C5AD3-C58D-11d0-9C0B-00C04FC99C8E")) __declspec(novtable)
-    IXMLError : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetErrorInfo( 
-            XML_ERROR *pErrorReturn) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IXMLError_GetErrorInfo_Proxy( 
-    IXMLError * This,
-    XML_ERROR *pErrorReturn);
-
-
-void __stdcall IXMLError_GetErrorInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-extern "C" const CLSID CLSID_XMLDocument;
-
-
-
-class __declspec(uuid("CFC399AF-D876-11d0-9C10-00C04FC99C8E"))
-XMLDocument;
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma comment(lib,"uuid.lib")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID CLSID_SBS_StdURLMoniker;  
-extern "C" const IID CLSID_SBS_HttpProtocol;   
-extern "C" const IID CLSID_SBS_FtpProtocol;    
-extern "C" const IID CLSID_SBS_GopherProtocol; 
-extern "C" const IID CLSID_SBS_HttpSProtocol;  
-extern "C" const IID CLSID_SBS_FileProtocol;   
-extern "C" const IID CLSID_SBS_MkProtocol;     
-extern "C" const IID CLSID_SBS_UrlMkBindCtx;   
-extern "C" const IID CLSID_SBS_SoftDistExt;  
-extern "C" const IID CLSID_SBS_StdEncodingFilterFac; 
-extern "C" const IID CLSID_SBS_DeCompMimeFilter;     
-extern "C" const IID CLSID_SBS_CdlProtocol;          
-extern "C" const IID CLSID_SBS_ClassInstallFilter;   
-extern "C" const IID CLSID_SBS_InternetSecurityManager;  
-extern "C" const IID CLSID_SBS_InternetZoneManager;  
-
-
-
-
-
-
-
-extern "C" const IID IID_IAsyncMoniker;    
-extern "C" const IID CLSID_StdURLMoniker;  
-extern "C" const IID CLSID_HttpProtocol;   
-extern "C" const IID CLSID_FtpProtocol;    
-extern "C" const IID CLSID_GopherProtocol; 
-extern "C" const IID CLSID_HttpSProtocol;  
-extern "C" const IID CLSID_FileProtocol;   
-extern "C" const IID CLSID_MkProtocol;     
-extern "C" const IID CLSID_StdURLProtocol; 
-extern "C" const IID CLSID_UrlMkBindCtx;   
-extern "C" const IID CLSID_StdEncodingFilterFac; 
-extern "C" const IID CLSID_DeCompMimeFilter;     
-extern "C" const IID CLSID_CdlProtocol;          
-extern "C" const IID CLSID_ClassInstallFilter;   
-extern "C" const IID IID_IAsyncBindCtx;    
- 
-
-
-
-
-
-
- 
-extern "C" HRESULT __stdcall CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER  * ppmk);             
-extern "C" HRESULT __stdcall CreateURLMonikerEx(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER  * ppmk, DWORD dwFlags);             
-extern "C" HRESULT __stdcall GetClassURL(LPCWSTR szURL, CLSID *pClsID);                                           
-extern "C" HRESULT __stdcall CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb,                       
-                                IEnumFORMATETC *pEFetc, IBindCtx **ppBC);                   
-extern "C" HRESULT __stdcall CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum,   
-                            IBindCtx **ppBC, DWORD reserved);                                                     
-extern "C" HRESULT __stdcall MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten,          
-                                LPMONIKER *ppmk);                                           
-extern "C" HRESULT __stdcall RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb,                     
-                                IBindStatusCallback**  ppBSCBPrev, DWORD dwReserved);       
-extern "C" HRESULT __stdcall RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb);                      
-extern "C" HRESULT __stdcall GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid); 
-extern "C" HRESULT __stdcall IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved);                               
-extern "C" HRESULT __stdcall CoGetClassObjectFromURL( const IID & rCLASSID,
-            LPCWSTR szCODE, DWORD dwFileVersionMS, 
-            DWORD dwFileVersionLS, LPCWSTR szTYPE,
-            LPBINDCTX pBindCtx, DWORD dwClsContext,
-            LPVOID pvReserved, const IID & riid, LPVOID * ppv);
-extern "C" HRESULT __stdcall FaultInIEFeature( HWND hWnd,
-            uCLSSPEC *pClassSpec,
-            QUERYCONTEXT *pQuery, DWORD dwFlags);                                           
-extern "C" HRESULT __stdcall GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec,
-             LPSTR * ppszComponentID);                                                      
-
-
-                                                 
-                                                 
-                                                 
-
-
- 
-
-extern "C" HRESULT __stdcall IsAsyncMoniker(IMoniker* pmk);                                                       
-extern "C" HRESULT __stdcall CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg);                  
- 
-extern "C" HRESULT __stdcall RegisterMediaTypes(UINT ctypes, const LPCSTR* rgszTypes, CLIPFORMAT* rgcfTypes);            
-extern "C" HRESULT __stdcall FindMediaType(LPCSTR rgszTypes, CLIPFORMAT* rgcfTypes);                                       
-extern "C" HRESULT __stdcall CreateFormatEnumerator( UINT cfmtetc, FORMATETC* rgfmtetc, IEnumFORMATETC** ppenumfmtetc); 
-extern "C" HRESULT __stdcall RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved);          
-extern "C" HRESULT __stdcall RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc);                            
-extern "C" HRESULT __stdcall RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR* rgszTypes, CLSID *rgclsID, DWORD reserved);    
-extern "C" HRESULT __stdcall FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved);                          
-extern "C" HRESULT __stdcall UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved);       
-extern "C" HRESULT __stdcall UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLength, DWORD dwReserved);       
-extern "C" HRESULT __stdcall FindMimeFromData(                                                                                                                  
-                        LPBC pBC,                           
-                        LPCWSTR pwzUrl,                     
-                        LPVOID pBuffer,                     
-                        DWORD cbSize,                       
-                        LPCWSTR pwzMimeProposed,            
-                        DWORD dwMimeFlags,                  
-                        LPWSTR *ppwzMimeOut,                
-                        DWORD dwReserved);                  
-
-
-
-
-extern "C" HRESULT __stdcall ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD* cbSize);       
-extern "C" HRESULT __stdcall CompareSecurityIds(BYTE* pbSecurityId1, DWORD dwLen1, BYTE* pbSecurityId2, DWORD dwLen2, DWORD dwReserved);    
-extern "C" HRESULT __stdcall CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags);             
- 
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-                                                                             
-
-
-
-                                                                             
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IPersistMoniker *LPPERSISTMONIKER;
-
-
-extern "C" const IID IID_IPersistMoniker;
-
-
-    
-    struct __declspec(uuid("79eac9c9-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IPersistMoniker : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetClassID( 
-             CLSID *pClassID) = 0;
-        
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             BOOL fFullyAvailable,
-             IMoniker *pimkName,
-             LPBC pibc,
-             DWORD grfMode) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             IMoniker *pimkName,
-             LPBC pbc,
-             BOOL fRemember) = 0;
-        
-        virtual HRESULT __stdcall SaveCompleted( 
-             IMoniker *pimkName,
-             LPBC pibc) = 0;
-        
-        virtual HRESULT __stdcall GetCurMoniker( 
-             IMoniker **ppimkName) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistMoniker_GetClassID_Proxy( 
-    IPersistMoniker * This,
-     CLSID *pClassID);
-
-
-void __stdcall IPersistMoniker_GetClassID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMoniker_IsDirty_Proxy( 
-    IPersistMoniker * This);
-
-
-void __stdcall IPersistMoniker_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMoniker_Load_Proxy( 
-    IPersistMoniker * This,
-     BOOL fFullyAvailable,
-     IMoniker *pimkName,
-     LPBC pibc,
-     DWORD grfMode);
-
-
-void __stdcall IPersistMoniker_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMoniker_Save_Proxy( 
-    IPersistMoniker * This,
-     IMoniker *pimkName,
-     LPBC pbc,
-     BOOL fRemember);
-
-
-void __stdcall IPersistMoniker_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMoniker_SaveCompleted_Proxy( 
-    IPersistMoniker * This,
-     IMoniker *pimkName,
-     LPBC pibc);
-
-
-void __stdcall IPersistMoniker_SaveCompleted_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMoniker_GetCurMoniker_Proxy( 
-    IPersistMoniker * This,
-     IMoniker **ppimkName);
-
-
-void __stdcall IPersistMoniker_GetCurMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0178_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0178_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IMonikerProp *LPMONIKERPROP;
-
-typedef  
-enum __MIDL_IMonikerProp_0001
-    {	MIMETYPEPROP	= 0,
-	USE_SRC_URL	= 0x1,
-	CLASSIDPROP	= 0x2,
-	TRUSTEDDOWNLOADPROP	= 0x3,
-	POPUPLEVELPROP	= 0x4
-    } 	MONIKERPROPERTY;
-
-
-extern "C" const IID IID_IMonikerProp;
-
-
-    
-    struct __declspec(uuid("a5ca5f7f-1847-4d87-9c5b-918509f7511d")) __declspec(novtable)
-    IMonikerProp : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall PutProperty( 
-             MONIKERPROPERTY mkp,
-             LPCWSTR val) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IMonikerProp_PutProperty_Proxy( 
-    IMonikerProp * This,
-     MONIKERPROPERTY mkp,
-     LPCWSTR val);
-
-
-void __stdcall IMonikerProp_PutProperty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0179_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0179_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IBindProtocol *LPBINDPROTOCOL;
-
-
-extern "C" const IID IID_IBindProtocol;
-
-
-    
-    struct __declspec(uuid("79eac9cd-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IBindProtocol : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateBinding( 
-             LPCWSTR szUrl,
-             IBindCtx *pbc,
-             IBinding **ppb) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IBindProtocol_CreateBinding_Proxy( 
-    IBindProtocol * This,
-     LPCWSTR szUrl,
-     IBindCtx *pbc,
-     IBinding **ppb);
-
-
-void __stdcall IBindProtocol_CreateBinding_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0180_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0180_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IBinding *LPBINDING;
-
-
-extern "C" const IID IID_IBinding;
-
-
-    
-    struct __declspec(uuid("79eac9c0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IBinding : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Abort( void) = 0;
-        
-        virtual HRESULT __stdcall Suspend( void) = 0;
-        
-        virtual HRESULT __stdcall Resume( void) = 0;
-        
-        virtual HRESULT __stdcall SetPriority( 
-             LONG nPriority) = 0;
-        
-        virtual HRESULT __stdcall GetPriority( 
-             LONG *pnPriority) = 0;
-        
-        virtual  HRESULT __stdcall GetBindResult( 
-             CLSID *pclsidProtocol,
-             DWORD *pdwResult,
-             LPOLESTR *pszResult,
-             DWORD *pdwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IBinding_Abort_Proxy( 
-    IBinding * This);
-
-
-void __stdcall IBinding_Abort_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBinding_Suspend_Proxy( 
-    IBinding * This);
-
-
-void __stdcall IBinding_Suspend_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBinding_Resume_Proxy( 
-    IBinding * This);
-
-
-void __stdcall IBinding_Resume_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBinding_SetPriority_Proxy( 
-    IBinding * This,
-     LONG nPriority);
-
-
-void __stdcall IBinding_SetPriority_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBinding_GetPriority_Proxy( 
-    IBinding * This,
-     LONG *pnPriority);
-
-
-void __stdcall IBinding_GetPriority_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBinding_RemoteGetBindResult_Proxy( 
-    IBinding * This,
-     CLSID *pclsidProtocol,
-     DWORD *pdwResult,
-     LPOLESTR *pszResult,
-     DWORD dwReserved);
-
-
-void __stdcall IBinding_RemoteGetBindResult_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0181_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0181_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IBindStatusCallback *LPBINDSTATUSCALLBACK;
-
-typedef  
-enum __MIDL_IBindStatusCallback_0001
-    {	BINDVERB_GET	= 0,
-	BINDVERB_POST	= 0x1,
-	BINDVERB_PUT	= 0x2,
-	BINDVERB_CUSTOM	= 0x3
-    } 	BINDVERB;
-
-typedef  
-enum __MIDL_IBindStatusCallback_0002
-    {	BINDINFOF_URLENCODESTGMEDDATA	= 0x1,
-	BINDINFOF_URLENCODEDEXTRAINFO	= 0x2
-    } 	BINDINFOF;
-
-typedef  
-enum __MIDL_IBindStatusCallback_0003
-    {	BINDF_ASYNCHRONOUS	= 0x1,
-	BINDF_ASYNCSTORAGE	= 0x2,
-	BINDF_NOPROGRESSIVERENDERING	= 0x4,
-	BINDF_OFFLINEOPERATION	= 0x8,
-	BINDF_GETNEWESTVERSION	= 0x10,
-	BINDF_NOWRITECACHE	= 0x20,
-	BINDF_NEEDFILE	= 0x40,
-	BINDF_PULLDATA	= 0x80,
-	BINDF_IGNORESECURITYPROBLEM	= 0x100,
-	BINDF_RESYNCHRONIZE	= 0x200,
-	BINDF_HYPERLINK	= 0x400,
-	BINDF_NO_UI	= 0x800,
-	BINDF_SILENTOPERATION	= 0x1000,
-	BINDF_PRAGMA_NO_CACHE	= 0x2000,
-	BINDF_GETCLASSOBJECT	= 0x4000,
-	BINDF_RESERVED_1	= 0x8000,
-	BINDF_FREE_THREADED	= 0x10000,
-	BINDF_DIRECT_READ	= 0x20000,
-	BINDF_FORMS_SUBMIT	= 0x40000,
-	BINDF_GETFROMCACHE_IF_NET_FAIL	= 0x80000,
-	BINDF_FROMURLMON	= 0x100000,
-	BINDF_FWD_BACK	= 0x200000,
-	BINDF_PREFERDEFAULTHANDLER	= 0x400000,
-	BINDF_ENFORCERESTRICTED	= 0x800000
-    } 	BINDF;
-
-typedef  
-enum __MIDL_IBindStatusCallback_0004
-    {	URL_ENCODING_NONE	= 0,
-	URL_ENCODING_ENABLE_UTF8	= 0x10000000,
-	URL_ENCODING_DISABLE_UTF8	= 0x20000000
-    } 	URL_ENCODING;
-
-typedef struct _tagBINDINFO
-    {
-    ULONG cbSize;
-    LPWSTR szExtraInfo;
-    STGMEDIUM stgmedData;
-    DWORD grfBindInfoF;
-    DWORD dwBindVerb;
-    LPWSTR szCustomVerb;
-    DWORD cbstgmedData;
-    DWORD dwOptions;
-    DWORD dwOptionsFlags;
-    DWORD dwCodePage;
-    SECURITY_ATTRIBUTES securityAttributes;
-    IID iid;
-    IUnknown *pUnk;
-    DWORD dwReserved;
-    } 	BINDINFO;
-
-typedef struct _REMSECURITY_ATTRIBUTES
-    {
-    DWORD nLength;
-    DWORD lpSecurityDescriptor;
-    BOOL bInheritHandle;
-    } 	REMSECURITY_ATTRIBUTES;
-
-typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES;
-
-typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES;
-
-typedef struct _tagRemBINDINFO
-    {
-    ULONG cbSize;
-    LPWSTR szExtraInfo;
-    DWORD grfBindInfoF;
-    DWORD dwBindVerb;
-    LPWSTR szCustomVerb;
-    DWORD cbstgmedData;
-    DWORD dwOptions;
-    DWORD dwOptionsFlags;
-    DWORD dwCodePage;
-    REMSECURITY_ATTRIBUTES securityAttributes;
-    IID iid;
-    IUnknown *pUnk;
-    DWORD dwReserved;
-    } 	RemBINDINFO;
-
-typedef struct tagRemFORMATETC
-    {
-    DWORD cfFormat;
-    DWORD ptd;
-    DWORD dwAspect;
-    LONG lindex;
-    DWORD tymed;
-    } 	RemFORMATETC;
-
-typedef struct tagRemFORMATETC *LPREMFORMATETC;
-
-typedef  
-enum __MIDL_IBindStatusCallback_0005
-    {	BINDINFO_OPTIONS_WININETFLAG	= 0x10000,
-	BINDINFO_OPTIONS_ENABLE_UTF8	= 0x20000,
-	BINDINFO_OPTIONS_DISABLE_UTF8	= 0x40000,
-	BINDINFO_OPTIONS_USE_IE_ENCODING	= 0x80000,
-	BINDINFO_OPTIONS_BINDTOOBJECT	= 0x100000,
-	BINDINFO_OPTIONS_SECURITYOPTOUT	= 0x200000,
-	BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN	= 0x400000,
-	BINDINFO_OPTIONS_USEBINDSTRINGCREDS	= 0x800000,
-	BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS	= 0x1000000,
-	BINDINFO_OPTIONS_SHDOCVW_NAVIGATE	= 0x80000000
-    } 	BINDINFO_OPTIONS;
-
-typedef  
-enum __MIDL_IBindStatusCallback_0006
-    {	BSCF_FIRSTDATANOTIFICATION	= 0x1,
-	BSCF_INTERMEDIATEDATANOTIFICATION	= 0x2,
-	BSCF_LASTDATANOTIFICATION	= 0x4,
-	BSCF_DATAFULLYAVAILABLE	= 0x8,
-	BSCF_AVAILABLEDATASIZEUNKNOWN	= 0x10
-    } 	BSCF;
-
-typedef 
-enum tagBINDSTATUS
-    {	BINDSTATUS_FINDINGRESOURCE	= 1,
-	BINDSTATUS_CONNECTING	= BINDSTATUS_FINDINGRESOURCE + 1,
-	BINDSTATUS_REDIRECTING	= BINDSTATUS_CONNECTING + 1,
-	BINDSTATUS_BEGINDOWNLOADDATA	= BINDSTATUS_REDIRECTING + 1,
-	BINDSTATUS_DOWNLOADINGDATA	= BINDSTATUS_BEGINDOWNLOADDATA + 1,
-	BINDSTATUS_ENDDOWNLOADDATA	= BINDSTATUS_DOWNLOADINGDATA + 1,
-	BINDSTATUS_BEGINDOWNLOADCOMPONENTS	= BINDSTATUS_ENDDOWNLOADDATA + 1,
-	BINDSTATUS_INSTALLINGCOMPONENTS	= BINDSTATUS_BEGINDOWNLOADCOMPONENTS + 1,
-	BINDSTATUS_ENDDOWNLOADCOMPONENTS	= BINDSTATUS_INSTALLINGCOMPONENTS + 1,
-	BINDSTATUS_USINGCACHEDCOPY	= BINDSTATUS_ENDDOWNLOADCOMPONENTS + 1,
-	BINDSTATUS_SENDINGREQUEST	= BINDSTATUS_USINGCACHEDCOPY + 1,
-	BINDSTATUS_CLASSIDAVAILABLE	= BINDSTATUS_SENDINGREQUEST + 1,
-	BINDSTATUS_MIMETYPEAVAILABLE	= BINDSTATUS_CLASSIDAVAILABLE + 1,
-	BINDSTATUS_CACHEFILENAMEAVAILABLE	= BINDSTATUS_MIMETYPEAVAILABLE + 1,
-	BINDSTATUS_BEGINSYNCOPERATION	= BINDSTATUS_CACHEFILENAMEAVAILABLE + 1,
-	BINDSTATUS_ENDSYNCOPERATION	= BINDSTATUS_BEGINSYNCOPERATION + 1,
-	BINDSTATUS_BEGINUPLOADDATA	= BINDSTATUS_ENDSYNCOPERATION + 1,
-	BINDSTATUS_UPLOADINGDATA	= BINDSTATUS_BEGINUPLOADDATA + 1,
-	BINDSTATUS_ENDUPLOADDATA	= BINDSTATUS_UPLOADINGDATA + 1,
-	BINDSTATUS_PROTOCOLCLASSID	= BINDSTATUS_ENDUPLOADDATA + 1,
-	BINDSTATUS_ENCODING	= BINDSTATUS_PROTOCOLCLASSID + 1,
-	BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE	= BINDSTATUS_ENCODING + 1,
-	BINDSTATUS_CLASSINSTALLLOCATION	= BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE + 1,
-	BINDSTATUS_DECODING	= BINDSTATUS_CLASSINSTALLLOCATION + 1,
-	BINDSTATUS_LOADINGMIMEHANDLER	= BINDSTATUS_DECODING + 1,
-	BINDSTATUS_CONTENTDISPOSITIONATTACH	= BINDSTATUS_LOADINGMIMEHANDLER + 1,
-	BINDSTATUS_FILTERREPORTMIMETYPE	= BINDSTATUS_CONTENTDISPOSITIONATTACH + 1,
-	BINDSTATUS_CLSIDCANINSTANTIATE	= BINDSTATUS_FILTERREPORTMIMETYPE + 1,
-	BINDSTATUS_IUNKNOWNAVAILABLE	= BINDSTATUS_CLSIDCANINSTANTIATE + 1,
-	BINDSTATUS_DIRECTBIND	= BINDSTATUS_IUNKNOWNAVAILABLE + 1,
-	BINDSTATUS_RAWMIMETYPE	= BINDSTATUS_DIRECTBIND + 1,
-	BINDSTATUS_PROXYDETECTING	= BINDSTATUS_RAWMIMETYPE + 1,
-	BINDSTATUS_ACCEPTRANGES	= BINDSTATUS_PROXYDETECTING + 1,
-	BINDSTATUS_COOKIE_SENT	= BINDSTATUS_ACCEPTRANGES + 1,
-	BINDSTATUS_COMPACT_POLICY_RECEIVED	= BINDSTATUS_COOKIE_SENT + 1,
-	BINDSTATUS_COOKIE_SUPPRESSED	= BINDSTATUS_COMPACT_POLICY_RECEIVED + 1,
-	BINDSTATUS_COOKIE_STATE_UNKNOWN	= BINDSTATUS_COOKIE_SUPPRESSED + 1,
-	BINDSTATUS_COOKIE_STATE_ACCEPT	= BINDSTATUS_COOKIE_STATE_UNKNOWN + 1,
-	BINDSTATUS_COOKIE_STATE_REJECT	= BINDSTATUS_COOKIE_STATE_ACCEPT + 1,
-	BINDSTATUS_COOKIE_STATE_PROMPT	= BINDSTATUS_COOKIE_STATE_REJECT + 1,
-	BINDSTATUS_COOKIE_STATE_LEASH	= BINDSTATUS_COOKIE_STATE_PROMPT + 1,
-	BINDSTATUS_COOKIE_STATE_DOWNGRADE	= BINDSTATUS_COOKIE_STATE_LEASH + 1,
-	BINDSTATUS_POLICY_HREF	= BINDSTATUS_COOKIE_STATE_DOWNGRADE + 1,
-	BINDSTATUS_P3P_HEADER	= BINDSTATUS_POLICY_HREF + 1,
-	BINDSTATUS_SESSION_COOKIE_RECEIVED	= BINDSTATUS_P3P_HEADER + 1,
-	BINDSTATUS_PERSISTENT_COOKIE_RECEIVED	= BINDSTATUS_SESSION_COOKIE_RECEIVED + 1,
-	BINDSTATUS_SESSION_COOKIES_ALLOWED	= BINDSTATUS_PERSISTENT_COOKIE_RECEIVED + 1,
-	BINDSTATUS_CACHECONTROL	= BINDSTATUS_SESSION_COOKIES_ALLOWED + 1,
-	BINDSTATUS_CONTENTDISPOSITIONFILENAME	= BINDSTATUS_CACHECONTROL + 1,
-	BINDSTATUS_MIMETEXTPLAINMISMATCH	= BINDSTATUS_CONTENTDISPOSITIONFILENAME + 1,
-	BINDSTATUS_PUBLISHERAVAILABLE	= BINDSTATUS_MIMETEXTPLAINMISMATCH + 1,
-	BINDSTATUS_DISPLAYNAMEAVAILABLE	= BINDSTATUS_PUBLISHERAVAILABLE + 1
-    } 	BINDSTATUS;
-
-
-extern "C" const IID IID_IBindStatusCallback;
-
-
-    
-    struct __declspec(uuid("79eac9c1-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IBindStatusCallback : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall OnStartBinding( 
-             DWORD dwReserved,
-             IBinding *pib) = 0;
-        
-        virtual HRESULT __stdcall GetPriority( 
-             LONG *pnPriority) = 0;
-        
-        virtual HRESULT __stdcall OnLowResource( 
-             DWORD reserved) = 0;
-        
-        virtual HRESULT __stdcall OnProgress( 
-             ULONG ulProgress,
-             ULONG ulProgressMax,
-             ULONG ulStatusCode,
-             LPCWSTR szStatusText) = 0;
-        
-        virtual HRESULT __stdcall OnStopBinding( 
-             HRESULT hresult,
-             LPCWSTR szError) = 0;
-        
-        virtual  HRESULT __stdcall GetBindInfo( 
-             DWORD *grfBINDF,
-             BINDINFO *pbindinfo) = 0;
-        
-        virtual  HRESULT __stdcall OnDataAvailable( 
-             DWORD grfBSCF,
-             DWORD dwSize,
-             FORMATETC *pformatetc,
-             STGMEDIUM *pstgmed) = 0;
-        
-        virtual HRESULT __stdcall OnObjectAvailable( 
-             const IID & riid,
-             IUnknown *punk) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IBindStatusCallback_OnStartBinding_Proxy( 
-    IBindStatusCallback * This,
-     DWORD dwReserved,
-     IBinding *pib);
-
-
-void __stdcall IBindStatusCallback_OnStartBinding_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindStatusCallback_GetPriority_Proxy( 
-    IBindStatusCallback * This,
-     LONG *pnPriority);
-
-
-void __stdcall IBindStatusCallback_GetPriority_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindStatusCallback_OnLowResource_Proxy( 
-    IBindStatusCallback * This,
-     DWORD reserved);
-
-
-void __stdcall IBindStatusCallback_OnLowResource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindStatusCallback_OnProgress_Proxy( 
-    IBindStatusCallback * This,
-     ULONG ulProgress,
-     ULONG ulProgressMax,
-     ULONG ulStatusCode,
-     LPCWSTR szStatusText);
-
-
-void __stdcall IBindStatusCallback_OnProgress_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindStatusCallback_OnStopBinding_Proxy( 
-    IBindStatusCallback * This,
-     HRESULT hresult,
-     LPCWSTR szError);
-
-
-void __stdcall IBindStatusCallback_OnStopBinding_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBindStatusCallback_RemoteGetBindInfo_Proxy( 
-    IBindStatusCallback * This,
-     DWORD *grfBINDF,
-     RemBINDINFO *pbindinfo,
-     RemSTGMEDIUM *pstgmed);
-
-
-void __stdcall IBindStatusCallback_RemoteGetBindInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBindStatusCallback_RemoteOnDataAvailable_Proxy( 
-    IBindStatusCallback * This,
-     DWORD grfBSCF,
-     DWORD dwSize,
-     RemFORMATETC *pformatetc,
-     RemSTGMEDIUM *pstgmed);
-
-
-void __stdcall IBindStatusCallback_RemoteOnDataAvailable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IBindStatusCallback_OnObjectAvailable_Proxy( 
-    IBindStatusCallback * This,
-     const IID & riid,
-     IUnknown *punk);
-
-
-void __stdcall IBindStatusCallback_OnObjectAvailable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0182_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0182_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IAuthenticate *LPAUTHENTICATION;
-
-
-extern "C" const IID IID_IAuthenticate;
-
-
-    
-    struct __declspec(uuid("79eac9d0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IAuthenticate : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Authenticate( 
-             HWND *phwnd,
-             LPWSTR *pszUsername,
-             LPWSTR *pszPassword) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAuthenticate_Authenticate_Proxy( 
-    IAuthenticate * This,
-     HWND *phwnd,
-     LPWSTR *pszUsername,
-     LPWSTR *pszPassword);
-
-
-void __stdcall IAuthenticate_Authenticate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0183_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0183_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IHttpNegotiate *LPHTTPNEGOTIATE;
-
-
-extern "C" const IID IID_IHttpNegotiate;
-
-
-    
-    struct __declspec(uuid("79eac9d2-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IHttpNegotiate : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall BeginningTransaction( 
-             LPCWSTR szURL,
-             LPCWSTR szHeaders,
-             DWORD dwReserved,
-             LPWSTR *pszAdditionalHeaders) = 0;
-        
-        virtual HRESULT __stdcall OnResponse( 
-             DWORD dwResponseCode,
-             LPCWSTR szResponseHeaders,
-             LPCWSTR szRequestHeaders,
-             LPWSTR *pszAdditionalRequestHeaders) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IHttpNegotiate_BeginningTransaction_Proxy( 
-    IHttpNegotiate * This,
-     LPCWSTR szURL,
-     LPCWSTR szHeaders,
-     DWORD dwReserved,
-     LPWSTR *pszAdditionalHeaders);
-
-
-void __stdcall IHttpNegotiate_BeginningTransaction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IHttpNegotiate_OnResponse_Proxy( 
-    IHttpNegotiate * This,
-     DWORD dwResponseCode,
-     LPCWSTR szResponseHeaders,
-     LPCWSTR szRequestHeaders,
-     LPWSTR *pszAdditionalRequestHeaders);
-
-
-void __stdcall IHttpNegotiate_OnResponse_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0184_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0184_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IHttpNegotiate2 *LPHTTPNEGOTIATE2;
-
-
-extern "C" const IID IID_IHttpNegotiate2;
-
-
-    
-    struct __declspec(uuid("4F9F9FCB-E0F4-48eb-B7AB-FA2EA9365CB4")) __declspec(novtable)
-    IHttpNegotiate2 : public IHttpNegotiate
-    {
-    public:
-        virtual HRESULT __stdcall GetRootSecurityId( 
-             BYTE *pbSecurityId,
-             DWORD *pcbSecurityId,
-             DWORD_PTR dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IHttpNegotiate2_GetRootSecurityId_Proxy( 
-    IHttpNegotiate2 * This,
-     BYTE *pbSecurityId,
-     DWORD *pcbSecurityId,
-     DWORD_PTR dwReserved);
-
-
-void __stdcall IHttpNegotiate2_GetRootSecurityId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0185_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0185_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IWinInetFileStream *LPWININETFILESTREAM;
-
-
-extern "C" const IID IID_IWinInetFileStream;
-
-
-    
-    struct __declspec(uuid("F134C4B7-B1F8-4e75-B886-74B90943BECB")) __declspec(novtable)
-    IWinInetFileStream : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetHandleForUnlock( 
-             DWORD_PTR hWinInetLockHandle,
-             DWORD_PTR dwReserved) = 0;
-        
-        virtual HRESULT __stdcall SetDeleteFile( 
-             DWORD_PTR dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IWinInetFileStream_SetHandleForUnlock_Proxy( 
-    IWinInetFileStream * This,
-     DWORD_PTR hWinInetLockHandle,
-     DWORD_PTR dwReserved);
-
-
-void __stdcall IWinInetFileStream_SetHandleForUnlock_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IWinInetFileStream_SetDeleteFile_Proxy( 
-    IWinInetFileStream * This,
-     DWORD_PTR dwReserved);
-
-
-void __stdcall IWinInetFileStream_SetDeleteFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0186_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0186_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IWindowForBindingUI *LPWINDOWFORBINDINGUI;
-
-
-extern "C" const IID IID_IWindowForBindingUI;
-
-
-    
-    struct __declspec(uuid("79eac9d5-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IWindowForBindingUI : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetWindow( 
-             const GUID & rguidReason,
-             HWND *phwnd) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IWindowForBindingUI_GetWindow_Proxy( 
-    IWindowForBindingUI * This,
-     const GUID & rguidReason,
-     HWND *phwnd);
-
-
-void __stdcall IWindowForBindingUI_GetWindow_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0187_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0187_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  ICodeInstall *LPCODEINSTALL;
-
-typedef  
-enum __MIDL_ICodeInstall_0001
-    {	CIP_DISK_FULL	= 0,
-	CIP_ACCESS_DENIED	= CIP_DISK_FULL + 1,
-	CIP_NEWER_VERSION_EXISTS	= CIP_ACCESS_DENIED + 1,
-	CIP_OLDER_VERSION_EXISTS	= CIP_NEWER_VERSION_EXISTS + 1,
-	CIP_NAME_CONFLICT	= CIP_OLDER_VERSION_EXISTS + 1,
-	CIP_TRUST_VERIFICATION_COMPONENT_MISSING	= CIP_NAME_CONFLICT + 1,
-	CIP_EXE_SELF_REGISTERATION_TIMEOUT	= CIP_TRUST_VERIFICATION_COMPONENT_MISSING + 1,
-	CIP_UNSAFE_TO_ABORT	= CIP_EXE_SELF_REGISTERATION_TIMEOUT + 1,
-	CIP_NEED_REBOOT	= CIP_UNSAFE_TO_ABORT + 1,
-	CIP_NEED_REBOOT_UI_PERMISSION	= CIP_NEED_REBOOT + 1
-    } 	CIP_STATUS;
-
-
-extern "C" const IID IID_ICodeInstall;
-
-
-    
-    struct __declspec(uuid("79eac9d1-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    ICodeInstall : public IWindowForBindingUI
-    {
-    public:
-        virtual HRESULT __stdcall OnCodeInstallProblem( 
-             ULONG ulStatusCode,
-             LPCWSTR szDestination,
-             LPCWSTR szSource,
-             DWORD dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICodeInstall_OnCodeInstallProblem_Proxy( 
-    ICodeInstall * This,
-     ULONG ulStatusCode,
-     LPCWSTR szDestination,
-     LPCWSTR szSource,
-     DWORD dwReserved);
-
-
-void __stdcall ICodeInstall_OnCodeInstallProblem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0188_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0188_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IWinInetInfo *LPWININETINFO;
-
-
-extern "C" const IID IID_IWinInetInfo;
-
-
-    
-    struct __declspec(uuid("79eac9d6-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IWinInetInfo : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall QueryOption( 
-             DWORD dwOption,
-             LPVOID pBuffer,
-             DWORD *pcbBuf) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IWinInetInfo_RemoteQueryOption_Proxy( 
-    IWinInetInfo * This,
-     DWORD dwOption,
-     BYTE *pBuffer,
-     DWORD *pcbBuf);
-
-
-void __stdcall IWinInetInfo_RemoteQueryOption_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0189_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0189_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IHttpSecurity *LPHTTPSECURITY;
-
-
-extern "C" const IID IID_IHttpSecurity;
-
-
-    
-    struct __declspec(uuid("79eac9d7-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IHttpSecurity : public IWindowForBindingUI
-    {
-    public:
-        virtual HRESULT __stdcall OnSecurityProblem( 
-             DWORD dwProblem) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IHttpSecurity_OnSecurityProblem_Proxy( 
-    IHttpSecurity * This,
-     DWORD dwProblem);
-
-
-void __stdcall IHttpSecurity_OnSecurityProblem_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0190_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0190_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IWinInetHttpInfo *LPWININETHTTPINFO;
-
-
-extern "C" const IID IID_IWinInetHttpInfo;
-
-
-    
-    struct __declspec(uuid("79eac9d8-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IWinInetHttpInfo : public IWinInetInfo
-    {
-    public:
-        virtual  HRESULT __stdcall QueryInfo( 
-             DWORD dwOption,
-             LPVOID pBuffer,
-             DWORD *pcbBuf,
-             DWORD *pdwFlags,
-             DWORD *pdwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IWinInetHttpInfo_RemoteQueryInfo_Proxy( 
-    IWinInetHttpInfo * This,
-     DWORD dwOption,
-     BYTE *pBuffer,
-     DWORD *pcbBuf,
-     DWORD *pdwFlags,
-     DWORD *pdwReserved);
-
-
-void __stdcall IWinInetHttpInfo_RemoteQueryInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0191_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0191_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IWinInetCacheHints *LPWININETCACHEHINTS;
-
-
-extern "C" const IID IID_IWinInetCacheHints;
-
-
-    
-    struct __declspec(uuid("DD1EC3B3-8391-4fdb-A9E6-347C3CAAA7DD")) __declspec(novtable)
-    IWinInetCacheHints : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetCacheExtension( 
-             LPCWSTR pwzExt,
-             LPVOID pszCacheFile,
-             DWORD *pcbCacheFile,
-             DWORD *pdwWinInetError,
-             DWORD *pdwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IWinInetCacheHints_SetCacheExtension_Proxy( 
-    IWinInetCacheHints * This,
-     LPCWSTR pwzExt,
-     LPVOID pszCacheFile,
-     DWORD *pcbCacheFile,
-     DWORD *pdwWinInetError,
-     DWORD *pdwReserved);
-
-
-void __stdcall IWinInetCacheHints_SetCacheExtension_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern "C" const GUID SID_BindHost;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0192_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0192_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IBindHost *LPBINDHOST;
-
-
-extern "C" const IID IID_IBindHost;
-
-
-    
-    struct __declspec(uuid("fc4801a1-2ba9-11cf-a229-00aa003d7352")) __declspec(novtable)
-    IBindHost : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall CreateMoniker( 
-             LPOLESTR szName,
-             IBindCtx *pBC,
-             IMoniker **ppmk,
-             DWORD dwReserved) = 0;
-        
-        virtual  HRESULT __stdcall MonikerBindToStorage( 
-             IMoniker *pMk,
-             IBindCtx *pBC,
-             IBindStatusCallback *pBSC,
-             const IID & riid,
-             void **ppvObj) = 0;
-        
-        virtual  HRESULT __stdcall MonikerBindToObject( 
-             IMoniker *pMk,
-             IBindCtx *pBC,
-             IBindStatusCallback *pBSC,
-             const IID & riid,
-             void **ppvObj) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IBindHost_CreateMoniker_Proxy( 
-    IBindHost * This,
-     LPOLESTR szName,
-     IBindCtx *pBC,
-     IMoniker **ppmk,
-     DWORD dwReserved);
-
-
-void __stdcall IBindHost_CreateMoniker_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBindHost_RemoteMonikerBindToStorage_Proxy( 
-    IBindHost * This,
-     IMoniker *pMk,
-     IBindCtx *pBC,
-     IBindStatusCallback *pBSC,
-     const IID & riid,
-     IUnknown **ppvObj);
-
-
-void __stdcall IBindHost_RemoteMonikerBindToStorage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IBindHost_RemoteMonikerBindToObject_Proxy( 
-    IBindHost * This,
-     IMoniker *pMk,
-     IBindCtx *pBC,
-     IBindStatusCallback *pBSC,
-     const IID & riid,
-     IUnknown **ppvObj);
-
-
-void __stdcall IBindHost_RemoteMonikerBindToObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-                                                                                                           
-
-
-
-
-
-                                                                                                           
-                                                                                                           
-struct IBindStatusCallback;                                                                                
-extern "C" HRESULT __stdcall HlinkSimpleNavigateToString(                                                                        
-     LPCWSTR szTarget,         
-     LPCWSTR szLocation,       
-     LPCWSTR szTargetFrameName,
-     IUnknown *pUnk,           
-     IBindCtx *pbc,            
-     IBindStatusCallback *,                                                                      
-     DWORD grfHLNF,            
-     DWORD dwReserved          
-);                                                                                                         
-                                                                                                           
-extern "C" HRESULT __stdcall HlinkSimpleNavigateToMoniker(                                                                       
-     IMoniker *pmkTarget,      
-     LPCWSTR szLocation,       
-     LPCWSTR szTargetFrameName,
-     IUnknown *pUnk,           
-     IBindCtx *pbc,            
-     IBindStatusCallback *,                                                                      
-     DWORD grfHLNF,            
-     DWORD dwReserved          
-);                                                                                                         
-                                                                                                           
-extern "C" HRESULT __stdcall URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                                        
-extern "C" HRESULT __stdcall URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);                                       
-extern "C" HRESULT __stdcall URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                                    
-extern "C" HRESULT __stdcall URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);                                   
-extern "C" HRESULT __stdcall URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK);                             
-extern "C" HRESULT __stdcall URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK);                           
-extern "C" HRESULT __stdcall URLDownloadToCacheFileA(LPUNKNOWN,LPCSTR,LPTSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);                  
-extern "C" HRESULT __stdcall URLDownloadToCacheFileW(LPUNKNOWN,LPCWSTR,LPWSTR,DWORD,DWORD,LPBINDSTATUSCALLBACK);                 
-extern "C" HRESULT __stdcall URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);                      
-extern "C" HRESULT __stdcall URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK);                     
-                                                                                                           
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                                                                                           
-                                                                                                           
-extern "C" HRESULT __stdcall HlinkGoBack(IUnknown *pUnk);                                                                        
-extern "C" HRESULT __stdcall HlinkGoForward(IUnknown *pUnk);                                                                     
-extern "C" HRESULT __stdcall HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget);                                              
-extern "C" HRESULT __stdcall HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget);                                          
-                                                                                                           
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0193_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0193_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternet *LPIINTERNET;
-
-
-extern "C" const IID IID_IInternet;
-
-
-    
-    struct __declspec(uuid("79eac9e0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternet : public IUnknown
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0194_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0194_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetBindInfo *LPIINTERNETBINDINFO;
-
-typedef 
-enum tagBINDSTRING
-    {	BINDSTRING_HEADERS	= 1,
-	BINDSTRING_ACCEPT_MIMES	= BINDSTRING_HEADERS + 1,
-	BINDSTRING_EXTRA_URL	= BINDSTRING_ACCEPT_MIMES + 1,
-	BINDSTRING_LANGUAGE	= BINDSTRING_EXTRA_URL + 1,
-	BINDSTRING_USERNAME	= BINDSTRING_LANGUAGE + 1,
-	BINDSTRING_PASSWORD	= BINDSTRING_USERNAME + 1,
-	BINDSTRING_UA_PIXELS	= BINDSTRING_PASSWORD + 1,
-	BINDSTRING_UA_COLOR	= BINDSTRING_UA_PIXELS + 1,
-	BINDSTRING_OS	= BINDSTRING_UA_COLOR + 1,
-	BINDSTRING_USER_AGENT	= BINDSTRING_OS + 1,
-	BINDSTRING_ACCEPT_ENCODINGS	= BINDSTRING_USER_AGENT + 1,
-	BINDSTRING_POST_COOKIE	= BINDSTRING_ACCEPT_ENCODINGS + 1,
-	BINDSTRING_POST_DATA_MIME	= BINDSTRING_POST_COOKIE + 1,
-	BINDSTRING_URL	= BINDSTRING_POST_DATA_MIME + 1,
-	BINDSTRING_IID	= BINDSTRING_URL + 1,
-	BINDSTRING_FLAG_BIND_TO_OBJECT	= BINDSTRING_IID + 1,
-	BINDSTRING_PTR_BIND_CONTEXT	= BINDSTRING_FLAG_BIND_TO_OBJECT + 1
-    } 	BINDSTRING;
-
-
-extern "C" const IID IID_IInternetBindInfo;
-
-
-    
-    struct __declspec(uuid("79eac9e1-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetBindInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetBindInfo( 
-             DWORD *grfBINDF,
-             BINDINFO *pbindinfo) = 0;
-        
-        virtual HRESULT __stdcall GetBindString( 
-             ULONG ulStringType,
-             LPOLESTR *ppwzStr,
-             ULONG cEl,
-             ULONG *pcElFetched) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetBindInfo_GetBindInfo_Proxy( 
-    IInternetBindInfo * This,
-     DWORD *grfBINDF,
-     BINDINFO *pbindinfo);
-
-
-void __stdcall IInternetBindInfo_GetBindInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetBindInfo_GetBindString_Proxy( 
-    IInternetBindInfo * This,
-     ULONG ulStringType,
-     LPOLESTR *ppwzStr,
-     ULONG cEl,
-     ULONG *pcElFetched);
-
-
-void __stdcall IInternetBindInfo_GetBindString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0195_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0195_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT;
-
-typedef 
-enum _tagPI_FLAGS
-    {	PI_PARSE_URL	= 0x1,
-	PI_FILTER_MODE	= 0x2,
-	PI_FORCE_ASYNC	= 0x4,
-	PI_USE_WORKERTHREAD	= 0x8,
-	PI_MIMEVERIFICATION	= 0x10,
-	PI_CLSIDLOOKUP	= 0x20,
-	PI_DATAPROGRESS	= 0x40,
-	PI_SYNCHRONOUS	= 0x80,
-	PI_APARTMENTTHREADED	= 0x100,
-	PI_CLASSINSTALL	= 0x200,
-	PI_PASSONBINDCTX	= 0x2000,
-	PI_NOMIMEHANDLER	= 0x8000,
-	PI_LOADAPPDIRECT	= 0x4000,
-	PD_FORCE_SWITCH	= 0x10000,
-	PI_PREFERDEFAULTHANDLER	= 0x20000
-    } 	PI_FLAGS;
-
-typedef struct _tagPROTOCOLDATA
-    {
-    DWORD grfFlags;
-    DWORD dwState;
-    LPVOID pData;
-    ULONG cbData;
-    } 	PROTOCOLDATA;
-
-typedef struct _tagStartParam
-    {
-    IID iid;
-    IBindCtx *pIBindCtx;
-    IUnknown *pItf;
-    } 	StartParam;
-
-
-extern "C" const IID IID_IInternetProtocolRoot;
-
-
-    
-    struct __declspec(uuid("79eac9e3-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetProtocolRoot : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Start( 
-             LPCWSTR szUrl,
-             IInternetProtocolSink *pOIProtSink,
-             IInternetBindInfo *pOIBindInfo,
-             DWORD grfPI,
-             HANDLE_PTR dwReserved) = 0;
-        
-        virtual HRESULT __stdcall Continue( 
-             PROTOCOLDATA *pProtocolData) = 0;
-        
-        virtual HRESULT __stdcall Abort( 
-             HRESULT hrReason,
-             DWORD dwOptions) = 0;
-        
-        virtual HRESULT __stdcall Terminate( 
-             DWORD dwOptions) = 0;
-        
-        virtual HRESULT __stdcall Suspend( void) = 0;
-        
-        virtual HRESULT __stdcall Resume( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetProtocolRoot_Start_Proxy( 
-    IInternetProtocolRoot * This,
-     LPCWSTR szUrl,
-     IInternetProtocolSink *pOIProtSink,
-     IInternetBindInfo *pOIBindInfo,
-     DWORD grfPI,
-     HANDLE_PTR dwReserved);
-
-
-void __stdcall IInternetProtocolRoot_Start_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolRoot_Continue_Proxy( 
-    IInternetProtocolRoot * This,
-     PROTOCOLDATA *pProtocolData);
-
-
-void __stdcall IInternetProtocolRoot_Continue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolRoot_Abort_Proxy( 
-    IInternetProtocolRoot * This,
-     HRESULT hrReason,
-     DWORD dwOptions);
-
-
-void __stdcall IInternetProtocolRoot_Abort_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolRoot_Terminate_Proxy( 
-    IInternetProtocolRoot * This,
-     DWORD dwOptions);
-
-
-void __stdcall IInternetProtocolRoot_Terminate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolRoot_Suspend_Proxy( 
-    IInternetProtocolRoot * This);
-
-
-void __stdcall IInternetProtocolRoot_Suspend_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolRoot_Resume_Proxy( 
-    IInternetProtocolRoot * This);
-
-
-void __stdcall IInternetProtocolRoot_Resume_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0196_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0196_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetProtocol *LPIINTERNETPROTOCOL;
-
-
-extern "C" const IID IID_IInternetProtocol;
-
-
-    
-    struct __declspec(uuid("79eac9e4-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetProtocol : public IInternetProtocolRoot
-    {
-    public:
-        virtual HRESULT __stdcall Read( 
-             void *pv,
-             ULONG cb,
-             ULONG *pcbRead) = 0;
-        
-        virtual HRESULT __stdcall Seek( 
-             LARGE_INTEGER dlibMove,
-             DWORD dwOrigin,
-             ULARGE_INTEGER *plibNewPosition) = 0;
-        
-        virtual HRESULT __stdcall LockRequest( 
-             DWORD dwOptions) = 0;
-        
-        virtual HRESULT __stdcall UnlockRequest( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetProtocol_Read_Proxy( 
-    IInternetProtocol * This,
-     void *pv,
-     ULONG cb,
-     ULONG *pcbRead);
-
-
-void __stdcall IInternetProtocol_Read_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocol_Seek_Proxy( 
-    IInternetProtocol * This,
-     LARGE_INTEGER dlibMove,
-     DWORD dwOrigin,
-     ULARGE_INTEGER *plibNewPosition);
-
-
-void __stdcall IInternetProtocol_Seek_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocol_LockRequest_Proxy( 
-    IInternetProtocol * This,
-     DWORD dwOptions);
-
-
-void __stdcall IInternetProtocol_LockRequest_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocol_UnlockRequest_Proxy( 
-    IInternetProtocol * This);
-
-
-void __stdcall IInternetProtocol_UnlockRequest_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0197_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0197_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetProtocolSink *LPIINTERNETPROTOCOLSINK;
-
-
-extern "C" const IID IID_IInternetProtocolSink;
-
-
-    
-    struct __declspec(uuid("79eac9e5-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetProtocolSink : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Switch( 
-             PROTOCOLDATA *pProtocolData) = 0;
-        
-        virtual HRESULT __stdcall ReportProgress( 
-             ULONG ulStatusCode,
-             LPCWSTR szStatusText) = 0;
-        
-        virtual HRESULT __stdcall ReportData( 
-             DWORD grfBSCF,
-             ULONG ulProgress,
-             ULONG ulProgressMax) = 0;
-        
-        virtual HRESULT __stdcall ReportResult( 
-             HRESULT hrResult,
-             DWORD dwError,
-             LPCWSTR szResult) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetProtocolSink_Switch_Proxy( 
-    IInternetProtocolSink * This,
-     PROTOCOLDATA *pProtocolData);
-
-
-void __stdcall IInternetProtocolSink_Switch_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolSink_ReportProgress_Proxy( 
-    IInternetProtocolSink * This,
-     ULONG ulStatusCode,
-     LPCWSTR szStatusText);
-
-
-void __stdcall IInternetProtocolSink_ReportProgress_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolSink_ReportData_Proxy( 
-    IInternetProtocolSink * This,
-     DWORD grfBSCF,
-     ULONG ulProgress,
-     ULONG ulProgressMax);
-
-
-void __stdcall IInternetProtocolSink_ReportData_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolSink_ReportResult_Proxy( 
-    IInternetProtocolSink * This,
-     HRESULT hrResult,
-     DWORD dwError,
-     LPCWSTR szResult);
-
-
-void __stdcall IInternetProtocolSink_ReportResult_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0198_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0198_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable;
-
-
-extern "C" const IID IID_IInternetProtocolSinkStackable;
-
-
-    
-    struct __declspec(uuid("79eac9f0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetProtocolSinkStackable : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SwitchSink( 
-             IInternetProtocolSink *pOIProtSink) = 0;
-        
-        virtual HRESULT __stdcall CommitSwitch( void) = 0;
-        
-        virtual HRESULT __stdcall RollbackSwitch( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetProtocolSinkStackable_SwitchSink_Proxy( 
-    IInternetProtocolSinkStackable * This,
-     IInternetProtocolSink *pOIProtSink);
-
-
-void __stdcall IInternetProtocolSinkStackable_SwitchSink_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolSinkStackable_CommitSwitch_Proxy( 
-    IInternetProtocolSinkStackable * This);
-
-
-void __stdcall IInternetProtocolSinkStackable_CommitSwitch_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolSinkStackable_RollbackSwitch_Proxy( 
-    IInternetProtocolSinkStackable * This);
-
-
-void __stdcall IInternetProtocolSinkStackable_RollbackSwitch_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0199_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0199_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetSession *LPIINTERNETSESSION;
-
-typedef 
-enum _tagOIBDG_FLAGS
-    {	OIBDG_APARTMENTTHREADED	= 0x100,
-	OIBDG_DATAONLY	= 0x1000
-    } 	OIBDG_FLAGS;
-
-
-extern "C" const IID IID_IInternetSession;
-
-
-    
-    struct __declspec(uuid("79eac9e7-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetSession : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall RegisterNameSpace( 
-             IClassFactory *pCF,
-             const IID & rclsid,
-             LPCWSTR pwzProtocol,
-             ULONG cPatterns,
-             const LPCWSTR *ppwzPatterns,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall UnregisterNameSpace( 
-             IClassFactory *pCF,
-             LPCWSTR pszProtocol) = 0;
-        
-        virtual HRESULT __stdcall RegisterMimeFilter( 
-             IClassFactory *pCF,
-             const IID & rclsid,
-             LPCWSTR pwzType) = 0;
-        
-        virtual HRESULT __stdcall UnregisterMimeFilter( 
-             IClassFactory *pCF,
-             LPCWSTR pwzType) = 0;
-        
-        virtual HRESULT __stdcall CreateBinding( 
-             LPBC pBC,
-             LPCWSTR szUrl,
-             IUnknown *pUnkOuter,
-             IUnknown **ppUnk,
-             IInternetProtocol **ppOInetProt,
-             DWORD dwOption) = 0;
-        
-        virtual HRESULT __stdcall SetSessionOption( 
-             DWORD dwOption,
-             LPVOID pBuffer,
-             DWORD dwBufferLength,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall GetSessionOption( 
-             DWORD dwOption,
-             LPVOID pBuffer,
-             DWORD *pdwBufferLength,
-             DWORD dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetSession_RegisterNameSpace_Proxy( 
-    IInternetSession * This,
-     IClassFactory *pCF,
-     const IID & rclsid,
-     LPCWSTR pwzProtocol,
-     ULONG cPatterns,
-     const LPCWSTR *ppwzPatterns,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetSession_RegisterNameSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSession_UnregisterNameSpace_Proxy( 
-    IInternetSession * This,
-     IClassFactory *pCF,
-     LPCWSTR pszProtocol);
-
-
-void __stdcall IInternetSession_UnregisterNameSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSession_RegisterMimeFilter_Proxy( 
-    IInternetSession * This,
-     IClassFactory *pCF,
-     const IID & rclsid,
-     LPCWSTR pwzType);
-
-
-void __stdcall IInternetSession_RegisterMimeFilter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSession_UnregisterMimeFilter_Proxy( 
-    IInternetSession * This,
-     IClassFactory *pCF,
-     LPCWSTR pwzType);
-
-
-void __stdcall IInternetSession_UnregisterMimeFilter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSession_CreateBinding_Proxy( 
-    IInternetSession * This,
-     LPBC pBC,
-     LPCWSTR szUrl,
-     IUnknown *pUnkOuter,
-     IUnknown **ppUnk,
-     IInternetProtocol **ppOInetProt,
-     DWORD dwOption);
-
-
-void __stdcall IInternetSession_CreateBinding_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSession_SetSessionOption_Proxy( 
-    IInternetSession * This,
-     DWORD dwOption,
-     LPVOID pBuffer,
-     DWORD dwBufferLength,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetSession_SetSessionOption_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSession_GetSessionOption_Proxy( 
-    IInternetSession * This,
-     DWORD dwOption,
-     LPVOID pBuffer,
-     DWORD *pdwBufferLength,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetSession_GetSessionOption_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0200_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0200_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetThreadSwitch *LPIINTERNETTHREADSWITCH;
-
-
-extern "C" const IID IID_IInternetThreadSwitch;
-
-
-    
-    struct __declspec(uuid("79eac9e8-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetThreadSwitch : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Prepare( void) = 0;
-        
-        virtual HRESULT __stdcall Continue( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetThreadSwitch_Prepare_Proxy( 
-    IInternetThreadSwitch * This);
-
-
-void __stdcall IInternetThreadSwitch_Prepare_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetThreadSwitch_Continue_Proxy( 
-    IInternetThreadSwitch * This);
-
-
-void __stdcall IInternetThreadSwitch_Continue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0201_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0201_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetPriority *LPIINTERNETPRIORITY;
-
-
-extern "C" const IID IID_IInternetPriority;
-
-
-    
-    struct __declspec(uuid("79eac9eb-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetPriority : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetPriority( 
-             LONG nPriority) = 0;
-        
-        virtual HRESULT __stdcall GetPriority( 
-             LONG *pnPriority) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetPriority_SetPriority_Proxy( 
-    IInternetPriority * This,
-     LONG nPriority);
-
-
-void __stdcall IInternetPriority_SetPriority_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetPriority_GetPriority_Proxy( 
-    IInternetPriority * This,
-     LONG *pnPriority);
-
-
-void __stdcall IInternetPriority_GetPriority_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0202_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0202_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO;
-
-typedef 
-enum _tagPARSEACTION
-    {	PARSE_CANONICALIZE	= 1,
-	PARSE_FRIENDLY	= PARSE_CANONICALIZE + 1,
-	PARSE_SECURITY_URL	= PARSE_FRIENDLY + 1,
-	PARSE_ROOTDOCUMENT	= PARSE_SECURITY_URL + 1,
-	PARSE_DOCUMENT	= PARSE_ROOTDOCUMENT + 1,
-	PARSE_ANCHOR	= PARSE_DOCUMENT + 1,
-	PARSE_ENCODE	= PARSE_ANCHOR + 1,
-	PARSE_DECODE	= PARSE_ENCODE + 1,
-	PARSE_PATH_FROM_URL	= PARSE_DECODE + 1,
-	PARSE_URL_FROM_PATH	= PARSE_PATH_FROM_URL + 1,
-	PARSE_MIME	= PARSE_URL_FROM_PATH + 1,
-	PARSE_SERVER	= PARSE_MIME + 1,
-	PARSE_SCHEMA	= PARSE_SERVER + 1,
-	PARSE_SITE	= PARSE_SCHEMA + 1,
-	PARSE_DOMAIN	= PARSE_SITE + 1,
-	PARSE_LOCATION	= PARSE_DOMAIN + 1,
-	PARSE_SECURITY_DOMAIN	= PARSE_LOCATION + 1,
-	PARSE_ESCAPE	= PARSE_SECURITY_DOMAIN + 1,
-	PARSE_UNESCAPE	= PARSE_ESCAPE + 1
-    } 	PARSEACTION;
-
-typedef 
-enum _tagPSUACTION
-    {	PSU_DEFAULT	= 1,
-	PSU_SECURITY_URL_ONLY	= PSU_DEFAULT + 1
-    } 	PSUACTION;
-
-typedef 
-enum _tagQUERYOPTION
-    {	QUERY_EXPIRATION_DATE	= 1,
-	QUERY_TIME_OF_LAST_CHANGE	= QUERY_EXPIRATION_DATE + 1,
-	QUERY_CONTENT_ENCODING	= QUERY_TIME_OF_LAST_CHANGE + 1,
-	QUERY_CONTENT_TYPE	= QUERY_CONTENT_ENCODING + 1,
-	QUERY_REFRESH	= QUERY_CONTENT_TYPE + 1,
-	QUERY_RECOMBINE	= QUERY_REFRESH + 1,
-	QUERY_CAN_NAVIGATE	= QUERY_RECOMBINE + 1,
-	QUERY_USES_NETWORK	= QUERY_CAN_NAVIGATE + 1,
-	QUERY_IS_CACHED	= QUERY_USES_NETWORK + 1,
-	QUERY_IS_INSTALLEDENTRY	= QUERY_IS_CACHED + 1,
-	QUERY_IS_CACHED_OR_MAPPED	= QUERY_IS_INSTALLEDENTRY + 1,
-	QUERY_USES_CACHE	= QUERY_IS_CACHED_OR_MAPPED + 1,
-	QUERY_IS_SECURE	= QUERY_USES_CACHE + 1,
-	QUERY_IS_SAFE	= QUERY_IS_SECURE + 1
-    } 	QUERYOPTION;
-
-
-extern "C" const IID IID_IInternetProtocolInfo;
-
-
-    
-    struct __declspec(uuid("79eac9ec-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetProtocolInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ParseUrl( 
-             LPCWSTR pwzUrl,
-             PARSEACTION ParseAction,
-             DWORD dwParseFlags,
-             LPWSTR pwzResult,
-             DWORD cchResult,
-             DWORD *pcchResult,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall CombineUrl( 
-             LPCWSTR pwzBaseUrl,
-             LPCWSTR pwzRelativeUrl,
-             DWORD dwCombineFlags,
-             LPWSTR pwzResult,
-             DWORD cchResult,
-             DWORD *pcchResult,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall CompareUrl( 
-             LPCWSTR pwzUrl1,
-             LPCWSTR pwzUrl2,
-             DWORD dwCompareFlags) = 0;
-        
-        virtual HRESULT __stdcall QueryInfo( 
-             LPCWSTR pwzUrl,
-             QUERYOPTION OueryOption,
-             DWORD dwQueryFlags,
-             LPVOID pBuffer,
-             DWORD cbBuffer,
-             DWORD *pcbBuf,
-             DWORD dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetProtocolInfo_ParseUrl_Proxy( 
-    IInternetProtocolInfo * This,
-     LPCWSTR pwzUrl,
-     PARSEACTION ParseAction,
-     DWORD dwParseFlags,
-     LPWSTR pwzResult,
-     DWORD cchResult,
-     DWORD *pcchResult,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetProtocolInfo_ParseUrl_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolInfo_CombineUrl_Proxy( 
-    IInternetProtocolInfo * This,
-     LPCWSTR pwzBaseUrl,
-     LPCWSTR pwzRelativeUrl,
-     DWORD dwCombineFlags,
-     LPWSTR pwzResult,
-     DWORD cchResult,
-     DWORD *pcchResult,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetProtocolInfo_CombineUrl_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolInfo_CompareUrl_Proxy( 
-    IInternetProtocolInfo * This,
-     LPCWSTR pwzUrl1,
-     LPCWSTR pwzUrl2,
-     DWORD dwCompareFlags);
-
-
-void __stdcall IInternetProtocolInfo_CompareUrl_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetProtocolInfo_QueryInfo_Proxy( 
-    IInternetProtocolInfo * This,
-     LPCWSTR pwzUrl,
-     QUERYOPTION OueryOption,
-     DWORD dwQueryFlags,
-     LPVOID pBuffer,
-     DWORD cbBuffer,
-     DWORD *pcbBuf,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetProtocolInfo_QueryInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __stdcall CoInternetParseUrl(               
-    LPCWSTR     pwzUrl,                  
-    PARSEACTION ParseAction,             
-    DWORD       dwFlags,                 
-    LPWSTR      pszResult,               
-    DWORD       cchResult,               
-    DWORD      *pcchResult,              
-    DWORD       dwReserved               
-    );                                   
-extern "C" HRESULT __stdcall CoInternetCombineUrl(             
-    LPCWSTR     pwzBaseUrl,              
-    LPCWSTR     pwzRelativeUrl,          
-    DWORD       dwCombineFlags,          
-    LPWSTR      pszResult,               
-    DWORD       cchResult,               
-    DWORD      *pcchResult,              
-    DWORD       dwReserved               
-    );                                   
-extern "C" HRESULT __stdcall CoInternetCompareUrl(             
-    LPCWSTR pwzUrl1,                     
-    LPCWSTR pwzUrl2,                     
-    DWORD dwFlags                        
-    );                                   
-extern "C" HRESULT __stdcall CoInternetGetProtocolFlags(       
-    LPCWSTR     pwzUrl,                  
-    DWORD      *pdwFlags,                
-    DWORD       dwReserved               
-    );                                   
-extern "C" HRESULT __stdcall CoInternetQueryInfo(              
-    LPCWSTR     pwzUrl,                  
-    QUERYOPTION QueryOptions,            
-    DWORD       dwQueryFlags,            
-    LPVOID      pvBuffer,                
-    DWORD       cbBuffer,                
-    DWORD      *pcbBuffer,               
-    DWORD       dwReserved               
-    );                                   
-extern "C" HRESULT __stdcall CoInternetGetSession(             
-    DWORD       dwSessionMode,           
-    IInternetSession **ppIInternetSession,
-    DWORD       dwReserved               
-    );                                   
-extern "C" HRESULT __stdcall CoInternetGetSecurityUrl(         
-    LPCWSTR pwzUrl,                      
-    LPWSTR  *ppwzSecUrl,                 
-    PSUACTION  psuAction,                
-    DWORD   dwReserved                   
-    );                                   
-extern "C" HRESULT __stdcall AsyncInstallDistributionUnit(     
-    LPCWSTR szDistUnit,                  
-    LPCWSTR szTYPE,                      
-    LPCWSTR szExt,                       
-    DWORD dwFileVersionMS,               
-    DWORD dwFileVersionLS,               
-    LPCWSTR szURL,                       
-    IBindCtx *pbc,                       
-    LPVOID   pvReserved,                 
-    DWORD   flags                        
-    );                                   
-
-
-typedef 
-enum _tagINTERNETFEATURELIST
-    {	FEATURE_OBJECT_CACHING	= 0,
-	FEATURE_ZONE_ELEVATION	= FEATURE_OBJECT_CACHING + 1,
-	FEATURE_MIME_HANDLING	= FEATURE_ZONE_ELEVATION + 1,
-	FEATURE_MIME_SNIFFING	= FEATURE_MIME_HANDLING + 1,
-	FEATURE_WINDOW_RESTRICTIONS	= FEATURE_MIME_SNIFFING + 1,
-	FEATURE_WEBOC_POPUPMANAGEMENT	= FEATURE_WINDOW_RESTRICTIONS + 1,
-	FEATURE_BEHAVIORS	= FEATURE_WEBOC_POPUPMANAGEMENT + 1,
-	FEATURE_DISABLE_MK_PROTOCOL	= FEATURE_BEHAVIORS + 1,
-	FEATURE_LOCALMACHINE_LOCKDOWN	= FEATURE_DISABLE_MK_PROTOCOL + 1,
-	FEATURE_SECURITYBAND	= FEATURE_LOCALMACHINE_LOCKDOWN + 1,
-	FEATURE_RESTRICT_ACTIVEXINSTALL	= FEATURE_SECURITYBAND + 1,
-	FEATURE_VALIDATE_NAVIGATE_URL	= FEATURE_RESTRICT_ACTIVEXINSTALL + 1,
-	FEATURE_RESTRICT_FILEDOWNLOAD	= FEATURE_VALIDATE_NAVIGATE_URL + 1,
-	FEATURE_ADDON_MANAGEMENT	= FEATURE_RESTRICT_FILEDOWNLOAD + 1,
-	FEATURE_PROTOCOL_LOCKDOWN	= FEATURE_ADDON_MANAGEMENT + 1,
-	FEATURE_HTTP_USERNAME_PASSWORD_DISABLE	= FEATURE_PROTOCOL_LOCKDOWN + 1,
-	FEATURE_SAFE_BINDTOOBJECT	= FEATURE_HTTP_USERNAME_PASSWORD_DISABLE + 1,
-	FEATURE_UNC_SAVEDFILECHECK	= FEATURE_SAFE_BINDTOOBJECT + 1,
-	FEATURE_GET_URL_DOM_FILEPATH_UNENCODED	= FEATURE_UNC_SAVEDFILECHECK + 1,
-	FEATURE_ENTRY_COUNT	= FEATURE_GET_URL_DOM_FILEPATH_UNENCODED + 1
-    } 	INTERNETFEATURELIST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __stdcall CoInternetSetFeatureEnabled(      
-    INTERNETFEATURELIST FeatureEntry,    
-    DWORD dwFlags,                       
-    BOOL fEnable                         
-    );                                   
-extern "C" HRESULT __stdcall CoInternetIsFeatureEnabled(       
-    INTERNETFEATURELIST FeatureEntry,    
-    DWORD dwFlags                        
-    );                                   
-extern "C" HRESULT __stdcall CoInternetIsFeatureEnabledForUrl( 
-    INTERNETFEATURELIST FeatureEntry,    
-    DWORD dwFlags,                       
-    LPCWSTR szURL,                       
-    IInternetSecurityManager *pSecMgr    
-    );                                   
-extern "C" HRESULT __stdcall CoInternetIsFeatureZoneElevationEnabled( 
-    LPCWSTR szFromURL,                          
-    LPCWSTR szToURL,                            
-    IInternetSecurityManager *pSecMgr,          
-    DWORD dwFlags                               
-    );                                          
- 
-extern "C" HRESULT __stdcall CopyStgMedium(const STGMEDIUM * pcstgmedSrc,  
-                           STGMEDIUM * pstgmedDest); 
-extern "C" HRESULT __stdcall CopyBindInfo( const BINDINFO * pcbiSrc,   
-                           BINDINFO * pbiDest ); 
-extern "C" void __stdcall ReleaseBindInfo( BINDINFO * pbindinfo );  
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __stdcall CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved);
-
-extern "C" HRESULT __stdcall CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved);
-
-
-
-extern "C" const IID CLSID_InternetSecurityManager;  
-extern "C" const IID CLSID_InternetZoneManager;  
-extern "C" const IID CLSID_PersistentZoneIdentifier;  
-
-
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0203_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0203_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IInternetSecurityMgrSite;
-
-
-    
-    struct __declspec(uuid("79eac9ed-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetSecurityMgrSite : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetWindow( 
-             HWND *phwnd) = 0;
-        
-        virtual HRESULT __stdcall EnableModeless( 
-             BOOL fEnable) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetSecurityMgrSite_GetWindow_Proxy( 
-    IInternetSecurityMgrSite * This,
-     HWND *phwnd);
-
-
-void __stdcall IInternetSecurityMgrSite_GetWindow_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityMgrSite_EnableModeless_Proxy( 
-    IInternetSecurityMgrSite * This,
-     BOOL fEnable);
-
-
-void __stdcall IInternetSecurityMgrSite_EnableModeless_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0204_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0204_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-typedef  
-enum __MIDL_IInternetSecurityManager_0001
-    {	PUAF_DEFAULT	= 0,
-	PUAF_NOUI	= 0x1,
-	PUAF_ISFILE	= 0x2,
-	PUAF_WARN_IF_DENIED	= 0x4,
-	PUAF_FORCEUI_FOREGROUND	= 0x8,
-	PUAF_CHECK_TIFS	= 0x10,
-	PUAF_DONTCHECKBOXINDIALOG	= 0x20,
-	PUAF_TRUSTED	= 0x40,
-	PUAF_ACCEPT_WILDCARD_SCHEME	= 0x80,
-	PUAF_ENFORCERESTRICTED	= 0x100,
-	PUAF_NOSAVEDFILECHECK	= 0x200,
-	PUAF_REQUIRESAVEDFILECHECK	= 0x400,
-	PUAF_LMZ_UNLOCKED	= 0x10000,
-	PUAF_LMZ_LOCKED	= 0x20000,
-	PUAF_DEFAULTZONEPOL	= 0x40000,
-	PUAF_NPL_USE_LOCKED_IF_RESTRICTED	= 0x80000,
-	PUAF_NOUIIFLOCKED	= 0x100000,
-	PUAF_DRAGPROTOCOLCHECK	= 0x200000
-    } 	PUAF;
-
-typedef  
-enum __MIDL_IInternetSecurityManager_0002
-    {	PUAFOUT_DEFAULT	= 0,
-	PUAFOUT_ISLOCKZONEPOLICY	= 0x1
-    } 	PUAFOUT;
-
-
-
-
-
-
-
-typedef  
-enum __MIDL_IInternetSecurityManager_0003
-    {	SZM_CREATE	= 0,
-	SZM_DELETE	= 0x1
-    } 	SZM_FLAGS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_IInternetSecurityManager;
-
-
-    
-    struct __declspec(uuid("79eac9ee-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetSecurityManager : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetSecuritySite( 
-             IInternetSecurityMgrSite *pSite) = 0;
-        
-        virtual HRESULT __stdcall GetSecuritySite( 
-             IInternetSecurityMgrSite **ppSite) = 0;
-        
-        virtual HRESULT __stdcall MapUrlToZone( 
-             LPCWSTR pwszUrl,
-             DWORD *pdwZone,
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall GetSecurityId( 
-             LPCWSTR pwszUrl,
-             BYTE *pbSecurityId,
-             DWORD *pcbSecurityId,
-             DWORD_PTR dwReserved) = 0;
-        
-        virtual HRESULT __stdcall ProcessUrlAction( 
-             LPCWSTR pwszUrl,
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             BYTE *pContext,
-             DWORD cbContext,
-             DWORD dwFlags,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall QueryCustomPolicy( 
-             LPCWSTR pwszUrl,
-             const GUID & guidKey,
-             BYTE **ppPolicy,
-             DWORD *pcbPolicy,
-             BYTE *pContext,
-             DWORD cbContext,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall SetZoneMapping( 
-             DWORD dwZone,
-             LPCWSTR lpszPattern,
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall GetZoneMappings( 
-             DWORD dwZone,
-             IEnumString **ppenumString,
-             DWORD dwFlags) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetSecurityManager_SetSecuritySite_Proxy( 
-    IInternetSecurityManager * This,
-     IInternetSecurityMgrSite *pSite);
-
-
-void __stdcall IInternetSecurityManager_SetSecuritySite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_GetSecuritySite_Proxy( 
-    IInternetSecurityManager * This,
-     IInternetSecurityMgrSite **ppSite);
-
-
-void __stdcall IInternetSecurityManager_GetSecuritySite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_MapUrlToZone_Proxy( 
-    IInternetSecurityManager * This,
-     LPCWSTR pwszUrl,
-     DWORD *pdwZone,
-     DWORD dwFlags);
-
-
-void __stdcall IInternetSecurityManager_MapUrlToZone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_GetSecurityId_Proxy( 
-    IInternetSecurityManager * This,
-     LPCWSTR pwszUrl,
-     BYTE *pbSecurityId,
-     DWORD *pcbSecurityId,
-     DWORD_PTR dwReserved);
-
-
-void __stdcall IInternetSecurityManager_GetSecurityId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_ProcessUrlAction_Proxy( 
-    IInternetSecurityManager * This,
-     LPCWSTR pwszUrl,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     BYTE *pContext,
-     DWORD cbContext,
-     DWORD dwFlags,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetSecurityManager_ProcessUrlAction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_QueryCustomPolicy_Proxy( 
-    IInternetSecurityManager * This,
-     LPCWSTR pwszUrl,
-     const GUID & guidKey,
-     BYTE **ppPolicy,
-     DWORD *pcbPolicy,
-     BYTE *pContext,
-     DWORD cbContext,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetSecurityManager_QueryCustomPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_SetZoneMapping_Proxy( 
-    IInternetSecurityManager * This,
-     DWORD dwZone,
-     LPCWSTR lpszPattern,
-     DWORD dwFlags);
-
-
-void __stdcall IInternetSecurityManager_SetZoneMapping_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetSecurityManager_GetZoneMappings_Proxy( 
-    IInternetSecurityManager * This,
-     DWORD dwZone,
-     IEnumString **ppenumString,
-     DWORD dwFlags);
-
-
-void __stdcall IInternetSecurityManager_GetZoneMappings_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-extern "C" const IID IID_IInternetSecurityManagerEx;
-
-
-    
-    struct __declspec(uuid("F164EDF1-CC7C-4f0d-9A94-34222625C393")) __declspec(novtable)
-    IInternetSecurityManagerEx : public IInternetSecurityManager
-    {
-    public:
-        virtual HRESULT __stdcall ProcessUrlActionEx( 
-             LPCWSTR pwszUrl,
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             BYTE *pContext,
-             DWORD cbContext,
-             DWORD dwFlags,
-             DWORD dwReserved,
-             DWORD *pdwOutFlags) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetSecurityManagerEx_ProcessUrlActionEx_Proxy( 
-    IInternetSecurityManagerEx * This,
-     LPCWSTR pwszUrl,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     BYTE *pContext,
-     DWORD cbContext,
-     DWORD dwFlags,
-     DWORD dwReserved,
-     DWORD *pdwOutFlags);
-
-
-void __stdcall IInternetSecurityManagerEx_ProcessUrlActionEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0205_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0205_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IZoneIdentifier;
-
-
-    
-    struct __declspec(uuid("cd45f185-1b21-48e2-967b-ead743a8914e")) __declspec(novtable)
-    IZoneIdentifier : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetId( 
-             DWORD *pdwZone) = 0;
-        
-        virtual HRESULT __stdcall SetId( 
-             DWORD dwZone) = 0;
-        
-        virtual HRESULT __stdcall Remove( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IZoneIdentifier_GetId_Proxy( 
-    IZoneIdentifier * This,
-     DWORD *pdwZone);
-
-
-void __stdcall IZoneIdentifier_GetId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IZoneIdentifier_SetId_Proxy( 
-    IZoneIdentifier * This,
-     DWORD dwZone);
-
-
-void __stdcall IZoneIdentifier_SetId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IZoneIdentifier_Remove_Proxy( 
-    IZoneIdentifier * This);
-
-
-void __stdcall IZoneIdentifier_Remove_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0207_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0207_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IInternetHostSecurityManager;
-
-
-    
-    struct __declspec(uuid("3af280b6-cb3f-11d0-891e-00c04fb6bfc4")) __declspec(novtable)
-    IInternetHostSecurityManager : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetSecurityId( 
-             BYTE *pbSecurityId,
-             DWORD *pcbSecurityId,
-             DWORD_PTR dwReserved) = 0;
-        
-        virtual HRESULT __stdcall ProcessUrlAction( 
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             BYTE *pContext,
-             DWORD cbContext,
-             DWORD dwFlags,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall QueryCustomPolicy( 
-             const GUID & guidKey,
-             BYTE **ppPolicy,
-             DWORD *pcbPolicy,
-             BYTE *pContext,
-             DWORD cbContext,
-             DWORD dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetHostSecurityManager_GetSecurityId_Proxy( 
-    IInternetHostSecurityManager * This,
-     BYTE *pbSecurityId,
-     DWORD *pcbSecurityId,
-     DWORD_PTR dwReserved);
-
-
-void __stdcall IInternetHostSecurityManager_GetSecurityId_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetHostSecurityManager_ProcessUrlAction_Proxy( 
-    IInternetHostSecurityManager * This,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     BYTE *pContext,
-     DWORD cbContext,
-     DWORD dwFlags,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetHostSecurityManager_ProcessUrlAction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetHostSecurityManager_QueryCustomPolicy_Proxy( 
-    IInternetHostSecurityManager * This,
-     const GUID & guidKey,
-     BYTE **ppPolicy,
-     DWORD *pcbPolicy,
-     BYTE *pContext,
-     DWORD cbContext,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetHostSecurityManager_QueryCustomPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const GUID GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED; 
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0208_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0208_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IInternetZoneManager *LPURLZONEMANAGER;
-
-typedef 
-enum tagURLZONE
-    {	URLZONE_PREDEFINED_MIN	= 0,
-	URLZONE_LOCAL_MACHINE	= 0,
-	URLZONE_INTRANET	= URLZONE_LOCAL_MACHINE + 1,
-	URLZONE_TRUSTED	= URLZONE_INTRANET + 1,
-	URLZONE_INTERNET	= URLZONE_TRUSTED + 1,
-	URLZONE_UNTRUSTED	= URLZONE_INTERNET + 1,
-	URLZONE_PREDEFINED_MAX	= 999,
-	URLZONE_USER_MIN	= 1000,
-	URLZONE_USER_MAX	= 10000
-    } 	URLZONE;
-
-
-
-typedef 
-enum tagURLTEMPLATE
-    {	URLTEMPLATE_CUSTOM	= 0,
-	URLTEMPLATE_PREDEFINED_MIN	= 0x10000,
-	URLTEMPLATE_LOW	= 0x10000,
-	URLTEMPLATE_MEDLOW	= 0x10500,
-	URLTEMPLATE_MEDIUM	= 0x11000,
-	URLTEMPLATE_HIGH	= 0x12000,
-	URLTEMPLATE_PREDEFINED_MAX	= 0x20000
-    } 	URLTEMPLATE;
-
-
-enum __MIDL_IInternetZoneManager_0001
-    {	MAX_ZONE_PATH	= 260,
-	MAX_ZONE_DESCRIPTION	= 200
-    } ;
-typedef  
-enum __MIDL_IInternetZoneManager_0002
-    {	ZAFLAGS_CUSTOM_EDIT	= 0x1,
-	ZAFLAGS_ADD_SITES	= 0x2,
-	ZAFLAGS_REQUIRE_VERIFICATION	= 0x4,
-	ZAFLAGS_INCLUDE_PROXY_OVERRIDE	= 0x8,
-	ZAFLAGS_INCLUDE_INTRANET_SITES	= 0x10,
-	ZAFLAGS_NO_UI	= 0x20,
-	ZAFLAGS_SUPPORTS_VERIFICATION	= 0x40,
-	ZAFLAGS_UNC_AS_INTRANET	= 0x80,
-	ZAFLAGS_USE_LOCKED_ZONES	= 0x10000
-    } 	ZAFLAGS;
-
-typedef struct _ZONEATTRIBUTES
-    {
-    ULONG cbSize;
-    WCHAR szDisplayName[ 260 ];
-    WCHAR szDescription[ 200 ];
-    WCHAR szIconPath[ 260 ];
-    DWORD dwTemplateMinLevel;
-    DWORD dwTemplateRecommended;
-    DWORD dwTemplateCurrentLevel;
-    DWORD dwFlags;
-    } 	ZONEATTRIBUTES;
-
-typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef 
-enum _URLZONEREG
-    {	URLZONEREG_DEFAULT	= 0,
-	URLZONEREG_HKLM	= URLZONEREG_DEFAULT + 1,
-	URLZONEREG_HKCU	= URLZONEREG_HKLM + 1
-    } 	URLZONEREG;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_IInternetZoneManager;
-
-
-    
-    struct __declspec(uuid("79eac9ef-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable)
-    IInternetZoneManager : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetZoneAttributes( 
-             DWORD dwZone,
-             ZONEATTRIBUTES *pZoneAttributes) = 0;
-        
-        virtual HRESULT __stdcall SetZoneAttributes( 
-             DWORD dwZone,
-             ZONEATTRIBUTES *pZoneAttributes) = 0;
-        
-        virtual HRESULT __stdcall GetZoneCustomPolicy( 
-             DWORD dwZone,
-             const GUID & guidKey,
-             BYTE **ppPolicy,
-             DWORD *pcbPolicy,
-             URLZONEREG urlZoneReg) = 0;
-        
-        virtual HRESULT __stdcall SetZoneCustomPolicy( 
-             DWORD dwZone,
-             const GUID & guidKey,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             URLZONEREG urlZoneReg) = 0;
-        
-        virtual HRESULT __stdcall GetZoneActionPolicy( 
-             DWORD dwZone,
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             URLZONEREG urlZoneReg) = 0;
-        
-        virtual HRESULT __stdcall SetZoneActionPolicy( 
-             DWORD dwZone,
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             URLZONEREG urlZoneReg) = 0;
-        
-        virtual HRESULT __stdcall PromptAction( 
-             DWORD dwAction,
-             HWND hwndParent,
-             LPCWSTR pwszUrl,
-             LPCWSTR pwszText,
-             DWORD dwPromptFlags) = 0;
-        
-        virtual HRESULT __stdcall LogAction( 
-             DWORD dwAction,
-             LPCWSTR pwszUrl,
-             LPCWSTR pwszText,
-             DWORD dwLogFlags) = 0;
-        
-        virtual HRESULT __stdcall CreateZoneEnumerator( 
-             DWORD *pdwEnum,
-             DWORD *pdwCount,
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall GetZoneAt( 
-             DWORD dwEnum,
-             DWORD dwIndex,
-             DWORD *pdwZone) = 0;
-        
-        virtual HRESULT __stdcall DestroyZoneEnumerator( 
-             DWORD dwEnum) = 0;
-        
-        virtual HRESULT __stdcall CopyTemplatePoliciesToZone( 
-             DWORD dwTemplate,
-             DWORD dwZone,
-             DWORD dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetZoneManager_GetZoneAttributes_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwZone,
-     ZONEATTRIBUTES *pZoneAttributes);
-
-
-void __stdcall IInternetZoneManager_GetZoneAttributes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_SetZoneAttributes_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwZone,
-     ZONEATTRIBUTES *pZoneAttributes);
-
-
-void __stdcall IInternetZoneManager_SetZoneAttributes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_GetZoneCustomPolicy_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwZone,
-     const GUID & guidKey,
-     BYTE **ppPolicy,
-     DWORD *pcbPolicy,
-     URLZONEREG urlZoneReg);
-
-
-void __stdcall IInternetZoneManager_GetZoneCustomPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_SetZoneCustomPolicy_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwZone,
-     const GUID & guidKey,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     URLZONEREG urlZoneReg);
-
-
-void __stdcall IInternetZoneManager_SetZoneCustomPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_GetZoneActionPolicy_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwZone,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     URLZONEREG urlZoneReg);
-
-
-void __stdcall IInternetZoneManager_GetZoneActionPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_SetZoneActionPolicy_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwZone,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     URLZONEREG urlZoneReg);
-
-
-void __stdcall IInternetZoneManager_SetZoneActionPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_PromptAction_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwAction,
-     HWND hwndParent,
-     LPCWSTR pwszUrl,
-     LPCWSTR pwszText,
-     DWORD dwPromptFlags);
-
-
-void __stdcall IInternetZoneManager_PromptAction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_LogAction_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwAction,
-     LPCWSTR pwszUrl,
-     LPCWSTR pwszText,
-     DWORD dwLogFlags);
-
-
-void __stdcall IInternetZoneManager_LogAction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_CreateZoneEnumerator_Proxy( 
-    IInternetZoneManager * This,
-     DWORD *pdwEnum,
-     DWORD *pdwCount,
-     DWORD dwFlags);
-
-
-void __stdcall IInternetZoneManager_CreateZoneEnumerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_GetZoneAt_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwEnum,
-     DWORD dwIndex,
-     DWORD *pdwZone);
-
-
-void __stdcall IInternetZoneManager_GetZoneAt_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_DestroyZoneEnumerator_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwEnum);
-
-
-void __stdcall IInternetZoneManager_DestroyZoneEnumerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManager_CopyTemplatePoliciesToZone_Proxy( 
-    IInternetZoneManager * This,
-     DWORD dwTemplate,
-     DWORD dwZone,
-     DWORD dwReserved);
-
-
-void __stdcall IInternetZoneManager_CopyTemplatePoliciesToZone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0209_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0209_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_IInternetZoneManagerEx;
-
-
-    
-    struct __declspec(uuid("A4C23339-8E06-431e-9BF4-7E711C085648")) __declspec(novtable)
-    IInternetZoneManagerEx : public IInternetZoneManager
-    {
-    public:
-        virtual HRESULT __stdcall GetZoneActionPolicyEx( 
-             DWORD dwZone,
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             URLZONEREG urlZoneReg,
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall SetZoneActionPolicyEx( 
-             DWORD dwZone,
-             DWORD dwAction,
-             BYTE *pPolicy,
-             DWORD cbPolicy,
-             URLZONEREG urlZoneReg,
-             DWORD dwFlags) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternetZoneManagerEx_GetZoneActionPolicyEx_Proxy( 
-    IInternetZoneManagerEx * This,
-     DWORD dwZone,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     URLZONEREG urlZoneReg,
-     DWORD dwFlags);
-
-
-void __stdcall IInternetZoneManagerEx_GetZoneActionPolicyEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternetZoneManagerEx_SetZoneActionPolicyEx_Proxy( 
-    IInternetZoneManagerEx * This,
-     DWORD dwZone,
-     DWORD dwAction,
-     BYTE *pPolicy,
-     DWORD cbPolicy,
-     URLZONEREG urlZoneReg,
-     DWORD dwFlags);
-
-
-void __stdcall IInternetZoneManagerEx_SetZoneActionPolicyEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID CLSID_SoftDistExt;  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _tagCODEBASEHOLD
-    {
-    ULONG cbSize;
-    LPWSTR szDistUnit;
-    LPWSTR szCodeBase;
-    DWORD dwVersionMS;
-    DWORD dwVersionLS;
-    DWORD dwStyle;
-    } 	CODEBASEHOLD;
-
-typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD;
-
-typedef struct _tagSOFTDISTINFO
-    {
-    ULONG cbSize;
-    DWORD dwFlags;
-    DWORD dwAdState;
-    LPWSTR szTitle;
-    LPWSTR szAbstract;
-    LPWSTR szHREF;
-    DWORD dwInstalledVersionMS;
-    DWORD dwInstalledVersionLS;
-    DWORD dwUpdateVersionMS;
-    DWORD dwUpdateVersionLS;
-    DWORD dwAdvertisedVersionMS;
-    DWORD dwAdvertisedVersionLS;
-    DWORD dwReserved;
-    } 	SOFTDISTINFO;
-
-typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0210_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0210_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_ISoftDistExt;
-
-
-    
-    struct __declspec(uuid("B15B8DC1-C7E1-11d0-8680-00AA00BDCB71")) __declspec(novtable)
-    ISoftDistExt : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ProcessSoftDist( 
-             LPCWSTR szCDFURL,
-             IXMLElement *pSoftDistElement,
-             LPSOFTDISTINFO lpsdi) = 0;
-        
-        virtual HRESULT __stdcall GetFirstCodeBase( 
-             LPWSTR *szCodeBase,
-             LPDWORD dwMaxSize) = 0;
-        
-        virtual HRESULT __stdcall GetNextCodeBase( 
-             LPWSTR *szCodeBase,
-             LPDWORD dwMaxSize) = 0;
-        
-        virtual HRESULT __stdcall AsyncInstallDistributionUnit( 
-             IBindCtx *pbc,
-             LPVOID pvReserved,
-             DWORD flags,
-             LPCODEBASEHOLD lpcbh) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISoftDistExt_ProcessSoftDist_Proxy( 
-    ISoftDistExt * This,
-     LPCWSTR szCDFURL,
-     IXMLElement *pSoftDistElement,
-     LPSOFTDISTINFO lpsdi);
-
-
-void __stdcall ISoftDistExt_ProcessSoftDist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISoftDistExt_GetFirstCodeBase_Proxy( 
-    ISoftDistExt * This,
-     LPWSTR *szCodeBase,
-     LPDWORD dwMaxSize);
-
-
-void __stdcall ISoftDistExt_GetFirstCodeBase_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISoftDistExt_GetNextCodeBase_Proxy( 
-    ISoftDistExt * This,
-     LPWSTR *szCodeBase,
-     LPDWORD dwMaxSize);
-
-
-void __stdcall ISoftDistExt_GetNextCodeBase_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISoftDistExt_AsyncInstallDistributionUnit_Proxy( 
-    ISoftDistExt * This,
-     IBindCtx *pbc,
-     LPVOID pvReserved,
-     DWORD flags,
-     LPCODEBASEHOLD lpcbh);
-
-
-void __stdcall ISoftDistExt_AsyncInstallDistributionUnit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-extern "C" HRESULT __stdcall GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi );
-extern "C" HRESULT __stdcall SetSoftwareUpdateAdvertisementState( LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS );
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0211_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0211_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  ICatalogFileInfo *LPCATALOGFILEINFO;
-
-
-extern "C" const IID IID_ICatalogFileInfo;
-
-
-    
-    struct __declspec(uuid("711C7600-6B48-11d1-B403-00AA00B92AF1")) __declspec(novtable)
-    ICatalogFileInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetCatalogFile( 
-             LPSTR *ppszCatalogFile) = 0;
-        
-        virtual HRESULT __stdcall GetJavaTrust( 
-             void **ppJavaTrust) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICatalogFileInfo_GetCatalogFile_Proxy( 
-    ICatalogFileInfo * This,
-     LPSTR *ppszCatalogFile);
-
-
-void __stdcall ICatalogFileInfo_GetCatalogFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatalogFileInfo_GetJavaTrust_Proxy( 
-    ICatalogFileInfo * This,
-     void **ppJavaTrust);
-
-
-void __stdcall ICatalogFileInfo_GetJavaTrust_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0212_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0212_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IDataFilter *LPDATAFILTER;
-
-
-extern "C" const IID IID_IDataFilter;
-
-
-    
-    struct __declspec(uuid("69d14c80-c18e-11d0-a9ce-006097942311")) __declspec(novtable)
-    IDataFilter : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall DoEncode( 
-             DWORD dwFlags,
-             LONG lInBufferSize,
-             BYTE *pbInBuffer,
-             LONG lOutBufferSize,
-             BYTE *pbOutBuffer,
-             LONG lInBytesAvailable,
-             LONG *plInBytesRead,
-             LONG *plOutBytesWritten,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall DoDecode( 
-             DWORD dwFlags,
-             LONG lInBufferSize,
-             BYTE *pbInBuffer,
-             LONG lOutBufferSize,
-             BYTE *pbOutBuffer,
-             LONG lInBytesAvailable,
-             LONG *plInBytesRead,
-             LONG *plOutBytesWritten,
-             DWORD dwReserved) = 0;
-        
-        virtual HRESULT __stdcall SetEncodingLevel( 
-             DWORD dwEncLevel) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDataFilter_DoEncode_Proxy( 
-    IDataFilter * This,
-     DWORD dwFlags,
-     LONG lInBufferSize,
-     BYTE *pbInBuffer,
-     LONG lOutBufferSize,
-     BYTE *pbOutBuffer,
-     LONG lInBytesAvailable,
-     LONG *plInBytesRead,
-     LONG *plOutBytesWritten,
-     DWORD dwReserved);
-
-
-void __stdcall IDataFilter_DoEncode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataFilter_DoDecode_Proxy( 
-    IDataFilter * This,
-     DWORD dwFlags,
-     LONG lInBufferSize,
-     BYTE *pbInBuffer,
-     LONG lOutBufferSize,
-     BYTE *pbOutBuffer,
-     LONG lInBytesAvailable,
-     LONG *plInBytesRead,
-     LONG *plOutBytesWritten,
-     DWORD dwReserved);
-
-
-void __stdcall IDataFilter_DoDecode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDataFilter_SetEncodingLevel_Proxy( 
-    IDataFilter * This,
-     DWORD dwEncLevel);
-
-
-void __stdcall IDataFilter_SetEncodingLevel_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-typedef struct _tagPROTOCOLFILTERDATA
-    {
-    DWORD cbSize;
-    IInternetProtocolSink *pProtocolSink;
-    IInternetProtocol *pProtocol;
-    IUnknown *pUnk;
-    DWORD dwFilterFlags;
-    } 	PROTOCOLFILTERDATA;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0213_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0213_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IEncodingFilterFactory *LPENCODINGFILTERFACTORY;
-
-typedef struct _tagDATAINFO
-    {
-    ULONG ulTotalSize;
-    ULONG ulavrPacketSize;
-    ULONG ulConnectSpeed;
-    ULONG ulProcessorSpeed;
-    } 	DATAINFO;
-
-
-extern "C" const IID IID_IEncodingFilterFactory;
-
-
-    
-    struct __declspec(uuid("70bdde00-c18e-11d0-a9ce-006097942311")) __declspec(novtable)
-    IEncodingFilterFactory : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall FindBestFilter( 
-             LPCWSTR pwzCodeIn,
-             LPCWSTR pwzCodeOut,
-             DATAINFO info,
-             IDataFilter **ppDF) = 0;
-        
-        virtual HRESULT __stdcall GetDefaultFilter( 
-             LPCWSTR pwzCodeIn,
-             LPCWSTR pwzCodeOut,
-             IDataFilter **ppDF) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IEncodingFilterFactory_FindBestFilter_Proxy( 
-    IEncodingFilterFactory * This,
-     LPCWSTR pwzCodeIn,
-     LPCWSTR pwzCodeOut,
-     DATAINFO info,
-     IDataFilter **ppDF);
-
-
-void __stdcall IEncodingFilterFactory_FindBestFilter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEncodingFilterFactory_GetDefaultFilter_Proxy( 
-    IEncodingFilterFactory * This,
-     LPCWSTR pwzCodeIn,
-     LPCWSTR pwzCodeOut,
-     IDataFilter **ppDF);
-
-
-void __stdcall IEncodingFilterFactory_GetDefaultFilter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-BOOL __stdcall IsLoggingEnabledA( LPCSTR  pszUrl);                    
-BOOL __stdcall IsLoggingEnabledW( LPCWSTR  pwszUrl);                  
-
-
-
-
-
-typedef struct _tagHIT_LOGGING_INFO
-    {
-    DWORD dwStructSize;
-    LPSTR lpszLoggedUrlName;
-    SYSTEMTIME StartTime;
-    SYSTEMTIME EndTime;
-    LPSTR lpszExtendedInfo;
-    } 	HIT_LOGGING_INFO;
-
-typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO;
-
-BOOL __stdcall WriteHitLogging( LPHIT_LOGGING_INFO lpLogginginfo);    
-
-struct CONFIRMSAFETY
-    {
-    CLSID clsid;
-    IUnknown *pUnk;
-    DWORD dwFlags;
-    } ;
-extern "C" const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY; 
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0214_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0214_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IWrappedProtocol *LPIWRAPPEDPROTOCOL;
-
-
-extern "C" const IID IID_IWrappedProtocol;
-
-
-    
-    struct __declspec(uuid("53c84785-8425-4dc5-971b-e58d9c19f9b6")) __declspec(novtable)
-    IWrappedProtocol : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetWrapperCode( 
-             LONG *pnCode,
-             DWORD_PTR dwReserved) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IWrappedProtocol_GetWrapperCode_Proxy( 
-    IWrappedProtocol * This,
-     LONG *pnCode,
-     DWORD_PTR dwReserved);
-
-
-void __stdcall IWrappedProtocol_GetWrapperCode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0215_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_urlmon_0215_v0_0_s_ifspec;
-
-
-
-unsigned long             __stdcall  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
-unsigned char * __stdcall  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
-unsigned char * __stdcall  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
-void                      __stdcall  HWND_UserFree(     unsigned long *, HWND * ); 
-
- HRESULT __stdcall IBinding_GetBindResult_Proxy( 
-    IBinding * This,
-     CLSID *pclsidProtocol,
-     DWORD *pdwResult,
-     LPOLESTR *pszResult,
-     DWORD *pdwReserved);
-
-
- HRESULT __stdcall IBinding_GetBindResult_Stub( 
-    IBinding * This,
-     CLSID *pclsidProtocol,
-     DWORD *pdwResult,
-     LPOLESTR *pszResult,
-     DWORD dwReserved);
-
- HRESULT __stdcall IBindStatusCallback_GetBindInfo_Proxy( 
-    IBindStatusCallback * This,
-     DWORD *grfBINDF,
-     BINDINFO *pbindinfo);
-
-
- HRESULT __stdcall IBindStatusCallback_GetBindInfo_Stub( 
-    IBindStatusCallback * This,
-     DWORD *grfBINDF,
-     RemBINDINFO *pbindinfo,
-     RemSTGMEDIUM *pstgmed);
-
- HRESULT __stdcall IBindStatusCallback_OnDataAvailable_Proxy( 
-    IBindStatusCallback * This,
-     DWORD grfBSCF,
-     DWORD dwSize,
-     FORMATETC *pformatetc,
-     STGMEDIUM *pstgmed);
-
-
- HRESULT __stdcall IBindStatusCallback_OnDataAvailable_Stub( 
-    IBindStatusCallback * This,
-     DWORD grfBSCF,
-     DWORD dwSize,
-     RemFORMATETC *pformatetc,
-     RemSTGMEDIUM *pstgmed);
-
- HRESULT __stdcall IWinInetInfo_QueryOption_Proxy( 
-    IWinInetInfo * This,
-     DWORD dwOption,
-     LPVOID pBuffer,
-     DWORD *pcbBuf);
-
-
- HRESULT __stdcall IWinInetInfo_QueryOption_Stub( 
-    IWinInetInfo * This,
-     DWORD dwOption,
-     BYTE *pBuffer,
-     DWORD *pcbBuf);
-
- HRESULT __stdcall IWinInetHttpInfo_QueryInfo_Proxy( 
-    IWinInetHttpInfo * This,
-     DWORD dwOption,
-     LPVOID pBuffer,
-     DWORD *pcbBuf,
-     DWORD *pdwFlags,
-     DWORD *pdwReserved);
-
-
- HRESULT __stdcall IWinInetHttpInfo_QueryInfo_Stub( 
-    IWinInetHttpInfo * This,
-     DWORD dwOption,
-     BYTE *pBuffer,
-     DWORD *pcbBuf,
-     DWORD *pdwFlags,
-     DWORD *pdwReserved);
-
- HRESULT __stdcall IBindHost_MonikerBindToStorage_Proxy( 
-    IBindHost * This,
-     IMoniker *pMk,
-     IBindCtx *pBC,
-     IBindStatusCallback *pBSC,
-     const IID & riid,
-     void **ppvObj);
-
-
- HRESULT __stdcall IBindHost_MonikerBindToStorage_Stub( 
-    IBindHost * This,
-     IMoniker *pMk,
-     IBindCtx *pBC,
-     IBindStatusCallback *pBSC,
-     const IID & riid,
-     IUnknown **ppvObj);
-
- HRESULT __stdcall IBindHost_MonikerBindToObject_Proxy( 
-    IBindHost * This,
-     IMoniker *pMk,
-     IBindCtx *pBC,
-     IBindStatusCallback *pBSC,
-     const IID & riid,
-     void **ppvObj);
-
-
- HRESULT __stdcall IBindHost_MonikerBindToObject_Stub( 
-    IBindHost * This,
-     IMoniker *pMk,
-     IBindCtx *pBC,
-     IBindStatusCallback *pBSC,
-     const IID & riid,
-     IUnknown **ppvObj);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IPropertyStorage IPropertyStorage;
-
-
-
-
-
-typedef struct IPropertySetStorage IPropertySetStorage;
-
-
-
-
-
-typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG;
-
-
-
-
-
-typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-
-#pragma warning(disable:4201)    
-#pragma warning(disable:4237)    
-
-
-#pragma once
-
-
-
-
-typedef struct tagVersionedStream
-    {
-    GUID guidVersion;
-    IStream *pStream;
-    } 	VERSIONEDSTREAM;
-
-typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagPROPVARIANT PROPVARIANT;
-
-typedef struct tagCAC
-    {
-    ULONG cElems;
-     CHAR *pElems;
-    } 	CAC;
-
-typedef struct tagCAUB
-    {
-    ULONG cElems;
-     UCHAR *pElems;
-    } 	CAUB;
-
-typedef struct tagCAI
-    {
-    ULONG cElems;
-     SHORT *pElems;
-    } 	CAI;
-
-typedef struct tagCAUI
-    {
-    ULONG cElems;
-     USHORT *pElems;
-    } 	CAUI;
-
-typedef struct tagCAL
-    {
-    ULONG cElems;
-     LONG *pElems;
-    } 	CAL;
-
-typedef struct tagCAUL
-    {
-    ULONG cElems;
-     ULONG *pElems;
-    } 	CAUL;
-
-typedef struct tagCAFLT
-    {
-    ULONG cElems;
-     FLOAT *pElems;
-    } 	CAFLT;
-
-typedef struct tagCADBL
-    {
-    ULONG cElems;
-     DOUBLE *pElems;
-    } 	CADBL;
-
-typedef struct tagCACY
-    {
-    ULONG cElems;
-     CY *pElems;
-    } 	CACY;
-
-typedef struct tagCADATE
-    {
-    ULONG cElems;
-     DATE *pElems;
-    } 	CADATE;
-
-typedef struct tagCABSTR
-    {
-    ULONG cElems;
-     BSTR *pElems;
-    } 	CABSTR;
-
-typedef struct tagCABSTRBLOB
-    {
-    ULONG cElems;
-     BSTRBLOB *pElems;
-    } 	CABSTRBLOB;
-
-typedef struct tagCABOOL
-    {
-    ULONG cElems;
-     VARIANT_BOOL *pElems;
-    } 	CABOOL;
-
-typedef struct tagCASCODE
-    {
-    ULONG cElems;
-     SCODE *pElems;
-    } 	CASCODE;
-
-typedef struct tagCAPROPVARIANT
-    {
-    ULONG cElems;
-     PROPVARIANT *pElems;
-    } 	CAPROPVARIANT;
-
-typedef struct tagCAH
-    {
-    ULONG cElems;
-     LARGE_INTEGER *pElems;
-    } 	CAH;
-
-typedef struct tagCAUH
-    {
-    ULONG cElems;
-     ULARGE_INTEGER *pElems;
-    } 	CAUH;
-
-typedef struct tagCALPSTR
-    {
-    ULONG cElems;
-     LPSTR *pElems;
-    } 	CALPSTR;
-
-typedef struct tagCALPWSTR
-    {
-    ULONG cElems;
-     LPWSTR *pElems;
-    } 	CALPWSTR;
-
-typedef struct tagCAFILETIME
-    {
-    ULONG cElems;
-     FILETIME *pElems;
-    } 	CAFILETIME;
-
-typedef struct tagCACLIPDATA
-    {
-    ULONG cElems;
-     CLIPDATA *pElems;
-    } 	CACLIPDATA;
-
-typedef struct tagCACLSID
-    {
-    ULONG cElems;
-     CLSID *pElems;
-    } 	CACLSID;
-
-
-
-
-
-
-
-
-
-
-
-typedef WORD PROPVAR_PAD1;
-typedef WORD PROPVAR_PAD2;
-typedef WORD PROPVAR_PAD3;
-
-
-
-struct tagPROPVARIANT {
-  union {
-
-struct 
-    {
-    VARTYPE vt;
-    PROPVAR_PAD1 wReserved1;
-    PROPVAR_PAD2 wReserved2;
-    PROPVAR_PAD3 wReserved3;
-      union 
-        {
-           
-         CHAR cVal;
-         UCHAR bVal;
-         SHORT iVal;
-         USHORT uiVal;
-         LONG lVal;
-         ULONG ulVal;
-         INT intVal;
-         UINT uintVal;
-         LARGE_INTEGER hVal;
-         ULARGE_INTEGER uhVal;
-         FLOAT fltVal;
-         DOUBLE dblVal;
-         VARIANT_BOOL boolVal;
-         
-         SCODE scode;
-         CY cyVal;
-         DATE date;
-         FILETIME filetime;
-         CLSID *puuid;
-         CLIPDATA *pclipdata;
-         BSTR bstrVal;
-         BSTRBLOB bstrblobVal;
-         BLOB blob;
-         LPSTR pszVal;
-         LPWSTR pwszVal;
-         IUnknown *punkVal;
-         IDispatch *pdispVal;
-         IStream *pStream;
-         IStorage *pStorage;
-         LPVERSIONEDSTREAM pVersionedStream;
-         LPSAFEARRAY parray;
-         CAC cac;
-         CAUB caub;
-         CAI cai;
-         CAUI caui;
-         CAL cal;
-         CAUL caul;
-         CAH cah;
-         CAUH cauh;
-         CAFLT caflt;
-         CADBL cadbl;
-         CABOOL cabool;
-         CASCODE cascode;
-         CACY cacy;
-         CADATE cadate;
-         CAFILETIME cafiletime;
-         CACLSID cauuid;
-         CACLIPDATA caclipdata;
-         CABSTR cabstr;
-         CABSTRBLOB cabstrblob;
-         CALPSTR calpstr;
-         CALPWSTR calpwstr;
-         CAPROPVARIANT capropvar;
-         CHAR *pcVal;
-         UCHAR *pbVal;
-         SHORT *piVal;
-         USHORT *puiVal;
-         LONG *plVal;
-         ULONG *pulVal;
-         INT *pintVal;
-         UINT *puintVal;
-         FLOAT *pfltVal;
-         DOUBLE *pdblVal;
-         VARIANT_BOOL *pboolVal;
-         DECIMAL *pdecVal;
-         SCODE *pscode;
-         CY *pcyVal;
-         DATE *pdate;
-         BSTR *pbstrVal;
-         IUnknown **ppunkVal;
-         IDispatch **ppdispVal;
-         LPSAFEARRAY *pparray;
-         PROPVARIANT *pvarVal;
-        } 	;
-    } ;
-
-    DECIMAL decVal;
-  };
-};
-
-
-
-
-
-
-
-typedef struct tagPROPVARIANT * LPPROPVARIANT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-enum PIDMSI_STATUS_VALUE
-    {	PIDMSI_STATUS_NORMAL	= 0,
-	PIDMSI_STATUS_NEW	= PIDMSI_STATUS_NORMAL + 1,
-	PIDMSI_STATUS_PRELIM	= PIDMSI_STATUS_NEW + 1,
-	PIDMSI_STATUS_DRAFT	= PIDMSI_STATUS_PRELIM + 1,
-	PIDMSI_STATUS_INPROGRESS	= PIDMSI_STATUS_DRAFT + 1,
-	PIDMSI_STATUS_EDIT	= PIDMSI_STATUS_INPROGRESS + 1,
-	PIDMSI_STATUS_REVIEW	= PIDMSI_STATUS_EDIT + 1,
-	PIDMSI_STATUS_PROOF	= PIDMSI_STATUS_REVIEW + 1,
-	PIDMSI_STATUS_FINAL	= PIDMSI_STATUS_PROOF + 1,
-	PIDMSI_STATUS_OTHER	= 0x7fff
-    } ;
-
-
-
-
-
-
-typedef struct tagPROPSPEC
-    {
-    ULONG ulKind;
-      union 
-        {
-         PROPID propid;
-         LPOLESTR lpwstr;
-           
-        } 	;
-    } 	PROPSPEC;
-
-typedef struct tagSTATPROPSTG
-    {
-    LPOLESTR lpwstrName;
-    PROPID propid;
-    VARTYPE vt;
-    } 	STATPROPSTG;
-
-
-
-
-
-
-typedef struct tagSTATPROPSETSTG
-    {
-    FMTID fmtid;
-    CLSID clsid;
-    DWORD grfFlags;
-    FILETIME mtime;
-    FILETIME ctime;
-    FILETIME atime;
-    DWORD dwOSVersion;
-    } 	STATPROPSETSTG;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IPropertyStorage;
-
-
-    
-    struct __declspec(uuid("00000138-0000-0000-C000-000000000046")) __declspec(novtable)
-    IPropertyStorage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall ReadMultiple( 
-             ULONG cpspec,
-             const PROPSPEC rgpspec[  ],
-             PROPVARIANT rgpropvar[  ]) = 0;
-        
-        virtual HRESULT __stdcall WriteMultiple( 
-             ULONG cpspec,
-             const PROPSPEC rgpspec[  ],
-             const PROPVARIANT rgpropvar[  ],
-             PROPID propidNameFirst) = 0;
-        
-        virtual HRESULT __stdcall DeleteMultiple( 
-             ULONG cpspec,
-             const PROPSPEC rgpspec[  ]) = 0;
-        
-        virtual HRESULT __stdcall ReadPropertyNames( 
-             ULONG cpropid,
-             const PROPID rgpropid[  ],
-             LPOLESTR rglpwstrName[  ]) = 0;
-        
-        virtual HRESULT __stdcall WritePropertyNames( 
-             ULONG cpropid,
-             const PROPID rgpropid[  ],
-             const LPOLESTR rglpwstrName[  ]) = 0;
-        
-        virtual HRESULT __stdcall DeletePropertyNames( 
-             ULONG cpropid,
-             const PROPID rgpropid[  ]) = 0;
-        
-        virtual HRESULT __stdcall Commit( 
-             DWORD grfCommitFlags) = 0;
-        
-        virtual HRESULT __stdcall Revert( void) = 0;
-        
-        virtual HRESULT __stdcall Enum( 
-             IEnumSTATPROPSTG **ppenum) = 0;
-        
-        virtual HRESULT __stdcall SetTimes( 
-             const FILETIME *pctime,
-             const FILETIME *patime,
-             const FILETIME *pmtime) = 0;
-        
-        virtual HRESULT __stdcall SetClass( 
-             const IID & clsid) = 0;
-        
-        virtual HRESULT __stdcall Stat( 
-             STATPROPSETSTG *pstatpsstg) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertyStorage_ReadMultiple_Proxy( 
-    IPropertyStorage * This,
-     ULONG cpspec,
-     const PROPSPEC rgpspec[  ],
-     PROPVARIANT rgpropvar[  ]);
-
-
-void __stdcall IPropertyStorage_ReadMultiple_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_WriteMultiple_Proxy( 
-    IPropertyStorage * This,
-     ULONG cpspec,
-     const PROPSPEC rgpspec[  ],
-     const PROPVARIANT rgpropvar[  ],
-     PROPID propidNameFirst);
-
-
-void __stdcall IPropertyStorage_WriteMultiple_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_DeleteMultiple_Proxy( 
-    IPropertyStorage * This,
-     ULONG cpspec,
-     const PROPSPEC rgpspec[  ]);
-
-
-void __stdcall IPropertyStorage_DeleteMultiple_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_ReadPropertyNames_Proxy( 
-    IPropertyStorage * This,
-     ULONG cpropid,
-     const PROPID rgpropid[  ],
-     LPOLESTR rglpwstrName[  ]);
-
-
-void __stdcall IPropertyStorage_ReadPropertyNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_WritePropertyNames_Proxy( 
-    IPropertyStorage * This,
-     ULONG cpropid,
-     const PROPID rgpropid[  ],
-     const LPOLESTR rglpwstrName[  ]);
-
-
-void __stdcall IPropertyStorage_WritePropertyNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_DeletePropertyNames_Proxy( 
-    IPropertyStorage * This,
-     ULONG cpropid,
-     const PROPID rgpropid[  ]);
-
-
-void __stdcall IPropertyStorage_DeletePropertyNames_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_Commit_Proxy( 
-    IPropertyStorage * This,
-     DWORD grfCommitFlags);
-
-
-void __stdcall IPropertyStorage_Commit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_Revert_Proxy( 
-    IPropertyStorage * This);
-
-
-void __stdcall IPropertyStorage_Revert_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_Enum_Proxy( 
-    IPropertyStorage * This,
-     IEnumSTATPROPSTG **ppenum);
-
-
-void __stdcall IPropertyStorage_Enum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_SetTimes_Proxy( 
-    IPropertyStorage * This,
-     const FILETIME *pctime,
-     const FILETIME *patime,
-     const FILETIME *pmtime);
-
-
-void __stdcall IPropertyStorage_SetTimes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_SetClass_Proxy( 
-    IPropertyStorage * This,
-     const IID & clsid);
-
-
-void __stdcall IPropertyStorage_SetClass_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyStorage_Stat_Proxy( 
-    IPropertyStorage * This,
-     STATPROPSETSTG *pstatpsstg);
-
-
-void __stdcall IPropertyStorage_Stat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IPropertySetStorage *LPPROPERTYSETSTORAGE;
-
-
-extern "C" const IID IID_IPropertySetStorage;
-
-
-    
-    struct __declspec(uuid("0000013A-0000-0000-C000-000000000046")) __declspec(novtable)
-    IPropertySetStorage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Create( 
-             const IID & rfmtid,
-             const CLSID *pclsid,
-             DWORD grfFlags,
-             DWORD grfMode,
-             IPropertyStorage **ppprstg) = 0;
-        
-        virtual HRESULT __stdcall Open( 
-             const IID & rfmtid,
-             DWORD grfMode,
-             IPropertyStorage **ppprstg) = 0;
-        
-        virtual HRESULT __stdcall Delete( 
-             const IID & rfmtid) = 0;
-        
-        virtual HRESULT __stdcall Enum( 
-             IEnumSTATPROPSETSTG **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertySetStorage_Create_Proxy( 
-    IPropertySetStorage * This,
-     const IID & rfmtid,
-     const CLSID *pclsid,
-     DWORD grfFlags,
-     DWORD grfMode,
-     IPropertyStorage **ppprstg);
-
-
-void __stdcall IPropertySetStorage_Create_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertySetStorage_Open_Proxy( 
-    IPropertySetStorage * This,
-     const IID & rfmtid,
-     DWORD grfMode,
-     IPropertyStorage **ppprstg);
-
-
-void __stdcall IPropertySetStorage_Open_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertySetStorage_Delete_Proxy( 
-    IPropertySetStorage * This,
-     const IID & rfmtid);
-
-
-void __stdcall IPropertySetStorage_Delete_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertySetStorage_Enum_Proxy( 
-    IPropertySetStorage * This,
-     IEnumSTATPROPSETSTG **ppenum);
-
-
-void __stdcall IPropertySetStorage_Enum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
-
-
-extern "C" const IID IID_IEnumSTATPROPSTG;
-
-
-    
-    struct __declspec(uuid("00000139-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumSTATPROPSTG : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             STATPROPSTG *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumSTATPROPSTG **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumSTATPROPSTG_RemoteNext_Proxy( 
-    IEnumSTATPROPSTG * This,
-     ULONG celt,
-     STATPROPSTG *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumSTATPROPSTG_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATPROPSTG_Skip_Proxy( 
-    IEnumSTATPROPSTG * This,
-     ULONG celt);
-
-
-void __stdcall IEnumSTATPROPSTG_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATPROPSTG_Reset_Proxy( 
-    IEnumSTATPROPSTG * This);
-
-
-void __stdcall IEnumSTATPROPSTG_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATPROPSTG_Clone_Proxy( 
-    IEnumSTATPROPSTG * This,
-     IEnumSTATPROPSTG **ppenum);
-
-
-void __stdcall IEnumSTATPROPSTG_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
-
-
-extern "C" const IID IID_IEnumSTATPROPSETSTG;
-
-
-    
-    struct __declspec(uuid("0000013B-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumSTATPROPSETSTG : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG celt,
-             STATPROPSETSTG *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumSTATPROPSETSTG **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumSTATPROPSETSTG_RemoteNext_Proxy( 
-    IEnumSTATPROPSETSTG * This,
-     ULONG celt,
-     STATPROPSETSTG *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumSTATPROPSETSTG_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATPROPSETSTG_Skip_Proxy( 
-    IEnumSTATPROPSETSTG * This,
-     ULONG celt);
-
-
-void __stdcall IEnumSTATPROPSETSTG_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATPROPSETSTG_Reset_Proxy( 
-    IEnumSTATPROPSETSTG * This);
-
-
-void __stdcall IEnumSTATPROPSETSTG_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumSTATPROPSETSTG_Clone_Proxy( 
-    IEnumSTATPROPSETSTG * This,
-     IEnumSTATPROPSETSTG **ppenum);
-
-
-void __stdcall IEnumSTATPROPSETSTG_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-typedef  IPropertyStorage *LPPROPERTYSTORAGE;
-
-extern "C" __declspec(dllimport) HRESULT __stdcall PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );
-extern "C" __declspec(dllimport) HRESULT __stdcall PropVariantClear ( PROPVARIANT * pvar );
-extern "C" __declspec(dllimport) HRESULT __stdcall FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );
-
-
-
-inline void PropVariantInit ( PROPVARIANT * pvar )
-{
-    memset ( pvar, 0, sizeof(PROPVARIANT) );
-}
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StgCreatePropStg( IUnknown* pUnk, const IID & fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
-extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenPropStg( IUnknown* pUnk, const IID & fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
-extern "C" __declspec(dllimport) HRESULT __stdcall StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall FmtIdToPropStgName( const FMTID *pfmtid, LPOLESTR oszName );
-extern "C" __declspec(dllimport) HRESULT __stdcall PropStgNameToFmtId( const LPOLESTR oszName, FMTID *pfmtid );
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_propidl_0120_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_propidl_0120_v0_0_s_ifspec;
-
-
-
-unsigned long             __stdcall  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
-unsigned char * __stdcall  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
-unsigned char * __stdcall  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
-void                      __stdcall  BSTR_UserFree(     unsigned long *, BSTR * ); 
-
-unsigned long             __stdcall  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
-unsigned char * __stdcall  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
-unsigned char * __stdcall  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
-void                      __stdcall  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 
-
- HRESULT __stdcall IEnumSTATPROPSTG_Next_Proxy( 
-    IEnumSTATPROPSTG * This,
-     ULONG celt,
-     STATPROPSTG *rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumSTATPROPSTG_Next_Stub( 
-    IEnumSTATPROPSTG * This,
-     ULONG celt,
-     STATPROPSTG *rgelt,
-     ULONG *pceltFetched);
-
- HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Proxy( 
-    IEnumSTATPROPSETSTG * This,
-     ULONG celt,
-     STATPROPSETSTG *rgelt,
-     ULONG *pceltFetched);
-
-
- HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Stub( 
-    IEnumSTATPROPSETSTG * This,
-     ULONG celt,
-     STATPROPSETSTG *rgelt,
-     ULONG *pceltFetched);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateStdProgressIndicator( HWND hwndParent,
-                                     LPCOLESTR pszTitle,
-                                     IBindStatusCallback * pIbscCaller,
-                                    IBindStatusCallback ** ppIbsc);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_StdOle;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BSTR __stdcall SysAllocString(const OLECHAR *);
-extern "C" __declspec(dllimport) INT __stdcall  SysReAllocString(BSTR *, const OLECHAR *);
-extern "C" __declspec(dllimport) BSTR __stdcall SysAllocStringLen(const OLECHAR *, UINT);
-extern "C" __declspec(dllimport) INT __stdcall  SysReAllocStringLen(BSTR *, const OLECHAR *, UINT);
-extern "C" __declspec(dllimport) void __stdcall SysFreeString(BSTR);
-extern "C" __declspec(dllimport) UINT __stdcall SysStringLen(BSTR);
-
-
-extern "C" __declspec(dllimport) UINT __stdcall SysStringByteLen(BSTR bstr);
-extern "C" __declspec(dllimport) BSTR __stdcall SysAllocStringByteLen(LPCSTR psz, UINT len);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) INT __stdcall DosDateTimeToVariantTime(USHORT wDosDate, USHORT wDosTime, DOUBLE * pvtime);
-
-extern "C" __declspec(dllimport) INT __stdcall VariantTimeToDosDateTime(DOUBLE vtime, USHORT * pwDosDate, USHORT * pwDosTime);
-
-
-extern "C" __declspec(dllimport) INT __stdcall SystemTimeToVariantTime(LPSYSTEMTIME lpSystemTime, DOUBLE *pvtime);
-extern "C" __declspec(dllimport) INT __stdcall VariantTimeToSystemTime(DOUBLE vtime, LPSYSTEMTIME lpSystemTime);
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAllocDescriptor(UINT cDims, SAFEARRAY ** ppsaOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAllocDescriptorEx(VARTYPE vt, UINT cDims, SAFEARRAY ** ppsaOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAllocData(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreate(VARTYPE vt, UINT cDims, SAFEARRAYBOUND * rgsabound);
-extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreateEx(VARTYPE vt, UINT cDims, SAFEARRAYBOUND * rgsabound, PVOID pvExtra);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayCopyData(SAFEARRAY *psaSource, SAFEARRAY *psaTarget);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayDestroyDescriptor(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayDestroyData(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayDestroy(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayRedim(SAFEARRAY * psa, SAFEARRAYBOUND * psaboundNew);
-extern "C" __declspec(dllimport) UINT __stdcall SafeArrayGetDim(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) UINT __stdcall SafeArrayGetElemsize(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetUBound(SAFEARRAY * psa, UINT nDim, LONG * plUbound);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetLBound(SAFEARRAY * psa, UINT nDim, LONG * plLbound);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayLock(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayUnlock(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAccessData(SAFEARRAY * psa, void ** ppvData);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayUnaccessData(SAFEARRAY * psa);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetElement(SAFEARRAY * psa, LONG * rgIndices, void * pv);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayPutElement(SAFEARRAY * psa, LONG * rgIndices, void * pv);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayCopy(SAFEARRAY * psa, SAFEARRAY ** ppsaOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayPtrOfIndex(SAFEARRAY * psa, LONG * rgIndices, void ** ppvData);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArraySetRecordInfo(SAFEARRAY * psa, IRecordInfo * prinfo);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetRecordInfo(SAFEARRAY * psa, IRecordInfo ** prinfo);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArraySetIID(SAFEARRAY * psa, const GUID & guid);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetIID(SAFEARRAY * psa, GUID * pguid);
-extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetVartype(SAFEARRAY * psa, VARTYPE * pvt);
-extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements);
-extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreateVectorEx(VARTYPE vt, LONG lLbound, ULONG cElements, PVOID pvExtra);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall VariantInit(VARIANTARG * pvarg);
-extern "C" __declspec(dllimport) HRESULT __stdcall VariantClear(VARIANTARG * pvarg);
-extern "C" __declspec(dllimport) HRESULT __stdcall VariantCopy(VARIANTARG * pvargDest, VARIANTARG * pvargSrc);
-extern "C" __declspec(dllimport) HRESULT __stdcall VariantCopyInd(VARIANT * pvarDest, VARIANTARG * pvargSrc);
-extern "C" __declspec(dllimport) HRESULT __stdcall VariantChangeType(VARIANTARG * pvargDest,
-                VARIANTARG * pvarSrc, USHORT wFlags, VARTYPE vt);
-extern "C" __declspec(dllimport) HRESULT __stdcall VariantChangeTypeEx(VARIANTARG * pvargDest,
-                VARIANTARG * pvarSrc, LCID lcid, USHORT wFlags, VARTYPE vt);
-
-
-
-
-                                      
-                                      
-
-				      
-				      
-
-
-                                      
-                                      
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VectorFromBstr (BSTR bstr, SAFEARRAY ** ppsa);
-extern "C" __declspec(dllimport) HRESULT __stdcall BstrFromVector (SAFEARRAY *psa, BSTR *pbstr);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI2(SHORT sIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI4(LONG lIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI8(LONG64 i64In, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromR4(FLOAT fltIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromR8(DOUBLE dblIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromCy(CY cyIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromDate(DATE dateIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromDisp(IDispatch * pdispIn, LCID lcid, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromBool(VARIANT_BOOL boolIn, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI1(CHAR cIn, BYTE *pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromUI2(USHORT uiIn, BYTE *pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromUI4(ULONG ulIn, BYTE *pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromUI8(ULONG64 ui64In, BYTE * pbOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromDec(DECIMAL *pdecIn, BYTE *pbOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI1(BYTE bIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromI4(LONG lIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromI8(LONG64 i64In, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromR4(FLOAT fltIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromR8(DOUBLE dblIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromCy(CY cyIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromDate(DATE dateIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromDisp(IDispatch * pdispIn, LCID lcid, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromBool(VARIANT_BOOL boolIn, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromI1(CHAR cIn, SHORT *psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI2(USHORT uiIn, SHORT *psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI4(ULONG ulIn, SHORT *psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI8(ULONG64 ui64In, SHORT * psOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromDec(DECIMAL *pdecIn, SHORT *psOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI1(BYTE bIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI2(SHORT sIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI8(LONG64 i64In, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromR4(FLOAT fltIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromR8(DOUBLE dblIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromCy(CY cyIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromDate(DATE dateIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromDisp(IDispatch * pdispIn, LCID lcid, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromBool(VARIANT_BOOL boolIn, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI1(CHAR cIn, LONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI2(USHORT uiIn, LONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI4(ULONG ulIn, LONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI8(ULONG64 ui64In, LONG * plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromDec(DECIMAL *pdecIn, LONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromInt(INT intIn, LONG *plOut);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI1(BYTE bIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromI2(SHORT sIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromI4(LONG lIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromR4(FLOAT fltIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromR8(DOUBLE dblIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromCy(CY cyIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromDate(DATE dateIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromStr(OLECHAR * strIn, LCID lcid, unsigned long dwFlags, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromDisp(IDispatch * pdispIn, LCID lcid, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromBool(VARIANT_BOOL boolIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromI1(CHAR cIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI2(USHORT uiIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI4(ULONG ulIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI8(ULONG64 ui64In, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromDec(DECIMAL *pdecIn, LONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromInt(INT intIn, LONG64 * pi64Out);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI1(BYTE bIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI2(SHORT sIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI4(LONG lIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI8(LONG64 i64In, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromR8(DOUBLE dblIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromCy(CY cyIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromDate(DATE dateIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags, FLOAT *pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromDisp(IDispatch * pdispIn, LCID lcid, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromBool(VARIANT_BOOL boolIn, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI1(CHAR cIn, FLOAT *pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI2(USHORT uiIn, FLOAT *pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI4(ULONG ulIn, FLOAT *pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI8(ULONG64 ui64In, FLOAT * pfltOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromDec(DECIMAL *pdecIn, FLOAT *pfltOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI1(BYTE bIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI2(SHORT sIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI4(LONG lIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI8(LONG64 i64In, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromR4(FLOAT fltIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromCy(CY cyIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromDate(DATE dateIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, DOUBLE *pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromDisp(IDispatch * pdispIn, LCID lcid, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromBool(VARIANT_BOOL boolIn, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI1(CHAR cIn, DOUBLE *pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI2(USHORT uiIn, DOUBLE *pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI4(ULONG ulIn, DOUBLE *pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI8(ULONG64 ui64In, DOUBLE * pdblOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromDec(DECIMAL *pdecIn, DOUBLE *pdblOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI1(BYTE bIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI2(SHORT sIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI4(LONG lIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI8(LONG64 i64In, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromR4(FLOAT fltIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromR8(DOUBLE dblIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromCy(CY cyIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, DATE *pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromDisp(IDispatch * pdispIn, LCID lcid, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromBool(VARIANT_BOOL boolIn, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI1(CHAR cIn, DATE *pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI2(USHORT uiIn, DATE *pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI4(ULONG ulIn, DATE *pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI8(ULONG64 ui64In, DATE * pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromDec(DECIMAL *pdecIn, DATE *pdateOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI1(BYTE bIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI2(SHORT sIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI4(LONG lIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI8(LONG64 i64In, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromR4(FLOAT fltIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromR8(DOUBLE dblIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromDate(DATE dateIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromDisp(IDispatch * pdispIn, LCID lcid, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromBool(VARIANT_BOOL boolIn, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI1(CHAR cIn, CY *pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI2(USHORT uiIn, CY *pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI4(ULONG ulIn, CY *pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI8(ULONG64 ui64In, CY * pcyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromDec(DECIMAL *pdecIn, CY *pcyOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI1(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI2(SHORT iVal, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI4(LONG lIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI8(LONG64 i64In, LCID lcid, unsigned long dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromR4(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromR8(DOUBLE dblIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromCy(CY cyIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromDate(DATE dateIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromDisp(IDispatch * pdispIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromBool(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI1(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI2(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI4(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI8(ULONG64 ui64In, LCID lcid, unsigned long dwFlags, BSTR * pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromDec(DECIMAL *pdecIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI1(BYTE bIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI2(SHORT sIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI4(LONG lIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI8(LONG64 i64In, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromR4(FLOAT fltIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromR8(DOUBLE dblIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromDate(DATE dateIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromCy(CY cyIn, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromDisp(IDispatch * pdispIn, LCID lcid, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI1(CHAR cIn, VARIANT_BOOL *pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI2(USHORT uiIn, VARIANT_BOOL *pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI4(ULONG ulIn, VARIANT_BOOL *pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI8(ULONG64 i64In, VARIANT_BOOL * pboolOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromDec(DECIMAL *pdecIn, VARIANT_BOOL *pboolOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromUI1(
-         BYTE bIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromI2(
-         SHORT uiIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromI4(
-         LONG lIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromI8(
-         LONG64 i64In,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromR4(
-         FLOAT fltIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromR8(
-         DOUBLE dblIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromDate(
-         DATE dateIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromCy(
-         CY cyIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromStr(
-         OLECHAR *strIn,
-         LCID lcid,
-         ULONG dwFlags,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromDisp(
-         IDispatch *pdispIn,
-         LCID lcid,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromBool(
-         VARIANT_BOOL boolIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromUI2(
-         USHORT uiIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromUI4(
-         ULONG ulIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromUI8(
-         ULONG64 i64In,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall 
-VarI1FromDec(
-         DECIMAL *pdecIn,
-         CHAR *pcOut
-    );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromUI1(BYTE bIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI2(SHORT uiIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI4(LONG lIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI8(LONG64 i64In, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromR4(FLOAT fltIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromR8(DOUBLE dblIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromDate(DATE dateIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromCy(CY cyIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromDisp(IDispatch *pdispIn, LCID lcid, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromBool(VARIANT_BOOL boolIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI1(CHAR cIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromUI4(ULONG ulIn, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromUI8(ULONG64 i64In, USHORT *puiOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromDec(DECIMAL *pdecIn, USHORT *puiOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromUI1(BYTE bIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI2(SHORT uiIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI4(LONG lIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI8(LONG64 i64In, ULONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromR4(FLOAT fltIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromR8(DOUBLE dblIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromDate(DATE dateIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromCy(CY cyIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromDisp(IDispatch *pdispIn, LCID lcid, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromBool(VARIANT_BOOL boolIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI1(CHAR cIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromUI2(USHORT uiIn, ULONG *pulOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromUI8(ULONG64 ui64In, ULONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromDec(DECIMAL *pdecIn, ULONG *pulOut);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromUI1(BYTE bIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI2(SHORT sIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI4(LONG lIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI8(LONG64 ui64In, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromR4(FLOAT fltIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromR8(DOUBLE dblIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromCy(CY cyIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromDate(DATE dateIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromStr(OLECHAR * strIn, LCID lcid, unsigned long dwFlags, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromDisp(IDispatch * pdispIn, LCID lcid, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromBool(VARIANT_BOOL boolIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI1(CHAR cIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromUI2(USHORT uiIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromUI4(ULONG ulIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromDec(DECIMAL *pdecIn, ULONG64 * pi64Out);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromInt(INT intIn, ULONG64 * pi64Out);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI1(BYTE bIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI2(SHORT uiIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI4(LONG lIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI8(LONG64 i64In, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromR4(FLOAT fltIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromR8(DOUBLE dblIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromDate(DATE dateIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromCy(CY cyIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromStr(OLECHAR *strIn, LCID lcid, ULONG dwFlags, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromDisp(IDispatch *pdispIn, LCID lcid, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromBool(VARIANT_BOOL boolIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI1(CHAR cIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI2(USHORT uiIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI4(ULONG ulIn, DECIMAL *pdecOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI8(ULONG64 ui64In, DECIMAL *pdecOut);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI8(LONG64 i64In, LONG *plOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI8(ULONG64 ui64In, LONG *plOut);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    INT   cDig;
-    ULONG dwInFlags;
-    ULONG dwOutFlags;
-    INT   cchUsed;
-    INT   nBaseShift;
-    INT   nPwr10;
-} NUMPARSE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarParseNumFromStr(OLECHAR * strIn, LCID lcid, ULONG dwFlags,
-            NUMPARSE * pnumprs, BYTE * rgbDig);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarNumFromParseNum(NUMPARSE * pnumprs, BYTE * rgbDig,
-            ULONG dwVtBits, VARIANT * pvar);
-
-
-
-
-
-extern "C" HRESULT __stdcall VarAdd(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarAnd(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarCat(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarDiv(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarEqv(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarIdiv(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarImp(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarMod(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarMul(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarOr(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarPow(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarSub(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarXor(LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult);
-
-extern "C" HRESULT __stdcall VarAbs(LPVARIANT pvarIn, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarFix(LPVARIANT pvarIn, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarInt(LPVARIANT pvarIn, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarNeg(LPVARIANT pvarIn, LPVARIANT pvarResult);
-extern "C" HRESULT __stdcall VarNot(LPVARIANT pvarIn, LPVARIANT pvarResult);
-
-extern "C" HRESULT __stdcall VarRound(LPVARIANT pvarIn, int cDecimals, LPVARIANT pvarResult);
-
-
-extern "C" HRESULT __stdcall VarCmp(LPVARIANT pvarLeft, LPVARIANT pvarRight, LCID lcid, ULONG dwFlags);
-
-
-extern "C++" {
-
-__inline
-HRESULT
-
-__stdcall
-
-VarCmp(LPVARIANT pvarLeft, LPVARIANT pvarRight, LCID lcid) {
-    return VarCmp(pvarLeft, pvarRight, lcid, 0);
-}
-} 
-
-
-
-
-
-extern "C" HRESULT __stdcall VarDecAdd(LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult);
-extern "C" HRESULT __stdcall VarDecDiv(LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult);
-extern "C" HRESULT __stdcall VarDecMul(LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult);
-extern "C" HRESULT __stdcall VarDecSub(LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult);
-
-extern "C" HRESULT __stdcall VarDecAbs(LPDECIMAL pdecIn, LPDECIMAL pdecResult);
-extern "C" HRESULT __stdcall VarDecFix(LPDECIMAL pdecIn, LPDECIMAL pdecResult);
-extern "C" HRESULT __stdcall VarDecInt(LPDECIMAL pdecIn, LPDECIMAL pdecResult);
-extern "C" HRESULT __stdcall VarDecNeg(LPDECIMAL pdecIn, LPDECIMAL pdecResult);
-
-extern "C" HRESULT __stdcall VarDecRound(LPDECIMAL pdecIn, int cDecimals, LPDECIMAL pdecResult);
-
-extern "C" HRESULT __stdcall VarDecCmp(LPDECIMAL pdecLeft, LPDECIMAL pdecRight);
-extern "C" HRESULT __stdcall VarDecCmpR8(LPDECIMAL pdecLeft, double dblRight);
-
-
-
-
-extern "C" HRESULT __stdcall VarCyAdd(CY cyLeft, CY cyRight, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCyMul(CY cyLeft, CY cyRight, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCyMulI4(CY cyLeft, long lRight, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCyMulI8(CY cyLeft, LONG64 lRight, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCySub(CY cyLeft, CY cyRight, LPCY pcyResult);
-
-extern "C" HRESULT __stdcall VarCyAbs(CY cyIn, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCyFix(CY cyIn, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCyInt(CY cyIn, LPCY pcyResult);
-extern "C" HRESULT __stdcall VarCyNeg(CY cyIn, LPCY pcyResult);
-
-extern "C" HRESULT __stdcall VarCyRound(CY cyIn, int cDecimals, LPCY pcyResult);
-
-extern "C" HRESULT __stdcall VarCyCmp(CY cyLeft, CY cyRight);
-extern "C" HRESULT __stdcall VarCyCmpR8(CY cyLeft, double dblRight);
-
-
-
-
-extern "C" HRESULT __stdcall VarBstrCat(BSTR bstrLeft, BSTR bstrRight, LPBSTR pbstrResult);
-extern "C" HRESULT __stdcall VarBstrCmp(BSTR bstrLeft, BSTR bstrRight, LCID lcid, ULONG dwFlags); 
-extern "C" HRESULT __stdcall VarR8Pow(double dblLeft, double dblRight, double *pdblResult);
-extern "C" HRESULT __stdcall VarR4CmpR8(float fltLeft, double dblRight);
-extern "C" HRESULT __stdcall VarR8Round(double dblIn, int cDecimals, double *pdblResult);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct {
-    SYSTEMTIME st;
-    USHORT  wDayOfYear;
-} UDATE;
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUdate(UDATE *pudateIn, ULONG dwFlags, DATE *pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUdateEx(UDATE *pudateIn, LCID lcid, ULONG dwFlags, DATE *pdateOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarUdateFromDate(DATE dateIn, ULONG dwFlags, UDATE *pudateOut);
-
-
-
-   
-extern "C" __declspec(dllimport) HRESULT __stdcall GetAltMonthNames(LCID lcid, LPOLESTR * * prgp);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarFormat(LPVARIANT pvarIn, LPOLESTR pstrFormat, int iFirstDay, int iFirstWeek, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatDateTime(LPVARIANT pvarIn, int iNamedFormat, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatNumber(LPVARIANT pvarIn, int iNumDig, int iIncLead, int iUseParens, int iGroup, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatPercent(LPVARIANT pvarIn, int iNumDig, int iIncLead, int iUseParens, int iGroup, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatCurrency(LPVARIANT pvarIn, int iNumDig, int iIncLead, int iUseParens, int iGroup, ULONG dwFlags, BSTR *pbstrOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarWeekdayName(int iWeekday, int fAbbrev, int iFirstDay, ULONG dwFlags, BSTR *pbstrOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarMonthName(int iMonth, int fAbbrev, ULONG dwFlags, BSTR *pbstrOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatFromTokens(LPVARIANT pvarIn, LPOLESTR pstrFormat, LPBYTE pbTokCur, ULONG dwFlags, BSTR *pbstrOut, LCID lcid);
-extern "C" __declspec(dllimport) HRESULT __stdcall VarTokenizeFormatString(LPOLESTR pstrFormat, LPBYTE rgbTok, int cbTok, int iFirstDay, int iFirstWeek, LCID lcid, int *pcbActual);
-
-
-
-
-
-typedef ITypeLib * LPTYPELIB;
-
-
-
-
-
-
-
-typedef LONG DISPID;
-typedef DISPID MEMBERID;
-
-
-
-
-
-
-
-
-
-
-
-typedef ITypeInfo * LPTYPEINFO;
-
-
-
-
-
-
-typedef ITypeComp * LPTYPECOMP;
-
-
-
-
-
-
-typedef ICreateTypeLib * LPCREATETYPELIB;
-
-typedef ICreateTypeInfo * LPCREATETYPEINFO;
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) ULONG __stdcall LHashValOfNameSysA(SYSKIND syskind, LCID lcid,
-            LPCSTR szName);
-
-
-extern "C" __declspec(dllimport) ULONG __stdcall
-LHashValOfNameSys(SYSKIND syskind, LCID lcid, const OLECHAR * szName);
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall LoadTypeLib(const OLECHAR  *szFile, ITypeLib ** pptlib);
-
-
-
-typedef enum tagREGKIND
-{
-    REGKIND_DEFAULT,
-    REGKIND_REGISTER,
-    REGKIND_NONE
-} REGKIND;
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall LoadTypeLibEx(LPCOLESTR szFile, REGKIND regkind,
-            ITypeLib ** pptlib);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall LoadRegTypeLib(const GUID & rguid, WORD wVerMajor, WORD wVerMinor,
-            LCID lcid, ITypeLib ** pptlib);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall QueryPathOfRegTypeLib(const GUID & guid, USHORT wMaj, USHORT wMin,
-            LCID lcid, LPBSTR lpbstrPathName);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall RegisterTypeLib(ITypeLib * ptlib, OLECHAR  *szFullPath,
-            OLECHAR  *szHelpDir);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall UnRegisterTypeLib(const GUID & libID, WORD wVerMajor,
-            WORD wVerMinor, LCID lcid, SYSKIND syskind);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateTypeLib(SYSKIND syskind, const OLECHAR  *szFile,
-            ICreateTypeLib ** ppctlib);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateTypeLib2(SYSKIND syskind, LPCOLESTR szFile,
-            ICreateTypeLib2 **ppctlib);
-
-
-
-
-
-
-typedef IDispatch * LPDISPATCH;
-
-typedef struct tagPARAMDATA {
-    OLECHAR * szName;   
-    VARTYPE vt;         
-} PARAMDATA, * LPPARAMDATA;
-
-typedef struct tagMETHODDATA {
-    OLECHAR * szName;   
-    PARAMDATA * ppdata; 
-    DISPID dispid;      
-    UINT iMeth;         
-    CALLCONV cc;        
-    UINT cArgs;         
-    WORD wFlags;        
-    VARTYPE vtReturn;
-} METHODDATA, * LPMETHODDATA;
-
-typedef struct tagINTERFACEDATA {
-    METHODDATA * pmethdata;  
-    UINT cMembers;      
-} INTERFACEDATA, * LPINTERFACEDATA;
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall DispGetParam(DISPPARAMS * pdispparams, UINT position,
-            VARTYPE vtTarg, VARIANT * pvarResult, UINT * puArgErr);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall DispGetIDsOfNames(ITypeInfo * ptinfo, OLECHAR ** rgszNames,
-            UINT cNames, DISPID * rgdispid);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall DispInvoke(void * _this, ITypeInfo * ptinfo, DISPID dispidMember,
-            WORD wFlags, DISPPARAMS * pparams, VARIANT * pvarResult,
-            EXCEPINFO * pexcepinfo, UINT * puArgErr);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateDispTypeInfo(INTERFACEDATA * pidata, LCID lcid,
-            ITypeInfo ** pptinfo);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateStdDispatch(IUnknown * punkOuter, void * pvThis,
-            ITypeInfo * ptinfo, IUnknown ** ppunkStdDisp);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall DispCallFunc(void * pvInstance, ULONG_PTR oVft, CALLCONV cc,
-            VARTYPE vtReturn, UINT  cActuals, VARTYPE * prgvt,
-            VARIANTARG ** prgpvarg, VARIANT * pvargResult);
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall RegisterActiveObject(IUnknown * punk, const IID & rclsid,
-            DWORD dwFlags, DWORD * pdwRegister);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall RevokeActiveObject(DWORD dwRegister, void * pvReserved);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall GetActiveObject(const IID & rclsid, void * pvReserved,
-            IUnknown ** ppunk);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SetErrorInfo(ULONG dwReserved, IErrorInfo * perrinfo);
-extern "C" __declspec(dllimport) HRESULT __stdcall GetErrorInfo(ULONG dwReserved, IErrorInfo ** pperrinfo);
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateErrorInfo(ICreateErrorInfo ** pperrinfo);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall GetRecordInfoFromTypeInfo(ITypeInfo * pTypeInfo,
-            IRecordInfo ** ppRecInfo);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall GetRecordInfoFromGuids(const GUID & rGuidTypeLib,
-            ULONG uVerMajor, ULONG uVerMinor, LCID lcid,
-            const GUID & rGuidTypeInfo, IRecordInfo ** ppRecInfo);
-
-
-
-
-
-extern "C" __declspec(dllimport) ULONG __stdcall OaBuildVersion(void);
-
-extern "C" __declspec(dllimport) void __stdcall ClearCustData(LPCUSTDATA pCustData);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateDataAdviseHolder( LPDATAADVISEHOLDER * ppDAHolder);
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall OleBuildVersion( void );
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall ReadClassStg( LPSTORAGE pStg,  CLSID * pclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall WriteClassStg( LPSTORAGE pStg,  const IID & rclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall ReadClassStm( LPSTREAM pStm,  CLSID * pclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall WriteClassStm( LPSTREAM pStm,  const IID & rclsid);
-extern "C" __declspec(dllimport) HRESULT __stdcall WriteFmtUserTypeStg ( LPSTORAGE pstg,  CLIPFORMAT cf,  LPOLESTR lpszUserType);
-extern "C" __declspec(dllimport) HRESULT __stdcall ReadFmtUserTypeStg ( LPSTORAGE pstg,  CLIPFORMAT * pcf,  LPOLESTR * lplpszUserType);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleInitialize( LPVOID pvReserved);
-extern "C" __declspec(dllimport) void __stdcall OleUninitialize(void);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleQueryLinkFromData( LPDATAOBJECT pSrcDataObject);
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleQueryCreateFromData( LPDATAOBJECT pSrcDataObject);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreate( const IID & rclsid,  const IID & riid,  DWORD renderopt,
-                 LPFORMATETC pFormatEtc,  LPOLECLIENTSITE pClientSite,
-                 LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateEx( const IID & rclsid,  const IID & riid,  DWORD dwFlags,
-                 DWORD renderopt,  ULONG cFormats,  DWORD* rgAdvf,
-                 LPFORMATETC rgFormatEtc,  IAdviseSink * lpAdviseSink,
-                 DWORD * rgdwConnection,  LPOLECLIENTSITE pClientSite,
-                 LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateFromData( LPDATAOBJECT pSrcDataObj,  const IID & riid,
-                 DWORD renderopt,  LPFORMATETC pFormatEtc,
-                 LPOLECLIENTSITE pClientSite,  LPSTORAGE pStg,
-                 LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateFromDataEx( LPDATAOBJECT pSrcDataObj,  const IID & riid,
-                 DWORD dwFlags,  DWORD renderopt,  ULONG cFormats,  DWORD* rgAdvf,
-                 LPFORMATETC rgFormatEtc,  IAdviseSink * lpAdviseSink,
-                 DWORD * rgdwConnection,  LPOLECLIENTSITE pClientSite,
-                 LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateLinkFromData( LPDATAOBJECT pSrcDataObj,  const IID & riid,
-                 DWORD renderopt,  LPFORMATETC pFormatEtc,
-                 LPOLECLIENTSITE pClientSite,  LPSTORAGE pStg,
-                 LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateLinkFromDataEx( LPDATAOBJECT pSrcDataObj,  const IID & riid,
-                 DWORD dwFlags,  DWORD renderopt,  ULONG cFormats,  DWORD* rgAdvf,
-                 LPFORMATETC rgFormatEtc,  IAdviseSink * lpAdviseSink,
-                  DWORD * rgdwConnection,  LPOLECLIENTSITE pClientSite,
-                 LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateStaticFromData( LPDATAOBJECT pSrcDataObj,  const IID & iid,
-                 DWORD renderopt,  LPFORMATETC pFormatEtc,
-                 LPOLECLIENTSITE pClientSite,  LPSTORAGE pStg,
-                 LPVOID * ppvObj);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateLink( LPMONIKER pmkLinkSrc,  const IID & riid,
-             DWORD renderopt,  LPFORMATETC lpFormatEtc,
-             LPOLECLIENTSITE pClientSite,  LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateLinkEx( LPMONIKER pmkLinkSrc,  const IID & riid,
-             DWORD dwFlags,  DWORD renderopt,  ULONG cFormats,  DWORD* rgAdvf,
-             LPFORMATETC rgFormatEtc,  IAdviseSink * lpAdviseSink,
-             DWORD * rgdwConnection,  LPOLECLIENTSITE pClientSite,
-             LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateLinkToFile( LPCOLESTR lpszFileName,  const IID & riid,
-             DWORD renderopt,  LPFORMATETC lpFormatEtc,
-             LPOLECLIENTSITE pClientSite,  LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateLinkToFileEx( LPCOLESTR lpszFileName,  const IID & riid,
-             DWORD dwFlags,  DWORD renderopt,  ULONG cFormats,  DWORD* rgAdvf,
-             LPFORMATETC rgFormatEtc,  IAdviseSink * lpAdviseSink,
-             DWORD * rgdwConnection,  LPOLECLIENTSITE pClientSite,
-             LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateFromFile( const IID & rclsid,  LPCOLESTR lpszFileName,  const IID & riid,
-             DWORD renderopt,  LPFORMATETC lpFormatEtc,
-             LPOLECLIENTSITE pClientSite,  LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleCreateFromFileEx( const IID & rclsid,  LPCOLESTR lpszFileName,  const IID & riid,
-             DWORD dwFlags,  DWORD renderopt,  ULONG cFormats,  DWORD* rgAdvf,
-             LPFORMATETC rgFormatEtc,  IAdviseSink * lpAdviseSink,
-             DWORD * rgdwConnection,  LPOLECLIENTSITE pClientSite,
-             LPSTORAGE pStg,  LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleLoad( LPSTORAGE pStg,  const IID & riid,  LPOLECLIENTSITE pClientSite,
-             LPVOID * ppvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleSave( LPPERSISTSTORAGE pPS,  LPSTORAGE pStg,  BOOL fSameAsLoad);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleLoadFromStream(  LPSTREAM pStm,  const IID & iidInterface,  LPVOID * ppvObj);
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleSaveToStream(  LPPERSISTSTREAM pPStm,  LPSTREAM pStm );
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleSetContainedObject( LPUNKNOWN pUnknown,  BOOL fContained);
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleNoteObjectVisible( LPUNKNOWN pUnknown,  BOOL fVisible);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  RegisterDragDrop( HWND hwnd,  LPDROPTARGET pDropTarget);
-extern "C" __declspec(dllimport) HRESULT __stdcall  RevokeDragDrop( HWND hwnd);
-extern "C" __declspec(dllimport) HRESULT __stdcall  DoDragDrop( LPDATAOBJECT pDataObj,  LPDROPSOURCE pDropSource,
-             DWORD dwOKEffects,  LPDWORD pdwEffect);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleSetClipboard( LPDATAOBJECT pDataObj);
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleGetClipboard( LPDATAOBJECT * ppDataObj);
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleFlushClipboard(void);
-extern "C" __declspec(dllimport) HRESULT __stdcall  OleIsCurrentClipboard( LPDATAOBJECT pDataObj);
-
-
-
-
-extern "C" __declspec(dllimport) HOLEMENU __stdcall   OleCreateMenuDescriptor ( HMENU hmenuCombined,
-                                 LPOLEMENUGROUPWIDTHS lpMenuWidths);
-extern "C" __declspec(dllimport) HRESULT __stdcall              OleSetMenuDescriptor ( HOLEMENU holemenu,  HWND hwndFrame,
-                                 HWND hwndActiveObject,
-                                 LPOLEINPLACEFRAME lpFrame,
-                                 LPOLEINPLACEACTIVEOBJECT lpActiveObj);
-extern "C" __declspec(dllimport) HRESULT __stdcall              OleDestroyMenuDescriptor ( HOLEMENU holemenu);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall              OleTranslateAccelerator ( LPOLEINPLACEFRAME lpFrame,
-                             LPOLEINPLACEFRAMEINFO lpFrameInfo,  LPMSG lpmsg);
-
-
-
-extern "C" __declspec(dllimport) HANDLE __stdcall OleDuplicateData ( HANDLE hSrc,  CLIPFORMAT cfFormat,
-                         UINT uiFlags);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall          OleDraw ( LPUNKNOWN pUnknown,  DWORD dwAspect,  HDC hdcDraw,
-                     LPCRECT lprcBounds);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall          OleRun( LPUNKNOWN pUnknown);
-extern "C" __declspec(dllimport) BOOL __stdcall   OleIsRunning( LPOLEOBJECT pObject);
-extern "C" __declspec(dllimport) HRESULT __stdcall          OleLockRunning( LPUNKNOWN pUnknown,  BOOL fLock,  BOOL fLastUnlockCloses);
-extern "C" __declspec(dllimport) void __stdcall   ReleaseStgMedium( LPSTGMEDIUM);
-extern "C" __declspec(dllimport) HRESULT __stdcall          CreateOleAdviseHolder( LPOLEADVISEHOLDER * ppOAHolder);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall          OleCreateDefaultHandler( const IID & clsid,  LPUNKNOWN pUnkOuter,
-                     const IID & riid,  LPVOID * lplpObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall          OleCreateEmbeddingHelper( const IID & clsid,  LPUNKNOWN pUnkOuter,
-                     DWORD flags,  LPCLASSFACTORY pCF,
-                     const IID & riid,  LPVOID * lplpObj);
-
-extern "C" __declspec(dllimport) BOOL __stdcall   IsAccelerator( HACCEL hAccel,  int cAccelEntries,  LPMSG lpMsg,
-                                         WORD * lpwCmd);
-
-
-extern "C" __declspec(dllimport) HGLOBAL __stdcall OleGetIconOfFile( LPOLESTR lpszPath,  BOOL fUseFileAsLabel);
-
-extern "C" __declspec(dllimport) HGLOBAL __stdcall OleGetIconOfClass( const IID & rclsid,      LPOLESTR lpszLabel,
-                                         BOOL fUseTypeAsLabel);
-
-extern "C" __declspec(dllimport) HGLOBAL __stdcall OleMetafilePictFromIconAndLabel( HICON hIcon,  LPOLESTR lpszLabel,
-                                         LPOLESTR lpszSourceFile,  UINT iIconIndex);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall                  OleRegGetUserType ( const IID & clsid,  DWORD dwFormOfType,
-                                         LPOLESTR * pszUserType);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall                  OleRegGetMiscStatus     ( const IID & clsid,  DWORD dwAspect,
-                                         DWORD * pdwStatus);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall                  OleRegEnumFormatEtc     ( const IID & clsid,  DWORD dwDirection,
-                                         LPENUMFORMATETC * ppenum);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall                  OleRegEnumVerbs ( const IID & clsid,  LPENUMOLEVERB * ppenum);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _OLESTREAM *  LPOLESTREAM;
-
-typedef struct _OLESTREAMVTBL
-{
-    DWORD (__stdcall* Get)(LPOLESTREAM, void *, DWORD);
-    DWORD (__stdcall* Put)(LPOLESTREAM, const void *, DWORD);
-} OLESTREAMVTBL;
-typedef  OLESTREAMVTBL *  LPOLESTREAMVTBL;
-
-typedef struct _OLESTREAM
-{
-    LPOLESTREAMVTBL lpstbl;
-} OLESTREAM;
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertOLESTREAMToIStorage
-    ( LPOLESTREAM                lpolestream,
-     LPSTORAGE                   pstg,
-     const DVTARGETDEVICE *   ptd);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertIStorageToOLESTREAM
-    ( LPSTORAGE      pstg,
-     LPOLESTREAM     lpolestream);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall GetHGlobalFromILockBytes ( LPLOCKBYTES plkbyt,  HGLOBAL * phglobal);
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateILockBytesOnHGlobal ( HGLOBAL hGlobal,  BOOL fDeleteOnRelease,
-                                     LPLOCKBYTES * pplkbyt);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall GetHGlobalFromStream ( LPSTREAM pstm,  HGLOBAL * phglobal);
-extern "C" __declspec(dllimport) HRESULT __stdcall CreateStreamOnHGlobal ( HGLOBAL hGlobal,  BOOL fDeleteOnRelease,
-                                 LPSTREAM * ppstm);
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleDoAutoConvert( LPSTORAGE pStg,  LPCLSID pClsidNew);
-extern "C" __declspec(dllimport) HRESULT __stdcall OleGetAutoConvert( const IID & clsidOld,  LPCLSID pClsidNew);
-extern "C" __declspec(dllimport) HRESULT __stdcall OleSetAutoConvert( const IID & clsidOld,  const IID & clsidNew);
-extern "C" __declspec(dllimport) HRESULT __stdcall GetConvertStg( LPSTORAGE pStg);
-extern "C" __declspec(dllimport) HRESULT __stdcall SetConvertStg( LPSTORAGE pStg,  BOOL fConvert);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertIStorageToOLESTREAMEx
-    ( LPSTORAGE          pstg,
-                                    
-      CLIPFORMAT         cfFormat,   
-      LONG               lWidth,     
-      LONG               lHeight,    
-      DWORD              dwSize,     
-      LPSTGMEDIUM        pmedium,    
-      LPOLESTREAM        polestm);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertOLESTREAMToIStorageEx
-    ( LPOLESTREAM        polestm,
-      LPSTORAGE          pstg,
-                                    
-      CLIPFORMAT *    pcfFormat,  
-      LONG *          plwWidth,   
-      LONG *          plHeight,   
-      DWORD *         pdwSize,    
-      LPSTGMEDIUM        pmedium);   
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const GUID  IID_IPrintDialogCallback;
-
-
-
-
-
-
-extern "C" const GUID  IID_IPrintDialogServices;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {            
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR (__stdcall *LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagOFN_NT4A {
-   DWORD        lStructSize;
-   HWND         hwndOwner;
-   HINSTANCE    hInstance;
-   LPCSTR       lpstrFilter;
-   LPSTR        lpstrCustomFilter;
-   DWORD        nMaxCustFilter;
-   DWORD        nFilterIndex;
-   LPSTR        lpstrFile;
-   DWORD        nMaxFile;
-   LPSTR        lpstrFileTitle;
-   DWORD        nMaxFileTitle;
-   LPCSTR       lpstrInitialDir;
-   LPCSTR       lpstrTitle;
-   DWORD        Flags;
-   WORD         nFileOffset;
-   WORD         nFileExtension;
-   LPCSTR       lpstrDefExt;
-   LPARAM       lCustData;
-   LPOFNHOOKPROC lpfnHook;
-   LPCSTR       lpTemplateName;
-} OPENFILENAME_NT4A, *LPOPENFILENAME_NT4A;
-typedef struct tagOFN_NT4W {
-   DWORD        lStructSize;
-   HWND         hwndOwner;
-   HINSTANCE    hInstance;
-   LPCWSTR      lpstrFilter;
-   LPWSTR       lpstrCustomFilter;
-   DWORD        nMaxCustFilter;
-   DWORD        nFilterIndex;
-   LPWSTR       lpstrFile;
-   DWORD        nMaxFile;
-   LPWSTR       lpstrFileTitle;
-   DWORD        nMaxFileTitle;
-   LPCWSTR      lpstrInitialDir;
-   LPCWSTR      lpstrTitle;
-   DWORD        Flags;
-   WORD         nFileOffset;
-   WORD         nFileExtension;
-   LPCWSTR      lpstrDefExt;
-   LPARAM       lCustData;
-   LPOFNHOOKPROC lpfnHook;
-   LPCWSTR      lpTemplateName;
-} OPENFILENAME_NT4W, *LPOPENFILENAME_NT4W;
-
-typedef OPENFILENAME_NT4W OPENFILENAME_NT4;
-typedef LPOPENFILENAME_NT4W LPOPENFILENAME_NT4;
-
-
-
-
-
-typedef struct tagOFNA {
-   DWORD        lStructSize;
-   HWND         hwndOwner;
-   HINSTANCE    hInstance;
-   LPCSTR       lpstrFilter;
-   LPSTR        lpstrCustomFilter;
-   DWORD        nMaxCustFilter;
-   DWORD        nFilterIndex;
-   LPSTR        lpstrFile;
-   DWORD        nMaxFile;
-   LPSTR        lpstrFileTitle;
-   DWORD        nMaxFileTitle;
-   LPCSTR       lpstrInitialDir;
-   LPCSTR       lpstrTitle;
-   DWORD        Flags;
-   WORD         nFileOffset;
-   WORD         nFileExtension;
-   LPCSTR       lpstrDefExt;
-   LPARAM       lCustData;
-   LPOFNHOOKPROC lpfnHook;
-   LPCSTR       lpTemplateName;
-
-
-
-
-
-   void *		pvReserved;
-   DWORD        dwReserved;
-   DWORD        FlagsEx;
-
-} OPENFILENAMEA, *LPOPENFILENAMEA;
-typedef struct tagOFNW {
-   DWORD        lStructSize;
-   HWND         hwndOwner;
-   HINSTANCE    hInstance;
-   LPCWSTR      lpstrFilter;
-   LPWSTR       lpstrCustomFilter;
-   DWORD        nMaxCustFilter;
-   DWORD        nFilterIndex;
-   LPWSTR       lpstrFile;
-   DWORD        nMaxFile;
-   LPWSTR       lpstrFileTitle;
-   DWORD        nMaxFileTitle;
-   LPCWSTR      lpstrInitialDir;
-   LPCWSTR      lpstrTitle;
-   DWORD        Flags;
-   WORD         nFileOffset;
-   WORD         nFileExtension;
-   LPCWSTR      lpstrDefExt;
-   LPARAM       lCustData;
-   LPOFNHOOKPROC lpfnHook;
-   LPCWSTR      lpTemplateName;
-
-
-
-
-
-   void *		pvReserved;
-   DWORD        dwReserved;
-   DWORD        FlagsEx;
-
-} OPENFILENAMEW, *LPOPENFILENAMEW;
-
-typedef OPENFILENAMEW OPENFILENAME;
-typedef LPOPENFILENAMEW LPOPENFILENAME;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetOpenFileNameA(LPOPENFILENAMEA);
-__declspec(dllimport) BOOL  __stdcall GetOpenFileNameW(LPOPENFILENAMEW);
-
-
-
-
-
-__declspec(dllimport) BOOL  __stdcall GetSaveFileNameA(LPOPENFILENAMEA);
-__declspec(dllimport) BOOL  __stdcall GetSaveFileNameW(LPOPENFILENAMEW);
-
-
-
-
-
-
-
-__declspec(dllimport) short __stdcall GetFileTitleA(LPCSTR, LPSTR, WORD);
-__declspec(dllimport) short __stdcall GetFileTitleW(LPCWSTR, LPWSTR, WORD);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR (__stdcall *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-
-
-
-typedef struct _OFNOTIFYA
-{
-        NMHDR           hdr;
-        LPOPENFILENAMEA lpOFN;
-        LPSTR           pszFile;        
-} OFNOTIFYA, *LPOFNOTIFYA;
-
-typedef struct _OFNOTIFYW
-{
-        NMHDR           hdr;
-        LPOPENFILENAMEW lpOFN;
-        LPWSTR          pszFile;        
-} OFNOTIFYW, *LPOFNOTIFYW;
-
-typedef OFNOTIFYW OFNOTIFY;
-typedef LPOFNOTIFYW LPOFNOTIFY;
-
-
-
-
-
-
-
-typedef struct _OFNOTIFYEXA
-{
-        NMHDR           hdr;
-        LPOPENFILENAMEA lpOFN;
-        LPVOID          psf;
-        LPVOID          pidl;          
-} OFNOTIFYEXA, *LPOFNOTIFYEXA;
-
-typedef struct _OFNOTIFYEXW
-{
-        NMHDR           hdr;
-        LPOPENFILENAMEW lpOFN;
-        LPVOID          psf;
-        LPVOID          pidl;          
-} OFNOTIFYEXW, *LPOFNOTIFYEXW;
-
-typedef OFNOTIFYEXW OFNOTIFYEX;
-typedef LPOFNOTIFYEXW LPOFNOTIFYEX;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagCHOOSECOLORA {
-   DWORD        lStructSize;
-   HWND         hwndOwner;
-   HWND         hInstance;
-   COLORREF     rgbResult;
-   COLORREF*    lpCustColors;
-   DWORD        Flags;
-   LPARAM       lCustData;
-   LPCCHOOKPROC lpfnHook;
-   LPCSTR       lpTemplateName;
-} CHOOSECOLORA, *LPCHOOSECOLORA;
-typedef struct tagCHOOSECOLORW {
-   DWORD        lStructSize;
-   HWND         hwndOwner;
-   HWND         hInstance;
-   COLORREF     rgbResult;
-   COLORREF*    lpCustColors;
-   DWORD        Flags;
-   LPARAM       lCustData;
-   LPCCHOOKPROC lpfnHook;
-   LPCWSTR      lpTemplateName;
-} CHOOSECOLORW, *LPCHOOSECOLORW;
-
-typedef CHOOSECOLORW CHOOSECOLOR;
-typedef LPCHOOSECOLORW LPCHOOSECOLOR;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall ChooseColorA(LPCHOOSECOLORA);
-__declspec(dllimport) BOOL __stdcall ChooseColorW(LPCHOOSECOLORW);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR (__stdcall *LPFRHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-
-typedef struct tagFINDREPLACEA {
-   DWORD        lStructSize;        
-   HWND         hwndOwner;          
-   HINSTANCE    hInstance;          
-                                    
-   DWORD        Flags;              
-   LPSTR        lpstrFindWhat;      
-   LPSTR        lpstrReplaceWith;   
-   WORD         wFindWhatLen;       
-   WORD         wReplaceWithLen;    
-   LPARAM       lCustData;          
-   LPFRHOOKPROC lpfnHook;           
-   LPCSTR       lpTemplateName;     
-} FINDREPLACEA, *LPFINDREPLACEA;
-typedef struct tagFINDREPLACEW {
-   DWORD        lStructSize;        
-   HWND         hwndOwner;          
-   HINSTANCE    hInstance;          
-                                    
-   DWORD        Flags;              
-   LPWSTR       lpstrFindWhat;      
-   LPWSTR       lpstrReplaceWith;   
-   WORD         wFindWhatLen;       
-   WORD         wReplaceWithLen;    
-   LPARAM       lCustData;          
-   LPFRHOOKPROC lpfnHook;           
-   LPCWSTR      lpTemplateName;     
-} FINDREPLACEW, *LPFINDREPLACEW;
-
-typedef FINDREPLACEW FINDREPLACE;
-typedef LPFINDREPLACEW LPFINDREPLACE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) HWND __stdcall FindTextA(LPFINDREPLACEA);
-__declspec(dllimport) HWND __stdcall FindTextW(LPFINDREPLACEW);
-
-
-
-
-
-
-__declspec(dllimport) HWND __stdcall ReplaceTextA(LPFINDREPLACEA);
-__declspec(dllimport) HWND __stdcall ReplaceTextW(LPFINDREPLACEW);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR (__stdcall *LPCFHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-
-typedef struct tagCHOOSEFONTA {
-   DWORD           lStructSize;
-   HWND            hwndOwner;          
-   HDC             hDC;                
-   LPLOGFONTA      lpLogFont;          
-   INT             iPointSize;         
-   DWORD           Flags;              
-   COLORREF        rgbColors;          
-   LPARAM          lCustData;          
-   LPCFHOOKPROC    lpfnHook;           
-   LPCSTR          lpTemplateName;     
-   HINSTANCE       hInstance;          
-                                       
-   LPSTR           lpszStyle;          
-                                       
-   WORD            nFontType;          
-                                       
-                                       
-   WORD            ___MISSING_ALIGNMENT__;
-   INT             nSizeMin;           
-   INT             nSizeMax;           
-                                       
-} CHOOSEFONTA, *LPCHOOSEFONTA;
-typedef struct tagCHOOSEFONTW {
-   DWORD           lStructSize;
-   HWND            hwndOwner;          
-   HDC             hDC;                
-   LPLOGFONTW      lpLogFont;          
-   INT             iPointSize;         
-   DWORD           Flags;              
-   COLORREF        rgbColors;          
-   LPARAM          lCustData;          
-   LPCFHOOKPROC    lpfnHook;           
-   LPCWSTR         lpTemplateName;     
-   HINSTANCE       hInstance;          
-                                       
-   LPWSTR          lpszStyle;          
-                                       
-   WORD            nFontType;          
-                                       
-                                       
-   WORD            ___MISSING_ALIGNMENT__;
-   INT             nSizeMin;           
-   INT             nSizeMax;           
-                                       
-} CHOOSEFONTW, *LPCHOOSEFONTW;
-
-typedef CHOOSEFONTW CHOOSEFONT;
-typedef LPCHOOSEFONTW LPCHOOSEFONT;
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall ChooseFontA(LPCHOOSEFONTA);
-__declspec(dllimport) BOOL __stdcall ChooseFontW(LPCHOOSEFONTW);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR (__stdcall *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-typedef UINT_PTR (__stdcall *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-
-typedef struct tagPDA {
-   DWORD            lStructSize;
-   HWND             hwndOwner;
-   HGLOBAL          hDevMode;
-   HGLOBAL          hDevNames;
-   HDC              hDC;
-   DWORD            Flags;
-   WORD             nFromPage;
-   WORD             nToPage;
-   WORD             nMinPage;
-   WORD             nMaxPage;
-   WORD             nCopies;
-   HINSTANCE        hInstance;
-   LPARAM           lCustData;
-   LPPRINTHOOKPROC  lpfnPrintHook;
-   LPSETUPHOOKPROC  lpfnSetupHook;
-   LPCSTR           lpPrintTemplateName;
-   LPCSTR           lpSetupTemplateName;
-   HGLOBAL          hPrintTemplate;
-   HGLOBAL          hSetupTemplate;
-} PRINTDLGA, *LPPRINTDLGA;
-typedef struct tagPDW {
-   DWORD            lStructSize;
-   HWND             hwndOwner;
-   HGLOBAL          hDevMode;
-   HGLOBAL          hDevNames;
-   HDC              hDC;
-   DWORD            Flags;
-   WORD             nFromPage;
-   WORD             nToPage;
-   WORD             nMinPage;
-   WORD             nMaxPage;
-   WORD             nCopies;
-   HINSTANCE        hInstance;
-   LPARAM           lCustData;
-   LPPRINTHOOKPROC  lpfnPrintHook;
-   LPSETUPHOOKPROC  lpfnSetupHook;
-   LPCWSTR          lpPrintTemplateName;
-   LPCWSTR          lpSetupTemplateName;
-   HGLOBAL          hPrintTemplate;
-   HGLOBAL          hSetupTemplate;
-} PRINTDLGW, *LPPRINTDLGW;
-
-typedef PRINTDLGW PRINTDLG;
-typedef LPPRINTDLGW LPPRINTDLG;
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall PrintDlgA(LPPRINTDLGA);
-__declspec(dllimport) BOOL __stdcall PrintDlgW(LPPRINTDLGW);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct __declspec(novtable) IPrintDialogCallback : public IUnknown
-{
-    
-    virtual HRESULT __stdcall QueryInterface ( const IID & riid, LPVOID *ppvObj) = 0;
-    virtual ULONG __stdcall AddRef (void) = 0;
-    virtual ULONG __stdcall Release (void) = 0;
-
-    
-    virtual HRESULT __stdcall InitDone (void) = 0;
-    virtual HRESULT __stdcall SelectionChange (void) = 0;
-    virtual HRESULT __stdcall HandleMessage ( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *pResult) = 0;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct __declspec(novtable) IPrintDialogServices : public IUnknown
-{
-    
-    virtual HRESULT __stdcall QueryInterface ( const IID & riid, LPVOID *ppvObj) = 0;
-    virtual ULONG __stdcall AddRef (void) = 0;
-    virtual ULONG __stdcall Release (void) = 0;
-
-    
-    virtual HRESULT __stdcall GetCurrentDevMode ( LPDEVMODE pDevMode, UINT *pcbSize) = 0;
-    virtual HRESULT __stdcall GetCurrentPrinterName ( LPTSTR pPrinterName, UINT *pcchSize) = 0;
-    virtual HRESULT __stdcall GetCurrentPortName ( LPTSTR pPortName, UINT *pcchSize) = 0;
-};
-
-
-
-
-
-typedef struct tagPRINTPAGERANGE {
-   DWORD  nFromPage;
-   DWORD  nToPage;
-} PRINTPAGERANGE, *LPPRINTPAGERANGE;
-
-
-
-
-
-typedef struct tagPDEXA {
-   DWORD                 lStructSize;          
-   HWND                  hwndOwner;            
-   HGLOBAL               hDevMode;             
-   HGLOBAL               hDevNames;            
-   HDC                   hDC;                  
-   DWORD                 Flags;                
-   DWORD                 Flags2;               
-   DWORD                 ExclusionFlags;       
-   DWORD                 nPageRanges;          
-   DWORD                 nMaxPageRanges;       
-   LPPRINTPAGERANGE      lpPageRanges;         
-   DWORD                 nMinPage;             
-   DWORD                 nMaxPage;             
-   DWORD                 nCopies;              
-   HINSTANCE             hInstance;            
-   LPCSTR                lpPrintTemplateName;  
-   LPUNKNOWN             lpCallback;           
-   DWORD                 nPropertyPages;       
-   HPROPSHEETPAGE       *lphPropertyPages;     
-   DWORD                 nStartPage;           
-   DWORD                 dwResultAction;       
-} PRINTDLGEXA, *LPPRINTDLGEXA;
-
-
-
-typedef struct tagPDEXW {
-   DWORD                 lStructSize;          
-   HWND                  hwndOwner;            
-   HGLOBAL               hDevMode;             
-   HGLOBAL               hDevNames;            
-   HDC                   hDC;                  
-   DWORD                 Flags;                
-   DWORD                 Flags2;               
-   DWORD                 ExclusionFlags;       
-   DWORD                 nPageRanges;          
-   DWORD                 nMaxPageRanges;       
-   LPPRINTPAGERANGE      lpPageRanges;         
-   DWORD                 nMinPage;             
-   DWORD                 nMaxPage;             
-   DWORD                 nCopies;              
-   HINSTANCE             hInstance;            
-   LPCWSTR               lpPrintTemplateName;  
-   LPUNKNOWN             lpCallback;           
-   DWORD                 nPropertyPages;       
-   HPROPSHEETPAGE       *lphPropertyPages;     
-   DWORD                 nStartPage;           
-   DWORD                 dwResultAction;       
-} PRINTDLGEXW, *LPPRINTDLGEXW;
-
-typedef PRINTDLGEXW PRINTDLGEX;
-typedef LPPRINTDLGEXW LPPRINTDLGEX;
-
-
-
-
-
-
-
-__declspec(dllimport) HRESULT __stdcall PrintDlgExA(LPPRINTDLGEXA);
-__declspec(dllimport) HRESULT __stdcall PrintDlgExW(LPPRINTDLGEXW);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagDEVNAMES {
-   WORD wDriverOffset;
-   WORD wDeviceOffset;
-   WORD wOutputOffset;
-   WORD wDefault;
-} DEVNAMES, *LPDEVNAMES;
-
-
-
-
-__declspec(dllimport) DWORD __stdcall CommDlgExtendedError(void);
-
-
-
-
-
-
-
-
-
-
-typedef UINT_PTR (__stdcall* LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
-typedef UINT_PTR (__stdcall* LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
-
-typedef struct tagPSDA
-{
-    DWORD           lStructSize;
-    HWND            hwndOwner;
-    HGLOBAL         hDevMode;
-    HGLOBAL         hDevNames;
-    DWORD           Flags;
-    POINT           ptPaperSize;
-    RECT            rtMinMargin;
-    RECT            rtMargin;
-    HINSTANCE       hInstance;
-    LPARAM          lCustData;
-    LPPAGESETUPHOOK lpfnPageSetupHook;
-    LPPAGEPAINTHOOK lpfnPagePaintHook;
-    LPCSTR          lpPageSetupTemplateName;
-    HGLOBAL         hPageSetupTemplate;
-} PAGESETUPDLGA, * LPPAGESETUPDLGA;
-typedef struct tagPSDW
-{
-    DWORD           lStructSize;
-    HWND            hwndOwner;
-    HGLOBAL         hDevMode;
-    HGLOBAL         hDevNames;
-    DWORD           Flags;
-    POINT           ptPaperSize;
-    RECT            rtMinMargin;
-    RECT            rtMargin;
-    HINSTANCE       hInstance;
-    LPARAM          lCustData;
-    LPPAGESETUPHOOK lpfnPageSetupHook;
-    LPPAGEPAINTHOOK lpfnPagePaintHook;
-    LPCWSTR         lpPageSetupTemplateName;
-    HGLOBAL         hPageSetupTemplate;
-} PAGESETUPDLGW, * LPPAGESETUPDLGW;
-
-typedef PAGESETUPDLGW PAGESETUPDLG;
-typedef LPPAGESETUPDLGW LPPAGESETUPDLG;
-
-
-
-
-
-__declspec(dllimport) BOOL __stdcall PageSetupDlgA( LPPAGESETUPDLGA );
-__declspec(dllimport) BOOL __stdcall PageSetupDlgW( LPPAGESETUPDLGW );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__inline
-PUWSTR
-static
-__declspec(deprecated)
-ua_wcscpy(
-     PUWSTR  Destination,
-     PCUWSTR Source
-    )
-{
-#pragma warning(push)
-#pragma warning(disable:4996)
-    return wcscpy(Destination, Source);
-#pragma warning(pop)
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-    
-
-                                         
-
-
-
-                                                      
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SERVICE_DESCRIPTIONA {
-    LPSTR       lpDescription;
-} SERVICE_DESCRIPTIONA, *LPSERVICE_DESCRIPTIONA;
-
-
-
-typedef struct _SERVICE_DESCRIPTIONW {
-    LPWSTR      lpDescription;
-} SERVICE_DESCRIPTIONW, *LPSERVICE_DESCRIPTIONW;
-
-typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
-typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
-
-
-
-
-
-
-
-
-typedef enum _SC_ACTION_TYPE {
-        SC_ACTION_NONE          = 0,
-        SC_ACTION_RESTART       = 1,
-        SC_ACTION_REBOOT        = 2,
-        SC_ACTION_RUN_COMMAND   = 3
-} SC_ACTION_TYPE;
-
-typedef struct _SC_ACTION {
-    SC_ACTION_TYPE  Type;
-    DWORD           Delay;
-} SC_ACTION, *LPSC_ACTION;
-
-typedef struct _SERVICE_FAILURE_ACTIONSA {
-    DWORD       dwResetPeriod;
-    LPSTR       lpRebootMsg;
-    LPSTR       lpCommand;
-    DWORD       cActions;
-
-
-
-    SC_ACTION * lpsaActions;
-} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;
-typedef struct _SERVICE_FAILURE_ACTIONSW {
-    DWORD       dwResetPeriod;
-    LPWSTR      lpRebootMsg;
-    LPWSTR      lpCommand;
-    DWORD       cActions;
-
-
-
-    SC_ACTION * lpsaActions;
-} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;
-
-typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
-typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
-
-
-
-
-
-
-
-
-
-
-struct SC_HANDLE__ { int unused; }; typedef struct SC_HANDLE__ *SC_HANDLE;
-typedef SC_HANDLE   *LPSC_HANDLE;
-
-struct SERVICE_STATUS_HANDLE__ { int unused; }; typedef struct SERVICE_STATUS_HANDLE__ *SERVICE_STATUS_HANDLE;
-
-
-
-
-
-typedef enum _SC_STATUS_TYPE {
-        SC_STATUS_PROCESS_INFO      = 0
-} SC_STATUS_TYPE;
-
-
-
-
-typedef enum _SC_ENUM_TYPE {
-        SC_ENUM_PROCESS_INFO        = 0
-} SC_ENUM_TYPE;
-
-
-
-
-
-
-typedef struct _SERVICE_STATUS {
-    DWORD   dwServiceType;
-    DWORD   dwCurrentState;
-    DWORD   dwControlsAccepted;
-    DWORD   dwWin32ExitCode;
-    DWORD   dwServiceSpecificExitCode;
-    DWORD   dwCheckPoint;
-    DWORD   dwWaitHint;
-} SERVICE_STATUS, *LPSERVICE_STATUS;
-
-typedef struct _SERVICE_STATUS_PROCESS {
-    DWORD   dwServiceType;
-    DWORD   dwCurrentState;
-    DWORD   dwControlsAccepted;
-    DWORD   dwWin32ExitCode;
-    DWORD   dwServiceSpecificExitCode;
-    DWORD   dwCheckPoint;
-    DWORD   dwWaitHint;
-    DWORD   dwProcessId;
-    DWORD   dwServiceFlags;
-} SERVICE_STATUS_PROCESS, *LPSERVICE_STATUS_PROCESS;
-
-
-
-
-
-
-typedef struct _ENUM_SERVICE_STATUSA {
-    LPSTR             lpServiceName;
-    LPSTR             lpDisplayName;
-    SERVICE_STATUS    ServiceStatus;
-} ENUM_SERVICE_STATUSA, *LPENUM_SERVICE_STATUSA;
-typedef struct _ENUM_SERVICE_STATUSW {
-    LPWSTR            lpServiceName;
-    LPWSTR            lpDisplayName;
-    SERVICE_STATUS    ServiceStatus;
-} ENUM_SERVICE_STATUSW, *LPENUM_SERVICE_STATUSW;
-
-typedef ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS;
-typedef LPENUM_SERVICE_STATUSW LPENUM_SERVICE_STATUS;
-
-
-
-
-
-typedef struct _ENUM_SERVICE_STATUS_PROCESSA {
-    LPSTR                     lpServiceName;
-    LPSTR                     lpDisplayName;
-    SERVICE_STATUS_PROCESS    ServiceStatusProcess;
-} ENUM_SERVICE_STATUS_PROCESSA, *LPENUM_SERVICE_STATUS_PROCESSA;
-typedef struct _ENUM_SERVICE_STATUS_PROCESSW {
-    LPWSTR                    lpServiceName;
-    LPWSTR                    lpDisplayName;
-    SERVICE_STATUS_PROCESS    ServiceStatusProcess;
-} ENUM_SERVICE_STATUS_PROCESSW, *LPENUM_SERVICE_STATUS_PROCESSW;
-
-typedef ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS;
-typedef LPENUM_SERVICE_STATUS_PROCESSW LPENUM_SERVICE_STATUS_PROCESS;
-
-
-
-
-
-
-
-
-
-typedef LPVOID  SC_LOCK;
-
-typedef struct _QUERY_SERVICE_LOCK_STATUSA {
-    DWORD   fIsLocked;
-    LPSTR   lpLockOwner;
-    DWORD   dwLockDuration;
-} QUERY_SERVICE_LOCK_STATUSA, *LPQUERY_SERVICE_LOCK_STATUSA;
-typedef struct _QUERY_SERVICE_LOCK_STATUSW {
-    DWORD   fIsLocked;
-    LPWSTR  lpLockOwner;
-    DWORD   dwLockDuration;
-} QUERY_SERVICE_LOCK_STATUSW, *LPQUERY_SERVICE_LOCK_STATUSW;
-
-typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS;
-typedef LPQUERY_SERVICE_LOCK_STATUSW LPQUERY_SERVICE_LOCK_STATUS;
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _QUERY_SERVICE_CONFIGA {
-    DWORD   dwServiceType;
-    DWORD   dwStartType;
-    DWORD   dwErrorControl;
-    LPSTR   lpBinaryPathName;
-    LPSTR   lpLoadOrderGroup;
-    DWORD   dwTagId;
-    LPSTR   lpDependencies;
-    LPSTR   lpServiceStartName;
-    LPSTR   lpDisplayName;
-} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
-typedef struct _QUERY_SERVICE_CONFIGW {
-    DWORD   dwServiceType;
-    DWORD   dwStartType;
-    DWORD   dwErrorControl;
-    LPWSTR  lpBinaryPathName;
-    LPWSTR  lpLoadOrderGroup;
-    DWORD   dwTagId;
-    LPWSTR  lpDependencies;
-    LPWSTR  lpServiceStartName;
-    LPWSTR  lpDisplayName;
-} QUERY_SERVICE_CONFIGW, *LPQUERY_SERVICE_CONFIGW;
-
-typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG;
-typedef LPQUERY_SERVICE_CONFIGW LPQUERY_SERVICE_CONFIG;
-
-
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall *LPSERVICE_MAIN_FUNCTIONW)(
-    DWORD   dwNumServicesArgs,
-    LPWSTR  *lpServiceArgVectors
-    );
-
-typedef void (__stdcall *LPSERVICE_MAIN_FUNCTIONA)(
-    DWORD   dwNumServicesArgs,
-    LPSTR   *lpServiceArgVectors
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SERVICE_TABLE_ENTRYA {
-    LPSTR                       lpServiceName;
-    LPSERVICE_MAIN_FUNCTIONA    lpServiceProc;
-}SERVICE_TABLE_ENTRYA, *LPSERVICE_TABLE_ENTRYA;
-typedef struct _SERVICE_TABLE_ENTRYW {
-    LPWSTR                      lpServiceName;
-    LPSERVICE_MAIN_FUNCTIONW    lpServiceProc;
-}SERVICE_TABLE_ENTRYW, *LPSERVICE_TABLE_ENTRYW;
-
-typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY;
-typedef LPSERVICE_TABLE_ENTRYW LPSERVICE_TABLE_ENTRY;
-
-
-
-
-
-
-
-
-
-typedef void (__stdcall *LPHANDLER_FUNCTION)(
-    DWORD    dwControl
-    );
-
-typedef DWORD (__stdcall *LPHANDLER_FUNCTION_EX)(
-    DWORD    dwControl,
-    DWORD    dwEventType,
-    LPVOID   lpEventData,
-    LPVOID   lpContext
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeServiceConfigA(
-                SC_HANDLE    hService,
-                DWORD        dwServiceType,
-                DWORD        dwStartType,
-                DWORD        dwErrorControl,
-              LPCSTR     lpBinaryPathName,
-              LPCSTR     lpLoadOrderGroup,
-             LPDWORD      lpdwTagId,
-              LPCSTR     lpDependencies,
-              LPCSTR     lpServiceStartName,
-              LPCSTR     lpPassword,
-              LPCSTR     lpDisplayName
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeServiceConfigW(
-                SC_HANDLE    hService,
-                DWORD        dwServiceType,
-                DWORD        dwStartType,
-                DWORD        dwErrorControl,
-              LPCWSTR     lpBinaryPathName,
-              LPCWSTR     lpLoadOrderGroup,
-             LPDWORD      lpdwTagId,
-              LPCWSTR     lpDependencies,
-              LPCWSTR     lpServiceStartName,
-              LPCWSTR     lpPassword,
-              LPCWSTR     lpDisplayName
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeServiceConfig2A(
-                SC_HANDLE    hService,
-                DWORD        dwInfoLevel,
-              LPVOID       lpInfo
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-ChangeServiceConfig2W(
-                SC_HANDLE    hService,
-                DWORD        dwInfoLevel,
-              LPVOID       lpInfo
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-CloseServiceHandle(
-                SC_HANDLE   hSCObject
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-ControlService(
-                SC_HANDLE           hService,
-                DWORD               dwControl,
-               LPSERVICE_STATUS    lpServiceStatus
-    );
-
-
-__declspec(dllimport)
-SC_HANDLE
-__stdcall
-CreateServiceA(
-                SC_HANDLE    hSCManager,
-                LPCSTR     lpServiceName,
-              LPCSTR     lpDisplayName,
-                DWORD        dwDesiredAccess,
-                DWORD        dwServiceType,
-                DWORD        dwStartType,
-                DWORD        dwErrorControl,
-              LPCSTR     lpBinaryPathName,
-              LPCSTR     lpLoadOrderGroup,
-             LPDWORD      lpdwTagId,
-              LPCSTR     lpDependencies,
-              LPCSTR     lpServiceStartName,
-              LPCSTR     lpPassword
-    );
-
-__declspec(dllimport)
-SC_HANDLE
-__stdcall
-CreateServiceW(
-                SC_HANDLE    hSCManager,
-                LPCWSTR     lpServiceName,
-              LPCWSTR     lpDisplayName,
-                DWORD        dwDesiredAccess,
-                DWORD        dwServiceType,
-                DWORD        dwStartType,
-                DWORD        dwErrorControl,
-              LPCWSTR     lpBinaryPathName,
-              LPCWSTR     lpLoadOrderGroup,
-             LPDWORD      lpdwTagId,
-              LPCWSTR     lpDependencies,
-              LPCWSTR     lpServiceStartName,
-              LPCWSTR     lpPassword
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-DeleteService(
-                SC_HANDLE   hService
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDependentServicesA(
-                    SC_HANDLE               hService,
-                    DWORD                   dwServiceState,
-               
-                    LPENUM_SERVICE_STATUSA  lpServices,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded,
-                   LPDWORD                 lpServicesReturned
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumDependentServicesW(
-                    SC_HANDLE               hService,
-                    DWORD                   dwServiceState,
-               
-                    LPENUM_SERVICE_STATUSW  lpServices,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded,
-                   LPDWORD                 lpServicesReturned
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumServicesStatusA(
-                    SC_HANDLE               hSCManager,
-                    DWORD                   dwServiceType,
-                    DWORD                   dwServiceState,
-          
-                    LPENUM_SERVICE_STATUSA  lpServices,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded,
-                   LPDWORD                 lpServicesReturned,
-               LPDWORD                 lpResumeHandle
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumServicesStatusW(
-                    SC_HANDLE               hSCManager,
-                    DWORD                   dwServiceType,
-                    DWORD                   dwServiceState,
-          
-                    LPENUM_SERVICE_STATUSW  lpServices,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded,
-                   LPDWORD                 lpServicesReturned,
-               LPDWORD                 lpResumeHandle
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumServicesStatusExA(
-                    SC_HANDLE               hSCManager,
-                    SC_ENUM_TYPE            InfoLevel,
-                    DWORD                   dwServiceType,
-                    DWORD                   dwServiceState,
-           
-                    LPBYTE                  lpServices,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded,
-                   LPDWORD                 lpServicesReturned,
-               LPDWORD                 lpResumeHandle,
-                  LPCSTR                pszGroupName
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-EnumServicesStatusExW(
-                    SC_HANDLE               hSCManager,
-                    SC_ENUM_TYPE            InfoLevel,
-                    DWORD                   dwServiceType,
-                    DWORD                   dwServiceState,
-           
-                    LPBYTE                  lpServices,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded,
-                   LPDWORD                 lpServicesReturned,
-               LPDWORD                 lpResumeHandle,
-                  LPCWSTR                pszGroupName
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetServiceKeyNameA(
-                    SC_HANDLE               hSCManager,
-                    LPCSTR                lpDisplayName,
-          
-                    LPSTR                 lpServiceName,
-                 LPDWORD                 lpcchBuffer
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetServiceKeyNameW(
-                    SC_HANDLE               hSCManager,
-                    LPCWSTR                lpDisplayName,
-          
-                    LPWSTR                 lpServiceName,
-                 LPDWORD                 lpcchBuffer
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetServiceDisplayNameA(
-                    SC_HANDLE               hSCManager,
-                    LPCSTR                lpServiceName,
-           
-                    LPSTR                 lpDisplayName,
-                 LPDWORD                 lpcchBuffer
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-GetServiceDisplayNameW(
-                    SC_HANDLE               hSCManager,
-                    LPCWSTR                lpServiceName,
-           
-                    LPWSTR                 lpDisplayName,
-                 LPDWORD                 lpcchBuffer
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-SC_LOCK
-__stdcall
-LockServiceDatabase(
-                    SC_HANDLE               hSCManager
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-NotifyBootConfigStatus(
-                    BOOL                    BootAcceptable
-    );
-
-
-__declspec(dllimport)
-SC_HANDLE
-__stdcall
-OpenSCManagerA(
-                  LPCSTR                lpMachineName,
-                  LPCSTR                lpDatabaseName,
-                    DWORD                   dwDesiredAccess
-    );
-
-__declspec(dllimport)
-SC_HANDLE
-__stdcall
-OpenSCManagerW(
-                  LPCWSTR                lpMachineName,
-                  LPCWSTR                lpDatabaseName,
-                    DWORD                   dwDesiredAccess
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-SC_HANDLE
-__stdcall
-OpenServiceA(
-                    SC_HANDLE               hSCManager,
-                    LPCSTR                lpServiceName,
-                    DWORD                   dwDesiredAccess
-    );
-
-__declspec(dllimport)
-SC_HANDLE
-__stdcall
-OpenServiceW(
-                    SC_HANDLE               hSCManager,
-                    LPCWSTR                lpServiceName,
-                    DWORD                   dwDesiredAccess
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceConfigA(
-                    SC_HANDLE               hService,
-                
-                    LPQUERY_SERVICE_CONFIGA lpServiceConfig,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceConfigW(
-                    SC_HANDLE               hService,
-                
-                    LPQUERY_SERVICE_CONFIGW lpServiceConfig,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceConfig2A(
-                    SC_HANDLE               hService,
-                    DWORD                   dwInfoLevel,
-           
-                    LPBYTE                  lpBuffer,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceConfig2W(
-                    SC_HANDLE               hService,
-                    DWORD                   dwInfoLevel,
-           
-                    LPBYTE                  lpBuffer,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceLockStatusA(
-                    SC_HANDLE                       hSCManager,
-           
-                    LPQUERY_SERVICE_LOCK_STATUSA    lpLockStatus,
-                    DWORD                           cbBufSize,
-                   LPDWORD                         pcbBytesNeeded
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceLockStatusW(
-                    SC_HANDLE                       hSCManager,
-           
-                    LPQUERY_SERVICE_LOCK_STATUSW    lpLockStatus,
-                    DWORD                           cbBufSize,
-                   LPDWORD                         pcbBytesNeeded
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceObjectSecurity(
-                    SC_HANDLE               hService,
-                    SECURITY_INFORMATION    dwSecurityInformation,
-           
-                    PSECURITY_DESCRIPTOR    lpSecurityDescriptor,
-                    DWORD                   cbBufSize,
-                   LPDWORD                 pcbBytesNeeded
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceStatus(
-                    SC_HANDLE           hService,
-                   LPSERVICE_STATUS    lpServiceStatus
-    );
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-QueryServiceStatusEx(
-                    SC_HANDLE           hService,
-                    SC_STATUS_TYPE      InfoLevel,
-           
-                    LPBYTE              lpBuffer,
-                    DWORD               cbBufSize,
-                   LPDWORD             pcbBytesNeeded
-    );
-
-
-__declspec(dllimport)
-SERVICE_STATUS_HANDLE
-__stdcall
-RegisterServiceCtrlHandlerA(
-            LPCSTR                    lpServiceName,
-              
-            LPHANDLER_FUNCTION          lpHandlerProc
-    );
-
-__declspec(dllimport)
-SERVICE_STATUS_HANDLE
-__stdcall
-RegisterServiceCtrlHandlerW(
-            LPCWSTR                    lpServiceName,
-              
-            LPHANDLER_FUNCTION          lpHandlerProc
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-SERVICE_STATUS_HANDLE
-__stdcall
-RegisterServiceCtrlHandlerExA(
-            LPCSTR                    lpServiceName,
-            
-            LPHANDLER_FUNCTION_EX       lpHandlerProc,
-           LPVOID                     lpContext
-    );
-
-__declspec(dllimport)
-SERVICE_STATUS_HANDLE
-__stdcall
-RegisterServiceCtrlHandlerExW(
-            LPCWSTR                    lpServiceName,
-            
-            LPHANDLER_FUNCTION_EX       lpHandlerProc,
-           LPVOID                     lpContext
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetServiceObjectSecurity(
-                SC_HANDLE               hService,
-                SECURITY_INFORMATION    dwSecurityInformation,
-                PSECURITY_DESCRIPTOR    lpSecurityDescriptor
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-SetServiceStatus(
-                SERVICE_STATUS_HANDLE   hServiceStatus,
-                LPSERVICE_STATUS        lpServiceStatus
-    );
-
-__declspec(dllimport)
-BOOL
-__stdcall
-StartServiceCtrlDispatcherA(
-         const  SERVICE_TABLE_ENTRYA    *lpServiceStartTable
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-StartServiceCtrlDispatcherW(
-         const  SERVICE_TABLE_ENTRYW    *lpServiceStartTable
-    );
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-StartServiceA(
-                    SC_HANDLE            hService,
-                    DWORD                dwNumServiceArgs,
-                   
-                    LPCSTR             *lpServiceArgVectors
-    );
-__declspec(dllimport)
-BOOL
-__stdcall
-StartServiceW(
-                    SC_HANDLE            hService,
-                    DWORD                dwNumServiceArgs,
-                   
-                    LPCWSTR             *lpServiceArgVectors
-    );
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
-__stdcall
-UnlockServiceDatabase(
-                    SC_LOCK             ScLock
-    );
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-typedef struct _MODEMDEVCAPS {
-    DWORD   dwActualSize;
-    DWORD   dwRequiredSize;
-    DWORD   dwDevSpecificOffset;
-    DWORD   dwDevSpecificSize;
-
-    
-    DWORD   dwModemProviderVersion;
-    DWORD   dwModemManufacturerOffset;
-    DWORD   dwModemManufacturerSize;
-    DWORD   dwModemModelOffset;
-    DWORD   dwModemModelSize;
-    DWORD   dwModemVersionOffset;
-    DWORD   dwModemVersionSize;
-
-    
-    DWORD   dwDialOptions;          
-    DWORD   dwCallSetupFailTimer;   
-    DWORD   dwInactivityTimeout;    
-    DWORD   dwSpeakerVolume;        
-    DWORD   dwSpeakerMode;          
-    DWORD   dwModemOptions;         
-    DWORD   dwMaxDTERate;           
-    DWORD   dwMaxDCERate;           
-
-    
-    BYTE    abVariablePortion [1];
-} MODEMDEVCAPS, *PMODEMDEVCAPS, *LPMODEMDEVCAPS;
-
-typedef struct _MODEMSETTINGS {
-    DWORD   dwActualSize;
-    DWORD   dwRequiredSize;
-    DWORD   dwDevSpecificOffset;
-    DWORD   dwDevSpecificSize;
-
-    
-    DWORD   dwCallSetupFailTimer;       
-    DWORD   dwInactivityTimeout;        
-    DWORD   dwSpeakerVolume;            
-    DWORD   dwSpeakerMode;              
-    DWORD   dwPreferredModemOptions;    
-
-    
-    DWORD   dwNegotiatedModemOptions;   
-    DWORD   dwNegotiatedDCERate;        
-
-    
-    BYTE    abVariablePortion [1];
-} MODEMSETTINGS, *PMODEMSETTINGS, *LPMODEMSETTINGS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-struct HIMC__ { int unused; }; typedef struct HIMC__ *HIMC;
-struct HIMCC__ { int unused; }; typedef struct HIMCC__ *HIMCC;
-
-
-
-
-
-typedef HKL   *LPHKL;
-typedef UINT  *LPUINT;
-
-typedef struct tagCOMPOSITIONFORM {
-    DWORD dwStyle;
-    POINT ptCurrentPos;
-    RECT  rcArea;
-} COMPOSITIONFORM, *PCOMPOSITIONFORM,  *NPCOMPOSITIONFORM,  *LPCOMPOSITIONFORM;
-
-
-typedef struct tagCANDIDATEFORM {
-    DWORD dwIndex;
-    DWORD dwStyle;
-    POINT ptCurrentPos;
-    RECT  rcArea;
-} CANDIDATEFORM, *PCANDIDATEFORM,  *NPCANDIDATEFORM,  *LPCANDIDATEFORM;
-
-
-typedef struct tagCANDIDATELIST {
-    DWORD dwSize;
-    DWORD dwStyle;
-    DWORD dwCount;
-    DWORD dwSelection;
-    DWORD dwPageStart;
-    DWORD dwPageSize;
-    DWORD dwOffset[1];
-} CANDIDATELIST, *PCANDIDATELIST,  *NPCANDIDATELIST,  *LPCANDIDATELIST;
-
-typedef struct tagREGISTERWORDA {
-    LPSTR   lpReading;
-    LPSTR   lpWord;
-} REGISTERWORDA, *PREGISTERWORDA,  *NPREGISTERWORDA,  *LPREGISTERWORDA;
-typedef struct tagREGISTERWORDW {
-    LPWSTR  lpReading;
-    LPWSTR  lpWord;
-} REGISTERWORDW, *PREGISTERWORDW,  *NPREGISTERWORDW,  *LPREGISTERWORDW;
-
-typedef REGISTERWORDW REGISTERWORD;
-typedef PREGISTERWORDW PREGISTERWORD;
-typedef NPREGISTERWORDW NPREGISTERWORD;
-typedef LPREGISTERWORDW LPREGISTERWORD;
-
-
-
-
-
-
-
-
-
-typedef struct tagRECONVERTSTRING {
-    DWORD dwSize;
-    DWORD dwVersion;
-    DWORD dwStrLen;
-    DWORD dwStrOffset;
-    DWORD dwCompStrLen;
-    DWORD dwCompStrOffset;
-    DWORD dwTargetStrLen;
-    DWORD dwTargetStrOffset;
-} RECONVERTSTRING, *PRECONVERTSTRING,  *NPRECONVERTSTRING,  *LPRECONVERTSTRING;
-
-
-
-
-
-typedef struct tagSTYLEBUFA {
-    DWORD       dwStyle;
-    CHAR        szDescription[32];
-} STYLEBUFA, *PSTYLEBUFA,  *NPSTYLEBUFA,  *LPSTYLEBUFA;
-typedef struct tagSTYLEBUFW {
-    DWORD       dwStyle;
-    WCHAR       szDescription[32];
-} STYLEBUFW, *PSTYLEBUFW,  *NPSTYLEBUFW,  *LPSTYLEBUFW;
-
-typedef STYLEBUFW STYLEBUF;
-typedef PSTYLEBUFW PSTYLEBUF;
-typedef NPSTYLEBUFW NPSTYLEBUF;
-typedef LPSTYLEBUFW LPSTYLEBUF;
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagIMEMENUITEMINFOA {
-    UINT        cbSize;
-    UINT        fType;
-    UINT        fState;
-    UINT        wID;
-    HBITMAP     hbmpChecked;
-    HBITMAP     hbmpUnchecked;
-    DWORD       dwItemData;
-    CHAR        szString[80];
-    HBITMAP     hbmpItem;
-} IMEMENUITEMINFOA, *PIMEMENUITEMINFOA,  *NPIMEMENUITEMINFOA,  *LPIMEMENUITEMINFOA;
-typedef struct tagIMEMENUITEMINFOW {
-    UINT        cbSize;
-    UINT        fType;
-    UINT        fState;
-    UINT        wID;
-    HBITMAP     hbmpChecked;
-    HBITMAP     hbmpUnchecked;
-    DWORD       dwItemData;
-    WCHAR       szString[80];
-    HBITMAP     hbmpItem;
-} IMEMENUITEMINFOW, *PIMEMENUITEMINFOW,  *NPIMEMENUITEMINFOW,  *LPIMEMENUITEMINFOW;
-
-typedef IMEMENUITEMINFOW IMEMENUITEMINFO;
-typedef PIMEMENUITEMINFOW PIMEMENUITEMINFO;
-typedef NPIMEMENUITEMINFOW NPIMEMENUITEMINFO;
-typedef LPIMEMENUITEMINFOW LPIMEMENUITEMINFO;
-
-
-
-
-
-
-
-typedef struct tagIMECHARPOSITION {
-    DWORD       dwSize;
-    DWORD       dwCharPos;
-    POINT       pt;
-    UINT        cLineHeight;
-    RECT        rcDocument;
-} IMECHARPOSITION, *PIMECHARPOSITION,  *NPIMECHARPOSITION,  *LPIMECHARPOSITION;
-
-typedef BOOL    (__stdcall* IMCENUMPROC)(HIMC, LPARAM);
-
-
-
-
-
-
-
-HKL  __stdcall ImmInstallIMEA( LPCSTR lpszIMEFileName,  LPCSTR lpszLayoutText);
-HKL  __stdcall ImmInstallIMEW( LPCWSTR lpszIMEFileName,  LPCWSTR lpszLayoutText);
-
-
-
-
-
-
-HWND __stdcall ImmGetDefaultIMEWnd( HWND);
-
-UINT __stdcall ImmGetDescriptionA( HKL,  LPSTR,  UINT uBufLen);
-UINT __stdcall ImmGetDescriptionW( HKL,  LPWSTR,  UINT uBufLen);
-
-
-
-
-
-
-UINT __stdcall ImmGetIMEFileNameA( HKL,  LPSTR,  UINT uBufLen);
-UINT __stdcall ImmGetIMEFileNameW( HKL,  LPWSTR,  UINT uBufLen);
-
-
-
-
-
-
-DWORD __stdcall ImmGetProperty( HKL,  DWORD);
-
-BOOL __stdcall ImmIsIME( HKL);
-
-BOOL __stdcall ImmSimulateHotKey( HWND,  DWORD);
-
-HIMC __stdcall ImmCreateContext(void);
-BOOL __stdcall ImmDestroyContext( HIMC);
-HIMC __stdcall ImmGetContext( HWND);
-BOOL __stdcall ImmReleaseContext( HWND,  HIMC);
-HIMC __stdcall ImmAssociateContext( HWND,  HIMC);
-
-BOOL __stdcall ImmAssociateContextEx( HWND,  HIMC,  DWORD);
-
-
-LONG  __stdcall ImmGetCompositionStringA( HIMC,  DWORD,  LPVOID,  DWORD);
-LONG  __stdcall ImmGetCompositionStringW( HIMC,  DWORD,  LPVOID,  DWORD);
-
-
-
-
-
-
-BOOL  __stdcall ImmSetCompositionStringA( HIMC,  DWORD dwIndex,  LPVOID lpComp,  DWORD,  LPVOID lpRead,  DWORD);
-BOOL  __stdcall ImmSetCompositionStringW( HIMC,  DWORD dwIndex,  LPVOID lpComp,  DWORD,  LPVOID lpRead,  DWORD);
-
-
-
-
-
-
-DWORD __stdcall ImmGetCandidateListCountA( HIMC,  LPDWORD lpdwListCount);
-DWORD __stdcall ImmGetCandidateListCountW( HIMC,  LPDWORD lpdwListCount);
-
-
-
-
-
-
-DWORD __stdcall ImmGetCandidateListA( HIMC,  DWORD deIndex,  LPCANDIDATELIST,  DWORD dwBufLen);
-DWORD __stdcall ImmGetCandidateListW( HIMC,  DWORD deIndex,  LPCANDIDATELIST,  DWORD dwBufLen);
-
-
-
-
-
-
-DWORD __stdcall ImmGetGuideLineA( HIMC,  DWORD dwIndex,  LPSTR,  DWORD dwBufLen);
-DWORD __stdcall ImmGetGuideLineW( HIMC,  DWORD dwIndex,  LPWSTR,  DWORD dwBufLen);
-
-
-
-
-
-
-BOOL __stdcall ImmGetConversionStatus( HIMC,  LPDWORD,  LPDWORD);
-BOOL __stdcall ImmSetConversionStatus( HIMC,  DWORD,  DWORD);
-BOOL __stdcall ImmGetOpenStatus( HIMC);
-BOOL __stdcall ImmSetOpenStatus( HIMC,  BOOL);
-
-
-BOOL __stdcall ImmGetCompositionFontA( HIMC,  LPLOGFONTA);
-BOOL __stdcall ImmGetCompositionFontW( HIMC,  LPLOGFONTW);
-
-
-
-
-
-
-BOOL __stdcall ImmSetCompositionFontA( HIMC,  LPLOGFONTA);
-BOOL __stdcall ImmSetCompositionFontW( HIMC,  LPLOGFONTW);
-
-
-
-
-
-
-
-BOOL    __stdcall ImmConfigureIMEA( HKL,  HWND,  DWORD,  LPVOID);
-BOOL    __stdcall ImmConfigureIMEW( HKL,  HWND,  DWORD,  LPVOID);
-
-
-
-
-
-
-LRESULT __stdcall ImmEscapeA( HKL,  HIMC,  UINT,  LPVOID);
-LRESULT __stdcall ImmEscapeW( HKL,  HIMC,  UINT,  LPVOID);
-
-
-
-
-
-
-DWORD   __stdcall ImmGetConversionListA( HKL,  HIMC,  LPCSTR,  LPCANDIDATELIST,  DWORD dwBufLen,  UINT uFlag);
-DWORD   __stdcall ImmGetConversionListW( HKL,  HIMC,  LPCWSTR,  LPCANDIDATELIST,  DWORD dwBufLen,  UINT uFlag);
-
-
-
-
-
-
-BOOL    __stdcall ImmNotifyIME( HIMC,  DWORD dwAction,  DWORD dwIndex,  DWORD dwValue);
-
-BOOL __stdcall ImmGetStatusWindowPos( HIMC,  LPPOINT);
-BOOL __stdcall ImmSetStatusWindowPos( HIMC,  LPPOINT);
-BOOL __stdcall ImmGetCompositionWindow( HIMC,  LPCOMPOSITIONFORM);
-BOOL __stdcall ImmSetCompositionWindow( HIMC,  LPCOMPOSITIONFORM);
-BOOL __stdcall ImmGetCandidateWindow( HIMC,  DWORD,  LPCANDIDATEFORM);
-BOOL __stdcall ImmSetCandidateWindow( HIMC,  LPCANDIDATEFORM);
-
-BOOL __stdcall ImmIsUIMessageA( HWND,  UINT,  WPARAM,  LPARAM);
-BOOL __stdcall ImmIsUIMessageW( HWND,  UINT,  WPARAM,  LPARAM);
-
-
-
-
-
-
-
-UINT __stdcall ImmGetVirtualKey( HWND);
-
-typedef int (__stdcall *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
-typedef int (__stdcall *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
-
-
-
-
-
-
-BOOL __stdcall ImmRegisterWordA( HKL,  LPCSTR lpszReading,  DWORD,  LPCSTR lpszRegister);
-BOOL __stdcall ImmRegisterWordW( HKL,  LPCWSTR lpszReading,  DWORD,  LPCWSTR lpszRegister);
-
-
-
-
-
-
-BOOL __stdcall ImmUnregisterWordA( HKL,  LPCSTR lpszReading,  DWORD,  LPCSTR lpszUnregister);
-BOOL __stdcall ImmUnregisterWordW( HKL,  LPCWSTR lpszReading,  DWORD,  LPCWSTR lpszUnregister);
-
-
-
-
-
-
-UINT __stdcall ImmGetRegisterWordStyleA( HKL,  UINT nItem,  LPSTYLEBUFA);
-UINT __stdcall ImmGetRegisterWordStyleW( HKL,  UINT nItem,  LPSTYLEBUFW);
-
-
-
-
-
-
-UINT __stdcall ImmEnumRegisterWordA( HKL,  REGISTERWORDENUMPROCA,  LPCSTR lpszReading,  DWORD,  LPCSTR lpszRegister,  LPVOID);
-UINT __stdcall ImmEnumRegisterWordW( HKL,  REGISTERWORDENUMPROCW,  LPCWSTR lpszReading,  DWORD,  LPCWSTR lpszRegister,  LPVOID);
-
-
-
-
-
-
-
-BOOL __stdcall ImmDisableIME( DWORD);
-BOOL __stdcall ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam);
-DWORD __stdcall ImmGetImeMenuItemsA( HIMC,  DWORD,  DWORD,  LPIMEMENUITEMINFOA,  LPIMEMENUITEMINFOA,  DWORD);
-DWORD __stdcall ImmGetImeMenuItemsW( HIMC,  DWORD,  DWORD,  LPIMEMENUITEMINFOW,  LPIMEMENUITEMINFOW,  DWORD);
-
-
-
-
-
-
-BOOL __stdcall ImmDisableTextFrameService(DWORD idThread);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-typedef unsigned char   u_char;
-typedef unsigned short  u_short;
-typedef unsigned int    u_int;
-typedef unsigned long   u_long;
-typedef unsigned __int64 u_int64;
-
-
-
-
-
-
-typedef UINT_PTR        SOCKET;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct fd_set {
-        u_int fd_count;               
-        SOCKET  fd_array[64];   
-} fd_set;
-
-extern int __stdcall  __WSAFDIsSet(SOCKET, fd_set  *);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct timeval {
-        long    tv_sec;         
-        long    tv_usec;        
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct  hostent {
-        char     * h_name;           
-        char     *  * h_aliases;  
-        short   h_addrtype;             
-        short   h_length;               
-        char     *  * h_addr_list; 
-
-};
-
-
-
-
-
-struct  netent {
-        char     * n_name;           
-        char     *  * n_aliases;  
-        short   n_addrtype;             
-        u_long  n_net;                  
-};
-
-struct  servent {
-        char     * s_name;           
-        char     *  * s_aliases;  
-
-
-
-
-        short   s_port;                 
-        char     * s_proto;          
-
-};
-
-struct  protoent {
-        char     * p_name;           
-        char     *  * p_aliases;  
-        short   p_proto;                
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                        
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct in_addr {
-        union {
-                struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
-                struct { u_short s_w1,s_w2; } S_un_w;
-                u_long S_addr;
-        } S_un;
-
-                                
-
-                                
-
-                                
-
-                                
-
-                                
-
-                                
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct sockaddr_in {
-        short   sin_family;
-        u_short sin_port;
-        struct  in_addr sin_addr;
-        char    sin_zero[8];
-};
-
-
-
-
-typedef struct WSAData {
-        WORD                    wVersion;
-        WORD                    wHighVersion;
-
-
-
-
-
-
-
-        char                    szDescription[256+1];
-        char                    szSystemStatus[128+1];
-        unsigned short          iMaxSockets;
-        unsigned short          iMaxUdpDg;
-        char  *              lpVendorInfo;
-
-} WSADATA,  * LPWSADATA;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                       
-                                       
-                                       
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct sockaddr {
-        u_short sa_family;              
-        char    sa_data[14];            
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct sockaddr_storage {
-    short ss_family;               
-    char __ss_pad1[((sizeof(__int64)) - sizeof (short))];  
-                                   
-                                   
-                                   
-    __int64 __ss_align;            
-    char __ss_pad2[(128 - (sizeof (short) + ((sizeof(__int64)) - sizeof (short)) + (sizeof(__int64))))];  
-                                   
-                                   
-                                   
-};
-
-
-
-
-
-struct sockproto {
-        u_short sp_family;              
-        u_short sp_protocol;            
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct  linger {
-        u_short l_onoff;                
-        u_short l_linger;               
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _OVERLAPPED *    LPWSAOVERLAPPED;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _WSABUF {
-    u_long      len;     
-    char  *  buf;     
-} WSABUF,  * LPWSABUF;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef ULONG   SERVICETYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _flowspec
-{
-    ULONG       TokenRate;              
-    ULONG       TokenBucketSize;        
-    ULONG       PeakBandwidth;          
-    ULONG       Latency;                
-    ULONG       DelayVariation;         
-    SERVICETYPE ServiceType;
-    ULONG       MaxSduSize;             
-    ULONG       MinimumPolicedSize;     
-
-} FLOWSPEC, *PFLOWSPEC, * LPFLOWSPEC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct  {
-
-    ULONG   ObjectType;
-    ULONG   ObjectLength;  
-
-
-} QOS_OBJECT_HDR, *LPQOS_OBJECT_HDR;
-
-
-
-
-
-
-
-
-
-          
-
-          
-
-          
-
-          
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _QOS_SD_MODE {
-
-    QOS_OBJECT_HDR   ObjectHdr;
-    ULONG            ShapeDiscardMode;
-
-} QOS_SD_MODE, *LPQOS_SD_MODE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _QOS_SHAPING_RATE {
-
-    QOS_OBJECT_HDR   ObjectHdr;
-    ULONG            ShapingRate;
-
-} QOS_SHAPING_RATE, *LPQOS_SHAPING_RATE;
-
-
-
-
-
-typedef struct _QualityOfService
-{
-    FLOWSPEC      SendingFlowspec;       
-    FLOWSPEC      ReceivingFlowspec;     
-    WSABUF        ProviderSpecific;      
-} QOS,  * LPQOS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned int             GROUP;
-
-
-
-
-
-
-
-typedef struct _WSANETWORKEVENTS {
-       long lNetworkEvents;
-       int iErrorCode[10];
-} WSANETWORKEVENTS,  * LPWSANETWORKEVENTS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _WSAPROTOCOLCHAIN {
-    int ChainLen;                                 
-                                                  
-                                                  
-                                                  
-    DWORD ChainEntries[7];       
-} WSAPROTOCOLCHAIN,  * LPWSAPROTOCOLCHAIN;
-
-
-
-typedef struct _WSAPROTOCOL_INFOA {
-    DWORD dwServiceFlags1;
-    DWORD dwServiceFlags2;
-    DWORD dwServiceFlags3;
-    DWORD dwServiceFlags4;
-    DWORD dwProviderFlags;
-    GUID ProviderId;
-    DWORD dwCatalogEntryId;
-    WSAPROTOCOLCHAIN ProtocolChain;
-    int iVersion;
-    int iAddressFamily;
-    int iMaxSockAddr;
-    int iMinSockAddr;
-    int iSocketType;
-    int iProtocol;
-    int iProtocolMaxOffset;
-    int iNetworkByteOrder;
-    int iSecurityScheme;
-    DWORD dwMessageSize;
-    DWORD dwProviderReserved;
-    CHAR   szProtocol[255+1];
-} WSAPROTOCOL_INFOA,  * LPWSAPROTOCOL_INFOA;
-typedef struct _WSAPROTOCOL_INFOW {
-    DWORD dwServiceFlags1;
-    DWORD dwServiceFlags2;
-    DWORD dwServiceFlags3;
-    DWORD dwServiceFlags4;
-    DWORD dwProviderFlags;
-    GUID ProviderId;
-    DWORD dwCatalogEntryId;
-    WSAPROTOCOLCHAIN ProtocolChain;
-    int iVersion;
-    int iAddressFamily;
-    int iMaxSockAddr;
-    int iMinSockAddr;
-    int iSocketType;
-    int iProtocol;
-    int iProtocolMaxOffset;
-    int iNetworkByteOrder;
-    int iSecurityScheme;
-    DWORD dwMessageSize;
-    DWORD dwProviderReserved;
-    WCHAR  szProtocol[255+1];
-} WSAPROTOCOL_INFOW,  * LPWSAPROTOCOL_INFOW;
-
-typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO;
-typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef
-int
-(__stdcall * LPCONDITIONPROC)(
-     LPWSABUF lpCallerId,
-     LPWSABUF lpCallerData,
-      LPQOS lpSQOS,
-      LPQOS lpGQOS,
-     LPWSABUF lpCalleeId,
-     LPWSABUF lpCalleeData,
-     GROUP  * g,
-     DWORD_PTR dwCallbackData
-    );
-
-typedef
-void
-(__stdcall * LPWSAOVERLAPPED_COMPLETION_ROUTINE)(
-     DWORD dwError,
-     DWORD cbTransferred,
-     LPWSAOVERLAPPED lpOverlapped,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-typedef enum _WSACOMPLETIONTYPE {
-    NSP_NOTIFY_IMMEDIATELY = 0,
-    NSP_NOTIFY_HWND,
-    NSP_NOTIFY_EVENT,
-    NSP_NOTIFY_PORT,
-    NSP_NOTIFY_APC,
-} WSACOMPLETIONTYPE, *PWSACOMPLETIONTYPE,  * LPWSACOMPLETIONTYPE;
-
-typedef struct _WSACOMPLETION {
-    WSACOMPLETIONTYPE Type;
-    union {
-        struct {
-            HWND hWnd;
-            UINT uMsg;
-            WPARAM context;
-        } WindowMessage;
-        struct {
-            LPWSAOVERLAPPED lpOverlapped;
-        } Event;
-        struct {
-            LPWSAOVERLAPPED lpOverlapped;
-            LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc;
-        } Apc;
-        struct {
-            LPWSAOVERLAPPED lpOverlapped;
-            HANDLE hPort;
-            ULONG_PTR Key;
-        } Port;
-    } Parameters;
-} WSACOMPLETION, *PWSACOMPLETION,  *LPWSACOMPLETION;
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct sockaddr SOCKADDR;
-typedef struct sockaddr *PSOCKADDR;
-typedef struct sockaddr  *LPSOCKADDR;
-
-typedef struct sockaddr_storage SOCKADDR_STORAGE;
-typedef struct sockaddr_storage *PSOCKADDR_STORAGE;
-typedef struct sockaddr_storage  *LPSOCKADDR_STORAGE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _SOCKET_ADDRESS {
-    LPSOCKADDR lpSockaddr ;
-    INT iSockaddrLength ;
-} SOCKET_ADDRESS, *PSOCKET_ADDRESS,  * LPSOCKET_ADDRESS ;
-
-
-
-
-typedef struct _CSADDR_INFO {
-    SOCKET_ADDRESS LocalAddr ;
-    SOCKET_ADDRESS RemoteAddr ;
-    INT iSocketType ;
-    INT iProtocol ;
-} CSADDR_INFO, *PCSADDR_INFO,  * LPCSADDR_INFO ;
-
-
-
-
-
-typedef struct _SOCKET_ADDRESS_LIST {
-    INT             iAddressCount;
-    SOCKET_ADDRESS  Address[1];
-} SOCKET_ADDRESS_LIST,  * LPSOCKET_ADDRESS_LIST;
-
-
-
-
-typedef struct _AFPROTOCOLS {
-    INT iAddressFamily;
-    INT iProtocol;
-} AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS;
-
-
-
-
-
-
-
-
-typedef enum _WSAEcomparator
-{
-    COMP_EQUAL = 0,
-    COMP_NOTLESS
-} WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR;
-
-typedef struct _WSAVersion
-{
-    DWORD           dwVersion;
-    WSAECOMPARATOR  ecHow;
-}WSAVERSION, *PWSAVERSION, *LPWSAVERSION;
-
-typedef struct _WSAQuerySetA
-{
-    DWORD           dwSize;
-    LPSTR           lpszServiceInstanceName;
-    LPGUID          lpServiceClassId;
-    LPWSAVERSION    lpVersion;
-    LPSTR           lpszComment;
-    DWORD           dwNameSpace;
-    LPGUID          lpNSProviderId;
-    LPSTR           lpszContext;
-    DWORD           dwNumberOfProtocols;
-    LPAFPROTOCOLS   lpafpProtocols;
-    LPSTR           lpszQueryString;
-    DWORD           dwNumberOfCsAddrs;
-    LPCSADDR_INFO   lpcsaBuffer;
-    DWORD           dwOutputFlags;
-    LPBLOB          lpBlob;
-} WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA;
-typedef struct _WSAQuerySetW
-{
-    DWORD           dwSize;
-    LPWSTR          lpszServiceInstanceName;
-    LPGUID          lpServiceClassId;
-    LPWSAVERSION    lpVersion;
-    LPWSTR          lpszComment;
-    DWORD           dwNameSpace;
-    LPGUID          lpNSProviderId;
-    LPWSTR          lpszContext;
-    DWORD           dwNumberOfProtocols;
-    LPAFPROTOCOLS   lpafpProtocols;
-    LPWSTR          lpszQueryString;
-    DWORD           dwNumberOfCsAddrs;
-    LPCSADDR_INFO   lpcsaBuffer;
-    DWORD           dwOutputFlags;
-    LPBLOB          lpBlob;
-} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;
-
-typedef WSAQUERYSETW WSAQUERYSET;
-typedef PWSAQUERYSETW PWSAQUERYSET;
-typedef LPWSAQUERYSETW LPWSAQUERYSET;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum _WSAESETSERVICEOP
-{
-    RNRSERVICE_REGISTER=0,
-    RNRSERVICE_DEREGISTER,
-    RNRSERVICE_DELETE
-} WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP;
-
-
-
-
-
-typedef struct _WSANSClassInfoA
-{
-    LPSTR   lpszName;
-    DWORD   dwNameSpace;
-    DWORD   dwValueType;
-    DWORD   dwValueSize;
-    LPVOID  lpValue;
-}WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA;
-typedef struct _WSANSClassInfoW
-{
-    LPWSTR  lpszName;
-    DWORD   dwNameSpace;
-    DWORD   dwValueType;
-    DWORD   dwValueSize;
-    LPVOID  lpValue;
-}WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW;
-
-typedef WSANSCLASSINFOW WSANSCLASSINFO;
-typedef PWSANSCLASSINFOW PWSANSCLASSINFO;
-typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO;
-
-
-
-
-
-
-typedef struct _WSAServiceClassInfoA
-{
-    LPGUID              lpServiceClassId;
-    LPSTR               lpszServiceClassName;
-    DWORD               dwCount;
-    LPWSANSCLASSINFOA   lpClassInfos;
-}WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA;
-typedef struct _WSAServiceClassInfoW
-{
-    LPGUID              lpServiceClassId;
-    LPWSTR              lpszServiceClassName;
-    DWORD               dwCount;
-    LPWSANSCLASSINFOW   lpClassInfos;
-}WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW;
-
-typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO;
-typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO;
-typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO;
-
-
-
-
-
-
-typedef struct _WSANAMESPACE_INFOA {
-    GUID                NSProviderId;
-    DWORD               dwNameSpace;
-    BOOL                fActive;
-    DWORD               dwVersion;
-    LPSTR               lpszIdentifier;
-} WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA;
-typedef struct _WSANAMESPACE_INFOW {
-    GUID                NSProviderId;
-    DWORD               dwNameSpace;
-    BOOL                fActive;
-    DWORD               dwVersion;
-    LPWSTR              lpszIdentifier;
-} WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW;
-
-typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO;
-typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO;
-typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO;
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-SOCKET
- __stdcall
-accept(
-     SOCKET s,
-     struct sockaddr  * addr,
-      int  * addrlen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-bind(
-     SOCKET s,
-     const struct sockaddr  * name,
-     int namelen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-closesocket(
-     SOCKET s
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-connect(
-     SOCKET s,
-     const struct sockaddr  * name,
-     int namelen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-ioctlsocket(
-     SOCKET s,
-     long cmd,
-      u_long  * argp
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-getpeername(
-     SOCKET s,
-     struct sockaddr  * name,
-      int  * namelen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-getsockname(
-     SOCKET s,
-     struct sockaddr  * name,
-      int  * namelen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-getsockopt(
-     SOCKET s,
-     int level,
-     int optname,
-     char  * optval,
-      int  * optlen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-u_long
- __stdcall
-htonl(
-     u_long hostlong
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-u_short
- __stdcall
-htons(
-     u_short hostshort
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-unsigned long
- __stdcall
-inet_addr(
-     const char  * cp
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-char  *
- __stdcall
-inet_ntoa(
-     struct in_addr in
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-listen(
-     SOCKET s,
-     int backlog
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-u_long
- __stdcall
-ntohl(
-     u_long netlong
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-u_short
- __stdcall
-ntohs(
-     u_short netshort
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-recv(
-     SOCKET s,
-     char  * buf,
-     int len,
-     int flags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-recvfrom(
-     SOCKET s,
-     char  * buf,
-     int len,
-     int flags,
-     struct sockaddr  * from,
-      int  * fromlen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-select(
-     int nfds,
-      fd_set  * readfds,
-      fd_set  * writefds,
-      fd_set  *exceptfds,
-     const struct timeval  * timeout
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-send(
-     SOCKET s,
-     const char  * buf,
-     int len,
-     int flags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-sendto(
-     SOCKET s,
-     const char  * buf,
-     int len,
-     int flags,
-     const struct sockaddr  * to,
-     int tolen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-setsockopt(
-     SOCKET s,
-     int level,
-     int optname,
-     const char  * optval,
-     int optlen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-shutdown(
-     SOCKET s,
-     int how
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-SOCKET
- __stdcall
-socket(
-     int af,
-     int type,
-     int protocol
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-struct hostent  *
- __stdcall
-gethostbyaddr(
-     const char  * addr,
-     int len,
-     int type
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-struct hostent  *
- __stdcall
-gethostbyname(
-     const char  * name
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-gethostname(
-     char  * name,
-     int namelen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-struct servent  *
- __stdcall
-getservbyport(
-     int port,
-     const char  * proto
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-struct servent  *
- __stdcall
-getservbyname(
-     const char  * name,
-     const char  * proto
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-struct protoent  *
- __stdcall
-getprotobynumber(
-     int number
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-struct protoent  *
- __stdcall
-getprotobyname(
-     const char  * name
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAStartup(
-     WORD wVersionRequested,
-     LPWSADATA lpWSAData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSACleanup(
-    void
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-void
- __stdcall
-WSASetLastError(
-     int iError
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAGetLastError(
-    void
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
- __stdcall
-WSAIsBlocking(
-    void
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAUnhookBlockingHook(
-    void
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-FARPROC
- __stdcall
-WSASetBlockingHook(
-     FARPROC lpBlockFunc
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSACancelBlockingCall(
-    void
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSAAsyncGetServByName(
-     HWND hWnd,
-     u_int wMsg,
-     const char  * name,
-     const char  * proto,
-     char  * buf,
-     int buflen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSAAsyncGetServByPort(
-     HWND hWnd,
-     u_int wMsg,
-     int port,
-     const char  * proto,
-     char  * buf,
-     int buflen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSAAsyncGetProtoByName(
-     HWND hWnd,
-     u_int wMsg,
-     const char  * name,
-     char  * buf,
-     int buflen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSAAsyncGetProtoByNumber(
-     HWND hWnd,
-     u_int wMsg,
-     int number,
-     char  * buf,
-     int buflen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSAAsyncGetHostByName(
-     HWND hWnd,
-     u_int wMsg,
-     const char  * name,
-     char  * buf,
-     int buflen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSAAsyncGetHostByAddr(
-     HWND hWnd,
-     u_int wMsg,
-     const char  * addr,
-     int len,
-     int type,
-     char  * buf,
-     int buflen
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSACancelAsyncRequest(
-     HANDLE hAsyncTaskHandle
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAAsyncSelect(
-     SOCKET s,
-     HWND hWnd,
-     u_int wMsg,
-     long lEvent
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-SOCKET
- __stdcall
-WSAAccept(
-     SOCKET s,
-     struct sockaddr  * addr,
-      LPINT addrlen,
-     LPCONDITIONPROC lpfnCondition,
-     DWORD_PTR dwCallbackData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
- __stdcall
-WSACloseEvent(
-     HANDLE hEvent
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAConnect(
-     SOCKET s,
-     const struct sockaddr  * name,
-     int namelen,
-     LPWSABUF lpCallerData,
-     LPWSABUF lpCalleeData,
-     LPQOS lpSQOS,
-     LPQOS lpGQOS
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-HANDLE
- __stdcall
-WSACreateEvent(
-    void
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSADuplicateSocketA(
-     SOCKET s,
-     DWORD dwProcessId,
-     LPWSAPROTOCOL_INFOA lpProtocolInfo
-    );
-__declspec(dllimport)
-int
- __stdcall
-WSADuplicateSocketW(
-     SOCKET s,
-     DWORD dwProcessId,
-     LPWSAPROTOCOL_INFOW lpProtocolInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAEnumNetworkEvents(
-     SOCKET s,
-     HANDLE hEventObject,
-     LPWSANETWORKEVENTS lpNetworkEvents
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAEnumProtocolsA(
-     LPINT lpiProtocols,
-     LPWSAPROTOCOL_INFOA lpProtocolBuffer,
-      LPDWORD lpdwBufferLength
-    );
-__declspec(dllimport)
-int
- __stdcall
-WSAEnumProtocolsW(
-     LPINT lpiProtocols,
-     LPWSAPROTOCOL_INFOW lpProtocolBuffer,
-      LPDWORD lpdwBufferLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAEventSelect(
-     SOCKET s,
-     HANDLE hEventObject,
-     long lNetworkEvents
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
- __stdcall
-WSAGetOverlappedResult(
-     SOCKET s,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPDWORD lpcbTransfer,
-     BOOL fWait,
-     LPDWORD lpdwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
- __stdcall
-WSAGetQOSByName(
-     SOCKET s,
-     LPWSABUF lpQOSName,
-     LPQOS lpQOS
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAHtonl(
-     SOCKET s,
-     u_long hostlong,
-     u_long  * lpnetlong
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAHtons(
-     SOCKET s,
-     u_short hostshort,
-     u_short  * lpnetshort
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSAIoctl(
-     SOCKET s,
-     DWORD dwIoControlCode,
-     LPVOID lpvInBuffer,
-     DWORD cbInBuffer,
-     LPVOID lpvOutBuffer,
-     DWORD cbOutBuffer,
-     LPDWORD lpcbBytesReturned,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-SOCKET
- __stdcall
-WSAJoinLeaf(
-     SOCKET s,
-     const struct sockaddr  * name,
-     int namelen,
-     LPWSABUF lpCallerData,
-     LPWSABUF lpCalleeData,
-     LPQOS lpSQOS,
-     LPQOS lpGQOS,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSANtohl(
-     SOCKET s,
-     u_long netlong,
-     u_long  * lphostlong
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSANtohs(
-     SOCKET s,
-     u_short netshort,
-     u_short  * lphostshort
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSARecv(
-     SOCKET s,
-      LPWSABUF lpBuffers,
-     DWORD dwBufferCount,
-     LPDWORD lpNumberOfBytesRecvd,
-      LPDWORD lpFlags,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSARecvDisconnect(
-     SOCKET s,
-     LPWSABUF lpInboundDisconnectData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSARecvFrom(
-     SOCKET s,
-      LPWSABUF lpBuffers,
-     DWORD dwBufferCount,
-     LPDWORD lpNumberOfBytesRecvd,
-      LPDWORD lpFlags,
-     struct sockaddr  * lpFrom,
-      LPINT lpFromlen,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
- __stdcall
-WSAResetEvent(
-     HANDLE hEvent
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSASend(
-     SOCKET s,
-     LPWSABUF lpBuffers,
-     DWORD dwBufferCount,
-     LPDWORD lpNumberOfBytesSent,
-     DWORD dwFlags,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSASendDisconnect(
-     SOCKET s,
-     LPWSABUF lpOutboundDisconnectData
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-int
- __stdcall
-WSASendTo(
-     SOCKET s,
-     LPWSABUF lpBuffers,
-     DWORD dwBufferCount,
-     LPDWORD lpNumberOfBytesSent,
-     DWORD dwFlags,
-     const struct sockaddr  * lpTo,
-     int iTolen,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-BOOL
- __stdcall
-WSASetEvent(
-     HANDLE hEvent
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-SOCKET
- __stdcall
-WSASocketA(
-     int af,
-     int type,
-     int protocol,
-     LPWSAPROTOCOL_INFOA lpProtocolInfo,
-     GROUP g,
-     DWORD dwFlags
-    );
-__declspec(dllimport)
-SOCKET
- __stdcall
-WSASocketW(
-     int af,
-     int type,
-     int protocol,
-     LPWSAPROTOCOL_INFOW lpProtocolInfo,
-     GROUP g,
-     DWORD dwFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-DWORD
- __stdcall
-WSAWaitForMultipleEvents(
-     DWORD cEvents,
-     const HANDLE  * lphEvents,
-     BOOL fWaitAll,
-     DWORD dwTimeout,
-     BOOL fAlertable
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAAddressToStringA(
-         LPSOCKADDR          lpsaAddress,
-         DWORD               dwAddressLength,
-         LPWSAPROTOCOL_INFOA lpProtocolInfo,
-      LPSTR             lpszAddressString,
-      LPDWORD             lpdwAddressStringLength
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSAAddressToStringW(
-         LPSOCKADDR          lpsaAddress,
-         DWORD               dwAddressLength,
-         LPWSAPROTOCOL_INFOW lpProtocolInfo,
-      LPWSTR             lpszAddressString,
-      LPDWORD             lpdwAddressStringLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAStringToAddressA(
-         LPSTR               AddressString,
-         INT                 AddressFamily,
-         LPWSAPROTOCOL_INFOA lpProtocolInfo,
-        LPSOCKADDR          lpAddress,
-      LPINT               lpAddressLength
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSAStringToAddressW(
-         LPWSTR              AddressString,
-         INT                 AddressFamily,
-         LPWSAPROTOCOL_INFOW lpProtocolInfo,
-        LPSOCKADDR          lpAddress,
-      LPINT               lpAddressLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSALookupServiceBeginA(
-      LPWSAQUERYSETA lpqsRestrictions,
-      DWORD          dwControlFlags,
-     LPHANDLE       lphLookup
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSALookupServiceBeginW(
-      LPWSAQUERYSETW lpqsRestrictions,
-      DWORD          dwControlFlags,
-     LPHANDLE       lphLookup
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSALookupServiceNextA(
-         HANDLE           hLookup,
-         DWORD            dwControlFlags,
-      LPDWORD          lpdwBufferLength,
-        LPWSAQUERYSETA   lpqsResults
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSALookupServiceNextW(
-         HANDLE           hLookup,
-         DWORD            dwControlFlags,
-      LPDWORD          lpdwBufferLength,
-        LPWSAQUERYSETW   lpqsResults
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSANSPIoctl(
-      HANDLE           hLookup,
-      DWORD            dwControlCode,
-      LPVOID           lpvInBuffer,
-      DWORD            cbInBuffer,
-     LPVOID           lpvOutBuffer,
-      DWORD            cbOutBuffer,
-     LPDWORD          lpcbBytesReturned,
-      LPWSACOMPLETION  lpCompletion
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSALookupServiceEnd(
-     HANDLE  hLookup
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAInstallServiceClassA(
-      LPWSASERVICECLASSINFOA   lpServiceClassInfo
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSAInstallServiceClassW(
-      LPWSASERVICECLASSINFOW   lpServiceClassInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSARemoveServiceClass(
-      LPGUID  lpServiceClassId
-    );
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAGetServiceClassInfoA(
-      LPGUID  lpProviderId,
-      LPGUID  lpServiceClassId,
-      LPDWORD  lpdwBufSize,
-     LPWSASERVICECLASSINFOA lpServiceClassInfo
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSAGetServiceClassInfoW(
-      LPGUID  lpProviderId,
-      LPGUID  lpServiceClassId,
-      LPDWORD  lpdwBufSize,
-     LPWSASERVICECLASSINFOW lpServiceClassInfo
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAEnumNameSpaceProvidersA(
-      LPDWORD              lpdwBufferLength,
-        LPWSANAMESPACE_INFOA lpnspBuffer
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSAEnumNameSpaceProvidersW(
-      LPDWORD              lpdwBufferLength,
-        LPWSANAMESPACE_INFOW lpnspBuffer
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAGetServiceClassNameByClassIdA(
-          LPGUID  lpServiceClassId,
-         LPSTR lpszServiceClassName,
-       LPDWORD lpdwBufferLength
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSAGetServiceClassNameByClassIdW(
-          LPGUID  lpServiceClassId,
-         LPWSTR lpszServiceClassName,
-       LPDWORD lpdwBufferLength
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSASetServiceA(
-     LPWSAQUERYSETA lpqsRegInfo,
-     WSAESETSERVICEOP essoperation,
-     DWORD dwControlFlags
-    );
-__declspec(dllimport)
-INT
- __stdcall
-WSASetServiceW(
-     LPWSAQUERYSETW lpqsRegInfo,
-     WSAESETSERVICEOP essoperation,
-     DWORD dwControlFlags
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)
-INT
- __stdcall
-WSAProviderConfigChange(
-      LPHANDLE lpNotificationHandle,
-     LPWSAOVERLAPPED lpOverlapped,
-     LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
-    );
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct sockaddr_in SOCKADDR_IN;
-typedef struct sockaddr_in *PSOCKADDR_IN;
-typedef struct sockaddr_in  *LPSOCKADDR_IN;
-
-typedef struct linger LINGER;
-typedef struct linger *PLINGER;
-typedef struct linger  *LPLINGER;
-
-typedef struct in_addr IN_ADDR;
-typedef struct in_addr *PIN_ADDR;
-typedef struct in_addr  *LPIN_ADDR;
-
-typedef struct fd_set FD_SET;
-typedef struct fd_set *PFD_SET;
-typedef struct fd_set  *LPFD_SET;
-
-typedef struct hostent HOSTENT;
-typedef struct hostent *PHOSTENT;
-typedef struct hostent  *LPHOSTENT;
-
-typedef struct servent SERVENT;
-typedef struct servent *PSERVENT;
-typedef struct servent  *LPSERVENT;
-
-typedef struct protoent PROTOENT;
-typedef struct protoent *PPROTOENT;
-typedef struct protoent  *LPPROTOENT;
-
-typedef struct timeval TIMEVAL;
-typedef struct timeval *PTIMEVAL;
-typedef struct timeval  *LPTIMEVAL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-#pragma warning(disable: 4786) 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4514)       
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-#pragma deprecated("_ftcscat")
-#pragma deprecated("_ftcschr")
-#pragma deprecated("_ftcscpy")
-#pragma deprecated("_ftcscspn")
-#pragma deprecated("_ftcslen")
-#pragma deprecated("_ftcsncat")
-#pragma deprecated("_ftcsncpy")
-#pragma deprecated("_ftcspbrk")
-#pragma deprecated("_ftcsrchr")
-#pragma deprecated("_ftcsspn")
-#pragma deprecated("_ftcsstr")
-#pragma deprecated("_ftcstok")
-#pragma deprecated("_ftcsdup")
-#pragma deprecated("_ftcsnset")
-#pragma deprecated("_ftcsrev")
-#pragma deprecated("_ftcsset")
-#pragma deprecated("_ftcscmp")
-#pragma deprecated("_ftcsicmp")
-#pragma deprecated("_ftcsnccmp")
-#pragma deprecated("_ftcsncmp")
-#pragma deprecated("_ftcsncicmp")
-#pragma deprecated("_ftcsnicmp")
-#pragma deprecated("_ftcscoll")
-#pragma deprecated("_ftcsicoll")
-#pragma deprecated("_ftcsnccoll")
-#pragma deprecated("_ftcsncoll")
-#pragma deprecated("_ftcsncicoll")
-#pragma deprecated("_ftcsnicoll")
-#pragma deprecated("_ftcsclen")
-#pragma deprecated("_ftcsnccat")
-#pragma deprecated("_ftcsnccpy")
-#pragma deprecated("_ftcsncset")
-#pragma deprecated("_ftcsdec")
-#pragma deprecated("_ftcsinc")
-#pragma deprecated("_ftcsnbcnt")
-#pragma deprecated("_ftcsnccnt")
-#pragma deprecated("_ftcsnextc")
-#pragma deprecated("_ftcsninc")
-#pragma deprecated("_ftcsspnp")
-#pragma deprecated("_ftcslwr")
-#pragma deprecated("_ftcsupr")
-#pragma deprecated("_ftclen")
-#pragma deprecated("_ftccpy")
-#pragma deprecated("_ftccmp")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}   
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct _iobuf {
-        char *_ptr;
-        int   _cnt;
-        char *_base;
-        int   _flag;
-        int   _file;
-        int   _charbuf;
-        int   _bufsiz;
-        char *_tmpfname;
-        };
-typedef struct _iobuf FILE;
-
-
-
-
-
-
-__declspec(dllimport) FILE * __cdecl __iob_func(void);
-
-
-
-
-
-
-
-
-
-
-typedef unsigned long _fsize_t; 
-
-
-
-
-
-struct _wfinddata32_t {
-        unsigned    attrib;
-        __time32_t  time_create;    
-        __time32_t  time_access;    
-        __time32_t  time_write;
-        _fsize_t    size;
-        wchar_t     name[260];
-};
-
-
-
-struct _wfinddata32i64_t {
-        unsigned    attrib;
-        __time32_t  time_create;    
-        __time32_t  time_access;    
-        __time32_t  time_write;
-        __int64     size;
-        wchar_t     name[260];
-};
-
-struct _wfinddata64i32_t {
-        unsigned    attrib;
-        __time64_t  time_create;    
-        __time64_t  time_access;    
-        __time64_t  time_write;
-        _fsize_t    size;
-        wchar_t     name[260];
-};
-
-struct _wfinddata64_t {
-        unsigned    attrib;
-        __time64_t  time_create;    
-        __time64_t  time_access;    
-        __time64_t  time_write;
-        __int64     size;
-        wchar_t     name[260];
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-                                
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)         wchar_t * __cdecl _wgetcwd(       wchar_t * _DstBuf,      int _SizeInWords);
-__declspec(dllimport)         wchar_t * __cdecl _wgetdcwd(     int _Drive,        wchar_t * _DstBuf,      int _SizeInWords);
-        wchar_t * __cdecl _wgetdcwd_nolock(     int _Drive,        wchar_t * _DstBuf,      int _SizeInWords);
-
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _wchdir(       const wchar_t * _Path);
-__declspec(dllimport)  int __cdecl _wmkdir(       const wchar_t * _Path);
-__declspec(dllimport)  int __cdecl _wrmdir(       const wchar_t * _Path);
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _waccess(       const wchar_t * _Filename,      int _AccessMode);
-__declspec(dllimport)  errno_t __cdecl _waccess_s(       const wchar_t * _Filename,      int _AccessMode);
-__declspec(dllimport)  int __cdecl _wchmod(       const wchar_t * _Filename,      int _Mode);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _wcreat(       const wchar_t * _Filename,      int _PermissionMode);
-__declspec(dllimport)  intptr_t __cdecl _wfindfirst32(       const wchar_t * _Filename,      struct _wfinddata32_t * _FindData);
-__declspec(dllimport)  int __cdecl _wfindnext32(     intptr_t _FindHandle,      struct _wfinddata32_t * _FindData);
-__declspec(dllimport)  int __cdecl _wunlink(       const wchar_t * _Filename);
-__declspec(dllimport)  int __cdecl _wrename(       const wchar_t * _NewFilename,        const wchar_t * _OldFilename);
-__declspec(dllimport) errno_t __cdecl _wmktemp_s(           wchar_t * _TemplateName,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wmktemp_s(       wchar_t (&_TemplateName)[_Size]) { return _wmktemp_s(_TemplateName, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wmktemp_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wmktemp( wchar_t *_TemplateName);
-
-
-__declspec(dllimport)  intptr_t __cdecl _wfindfirst32i64(       const wchar_t * _Filename,      struct _wfinddata32i64_t * _FindData);
-__declspec(dllimport)  intptr_t __cdecl _wfindfirst64i32(       const wchar_t * _Filename,      struct _wfinddata64i32_t * _FindData);
-__declspec(dllimport)  intptr_t __cdecl _wfindfirst64(       const wchar_t * _Filename,      struct _wfinddata64_t * _FindData);
-__declspec(dllimport)  int __cdecl _wfindnext32i64(     intptr_t _FindHandle,      struct _wfinddata32i64_t * _FindData);
-__declspec(dllimport)  int __cdecl _wfindnext64i32(     intptr_t _FindHandle,      struct _wfinddata64i32_t * _FindData);
-__declspec(dllimport)  int __cdecl _wfindnext64(     intptr_t _FindHandle,      struct _wfinddata64_t * _FindData);
-
-
-__declspec(dllimport)  errno_t __cdecl _wsopen_s(     int * _FileHandle,        const wchar_t * _Filename,      int _OpenFlag,      int _ShareFlag,      int _PermissionFlag);
-
-
-
-
-
-
-
-
-
-extern "C++" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl _wopen(       const wchar_t * _Filename,      int _OpenFlag,      int _PermissionMode = 0);
-extern "C++" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl _wsopen(       const wchar_t * _Filename,      int _OpenFlag,      int _ShareFlag, int _PermissionMode = 0);
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  wchar_t * __cdecl _wsetlocale(     int _Category,          const wchar_t * _Locale);
-
-
-
-
-
-
-
-
-__declspec(dllimport) intptr_t __cdecl _wexecl(       const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wexecle(       const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wexeclp(       const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wexeclpe(       const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wexecv(       const wchar_t * _Filename,        const wchar_t * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _wexecve(       const wchar_t * _Filename,        const wchar_t * const * _ArgList,
-                 const wchar_t * const * _Env);
-__declspec(dllimport) intptr_t __cdecl _wexecvp(       const wchar_t * _Filename,        const wchar_t * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _wexecvpe(       const wchar_t * _Filename,        const wchar_t * const * _ArgList, 
-                 const wchar_t * const * _Env);
-__declspec(dllimport) intptr_t __cdecl _wspawnl(     int _Mode,        const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wspawnle(     int _Mode,        const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wspawnlp(     int _Mode,        const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wspawnlpe(     int _Mode,        const wchar_t * _Filename,        const wchar_t * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _wspawnv(     int _Mode,        const wchar_t * _Filename,        const wchar_t * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _wspawnve(     int _Mode,        const wchar_t * _Filename,        const wchar_t * const * _ArgList,
-                 const wchar_t * const * _Env);
-__declspec(dllimport) intptr_t __cdecl _wspawnvp(     int _Mode,        const wchar_t * _Filename,        const wchar_t * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _wspawnvpe(     int _Mode,        const wchar_t * _Filename,        const wchar_t * const * _ArgList,
-                 const wchar_t * const * _Env);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef unsigned short _ino_t;      
-
-
-typedef unsigned short ino_t;
-
-
-
-
-
-typedef unsigned int _dev_t;        
-
-
-typedef unsigned int dev_t;
-
-
-
-
-
-typedef long _off_t;                
-
-
-typedef long off_t;
-
-
-
-
-
-
-struct _stat32 {
-        _dev_t     st_dev;
-        _ino_t     st_ino;
-        unsigned short st_mode;
-        short      st_nlink;
-        short      st_uid;
-        short      st_gid;
-        _dev_t     st_rdev;
-        _off_t     st_size;
-        __time32_t st_atime;
-        __time32_t st_mtime;
-        __time32_t st_ctime;
-        };
-
-
-
-struct stat {
-        _dev_t     st_dev;
-        _ino_t     st_ino;
-        unsigned short st_mode;
-        short      st_nlink;
-        short      st_uid;
-        short      st_gid;
-        _dev_t     st_rdev;
-        _off_t     st_size;
-        time_t st_atime;
-        time_t st_mtime;
-        time_t st_ctime;
-        };
-
-
-
-
-
-struct _stat32i64 {
-        _dev_t     st_dev;
-        _ino_t     st_ino;
-        unsigned short st_mode;
-        short      st_nlink;
-        short      st_uid;
-        short      st_gid;
-        _dev_t     st_rdev;
-        __int64    st_size;
-        __time32_t st_atime;
-        __time32_t st_mtime;
-        __time32_t st_ctime;
-        };
-
-struct _stat64i32 {
-        _dev_t     st_dev;
-        _ino_t     st_ino;
-        unsigned short st_mode;
-        short      st_nlink;
-        short      st_uid;
-        short      st_gid;
-        _dev_t     st_rdev;
-        _off_t     st_size;
-        __time64_t st_atime;
-        __time64_t st_mtime;
-        __time64_t st_ctime;
-        };
-
-struct _stat64 {
-        _dev_t     st_dev;
-        _ino_t     st_ino;
-        unsigned short st_mode;
-        short      st_nlink;
-        short      st_uid;
-        short      st_gid;
-        _dev_t     st_rdev;
-        __int64    st_size;
-        __time64_t st_atime;
-        __time64_t st_mtime;
-        __time64_t st_ctime;
-        };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) int __cdecl _wstat32(       const wchar_t * _Name,      struct _stat32 * _Stat);
-
-
-__declspec(dllimport) int __cdecl _wstat32i64(       const wchar_t * _Name,      struct _stat32i64 * _Stat);
-__declspec(dllimport) int __cdecl _wstat64i32(       const wchar_t * _Name,      struct _stat64i32 * _Stat);
-__declspec(dllimport) int __cdecl _wstat64(       const wchar_t * _Name,      struct _stat64 * _Stat);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  errno_t __cdecl _cgetws_s(       wchar_t * _Buffer, size_t _SizeInWords,      size_t * _SizeRead);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _cgetws_s(       wchar_t (&_Buffer)[_Size], size_t * _Size) { return _cgetws_s(_Buffer, _Size, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_cgetws_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _cgetws(         wchar_t *_Buffer);
-__declspec(dllimport)  wint_t __cdecl _getwch(void);
-__declspec(dllimport)  wint_t __cdecl _getwche(void);
-__declspec(dllimport)  wint_t __cdecl _putwch(wchar_t _WCh);
-__declspec(dllimport)  wint_t __cdecl _ungetwch(wint_t _WCh);
-__declspec(dllimport)  int __cdecl _cputws(       const wchar_t * _String);
-__declspec(dllimport)  int __cdecl _cwprintf(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _cwprintf_s(        const wchar_t * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_cwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _cwscanf(        const wchar_t * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_cwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _cwscanf_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _cwscanf_s(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _cwscanf_s_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vcwprintf(        const wchar_t *_Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vcwprintf_s(        const wchar_t *_Format, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _cwprintf_p(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _vcwprintf_p(        const wchar_t*  _Format, va_list _ArgList);
-
-__declspec(dllimport) int __cdecl _cwprintf_l(       const  wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport) int __cdecl _cwprintf_s_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport) int __cdecl _vcwprintf_l(        const wchar_t *_Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport) int __cdecl _vcwprintf_s_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport) int __cdecl _cwprintf_p_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport) int __cdecl _vcwprintf_p_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-
- wint_t __cdecl _putwch_nolock(wchar_t _WCh);
- wint_t __cdecl _getwch_nolock(void);
- wint_t __cdecl _getwche_nolock(void);
- wint_t __cdecl _ungetwch_nolock(wint_t _WCh);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  FILE * __cdecl _wfsopen(       const wchar_t * _Filename,        const wchar_t * _Mode,      int _ShFlag);
-
-
-__declspec(dllimport)  wint_t __cdecl fgetwc(     FILE * _File);
-__declspec(dllimport)  wint_t __cdecl _fgetwchar(void);
-__declspec(dllimport)  wint_t __cdecl fputwc(       wchar_t _Ch,      FILE * _File);
-__declspec(dllimport)  wint_t __cdecl _fputwchar(       wchar_t _Ch);
-__declspec(dllimport)  wint_t __cdecl getwc(     FILE * _File);
-__declspec(dllimport)  wint_t __cdecl getwchar(void);
-__declspec(dllimport)  wint_t __cdecl putwc(       wchar_t _Ch,      FILE * _File);
-__declspec(dllimport)  wint_t __cdecl putwchar(       wchar_t _Ch);
-__declspec(dllimport)  wint_t __cdecl ungetwc(     wint_t _Ch,      FILE * _File);
-
-__declspec(dllimport)  wchar_t * __cdecl fgetws(       wchar_t * _Dst,      int _SizeInWords,      FILE * _File);
-__declspec(dllimport)  int __cdecl fputws(       const wchar_t * _Str,      FILE * _File);
-__declspec(dllimport)  wchar_t * __cdecl _getws_s(       wchar_t * _Str,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline wchar_t * __cdecl _getws_s(     wchar_t (&_String)[_Size]) { return _getws_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_getws_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _getws( wchar_t *_String);
-__declspec(dllimport)  int __cdecl _putws(       const wchar_t * _Str);
-
-__declspec(dllimport)  int __cdecl fwprintf(     FILE * _File,         const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl fwprintf_s(     FILE * _File,         const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl wprintf(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl wprintf_s(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _scwprintf(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl vfwprintf(     FILE * _File,         const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vfwprintf_s(     FILE * _File,         const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vwprintf(        const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vwprintf_s(        const wchar_t * _Format, va_list _ArgList);
-
-__declspec(dllimport) int __cdecl swprintf_s(       wchar_t * _Dst,      size_t _SizeInWords,         const wchar_t * _Format, ...);
-extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl swprintf_s(     wchar_t (&_Dest)[_Size],         const wchar_t * _Format, ...) { va_list _ArgList; ( _ArgList = (va_list)( &reinterpret_cast<const char &>(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ); return vswprintf_s(_Dest, _Size, _Format, _ArgList); } __pragma(warning(pop)); }
-__declspec(dllimport) int __cdecl vswprintf_s(       wchar_t * _Dst,      size_t _SizeInWords,         const wchar_t * _Format, va_list _ArgList);
-extern "C++" { template <size_t _Size> inline int __cdecl vswprintf_s(     wchar_t (&_Dest)[_Size],         const wchar_t * _Format, va_list _Args) { return vswprintf_s(_Dest, _Size, _Format, _Args); } }
-
-__declspec(dllimport)  int __cdecl _swprintf_c(       wchar_t * _DstBuf,      size_t _SizeInWords,         const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _vswprintf_c(       wchar_t * _DstBuf,      size_t _SizeInWords,         const wchar_t * _Format, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _snwprintf_s(       wchar_t * _DstBuf,      size_t _DstSizeInWords,      size_t _MaxCount,         const wchar_t * _Format, ...);
-extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl _snwprintf_s(     wchar_t (&_Dest)[_Size],      size_t _Count,         const wchar_t * _Format, ...) { va_list _ArgList; ( _ArgList = (va_list)( &reinterpret_cast<const char &>(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ); return _vsnwprintf_s(_Dest, _Size, _Count, _Format, _ArgList); } __pragma(warning(pop)); }
-__declspec(dllimport)  int __cdecl _vsnwprintf_s(       wchar_t * _DstBuf,      size_t _DstSizeInWords,      size_t _MaxCount,         const wchar_t * _Format, va_list _ArgList);
-extern "C++" { template <size_t _Size> inline int __cdecl _vsnwprintf_s(     wchar_t (&_Dest)[_Size],      size_t _Count,         const wchar_t * _Format, va_list _Args) { return _vsnwprintf_s(_Dest, _Size, _Count, _Format, _Args); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl _snwprintf(     wchar_t *_Dest,      size_t _Count,         const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl _vsnwprintf(     wchar_t *_Dest,      size_t _Count,         const wchar_t * _Format, va_list _Args);
-
-__declspec(dllimport)  int __cdecl _fwprintf_p(     FILE * _File,         const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _wprintf_p(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _vfwprintf_p(     FILE * _File,         const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vwprintf_p(        const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _swprintf_p(       wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _vswprintf_p(       wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _scwprintf_p(        const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _vscwprintf_p(        const wchar_t * _Format, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _wprintf_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _wprintf_p_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _wprintf_s_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vwprintf_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vwprintf_p_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vwprintf_s_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _fwprintf_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _fwprintf_p_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _fwprintf_s_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vfwprintf_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vfwprintf_p_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vfwprintf_s_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _swprintf_c_l(       wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _swprintf_p_l(       wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _swprintf_s_l(       wchar_t * _DstBuf,      size_t _DstSize,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vswprintf_c_l(       wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vswprintf_p_l(       wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vswprintf_s_l(       wchar_t * _DstBuf,      size_t _DstSize,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _scwprintf_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _scwprintf_p_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vscwprintf_p_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _snwprintf_l(     wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _snwprintf_s_l(       wchar_t * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _vsnwprintf_l(     wchar_t * _DstBuf,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsnwprintf_s_l(       wchar_t * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable:4141 4996)
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(dllimport) int __cdecl _swprintf(     wchar_t *_Dest,         const wchar_t * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(dllimport) int __cdecl _vswprintf(     wchar_t *_Dest,         const wchar_t * _Format, va_list _Args);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "__swprintf_l_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(dllimport) int __cdecl __swprintf_l(     wchar_t *_Dest,         const wchar_t * _Format, _locale_t _Plocinfo, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(dllimport) int __cdecl __vswprintf_l(     wchar_t *_Dest,         const wchar_t * _Format, _locale_t _Plocinfo, va_list _Args);
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning( push )
-#pragma warning( disable : 4793 4412 )
-static __inline int swprintf(wchar_t * _String, size_t _Count, const wchar_t * _Format, ...)
-{
-    va_list _Arglist;
-    int _Ret;
-    ( _Arglist = (va_list)( &reinterpret_cast<const char &>(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-    _Ret = _vswprintf_c_l(_String, _Count, _Format, 0, _Arglist);
-    ( _Arglist = (va_list)0 );
-    return _Ret;
-}
-#pragma warning( pop )
-
-#pragma warning( push )
-#pragma warning( disable : 4412 )
-static __inline int __cdecl vswprintf(wchar_t * _String, size_t _Count, const wchar_t * _Format, va_list _Ap)
-{
-    return _vswprintf_c_l(_String, _Count, _Format, 0, _Ap);
-}
-#pragma warning( pop )
-
-
-
-
-#pragma warning( push )
-#pragma warning( disable : 4793 4412 )
-static __inline int _swprintf_l(wchar_t * _String, size_t _Count, const wchar_t * _Format, _locale_t _Plocinfo, ...)
-{
-    va_list _Arglist;
-    int _Ret;
-    ( _Arglist = (va_list)( &reinterpret_cast<const char &>(_Plocinfo) ) + ( (sizeof(_Plocinfo) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-    _Ret = _vswprintf_c_l(_String, _Count, _Format, _Plocinfo, _Arglist);
-    ( _Arglist = (va_list)0 );
-    return _Ret;
-}
-#pragma warning( pop )
-
-#pragma warning( push )
-#pragma warning( disable : 4412 )
-static __inline int __cdecl _vswprintf_l(wchar_t * _String, size_t _Count, const wchar_t * _Format, _locale_t _Plocinfo, va_list _Ap)
-{
-    return _vswprintf_c_l(_String, _Count, _Format, _Plocinfo, _Ap);
-}
-#pragma warning( pop )
-
-
-#pragma warning( push )
-#pragma warning( disable : 4996 )
-
-#pragma warning( push )
-#pragma warning( disable : 4793 4141 )
-extern "C++" __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline int swprintf(     wchar_t * _String,         const wchar_t * _Format, ...)
-{
-    va_list _Arglist;
-    ( _Arglist = (va_list)( &reinterpret_cast<const char &>(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-    int _Ret = _vswprintf(_String, _Format, _Arglist);
-    ( _Arglist = (va_list)0 );
-    return _Ret;
-}
-#pragma warning( pop )
-
-#pragma warning( push )
-#pragma warning( disable : 4141 )
-extern "C++" __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline int __cdecl vswprintf(     wchar_t * _String,         const wchar_t * _Format, va_list _Ap)
-{
-    return _vswprintf(_String, _Format, _Ap);
-}
-#pragma warning( pop )
-
-#pragma warning( push )
-#pragma warning( disable : 4793 4141 )
-extern "C++" __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline int _swprintf_l(     wchar_t * _String,         const wchar_t * _Format, _locale_t _Plocinfo, ...)
-{
-    va_list _Arglist;
-    ( _Arglist = (va_list)( &reinterpret_cast<const char &>(_Plocinfo) ) + ( (sizeof(_Plocinfo) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-    int _Ret = __vswprintf_l(_String, _Format, _Plocinfo, _Arglist);
-    ( _Arglist = (va_list)0 );
-    return _Ret;
-}
-#pragma warning( pop )
-
-#pragma warning( push )
-#pragma warning( disable : 4141 )
-extern "C++" __declspec(deprecated("swprintf has been changed to conform with the ISO C standard, adding an extra character count parameter. To use traditional Microsoft swprintf, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline int __cdecl _vswprintf_l(     wchar_t * _String,         const wchar_t * _Format, _locale_t _Plocinfo, va_list _Ap)
-{
-    return __vswprintf_l(_String, _Format, _Plocinfo, _Ap);
-}
-#pragma warning( pop )
-
-#pragma warning( pop )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  wchar_t * __cdecl _wtempnam(         const wchar_t * _Directory,          const wchar_t * _FilePrefix);
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _vscwprintf(        const wchar_t * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vscwprintf_l(        const wchar_t * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "fwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl fwscanf(     FILE * _File,         const wchar_t * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_fwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _fwscanf_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  int __cdecl fwscanf_s(     FILE * _File,         const wchar_t * _Format, ...);
-
-__declspec(dllimport)  int __cdecl _fwscanf_s_l(     FILE * _File,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "swscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl swscanf(       const wchar_t * _Src,         const wchar_t * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_swscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _swscanf_l(       const wchar_t * _Src,         const wchar_t * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  int __cdecl swscanf_s(       const wchar_t *_Src,         const wchar_t * _Format, ...);
-
-__declspec(dllimport)  int __cdecl _swscanf_s_l(       const wchar_t * _Src,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _snwscanf(         const wchar_t * _Src,      size_t _MaxCount,         const wchar_t * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _snwscanf_l(         const wchar_t * _Src,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _snwscanf_s(         const wchar_t * _Src,      size_t _MaxCount,         const wchar_t * _Format, ...);
-__declspec(dllimport)  int __cdecl _snwscanf_s_l(         const wchar_t * _Src,      size_t _MaxCount,         const wchar_t * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl wscanf(        const wchar_t * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _wscanf_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  int __cdecl wscanf_s(        const wchar_t * _Format, ...);
-
-__declspec(dllimport)  int __cdecl _wscanf_s_l(        const wchar_t * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  FILE * __cdecl _wfdopen(     int _FileHandle ,        const wchar_t * _Mode);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wfopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  FILE * __cdecl _wfopen(       const wchar_t * _Filename,        const wchar_t * _Mode);
-__declspec(dllimport)  errno_t __cdecl _wfopen_s(                  FILE ** _File,        const wchar_t * _Filename,        const wchar_t * _Mode);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wfreopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  FILE * __cdecl _wfreopen(       const wchar_t * _Filename,        const wchar_t * _Mode,      FILE * _OldFile);
-__declspec(dllimport)  errno_t __cdecl _wfreopen_s(                  FILE ** _File,        const wchar_t * _Filename,        const wchar_t * _Mode,      FILE * _OldFile);
-
-
-
-
-
-__declspec(dllimport)  FILE * __cdecl _wpopen(       const wchar_t *_Command,        const wchar_t * _Mode);
-__declspec(dllimport)  int __cdecl _wremove(       const wchar_t * _Filename);
-__declspec(dllimport)  errno_t __cdecl _wtmpnam_s(       wchar_t * _DstBuf,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wtmpnam_s(       wchar_t (&_Buffer)[_Size]) { return _wtmpnam_s(_Buffer, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wtmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wtmpnam( wchar_t *_Buffer);
-
-__declspec(dllimport)  wint_t __cdecl _fgetwc_nolock(     FILE * _File);
-__declspec(dllimport)  wint_t __cdecl _fputwc_nolock(       wchar_t _Ch,      FILE * _File);
-__declspec(dllimport)  wint_t __cdecl _ungetwc_nolock(     wint_t _Ch,      FILE * _File);
-
-
-
-
-
-
-
-inline wint_t __cdecl getwchar()
-        {return (fgetwc((&__iob_func()[0]))); }   
-inline wint_t __cdecl putwchar(wchar_t _C)
-        {return (fputwc(_C, (&__iob_func()[1]))); }       
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct tm {
-        int tm_sec;     
-        int tm_min;     
-        int tm_hour;    
-        int tm_mday;    
-        int tm_mon;     
-        int tm_year;    
-        int tm_wday;    
-        int tm_yday;    
-        int tm_isdst;   
-        };
-
-
-
-
-
-
- 
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wasctime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wasctime(     const struct tm * _Tm);
-__declspec(dllimport) errno_t __cdecl _wasctime_s(       wchar_t *_Buf,      size_t _SizeInWords,      const struct tm * _Tm);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wasctime_s(       wchar_t (&_Buffer)[_Size],      const struct tm * _Time) { return _wasctime_s(_Buffer, _Size, _Time); } }
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctime32_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wctime32(     const __time32_t *_Time);
-__declspec(dllimport) errno_t __cdecl _wctime32_s(       wchar_t* _Buf,      size_t _SizeInWords,      const __time32_t * _Time);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wctime32_s(       wchar_t (&_Buffer)[_Size],      const __time32_t * _Time) { return _wctime32_s(_Buffer, _Size, _Time); } }
-
-__declspec(dllimport) size_t __cdecl wcsftime(       wchar_t * _Buf,      size_t _SizeInWords,         const wchar_t * _Format,       const struct tm * _Tm);
-__declspec(dllimport) size_t __cdecl _wcsftime_l(       wchar_t * _Buf,      size_t _SizeInWords,         const wchar_t *_Format,      const struct tm *_Tm,        _locale_t _Locale);
-
-__declspec(dllimport) errno_t __cdecl _wstrdate_s(       wchar_t * _Buf,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wstrdate_s(       wchar_t (&_Buffer)[_Size]) { return _wstrdate_s(_Buffer, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wstrdate_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wstrdate( wchar_t *_Buffer);
-
-__declspec(dllimport) errno_t __cdecl _wstrtime_s(       wchar_t * _Buf,      size_t _SizeInWords);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wstrtime_s(       wchar_t (&_Buffer)[_Size]) { return _wstrtime_s(_Buffer, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wstrtime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wstrtime( wchar_t *_Buffer);
-
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctime64_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) wchar_t * __cdecl _wctime64(     const __time64_t * _Time);
-__declspec(dllimport) errno_t __cdecl _wctime64_s(       wchar_t* _Buf,      size_t _SizeInWords,      const __time64_t *_Time);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wctime64_s(       wchar_t (&_Buffer)[_Size],      const __time64_t * _Time) { return _wctime64_s(_Buffer, _Size, _Time); } }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable:4996)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-static __inline wchar_t * __cdecl _wctime(const time_t * _Time)
-{
-#pragma warning( push )
-#pragma warning( disable : 4996 )
-    return _wctime64(_Time);
-#pragma warning( pop )
-}
-
-static __inline errno_t __cdecl _wctime_s(wchar_t *_Buffer, size_t _SizeInWords, const time_t * _Time)
-{
-    return _wctime64_s(_Buffer, _SizeInWords, _Time);
-}
-
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-typedef int mbstate_t;
-typedef wchar_t _Wint_t;
-
-__declspec(dllimport) wint_t __cdecl btowc(int);
-__declspec(dllimport) size_t __cdecl mbrlen(           const char * _Ch,      size_t _SizeInBytes,
-                                     mbstate_t * _State);
-__declspec(dllimport) size_t __cdecl mbrtowc(       wchar_t * _DstCh,            const char * _SrcCh,
-                                    size_t _SizeInBytes,        mbstate_t * _State);
-__declspec(dllimport) errno_t __cdecl mbsrtowcs_s(       size_t* _Retval,          wchar_t * _Dst,      size_t _SizeInWords,                  const char ** _PSrc,      size_t _N,        mbstate_t * _State);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl mbsrtowcs_s(       size_t * _Retval,        wchar_t (&_Dest)[_Size],                  const char ** _PSource,      size_t _Count,        mbstate_t * _State) { return mbsrtowcs_s(_Retval, _Dest, _Size, _PSource, _Count, _State); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "mbsrtowcs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl mbsrtowcs( wchar_t *_Dest,  const char ** _PSrc,  size_t _Count,  mbstate_t * _State);
-
-__declspec(dllimport) errno_t __cdecl wcrtomb_s(       size_t * _Retval,          char * _Dst,
-             size_t _SizeInBytes,        wchar_t _Ch,        mbstate_t * _State);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcrtomb_s(       size_t * _Retval,          char (&_Dest)[_Size],        wchar_t _Source,        mbstate_t * _State) { return wcrtomb_s(_Retval, _Dest, _Size, _Source, _State); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcrtomb_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl wcrtomb( char *_Dest,  wchar_t _Source,  mbstate_t * _State);
-__declspec(dllimport) errno_t __cdecl wcsrtombs_s(       size_t * _Retval,          char * _Dst,
-             size_t _SizeInBytes,                const wchar_t ** _Src,      size_t _Size,        mbstate_t * _State);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl wcsrtombs_s(       size_t * _Retval,          char (&_Dest)[_Size],                const wchar_t ** _PSrc,      size_t _Count,        mbstate_t * _State) { return wcsrtombs_s(_Retval, _Dest, _Size, _PSrc, _Count, _State); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsrtombs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) size_t __cdecl wcsrtombs( char *_Dest,  const wchar_t ** _PSource,  size_t _Count,  mbstate_t * _State);
-__declspec(dllimport) int __cdecl wctob(     wint_t _WCh);
-
-
-
-
-
-
-
-__declspec(dllimport)  void *  __cdecl memmove(         void * _Dst,          const void * _Src,      size_t _MaxCount);
-
- void *  __cdecl memcpy(         void * _Dst,          const void * _Src,      size_t _MaxCount);
-
-__declspec(dllimport) errno_t __cdecl memcpy_s(         void * _Dst,      rsize_t _DstSize,          const void * _Src,      rsize_t _MaxCount);
-__declspec(dllimport) errno_t __cdecl memmove_s(         void * _Dst,      rsize_t _DstSize,          const void * _Src,      rsize_t _MaxCount);
-
-__inline int __cdecl fwide(       FILE * _F, int _M)
-        {(void)_F; return (_M); }
-__inline int __cdecl mbsinit(       const mbstate_t *_P)
-        {return (_P == 0 || *_P == 0); }
-__inline const wchar_t * __cdecl wmemchr(       const wchar_t *_S,        wchar_t _C,      size_t _N)
-        {for (; 0 < _N; ++_S, --_N)
-                if (*_S == _C)
-                        return (const wchar_t *)(_S);
-        return (0); }
-__inline int __cdecl wmemcmp(       const wchar_t *_S1,        const wchar_t *_S2,      size_t _N)
-        {for (; 0 < _N; ++_S1, ++_S2, --_N)
-                if (*_S1 != *_S2)
-                        return (*_S1 < *_S2 ? -1 : +1);
-        return (0); }
-
-__inline  wchar_t * __cdecl wmemcpy(       wchar_t *_S1,          const wchar_t *_S2,      size_t _N)
-        {
-#pragma warning( push )
-#pragma warning( disable : 4996 6386 )
-            return (wchar_t *)memcpy(_S1, _S2, _N*sizeof(wchar_t));
-#pragma warning( pop )
-        }
-
-
-__inline errno_t __cdecl wmemcpy_s(         wchar_t *_S1,      rsize_t _N1,          const wchar_t *_S2, rsize_t _N)
-        {
-#pragma warning( push )
-#pragma warning( disable : 6386 )
-            return memcpy_s(_S1, _N1*sizeof(wchar_t), _S2, _N*sizeof(wchar_t));
-        }
-#pragma warning( pop )
-
-
-__inline  wchar_t * __cdecl wmemmove(         wchar_t *_S1,          const wchar_t *_S2,      size_t _N)
-        {
-#pragma warning( push )
-#pragma warning( disable : 4996 6386 )
-#pragma warning( disable : 6387)
-			
-            return (wchar_t *)memmove(_S1, _S2, _N*sizeof(wchar_t));
-#pragma warning( pop )
-        }
-
-
-__inline errno_t __cdecl wmemmove_s(         wchar_t *_S1,      rsize_t _N1,          const wchar_t *_S2,      rsize_t _N)
-        {
-#pragma warning( push )
-#pragma warning( disable : 6386 )
-            return memmove_s(_S1, _N1*sizeof(wchar_t), _S2, _N*sizeof(wchar_t));
-#pragma warning( pop )
-        }
-
-
-__inline wchar_t * __cdecl wmemset(       wchar_t *_S,        wchar_t _C,      size_t _N)
-        {
-            wchar_t *_Su = _S;
-            for (; 0 < _N; ++_Su, --_N)
-            {
-                *_Su = _C;
-            }
-            return (_S);
-        }
-
-
-extern "C++" {
-inline wchar_t * __cdecl wmemchr(       wchar_t *_S,      wchar_t _C,      size_t _N)
-        { return (wchar_t *)wmemchr((const wchar_t *)_S, _C, _N); }
-}
-
-
-
-
-}       
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-typedef wchar_t     _TCHAR;
-typedef wchar_t     _TSCHAR;
-typedef wchar_t     _TUCHAR;
-typedef wchar_t     _TXCHAR;
-typedef wint_t      _TINT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__inline  size_t __cdecl _tclen(       const wchar_t *_Cpc)
-{ 
-    
-    (void *)_Cpc;
-    return 1;
-}
-__inline void __cdecl _tccpy(     wchar_t *_Pc1,        const wchar_t *_Cpc2) { *_Pc1 = (wchar_t)*_Cpc2; }
-__inline void __cdecl _tccpy_l(     wchar_t *_Pc1,        const wchar_t *_Cpc2,        _locale_t _Locale)
-{
-    (void)_Locale;
-    _tccpy(_Pc1, _Cpc2);
-}
-__inline  int __cdecl _tccmp(       const wchar_t *_Cpc1,        const wchar_t *_Cpc2) { return (int) ((*_Cpc1)-(*_Cpc2)); }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__inline  wchar_t * __cdecl _wcsdec(       const wchar_t * _Cpc1,        const wchar_t * _Cpc2) { return (wchar_t *)((_Cpc1)>=(_Cpc2) ? 0 : ((_Cpc2)-1)); }
-__inline  wchar_t * __cdecl _wcsinc(       const wchar_t * _Pc) { return (wchar_t *)(_Pc+1); }
-__inline  unsigned int __cdecl _wcsnextc(       const wchar_t * _Cpc) { return (unsigned int)*_Cpc; }
-__inline  wchar_t * __cdecl _wcsninc(       const wchar_t * _Pc,      size_t _Sz) { return (wchar_t *)(_Pc+_Sz); }
-__inline  size_t __cdecl _wcsncnt(          const wchar_t * _String,      size_t _Cnt) 
-{ 
-        size_t n = _Cnt; 
-        wchar_t *cp = (wchar_t *)_String; 
-        while (n-- && *cp) 
-                cp++; 
-        return _Cnt - n - 1; 
-}
-__inline  wchar_t * __cdecl _wcsspnp
-( 
-           const wchar_t * _Cpc1, 
-           const wchar_t * _Cpc2
-)
-{
-    return _Cpc1==0 ? 0 : ((*(_Cpc1 += wcsspn(_Cpc1,_Cpc2))!='\0') ? (wchar_t*)_Cpc1 : 0); 
-}
-
-
-__inline  errno_t __cdecl _wcsncpy_s_l(       wchar_t *_Destination,      size_t _Destination_size_chars,        const wchar_t *_Source,      size_t _Count,        _locale_t _Locale)
-{
-    (void)_Locale;
-    return wcsncpy_s(_Destination, _Destination_size_chars, _Source, _Count);
-}
-
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsncpy_s_l(     wchar_t (&_Dest)[_Size],        const wchar_t * _Source,      size_t _Count,        _locale_t _Locale) { return _wcsncpy_s_l(_Dest, _Size, _Source, _Count, _Locale); } }
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsncpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline wchar_t * __cdecl _wcsncpy_l(     wchar_t *_Dst,        const wchar_t * _Source,      size_t _Count,        _locale_t _Locale)
-{
-    (void)_Locale;
-#pragma warning( push )
-#pragma warning( disable : 4996 6054)
-    return wcsncpy(_Dst, _Source, _Count);
-#pragma warning( pop )
-}
-
-
-
-
-__inline  errno_t __cdecl _wcsncat_s_l(           wchar_t *_Destination,      size_t _Destination_size_chars,        const wchar_t *_Source,      size_t _Count,        _locale_t _Locale)
-{
-    (void)_Locale;
-    return wcsncat_s(_Destination, _Destination_size_chars, _Source, _Count);
-}
-
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsncat_s_l(       wchar_t (&_Dest)[_Size],        const wchar_t * _Source,      size_t _Count,        _locale_t _Locale) { return _wcsncat_s_l(_Dest, _Size, _Source, _Count, _Locale); } }
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsncat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline wchar_t * __cdecl _wcsncat_l(         wchar_t *_Dst,        const wchar_t * _Source,      size_t _Count,        _locale_t _Locale)
-{
-    (void)_Locale;
-#pragma warning( push )
-#pragma warning( disable : 4996 6054 6059)
-
-    return wcsncat(_Dst, _Source, _Count);
-#pragma warning( pop )
-}
-
-
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcstok_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline wchar_t * _wcstok_l(           wchar_t * _String,        const wchar_t * _Delimiters,        _locale_t _Locale) 
-{
-    (void)_Locale;
-#pragma warning(push)
-#pragma warning(disable:4996)
-	return wcstok(_String,_Delimiters);
-#pragma warning(pop)
-}
-
-__inline wchar_t * _wcstok_s_l(           wchar_t * _String,        const wchar_t * _Delimiters,                        wchar_t **_Current_position,        _locale_t _Locale) 
-{
-    (void)_Locale;
-    return wcstok_s(_String, _Delimiters, _Current_position);
-}
-
-__inline  errno_t _wcsnset_s_l(           wchar_t * _Destination,      size_t _Destination_size_chars,        wchar_t _Value,      size_t _Count,        _locale_t _Locale)
-{
-    (void)_Locale;
-    return _wcsnset_s(_Destination, _Destination_size_chars, _Value, _Count);
-}
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsnset_s_l(           wchar_t (&_Dest)[_Size],        wchar_t _Value,      size_t _Count,        _locale_t _Locale) { return _wcsnset_s_l(_Dest, _Size, _Value, _Count, _Locale); } }
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline wchar_t * __cdecl _wcsnset_l(           wchar_t *_Dst,        wchar_t _Value,      size_t _MaxCount,        _locale_t _Locale)
-{
-    (void)_Locale;
-#pragma warning( push )
-#pragma warning( disable : 4996 )
-    return _wcsnset(_Dst, _Value, _MaxCount);
-#pragma warning( pop )
-}
-
-
-
-__inline  errno_t _wcsset_s_l(           wchar_t * _Destination,      size_t _Destination_size_chars,        wchar_t _Value,        _locale_t _Locale) 
-{
-    (void)_Locale;
-    return _wcsset_s(_Destination, _Destination_size_chars, _Value);
-}
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _wcsset_s_l(           wchar_t (&_Dest)[_Size],        wchar_t _Value,        _locale_t _Locale) { return _wcsset_s_l(_Dest, _Size, _Value, _Locale); } }
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __inline wchar_t * __cdecl _wcsset_l(         wchar_t *_Dst,        wchar_t _Value,        _locale_t _Locale)
-{
-    (void)_Locale;
-#pragma warning( push )
-#pragma warning( disable : 4996 )
-    return _wcsset(_Dst, _Value);
-#pragma warning( pop )
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}   
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  unsigned char * __cdecl _mbsdup(       const unsigned char * _Str);
-
-
-
-
-
-__declspec(dllimport)  unsigned int __cdecl _mbbtombc(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbbtombc_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbbtype(     unsigned char _Ch,      int _CType);
-__declspec(dllimport)  int __cdecl _mbbtype_l(     unsigned char _Ch,      int _CType,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbctombb(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbctombb_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport) int __cdecl _mbsbtype(         const unsigned char * _Str,      size_t _Pos);
-__declspec(dllimport) int __cdecl _mbsbtype_l(         const unsigned char * _Str,      size_t _Pos,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbscat_s(           unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbscat_s(       unsigned char (&_Dst)[_Size],        const unsigned char * _DstSizeInBytes) { return _mbscat_s(_Dst, _Size, _DstSizeInBytes); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbscat( unsigned char *_Dest,  const unsigned char * _Source);
-__declspec(dllimport) errno_t __cdecl _mbscat_s_l(           unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbscat_s_l(       unsigned char (&_Dest)[_Size],        const unsigned char * _Source,        _locale_t _Locale) { return _mbscat_s_l(_Dest, _Size, _Source, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbscat_l(         unsigned char *_Dest,        const unsigned char * _Source,        _locale_t _Locale);
-__declspec(dllimport)   const unsigned char * __cdecl _mbschr(       const unsigned char * _Str,      unsigned int _Ch);
-__declspec(dllimport)   const unsigned char * __cdecl _mbschr_l(       const unsigned char * _Str,      unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbscmp(       const unsigned char * _Str1,        const unsigned char * _Str2);
-__declspec(dllimport)  int __cdecl _mbscmp_l(       const unsigned char * _Str1,        const unsigned char * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbscoll(       const unsigned char * _Str1,        const unsigned char * _Str2);
-__declspec(dllimport)  int __cdecl _mbscoll_l(       const unsigned char * _Str1,        const unsigned char * _Str2,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbscpy_s(       unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbscpy_s(     unsigned char (&_Dest)[_Size],        const unsigned char * _Source) { return _mbscpy_s(_Dest, _Size, _Source); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbscpy( unsigned char *_Dest,  const unsigned char * _Source);
-__declspec(dllimport) errno_t __cdecl _mbscpy_s_l(       unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbscpy_s(     unsigned char (&_Dest)[_Size],        const unsigned char * _Source,        _locale_t _Locale) { return _mbscpy_s(_Dest, _Size, _Source, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbscpy_l(     unsigned char *_Dest,        const unsigned char * _Source,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbscspn(       const unsigned char * _Str,        const unsigned char * _Control);
-__declspec(dllimport)  size_t __cdecl _mbscspn_l(       const unsigned char * _Str,        const unsigned char * _Control,        _locale_t _Locale);
-__declspec(dllimport)  unsigned char * __cdecl _mbsdec(         const unsigned char * _Start,        const unsigned char * _Pos);
-__declspec(dllimport)  unsigned char * __cdecl _mbsdec_l(         const unsigned char * _Start,        const unsigned char * _Pos,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsicmp(       const unsigned char * _Str1,        const unsigned char * _Str2);
-__declspec(dllimport)  int __cdecl _mbsicmp_l(       const unsigned char * _Str1,        const unsigned char * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsicoll(       const unsigned char * _Str1,        const unsigned char * _Str2);
-__declspec(dllimport)  int __cdecl _mbsicoll_l(       const unsigned char * _Str1,        const unsigned char * _Str2,        _locale_t _Locale);
-__declspec(dllimport)  unsigned char * __cdecl _mbsinc(       const unsigned char * _Ptr);
-__declspec(dllimport)  unsigned char * __cdecl _mbsinc_l(       const unsigned char * _Ptr,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbslen(       const unsigned char * _Str);
-__declspec(dllimport)  size_t __cdecl _mbslen_l(       const unsigned char * _Str,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbsnlen(       const unsigned char * _Str,      size_t _MaxCount);
-__declspec(dllimport)  size_t __cdecl _mbsnlen_l(       const unsigned char * _Str,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbslwr_s(         unsigned char *_Str,      size_t _SizeInBytes);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbslwr_s(         unsigned char (&_String)[_Size]) { return _mbslwr_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbslwr( unsigned char *_String);
-__declspec(dllimport) errno_t __cdecl _mbslwr_s_l(         unsigned char *_Str,      size_t _SizeInBytes,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbslwr_s_l(       unsigned char (&_String)[_Size],        _locale_t _Locale) { return _mbslwr_s_l(_String, _Size, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbslwr_l(         unsigned char *_String,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsnbcat_s(           unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnbcat_s(       unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count) { return _mbsnbcat_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnbcat( unsigned char *_Dest,  const unsigned char * _Source,  size_t _Count);
-__declspec(dllimport) errno_t __cdecl _mbsnbcat_s_l(           unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnbcat_s_l(       unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale) { return _mbsnbcat_s_l(_Dest, _Size, _Source, _Count, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnbcat_l(         unsigned char *_Dest,        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsnbcmp(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsnbcmp_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsnbcoll(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsnbcoll_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbsnbcnt(         const unsigned char * _Str,      size_t _MaxCount);
-__declspec(dllimport)  size_t __cdecl _mbsnbcnt_l(         const unsigned char * _Str,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsnbcpy_s(       unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnbcpy_s(     unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count) { return _mbsnbcpy_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnbcpy( unsigned char *_Dest,  const unsigned char * _Source,  size_t _Count);
-__declspec(dllimport) errno_t __cdecl _mbsnbcpy_s_l(       unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnbcpy_s_l(     unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale) { return _mbsnbcpy_s_l(_Dest, _Size, _Source, _Count, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnbcpy_l(       unsigned char *_Dest,        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsnbicmp(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsnbicmp_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsnbicoll(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsnbicoll_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsnbset_s(           unsigned char * _Dst,      size_t _DstSizeInBytes,      unsigned int _Ch,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnbset_s(           unsigned char (&_Dest)[_Size],      unsigned int _Val,      size_t _MaxCount) { return _mbsnbset_s(_Dest, _Size, _Val, _MaxCount); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnbset(           unsigned char *_String,      unsigned int _Val,      size_t _MaxCount);
-__declspec(dllimport) errno_t __cdecl _mbsnbset_s_l(           unsigned char * _Dst,      size_t _DstSizeInBytes,      unsigned int _Ch,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnbset_s_l(           unsigned char (&_Dest)[_Size],      unsigned int _Val,      size_t _MaxCount,        _locale_t _Locale) { return _mbsnbset_s_l(_Dest, _Size, _Val, _MaxCount, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnbset_l(           unsigned char *_String,      unsigned int _Val,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsncat_s(           unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsncat_s(       unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count) { return _mbsncat_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsncat( unsigned char *_Dest,  const unsigned char * _Source,  size_t _Count);
-__declspec(dllimport) errno_t __cdecl _mbsncat_s_l(           unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsncat_s_l(       unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale) { return _mbsncat_s_l(_Dest, _Size, _Source, _Count, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsncat_l(         unsigned char *_Dest,        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbsnccnt(         const unsigned char * _Str,      size_t _MaxCount);
-__declspec(dllimport)  size_t __cdecl _mbsnccnt_l(         const unsigned char * _Str,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsncmp(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsncmp_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsncoll(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsncoll_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsncpy_s(       unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsncpy_s(     unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count) { return _mbsncpy_s(_Dest, _Size, _Source, _Count); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsncpy( unsigned char *_Dest,  const unsigned char * _Source,  size_t _Count);
-__declspec(dllimport) errno_t __cdecl _mbsncpy_s_l(       unsigned char * _Dst,      size_t _DstSizeInBytes,        const unsigned char * _Src,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsncpy_s_l(     unsigned char (&_Dest)[_Size],        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale) { return _mbsncpy_s_l(_Dest, _Size, _Source, _Count, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsncpy_l(     unsigned char *_Dest,        const unsigned char * _Source,      size_t _Count,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbsnextc (       const unsigned char * _Str);
-__declspec(dllimport)  unsigned int __cdecl _mbsnextc_l(       const unsigned char * _Str,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsnicmp(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsnicmp_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _mbsnicoll(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount);
-__declspec(dllimport)  int __cdecl _mbsnicoll_l(       const unsigned char * _Str1,        const unsigned char * _Str2,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)  unsigned char * __cdecl _mbsninc(         const unsigned char * _Str,      size_t _Count);
-__declspec(dllimport)  unsigned char * __cdecl _mbsninc_l(         const unsigned char * _Str,      size_t _Count,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsnset_s(           unsigned char * _Dst,      size_t _DstSizeInBytes,      unsigned int _Val,      size_t _MaxCount);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnset_s(           unsigned char (&_Dest)[_Size],      unsigned int _Val,      size_t _MaxCount) { return _mbsnset_s(_Dest, _Size, _Val, _MaxCount); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnset(           unsigned char *_String,      unsigned int _Val,      size_t _MaxCount);
-__declspec(dllimport) errno_t __cdecl _mbsnset_s_l(           unsigned char * _Dst,      size_t _DstSizeInBytes,      unsigned int _Val,      size_t _MaxCount,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsnset_s_l(           unsigned char (&_Dest)[_Size],      unsigned int _Val,      size_t _MaxCount,        _locale_t _Locale) { return _mbsnset_s_l(_Dest, _Size, _Val, _MaxCount, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsnset_l(           unsigned char *_String,      unsigned int _Val,      size_t _MaxCount,        _locale_t _Locale);
-__declspec(dllimport)   const unsigned char * __cdecl _mbspbrk(       const unsigned char * _Str,        const unsigned char * _Control);
-__declspec(dllimport)   const unsigned char * __cdecl _mbspbrk_l(       const unsigned char * _Str,        const unsigned char * _Control,        _locale_t _Locale);
-__declspec(dllimport)   const unsigned char * __cdecl _mbsrchr(       const unsigned char * _Str,      unsigned int _Ch);
-__declspec(dllimport)   const unsigned char * __cdecl _mbsrchr_l(       const unsigned char *_Str,      unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport) unsigned char * __cdecl _mbsrev(         unsigned char * _Str);
-__declspec(dllimport) unsigned char * __cdecl _mbsrev_l(         unsigned char *_Str,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsset_s(           unsigned char * _Dst,      size_t _DstSizeInBytes,      unsigned int _Val);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsset_s(           unsigned char (&_Dest)[_Size],      unsigned int _Val) { return _mbsset_s(_Dest, _Size, _Val); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsset(         unsigned char *_String,      unsigned int _Val);
-__declspec(dllimport) errno_t __cdecl _mbsset_s_l(           unsigned char * _Dst,      size_t _DstSizeInBytes,      unsigned int _Val,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsset_s_l(           unsigned char (&_Dest)[_Size],      unsigned int _Val,        _locale_t _Locale) { return _mbsset_s_l(_Dest, _Size, _Val, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsset_l(         unsigned char *_String,      unsigned int _Val,        _locale_t _Locale);
-__declspec(dllimport)  size_t __cdecl _mbsspn(       const unsigned char *_Str,        const unsigned char * _Control);
-__declspec(dllimport)  size_t __cdecl _mbsspn_l(       const unsigned char * _Str,        const unsigned char * _Control,        _locale_t _Locale);
-__declspec(dllimport)  unsigned char * __cdecl _mbsspnp(       const unsigned char * _Str1,        const unsigned char *_Str2);
-__declspec(dllimport)  unsigned char * __cdecl _mbsspnp_l(       const unsigned char *_Str1,        const unsigned char *_Str2,        _locale_t _Locale);
-__declspec(dllimport)   const unsigned char * __cdecl _mbsstr(       const unsigned char * _Str,        const unsigned char * _Substr);
-__declspec(dllimport)   const unsigned char * __cdecl _mbsstr_l(       const unsigned char * _Str,        const unsigned char * _Substr,        _locale_t _Locale);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  unsigned char * __cdecl _mbstok(           unsigned char * _Str,        const unsigned char * _Delim);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstok_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details."))  unsigned char * __cdecl _mbstok_l(           unsigned char *_Str,        const unsigned char * _Delim,        _locale_t _Locale);
-__declspec(dllimport)  unsigned char * __cdecl _mbstok_s(           unsigned char *_Str,        const unsigned char * _Delim,                        unsigned char ** _Context);
-__declspec(dllimport)  unsigned char * __cdecl _mbstok_s_l(           unsigned char * _Str,        const unsigned char * _Delim,                        unsigned char ** _Context,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbsupr_s(           unsigned char *_Str,      size_t _SizeInBytes);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsupr_s(       unsigned char (&_String)[_Size]) { return _mbsupr_s(_String, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsupr( unsigned char *_String);
-__declspec(dllimport) errno_t __cdecl _mbsupr_s_l(           unsigned char *_Str,      size_t _SizeInBytes,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbsupr_s_l(       unsigned char (&_String)[_Size],        _locale_t _Locale) { return _mbsupr_s_l(_String, _Size, _Locale); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) unsigned char * __cdecl _mbsupr_l(         unsigned char *_String,        _locale_t _Locale);
-
-__declspec(dllimport)  size_t __cdecl _mbclen(       const unsigned char *_Str);
-__declspec(dllimport)  size_t __cdecl _mbclen_l(       const unsigned char * _Str,        _locale_t _Locale);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbccpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _mbccpy(     unsigned char * _Dst,        const unsigned char * _Src);
-__declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbccpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) void __cdecl _mbccpy_l(     unsigned char *_Dst,        const unsigned char *_Src,        _locale_t _Locale);
-__declspec(dllimport) errno_t __cdecl _mbccpy_s(     unsigned char * _Dst,      size_t _DstSizeInBytes,        int * _PCopied,        const unsigned char * _Src);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbccpy_s(     unsigned char (&_Dest)[_Size],        int * _PCopied,        const unsigned char * _Source) { return _mbccpy_s(_Dest, _Size, _PCopied, _Source); } }
-__declspec(dllimport) errno_t __cdecl _mbccpy_s_l(     unsigned char * _Dst,      size_t _DstSizeInBytes,        int * _PCopied,        const unsigned char * _Src,        _locale_t _Locale);
-extern "C++" { template <size_t _Size> inline errno_t __cdecl _mbccpy_s_l(     unsigned char (&_Dest)[_Size],        int * _PCopied,        const unsigned char * _Source,        _locale_t _Locale) { return _mbccpy_s_l(_Dest, _Size, _PCopied, _Source, _Locale); } }
-
-
-
-
-
-extern "C++" {
-inline  unsigned char * __cdecl _mbschr(       unsigned char *_String,      unsigned int _Char)
-{
-    return ((unsigned char *)_mbschr((const unsigned char *)_String, _Char)); 
-}
-
-inline  unsigned char * __cdecl _mbschr_l(       unsigned char *_String,      unsigned int _Char,        _locale_t _Locale)
-{
-    return ((unsigned char *)_mbschr_l((const unsigned char *)_String, _Char, _Locale)); 
-}
-
-inline  unsigned char * __cdecl _mbspbrk(       unsigned char *_String,        const unsigned char *_CharSet)
-{
-    return ((unsigned char *)_mbspbrk((const unsigned char *)_String, _CharSet)); 
-}
-
-inline  unsigned char * __cdecl _mbspbrk_l(       unsigned char *_String,        const unsigned char *_CharSet,        _locale_t _Locale)
-{
-    return ((unsigned char *)_mbspbrk_l((const unsigned char *)_String, _CharSet, _Locale)); 
-}
-
-inline  unsigned char * __cdecl _mbsrchr(       unsigned char *_String,      unsigned int _Char)
-{
-    return ((unsigned char *)_mbsrchr((const unsigned char *)_String, _Char)); 
-}
-
-inline  unsigned char * __cdecl _mbsrchr_l(       unsigned char *_String,      unsigned int _Char,        _locale_t _Locale)
-{
-    return ((unsigned char *)_mbsrchr_l((const unsigned char *)_String, _Char, _Locale)); 
-}
-
-inline  unsigned char * __cdecl _mbsstr(       unsigned char *_String,        const unsigned char *_Match)
-{
-    return ((unsigned char *)_mbsstr((const unsigned char *)_String, _Match)); 
-}
-
-inline  unsigned char * __cdecl _mbsstr_l(       unsigned char *_String,        const unsigned char *_Match,        _locale_t _Locale)
-{
-    return ((unsigned char *)_mbsstr_l((const unsigned char *)_String, _Match, _Locale)); 
-}
-}
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _ismbcalnum(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcalnum_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcalpha(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcalpha_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcdigit(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcdigit_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcgraph(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcgraph_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbclegal(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbclegal_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbclower(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbclower_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcprint(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcprint_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcpunct(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcpunct_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcspace(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcspace_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcupper(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcupper_l(     unsigned int _Ch,        _locale_t _Locale);
-
-__declspec(dllimport)  unsigned int __cdecl _mbctolower(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbctolower_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbctoupper(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbctoupper_l(     unsigned int _Ch,        _locale_t _Locale);
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _ismbblead(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbblead_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbbtrail(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbbtrail_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbslead(         const unsigned char * _Str,        const unsigned char * _Pos);
-__declspec(dllimport)  int __cdecl _ismbslead_l(         const unsigned char * _Str,        const unsigned char * _Pos,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbstrail(         const unsigned char * _Str,        const unsigned char * _Pos);
-__declspec(dllimport)  int __cdecl _ismbstrail_l(         const unsigned char * _Str,        const unsigned char * _Pos,        _locale_t _Locale);
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _ismbchira(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbchira_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbckata(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbckata_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcsymbol(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcsymbol_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcl0(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcl0_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcl1(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcl1_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  int __cdecl _ismbcl2(     unsigned int _Ch);
-__declspec(dllimport)  int __cdecl _ismbcl2_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbcjistojms(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbcjistojms_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbcjmstojis(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbcjmstojis_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbctohira(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbctohira_l(     unsigned int _Ch,        _locale_t _Locale);
-__declspec(dllimport)  unsigned int __cdecl _mbctokata(     unsigned int _Ch);
-__declspec(dllimport)  unsigned int __cdecl _mbctokata_l(     unsigned int _Ch,        _locale_t _Locale);
-
-
-
-}
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-#pragma warning (push)
-#pragma warning(disable: 4127) 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) extern unsigned long  __cdecl __threadid(void);
-
-__declspec(dllimport) extern uintptr_t __cdecl __threadhandle(void);
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template<typename T>
-class AtlLimits;
-
-template<>
-class AtlLimits<int __w64>
-{
-public:
-	static const int _Min=(-2147483647 - 1);
-	static const int _Max=2147483647;
-};
-
-template<>
-class AtlLimits<unsigned int __w64>
-{
-public:
-	static const unsigned int _Min=0;
-	static const unsigned int _Max=0xffffffff;
-};
-
-template<>
-class AtlLimits<long __w64>
-{
-public:
-	static const long _Min=(-2147483647L - 1);
-	static const long _Max=2147483647L;
-};
-
-template<>
-class AtlLimits<unsigned long __w64>
-{
-public:
-	static const unsigned long _Min=0;
-	static const unsigned long _Max=0xffffffffUL;
-};
-
-template<>
-class AtlLimits<long long>
-{
-public:
-	static const long long _Min=(-9223372036854775807i64 - 1);
-	static const long long _Max=9223372036854775807i64;
-};
-
-template<>
-class AtlLimits<unsigned long long>
-{
-public:
-	static const unsigned long long _Min=0;
-	static const unsigned long long _Max=0xffffffffffffffffui64;
-};
-
-
-template<typename T>
-inline HRESULT AtlAdd(T* ptResult, T tLeft, T tRight)
-{
-	if(::ATL::AtlLimits<T>::_Max-tLeft < tRight)
-	{
-		return ((HRESULT)0x80070057L);
-	}
-	*ptResult= tLeft + tRight;
-	return ((HRESULT)0x00000000L);
-}
-
-
-template<typename T>
-inline HRESULT AtlMultiply(T* ptResult,	T tLeft, T tRight)
-{
-	
-	if(tLeft==0)
-	{
-		*ptResult=0;
-		return ((HRESULT)0x00000000L);
-	}
-	if(::ATL::AtlLimits<T>::_Max/tLeft < tRight)
-	{
-		return ((HRESULT)0x80070057L);
-	}
-	*ptResult= tLeft * tRight;
-	return ((HRESULT)0x00000000L);
-}
-
-
-template<>
-inline HRESULT AtlMultiply(int __w64	*piResult, int __w64	iLeft, int __w64 iRight)
-{
-	__int64 i64Result=static_cast<__int64>(iLeft) * static_cast<__int64>(iRight);
-	if(i64Result>2147483647 || i64Result < (-2147483647 - 1))
-	{
-		return ((HRESULT)0x80070057L);
-	}
-	*piResult=static_cast<int __w64>(i64Result);
-	return ((HRESULT)0x00000000L);
-}
-
-template<>
-inline HRESULT AtlMultiply(unsigned int	__w64 *piResult, unsigned int __w64 iLeft, unsigned int __w64 iRight)
-{
-	unsigned __int64 i64Result=static_cast<unsigned __int64>(iLeft) * static_cast<unsigned __int64>(iRight);
-	if(i64Result>0xffffffff)
-	{
-		return ((HRESULT)0x80070057L);
-	}
-	*piResult=static_cast<unsigned int __w64>(i64Result);
-	return ((HRESULT)0x00000000L);
-}
-
-template<>
-inline HRESULT AtlMultiply(long	__w64 *piResult, long __w64 iLeft, long __w64 iRight)
-{
-	__int64 i64Result=static_cast<__int64>(iLeft) * static_cast<__int64>(iRight);
-	if(i64Result>2147483647L || i64Result < (-2147483647L - 1))
-	{
-		return ((HRESULT)0x80070057L);
-	}
-	*piResult=static_cast<long __w64>(i64Result);
-	return ((HRESULT)0x00000000L);
-}
-
-template<>
-inline HRESULT AtlMultiply(unsigned long __w64 *piResult, unsigned long __w64 iLeft, unsigned long __w64 iRight)
-{
-	unsigned __int64 i64Result=static_cast<unsigned __int64>(iLeft) * static_cast<unsigned __int64>(iRight);
-	if(i64Result>0xffffffffUL)
-	{
-		return ((HRESULT)0x80070057L);
-	}
-	*piResult=static_cast<unsigned long __w64>(i64Result);
-	return ((HRESULT)0x00000000L);
-}
-
-template <typename T>
-inline T AtlMultiplyThrow(T tLeft, T tRight)
-{
-	T tResult;
-	HRESULT hr=AtlMultiply(&tResult, tLeft, tRight);
-	if(((HRESULT)(hr) < 0))
-	{
-		ATL::AtlThrowImpl(hr);
-	}
-	return tResult;
-}
-
-template <typename T>
-inline T AtlAddThrow(T tLeft, T	tRight)
-{
-	T tResult;
-	HRESULT hr=AtlAdd(&tResult, tLeft, tRight);
-	if(((HRESULT)(hr) < 0))
-	{
-		ATL::AtlThrowImpl(hr);
-	}
-	return tResult;
-}
-
-inline LPVOID AtlCoTaskMemCAlloc(ULONG nCount, ULONG nSize)
-{
-	HRESULT hr;
-	ULONG nBytes=0;
-	if( ((HRESULT)(hr=::ATL::AtlMultiply(&nBytes, nCount, nSize)) < 0))
-	{
-		return 0;
-	}
-	return ::CoTaskMemAlloc(nBytes);
-}
-
-inline LPVOID AtlCoTaskMemRecalloc(void	*pvMemory, ULONG nCount, ULONG nSize)
-{
-	HRESULT hr;
-	ULONG nBytes=0;
-	if( ((HRESULT)(hr=::ATL::AtlMultiply(&nBytes, nCount, nSize)) < 0))
-	{
-		return 0;
-	}
-	return ::CoTaskMemRealloc(pvMemory, nBytes);
-}
-
-}	
-#pragma pack(pop)
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-namespace Checked
-{
-    void __cdecl memcpy_s(void *s1, size_t s1max, const void *s2, size_t n);
-}
-
-
-
-
-class CCRTAllocator 
-{
-public:
-	static void* Reallocate(void* p, size_t nBytes) throw()
-	{
-		return realloc(p, nBytes);
-	}
-
-	static void* Allocate(size_t nBytes) throw()
-	{
-		return malloc(nBytes);
-	}
-
-	static void Free(void* p) throw()
-	{
-		free(p);
-	}
-};
-
-class CLocalAllocator
-{
-public:
-	static void* Allocate(size_t nBytes) throw()
-	{
-		return ::LocalAlloc(0x0000, nBytes);
-	}
-	static void* Reallocate(void* p, size_t nBytes) throw()
-	{
-		if (p==0){
-			return ( Allocate(nBytes) );
-		
-		}
-		if (nBytes==0){
-			Free(p);
-			return 0;
-		}
-			return ::LocalReAlloc(p, nBytes, 0);
-		 
-	}
-	static void Free(void* p) throw()
-	{
-		::LocalFree(p);
-	}
-};
-
-class CGlobalAllocator
-{
-public:
-	static void* Allocate(size_t nBytes) throw()
-	{
-		return ::GlobalAlloc(0x0000, nBytes);
-	}
-	static void* Reallocate(void* p, size_t nBytes) throw()
-	{
-		if (p==0){
-			return ( Allocate(nBytes) );
-		
-		}
-		if (nBytes==0){
-			Free(p);
-			return 0;
-		}
-		return ( ::GlobalReAlloc(p, nBytes, 0) );
-	}
-	static void Free(void* p) throw()
-	{
-		::GlobalFree(p);
-	}
-};
-
-template <class T, class Allocator = CCRTAllocator>
-class CHeapPtrBase
-{
-protected:
-	CHeapPtrBase() throw() :
-		m_pData(0)
-	{
-	}
-	CHeapPtrBase(CHeapPtrBase<T, Allocator>& p) throw()
-	{
-		m_pData = p.Detach();  
-	}
-	explicit CHeapPtrBase(T* pData) throw() :
-		m_pData(pData)
-	{
-	}
-
-public:
-	~CHeapPtrBase() throw()
-	{
-		Free();
-	}
-
-protected:
-	CHeapPtrBase<T, Allocator>& operator=(CHeapPtrBase<T, Allocator>& p) throw()
-	{
-		if(m_pData != p.m_pData)
-			Attach(p.Detach());  
-		return *this;
-	}
-
-public:
-	operator T*() const throw()
-	{
-		return m_pData;
-	}
-
-	T* operator->() const throw()
-	{
-		(void) ((!!((m_pData != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 342, 0, L"m_pData != 0")) || (__debugbreak(), 0));
-		return m_pData;
-	}
-
-	T** operator&() throw()
-	{
-		do { (void) ((!!((m_pData == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 348, 0, L"m_pData == 0")) || (__debugbreak(), 0)); ; } while(0);
-		return &m_pData;
-	}
-
-	
-	bool AllocateBytes(size_t nBytes) throw()
-	{
-		(void) ((!!((m_pData == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 355, 0, L"m_pData == 0")) || (__debugbreak(), 0));
-		m_pData = static_cast<T*>(Allocator::Allocate(nBytes));
-		if (m_pData == 0)
-			return false;
-
-		return true;
-	}
-
-	
-	void Attach(T* pData) throw()
-	{
-		Allocator::Free(m_pData);
-		m_pData = pData;
-	}
-
-	
-	T* Detach() throw() 
-	{
-		T* pTemp = m_pData;
-		m_pData = 0;
-		return pTemp;
-	}
-
-	
-	void Free() throw()
-	{
-		Allocator::Free(m_pData);
-		m_pData = 0;
-	}
-
-	
-	bool ReallocateBytes(size_t nBytes) throw()
-	{
-		T* pNew;
-
-		pNew = static_cast<T*>(Allocator::Reallocate(m_pData, nBytes));
-		if (pNew == 0)
-			return false;
-		m_pData = pNew;
-
-		return true;
-	}
-
-public:
-	T* m_pData;
-};
-
-template <typename T, class Allocator = CCRTAllocator>
-class CHeapPtr :
-	public CHeapPtrBase<T, Allocator>
-{
-public:
-	CHeapPtr() throw()
-	{
-	}
-	CHeapPtr(CHeapPtr<T, Allocator>& p) throw() :
-		CHeapPtrBase<T, Allocator>(p)
-	{
-	}
-	explicit CHeapPtr(T* p) throw() :
-		CHeapPtrBase<T, Allocator>(p)
-	{
-	}
-
-	CHeapPtr<T, Allocator>& operator=(CHeapPtr<T, Allocator>& p) throw()
-	{
-		CHeapPtrBase<T, Allocator>::operator=(p);
-
-		return *this;
-	}
-
-	
-	bool Allocate(size_t nElements = 1) throw()
-	{
-		size_t nBytes=0;
-		if(((HRESULT)(::ATL::AtlMultiply(&nBytes, nElements, sizeof(T))) < 0))
-		{
-			return false;
-		}
-		return AllocateBytes(nBytes);
-	}
-
-	
-	bool Reallocate(size_t nElements) throw()
-	{
-		size_t nBytes=0;
-		if(((HRESULT)(::ATL::AtlMultiply(&nBytes, nElements, sizeof(T))) < 0))
-		{
-			return false;
-		}
-		return ReallocateBytes(nBytes);
-	}
-};
-
-template< typename T, int t_nFixedBytes = 128, class Allocator = CCRTAllocator >
-class CTempBuffer
-{
-public:
-	CTempBuffer() throw() :
-		m_p( 0 )
-	{
-	}
-	CTempBuffer( size_t nElements ) throw( ... ) :
-		m_p( 0 )
-	{
-		Allocate( nElements );
-	}
-
-	~CTempBuffer() throw()
-	{
-		if( m_p != reinterpret_cast< T* >( m_abFixedBuffer ) )
-		{
-			FreeHeap();
-		}
-	}
-
-	operator T*() const throw()
-	{
-		return( m_p );
-	}
-	T* operator->() const throw()
-	{
-		(void) ((!!((m_p != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 477, 0, L"m_p != 0")) || (__debugbreak(), 0));
-		return( m_p );
-	}
-
-	T* Allocate( size_t nElements ) throw( ... )
-	{
-		return( AllocateBytes( ::ATL::AtlMultiplyThrow(nElements,sizeof( T )) ) );
-	}
-
-	T* Reallocate( size_t nElements ) throw( ... )
-	{
-		do { int __atl_condVal=!!(nElements < size_t(-1)/sizeof(T)); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 488, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);		
-		size_t nNewSize = nElements*sizeof( T ) ;
-				
-		if (m_p == 0)
-			return AllocateBytes(nNewSize);
-
-		if (nNewSize > t_nFixedBytes)
-		{
-			if( m_p == reinterpret_cast< T* >( m_abFixedBuffer ) )
-			{
-				
-				AllocateHeap(nNewSize);
-				Checked::memcpy_s(m_p, nNewSize, m_abFixedBuffer, t_nFixedBytes);
-			}
-			else
-			{
-				ReAllocateHeap( nNewSize );
-			}
-		}
-		else
-		{
-			m_p = reinterpret_cast< T* >( m_abFixedBuffer );
-		}
-
-		return m_p;
-	}
-
-	T* AllocateBytes( size_t nBytes )
-	{
-		(void) ((!!((m_p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 517, 0, L"m_p == 0")) || (__debugbreak(), 0));
-		if( nBytes > t_nFixedBytes )
-		{
-			AllocateHeap( nBytes );
-		}
-		else
-		{
-			m_p = reinterpret_cast< T* >( m_abFixedBuffer );
-		}
-
-		return( m_p );
-	}
-
-private:
-	__declspec( noinline ) void AllocateHeap( size_t nBytes )
-	{
-		T* p = static_cast< T* >( Allocator::Allocate( nBytes ) );
-		if( p == 0 )
-		{
-			ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) );
-		}
-		m_p = p;
-	}
- 
-	__declspec( noinline ) void ReAllocateHeap( size_t nNewSize)
-	{
-		T* p = static_cast< T* >( Allocator::Reallocate(m_p, nNewSize) );
-		if ( p == 0 )
-		{
-			ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) );
-		}
-		m_p = p;
-	}
-
-	__declspec( noinline ) void FreeHeap() throw()
-	{
-		Allocator::Free( m_p );
-	}
-
-private:
-	T* m_p;
-	BYTE m_abFixedBuffer[t_nFixedBytes];
-};
-
-
-
-
-namespace _ATL_SAFE_ALLOCA_IMPL
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline bool _AtlVerifyStackAvailable(SIZE_T Size)
-{
-    bool bStackAvailable = true;
-
-    __try
-    {
-		SIZE_T size=0;
-		HRESULT hrAdd=::ATL::AtlAdd(&size, Size, static_cast<SIZE_T>(0x2000));
-		if(((HRESULT)(hrAdd) < 0))
-		{
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlalloc.h", 589, 0, L"0")) || (__debugbreak(), 0));
-			bStackAvailable = false;
-		}
-		else
-		{
-			PVOID p = _alloca(size);
-			(p);
-		}
-    }
-    __except ((((DWORD )0xC00000FDL) == _exception_code()) ?
-                   1 :
-                   0)
-    {
-        bStackAvailable = false;
-        _resetstkoflw();
-    }
-    return bStackAvailable;
-}
-
-
-
-template < class Allocator>
-class CAtlSafeAllocBufferManager
-{
-private :
-	struct CAtlSafeAllocBufferNode
-	{
-		CAtlSafeAllocBufferNode* m_pNext;
-
-		BYTE _pad[4];
-
-
-
-
-
-
-
-		void* GetData()
-		{
-			return (this + 1);
-		}
-	};
-
-	CAtlSafeAllocBufferNode* m_pHead;
-public :
-	
-	CAtlSafeAllocBufferManager() : m_pHead(0) {};
-	void* Allocate(SIZE_T nRequestedSize)
-	{
-		CAtlSafeAllocBufferNode *p = (CAtlSafeAllocBufferNode*)Allocator::Allocate(::ATL::AtlAddThrow(nRequestedSize, static_cast<SIZE_T>(sizeof(CAtlSafeAllocBufferNode))));
-		if (p == 0)
-			return 0;
-		
-		
-		p->m_pNext = m_pHead;
-		m_pHead = p;
-		
-		return p->GetData();
-	}
-	~CAtlSafeAllocBufferManager()
-	{
-		
-		while (m_pHead != 0)
-		{
-			CAtlSafeAllocBufferNode* p = m_pHead;
-			m_pHead = m_pHead->m_pNext;
-			Allocator::Free(p);
-		}
-	}
-};
-
-}	
-
-}	
- #pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline void* __stdcall InterlockedExchangePointer(void** pp, void* pNew) throw()
-{
-	return( reinterpret_cast<void*>(static_cast<LONG_PTR>(::InterlockedExchange(reinterpret_cast<LONG*>(pp), static_cast<LONG>(reinterpret_cast<LONG_PTR>(pNew))))) );
-}
-
-
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-typedef UINT (__stdcall *ATLGETTHREADACP)();
-
-inline UINT __stdcall _AtlGetThreadACPFake() throw()
-{
-	UINT nACP = 0;
-
-	LCID lcidThread = ::GetThreadLocale();
-
-	char szACP[7];
-	
-	
-	
-	if (::GetLocaleInfoA(lcidThread, 0x00001004, szACP, 7) != 0)
-	{
-		char* pch = szACP;
-		while (*pch != '\0')
-		{
-			nACP *= 10;
-			nACP += *pch++ - '0';
-		}
-	}
-	
-	if (nACP == 0)
-		nACP = ::GetACP();
-
-	return nACP;
-}
-
-inline UINT __stdcall _AtlGetThreadACPReal() throw()
-{
-	return( 3 );
-}
-
-extern ATLGETTHREADACP g_pfnGetThreadACP;
-
-inline UINT __stdcall _AtlGetThreadACPThunk() throw()
-{
-	OSVERSIONINFO ver;
-	ATLGETTHREADACP pfnGetThreadACP;
-
-	ver.dwOSVersionInfoSize = sizeof( ver );
-	::GetVersionExW( &ver );
-	if( (ver.dwPlatformId == 2) && (ver.dwMajorVersion >= 5) )
-	{
-		
-		pfnGetThreadACP = _AtlGetThreadACPReal;
-	}
-	else
-	{
-		pfnGetThreadACP = _AtlGetThreadACPFake;
-	}
-	InterlockedExchangePointer( reinterpret_cast< void** >(&g_pfnGetThreadACP), reinterpret_cast< void** >(pfnGetThreadACP) );
-
-	return( g_pfnGetThreadACP() );
-}
-
-inline UINT __stdcall _AtlGetConversionACP() throw()
-{
-	return( g_pfnGetThreadACP() );
-}
-
-
-
-
-
-
-
-
-
-template <class _CharType>
-inline  void AtlConvAllocMemory(              _CharType** ppBuff,     int nLength,       _CharType* pszFixedBuffer,     int nFixedBufferLength)
-{
-	do { int __atl_condVal=!!(ppBuff != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 174, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } while (0);
-	do { int __atl_condVal=!!(nLength >= 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 175, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } while (0);
-	do { int __atl_condVal=!!(pszFixedBuffer != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 176, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } while (0);
-
-	
-	if (*ppBuff != pszFixedBuffer)
-	{
-		if( nLength > nFixedBufferLength )
-		{
-			_CharType* ppReallocBuf = static_cast< _CharType* >( _recalloc(*ppBuff, nLength,sizeof( _CharType ) ) );
-			if (ppReallocBuf == 0) 
-			{
-				ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) );
-			}
-			*ppBuff = ppReallocBuf;
-		} else
-		{
-			free(*ppBuff);
-			*ppBuff=pszFixedBuffer;
-		}
-
-	} else 
-	{
-		if( nLength > nFixedBufferLength )
-		{
-			*ppBuff = static_cast< _CharType* >( calloc(nLength,sizeof( _CharType ) ) );
-		} else
-		{			
-			*ppBuff=pszFixedBuffer;
-		}
-	}
-
-	if (*ppBuff == 0)
-	{
-		ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) );
-	}
-
-}
-
-template <class _CharType>
-inline void AtlConvFreeMemory(_CharType* pBuff,_CharType* pszFixedBuffer,int nFixedBufferLength)
-{
-	(nFixedBufferLength);
-	if( pBuff != pszFixedBuffer )
-	{
-		free( pBuff );
-	} 	
-
-	else
-	{		
-		memset(pszFixedBuffer,0xFD,nFixedBufferLength*sizeof(_CharType));
-	}
-
-
-}
-
-template< int t_nBufferLength = 128 >
-class CW2WEX
-{
-public:
-	CW2WEX(        LPCWSTR psz ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		Init( psz );
-	}
-	CW2WEX(        LPCWSTR psz, UINT nCodePage ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		(void)nCodePage;  
-
-		Init( psz );
-	}
-	~CW2WEX() throw()
-	{
-		AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength);
-	}
-
-	operator LPWSTR() const throw()
-	{
-		return( m_psz );
-	}
-
-private:
-	void Init(        LPCWSTR psz ) throw(...)
-	{
-		if (psz == 0)
-		{
-			m_psz = 0;
-			return;
-		}
-		int nLength = lstrlenW( psz )+1;
-		AtlConvAllocMemory(&m_psz,nLength,m_szBuffer,t_nBufferLength);
-		Checked::memcpy_s( m_psz, nLength*sizeof( wchar_t ), psz, nLength*sizeof( wchar_t ));
-	}
-
-public:
-	LPWSTR m_psz;
-	wchar_t m_szBuffer[t_nBufferLength];
-
-private:
-	CW2WEX( const CW2WEX& ) throw();
-	CW2WEX& operator=( const CW2WEX& ) throw();
-};
-typedef CW2WEX<> CW2W;
-
-template< int t_nBufferLength = 128 >
-class CA2AEX
-{
-public:
-	CA2AEX(        LPCSTR psz ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		Init( psz );
-	}
-	CA2AEX(        LPCSTR psz, UINT nCodePage ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		(void)nCodePage;  
-
-		Init( psz );
-	}
-	~CA2AEX() throw()
-	{
-		AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength);
-	}
-
-	operator LPSTR() const throw()
-	{
-		return( m_psz );
-	}
-
-private:
-	void Init(        LPCSTR psz ) throw(...)
-	{
-		if (psz == 0)
-		{
-			m_psz = 0;
-			return;
-		}
-		int nLength = lstrlenA( psz )+1;
-		AtlConvAllocMemory(&m_psz,nLength,m_szBuffer,t_nBufferLength);		
-		Checked::memcpy_s( m_psz, nLength*sizeof( char ), psz, nLength*sizeof( char ));
-	}
-
-public:
-	LPSTR m_psz;
-	char m_szBuffer[t_nBufferLength];
-
-private:
-	CA2AEX( const CA2AEX& ) throw();
-	CA2AEX& operator=( const CA2AEX& ) throw();
-};
-typedef CA2AEX<> CA2A;
-
-template< int t_nBufferLength = 128 >
-class CA2CAEX
-{
-public:
-	CA2CAEX(      LPCSTR psz ) throw(...) :
-		m_psz( psz )
-	{
-	}
-	CA2CAEX(      LPCSTR psz, UINT nCodePage ) throw(...) :
-		m_psz( psz )
-	{
-		(void)nCodePage;
-	}
-	~CA2CAEX() throw()
-	{
-	}
-
-	operator LPCSTR() const throw()
-	{
-		return( m_psz );
-	}
-
-public:
-	LPCSTR m_psz;
-
-private:
-	CA2CAEX( const CA2CAEX& ) throw();
-	CA2CAEX& operator=( const CA2CAEX& ) throw();
-};
-typedef CA2CAEX<> CA2CA;
-
-template< int t_nBufferLength = 128 >
-class CW2CWEX
-{
-public:
-	CW2CWEX(      LPCWSTR psz ) throw(...) :
-		m_psz( psz )
-	{
-	}
-	CW2CWEX(      LPCWSTR psz, UINT nCodePage ) throw(...) :
-		m_psz( psz )
-	{
-		(void)nCodePage;
-	}
-	~CW2CWEX() throw()
-	{
-	}
-
-	operator LPCWSTR() const throw()
-	{
-		return( m_psz );
-	}
-
-public:
-	LPCWSTR m_psz;
-
-private:
-	CW2CWEX( const CW2CWEX& ) throw();
-	CW2CWEX& operator=( const CW2CWEX& ) throw();
-};
-typedef CW2CWEX<> CW2CW;
-
-template< int t_nBufferLength = 128 >
-class CA2WEX
-{
-public:
-	CA2WEX(        LPCSTR psz ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		Init( psz, _AtlGetConversionACP() );
-	}
-	CA2WEX(        LPCSTR psz, UINT nCodePage ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		Init( psz, nCodePage );
-	}
-	~CA2WEX() throw()
-	{
-		AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength);
-	}
-
-	operator LPWSTR() const throw()
-	{
-		return( m_psz );
-	}
-
-private:
-	void Init(        LPCSTR psz, UINT nCodePage ) throw(...)
-	{
-		if (psz == 0)
-		{
-			m_psz = 0;
-			return;
-		}
-		int nLengthA = lstrlenA( psz )+1;
-		int nLengthW = nLengthA;
-
-		AtlConvAllocMemory(&m_psz,nLengthW,m_szBuffer,t_nBufferLength);
-
-		BOOL bFailed=(0 == ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, m_psz, nLengthW ) );
-		if (bFailed)
-		{
-			if (GetLastError()==122L)
-			{
-				nLengthW = ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, 0, 0);
-				AtlConvAllocMemory(&m_psz,nLengthW,m_szBuffer,t_nBufferLength);
-				bFailed=(0 == ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, m_psz, nLengthW ) );
-			}			
-		}
-		if (bFailed)
-		{
-			AtlThrowLastWin32();
-		}		
-	}
-
-public:
-	LPWSTR m_psz;
-	wchar_t m_szBuffer[t_nBufferLength];
-
-private:
-	CA2WEX( const CA2WEX& ) throw();
-	CA2WEX& operator=( const CA2WEX& ) throw();
-};
-typedef CA2WEX<> CA2W;
-
-template< int t_nBufferLength = 128 >
-class CW2AEX
-{
-public:
-	CW2AEX(        LPCWSTR psz ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		Init( psz, _AtlGetConversionACP() );
-	}
-	CW2AEX(        LPCWSTR psz, UINT nCodePage ) throw(...) :
-		m_psz( m_szBuffer )
-	{
-		Init( psz, nCodePage );
-	}
-	~CW2AEX() throw()
-	{		
-		AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength);
-	}
-
-	operator LPSTR() const throw()
-	{
-		return( m_psz );
-	}
-
-private:
-	void Init(        LPCWSTR psz,      UINT nConvertCodePage ) throw(...)
-	{
-		if (psz == 0)
-		{
-			m_psz = 0;
-			return;
-		}
-		int nLengthW = lstrlenW( psz )+1;		 
-		int nLengthA = nLengthW*4;
-		
-		AtlConvAllocMemory(&m_psz,nLengthA,m_szBuffer,t_nBufferLength);
-
-		BOOL bFailed=(0 == ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, m_psz, nLengthA, 0, 0 ));
-		if (bFailed)
-		{
-			if (GetLastError()==122L)
-			{
-				nLengthA = ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, 0, 0, 0, 0 );
-				AtlConvAllocMemory(&m_psz,nLengthA,m_szBuffer,t_nBufferLength);
-				bFailed=(0 == ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, m_psz, nLengthA, 0, 0 ));
-			}			
-		}
-		if (bFailed)
-		{
-			AtlThrowLastWin32();
-		}
-	}
-
-public:
-	LPSTR m_psz;
-	char m_szBuffer[t_nBufferLength];
-
-private:
-	CW2AEX( const CW2AEX& ) throw();
-	CW2AEX& operator=( const CW2AEX& ) throw();
-};
-typedef CW2AEX<> CW2A;
-
-
-
-	
-	
-	
-	
-	
-	
-	
-	
-
-	
-	
-	
-	
-	
-	
-	
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-};  
-#pragma pack(pop)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-	
-
-
-
-
-
-
-
-	
-
-
-
-	extern "C" __declspec(dllimport) LPDEVMODEA __stdcall AtlDevModeW2A(LPDEVMODEA lpDevModeA, const DEVMODEW* lpDevModeW);
-
-
-
-
-inline          LPWSTR __stdcall AtlA2WHelper(       LPWSTR lpw,        LPCSTR lpa,      int nChars,      UINT acp) throw()
-{
-	(void) ((!!((lpa != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 596, 0, L"lpa != 0")) || (__debugbreak(), 0));
-	(void) ((!!((lpw != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 597, 0, L"lpw != 0")) || (__debugbreak(), 0));
-	if (lpw == 0 || lpa == 0)
-		return 0;
-	
-	
-	
-	lpw[0] = '\0';
-	int ret = MultiByteToWideChar(acp, 0, lpa, -1, lpw, nChars);
-	if(ret == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 607, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}		
-	return lpw;
-}
-
-inline          LPSTR __stdcall AtlW2AHelper(       LPSTR lpa,        LPCWSTR lpw,      int nChars,      UINT acp) throw()
-{
-	(void) ((!!((lpw != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 615, 0, L"lpw != 0")) || (__debugbreak(), 0));
-	(void) ((!!((lpa != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 616, 0, L"lpa != 0")) || (__debugbreak(), 0));
-	if (lpa == 0 || lpw == 0)
-		return 0;
-	
-	
-	
-	lpa[0] = '\0';
-	int ret = WideCharToMultiByte(acp, 0, lpw, -1, lpa, nChars, 0, 0);
-	if(ret == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 626, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-	return lpa;
-}
-inline          LPWSTR __stdcall AtlA2WHelper(       LPWSTR lpw,        LPCSTR lpa,      int nChars) throw()
-{
-	return AtlA2WHelper(lpw, lpa, nChars, 0);
-}
-
-inline          LPSTR __stdcall AtlW2AHelper(       LPSTR lpa,        LPCWSTR lpw,      int nChars) throw()
-{
-	return AtlW2AHelper(lpa, lpw, nChars, 0);
-}
-
-
-	
-
-
-
-	
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	inline int ocslen(       LPCOLESTR x) throw() { return lstrlenW(x); }
-
-
-	inline bool ocscpy_s(       LPOLESTR dest,      size_t maxSize,        LPCOLESTR src) throw() 
-		{ return 0 == memcpy_s(dest, maxSize*sizeof(WCHAR), src, (ocslen(src)+1)*sizeof(WCHAR)); }
-	inline bool ocscat_s(       LPOLESTR dest,      size_t maxSize,        LPCOLESTR src) throw() 
-		{ return 0 == wcscat_s(dest, maxSize,src); }
-
-
-
-
-
-
-
-
-
-
-
-
-	__declspec(deprecated("ocscpy is not safe. Intead, use ocscpy_s"))
-	inline OLECHAR* ocscpy(     LPOLESTR dest,        LPCOLESTR src) throw()
-	{
-#pragma warning(push)
-#pragma warning(disable:4996)
-		return wcscpy(dest, src);
-#pragma warning(pop)
-	}
-	__declspec(deprecated("ocscat is not safe. Intead, use ocscat_s"))
-	inline OLECHAR* ocscat(     LPOLESTR dest,        LPCOLESTR src) throw()
-	{
-#pragma warning(push)
-#pragma warning(disable:4996)
-		return wcscat(dest, src);
-#pragma warning(pop)
-	}
-
-
-
-
-
-	inline LPCOLESTR T2COLE_EX(       LPCTSTR lp, UINT) { return lp; }
-	inline LPCOLESTR T2COLE_EX_DEF(       LPCTSTR lp) { return lp; }
-	inline LPCTSTR OLE2CT_EX(       LPCOLESTR lp, UINT) { return lp; }
-	inline LPCTSTR OLE2CT_EX_DEF(       LPCOLESTR lp) { return lp; }
-	inline LPOLESTR T2OLE_EX(       LPTSTR lp, UINT) { return lp; }
-	inline LPOLESTR T2OLE_EX_DEF(       LPTSTR lp) { return lp; }
-	inline LPTSTR OLE2T_EX(       LPOLESTR lp, UINT) { return lp; }	
-	inline LPTSTR OLE2T_EX_DEF(       LPOLESTR lp) { return lp; }	
-
-
-
-	inline LPCOLESTR T2COLE(       LPCTSTR lp) { return lp; }
-	inline LPCTSTR OLE2CT(       LPCOLESTR lp) { return lp; }
-	inline LPOLESTR T2OLE(       LPTSTR lp) { return lp; }
-	inline LPTSTR OLE2T(       LPOLESTR lp) { return lp; }
-	inline LPOLESTR CharNextO(     LPCOLESTR lp) throw() {return CharNextW(lp);}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	inline LPOLESTR W2OLE_EX(       LPWSTR lp, UINT) { return lp; }
-	inline LPOLESTR W2OLE_EX_DEF(       LPWSTR lp) { return lp; }
-	inline LPWSTR OLE2W_EX(       LPOLESTR lp, UINT) { return lp; }
-	inline LPWSTR OLE2W_EX_DEF(       LPOLESTR lp) { return lp; }
-	
-	
-	
-	
-	inline LPCOLESTR W2COLE_EX(       LPCWSTR lp, UINT) { return lp; }
-	inline LPCOLESTR W2COLE_EX_DEF(       LPCWSTR lp) { return lp; }
-	inline LPCWSTR OLE2CW_EX(       LPCOLESTR lp, UINT) { return lp; }
-	inline LPCWSTR OLE2CW_EX_DEF(       LPCOLESTR lp) { return lp; }
-	
-	
-	
-	
-
-
-
-	inline LPOLESTR W2OLE(       LPWSTR lp) { return lp; }
-	inline LPWSTR OLE2W(       LPOLESTR lp) { return lp; }
-	
-	
-	inline LPCOLESTR W2COLE(       LPCWSTR lp) { return lp; }
-	inline LPCWSTR OLE2CW(       LPCOLESTR lp) { return lp; }
-	
-	
-	
-
-
-
-
-	
-	
-	
-	
-	inline LPWSTR T2W_EX(       LPTSTR lp, UINT) { return lp; }
-	inline LPWSTR T2W_EX_DEF(       LPTSTR lp) { return lp; }
-	inline LPTSTR W2T_EX(       LPWSTR lp, UINT) { return lp; }
-	inline LPTSTR W2T_DEF(       LPWSTR lp) { return lp; }
-	
-	
-	
-	
-	inline LPCWSTR T2CW_EX(       LPCTSTR lp, UINT) { return lp; }
-	inline LPCWSTR T2CW_EX_DEF(       LPCTSTR lp) { return lp; }
-	inline LPCTSTR W2CT_EX(       LPCWSTR lp, UINT) { return lp; }
-	inline LPCTSTR W2CT_EX_DEF(       LPCWSTR lp) { return lp; }
-
-
-
-	
-	
-	inline LPWSTR T2W(       LPTSTR lp) { return lp; }
-	inline LPTSTR W2T(       LPWSTR lp) { return lp; }
-	
-	
-	inline LPCWSTR T2CW(       LPCTSTR lp) { return lp; }
-	inline LPCTSTR W2CT(       LPCWSTR lp) { return lp; }
-
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline  BSTR A2WBSTR(       LPCSTR lp, int nLen = -1)
-{
-	if (lp == 0 || nLen == 0)
-		return 0;
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	BSTR str = 0;
-	int nConvertedLen = MultiByteToWideChar(_acp_ex, 0, lp,
-		nLen, 0, 0);
-	int nAllocLen = nConvertedLen;
-	if (nLen == -1)
-		nAllocLen -= 1;  
-	str = ::SysAllocStringLen(0, nAllocLen);
-
-	if (str != 0)
-	{
-		int nResult;
-		nResult = MultiByteToWideChar(_acp_ex, 0, lp, nLen, str, nConvertedLen);
-		(void) ((!!((nResult == nConvertedLen))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 978, 0, L"nResult == nConvertedLen")) || (__debugbreak(), 0));
-		if(nResult != nConvertedLen)
-		{
-			SysFreeString(str);
-			return 0;
-		}
-
-	}
-	return str;
-}
-
-inline BSTR OLE2BSTR(       LPCOLESTR lp) {return ::SysAllocString(lp);}
-
-
-	inline BSTR T2BSTR_EX(       LPCTSTR lp) {return ::SysAllocString(lp);}
-	inline BSTR A2BSTR_EX(       LPCSTR lp) {return A2WBSTR(lp);}
-	inline BSTR W2BSTR_EX(       LPCWSTR lp) {return ::SysAllocString(lp);}
-
-
-
-	inline BSTR T2BSTR(       LPCTSTR lp) {return ::SysAllocString(lp);}
-	inline BSTR A2BSTR(       LPCSTR lp) {return A2WBSTR(lp);}
-	inline BSTR W2BSTR(       LPCWSTR lp) {return ::SysAllocString(lp);}
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline LPDEVMODEW AtlDevModeA2W(     LPDEVMODEW lpDevModeW,      const DEVMODEA* lpDevModeA)
-{
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	(void) ((!!((lpDevModeW != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1025, 0, L"lpDevModeW != 0")) || (__debugbreak(), 0));
-	if (lpDevModeA == 0 || lpDevModeW == 0)
-	{
-		return 0;
-	}
-
-	AtlA2WHelper(lpDevModeW->dmDeviceName, (LPCSTR)lpDevModeA->dmDeviceName, 32, _acp_ex);
-
-
-	if(0 != memcpy_s(&lpDevModeW->dmSpecVersion, (size_t)&reinterpret_cast<const volatile char&>((((DEVMODEW *)0)->dmFormName)) - (size_t)&reinterpret_cast<const volatile char&>((((DEVMODEW *)0)->dmSpecVersion)),
-		&lpDevModeA->dmSpecVersion, (size_t)&reinterpret_cast<const volatile char&>((((DEVMODEW *)0)->dmFormName)) - (size_t)&reinterpret_cast<const volatile char&>((((DEVMODEW *)0)->dmSpecVersion))))
-	{
-		return 0;
-	}
-
-
-
-
-
-	AtlA2WHelper(lpDevModeW->dmFormName, (LPCSTR)lpDevModeA->dmFormName, 32, _acp_ex);
-
-
-	if(0 != memcpy_s(&lpDevModeW->dmLogPixels, sizeof(DEVMODEW) - (size_t)&reinterpret_cast<const volatile char&>((((DEVMODEW *)0)->dmLogPixels)),
-		&lpDevModeA->dmLogPixels, sizeof(DEVMODEW) - (size_t)&reinterpret_cast<const volatile char&>((((DEVMODEW *)0)->dmLogPixels))))
-	{
-		return 0;
-	}
-
-
-
-
-
-	if (lpDevModeA->dmDriverExtra != 0)
-	{
-		
-#pragma warning(push)
-#pragma warning(disable:26000)
-
-		if(0 != memcpy_s(lpDevModeW+1, lpDevModeA->dmDriverExtra, lpDevModeA+1, lpDevModeA->dmDriverExtra))
-		{
-			return 0;
-		}
-
-
-
-#pragma warning(pop)
-	}
-	lpDevModeW->dmSize = sizeof(DEVMODEW);
-	return lpDevModeW;
-}
-
-inline LPTEXTMETRICW AtlTextMetricA2W(     LPTEXTMETRICW lptmW,      LPTEXTMETRICA lptmA)
-{
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	(void) ((!!((lptmW != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1079, 0, L"lptmW != 0")) || (__debugbreak(), 0));
-	if (lptmA == 0 || lptmW == 0)
-		return 0;
-
-
-	if(0 != memcpy_s(lptmW, sizeof(LONG) * 11, lptmA, sizeof(LONG) * 11))
-	{
-		return 0;
-	}
-
-
-
-
-
-	if(0 != memcpy_s(&lptmW->tmItalic, sizeof(BYTE) * 5, &lptmA->tmItalic, sizeof(BYTE) * 5))
-	{
-		return 0;
-	}
-
-
-
-
-	if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmFirstChar, 1, &lptmW->tmFirstChar, 1) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1103, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-		
-	if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmLastChar, 1, &lptmW->tmLastChar, 1) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1109, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-		
-	if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmDefaultChar, 1, &lptmW->tmDefaultChar, 1)== 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1115, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-		
-	if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmBreakChar, 1, &lptmW->tmBreakChar, 1) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1121, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-	
-	return lptmW;
-}
-
-inline LPTEXTMETRICA AtlTextMetricW2A(     LPTEXTMETRICA lptmA,      LPTEXTMETRICW lptmW)
-{
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	(void) ((!!((lptmA != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1131, 0, L"lptmA != 0")) || (__debugbreak(), 0));
-	if (lptmW == 0 || lptmA == 0)
-	{
-		return 0;
-	}
-
-
-	if(0 != memcpy_s(lptmA, sizeof(LONG) * 11, lptmW, sizeof(LONG) * 11))
-	{
-		return 0;
-	}
-
-
-
-
-
-	if(0 != memcpy_s(&lptmA->tmItalic, sizeof(BYTE) * 5, &lptmW->tmItalic, sizeof(BYTE) * 5))
-	{
-		return 0;
-	}
-
-
-
-	
-	if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmFirstChar, 1, (LPSTR)&lptmA->tmFirstChar, 1, 0, 0) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1157, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-
-	if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmLastChar, 1, (LPSTR)&lptmA->tmLastChar, 1, 0, 0) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1163, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-
-	if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmDefaultChar, 1, (LPSTR)&lptmA->tmDefaultChar, 1, 0, 0) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1169, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-
-	if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmBreakChar, 1, (LPSTR)&lptmA->tmBreakChar, 1, 0, 0) == 0)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlconv.h", 1175, 0, L"0")) || (__debugbreak(), 0));
-		return 0;
-	}
-
-	return lptmA;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	inline LPDEVMODEW DEVMODEOLE2T_EX(LPDEVMODEW lp) { return lp; }
-	inline LPDEVMODEW DEVMODET2OLE_EX(LPDEVMODEW lp) { return lp; }
-	inline LPTEXTMETRICW TEXTMETRICOLE2T_EX(LPTEXTMETRICW lp) { return lp; }
-	inline LPTEXTMETRICW TEXTMETRICT2OLE_EX(LPTEXTMETRICW lp) { return lp; }
-
-	inline LPDEVMODEW DEVMODEOLE2T(LPDEVMODEW lp) { return lp; }
-	inline LPDEVMODEW DEVMODET2OLE(LPDEVMODEW lp) { return lp; }
-	inline LPTEXTMETRICW TEXTMETRICOLE2T(LPTEXTMETRICW lp) { return lp; }
-	inline LPTEXTMETRICW TEXTMETRICT2OLE(LPTEXTMETRICW lp) { return lp; }
-
-	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning (pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) FILE * __cdecl __iob_func(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef __int64 fpos_t;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _filbuf(     FILE * _File );
-__declspec(dllimport)  int __cdecl _flsbuf(     int _Ch,      FILE * _File);
-
-
-
-
-__declspec(dllimport)  FILE * __cdecl _fsopen(       const char * _Filename,        const char * _Mode,      int _ShFlag);
-
-
-__declspec(dllimport) void __cdecl clearerr(     FILE * _File);
-__declspec(dllimport)  errno_t __cdecl clearerr_s(     FILE * _File );
-__declspec(dllimport)  int __cdecl fclose(     FILE * _File);
-__declspec(dllimport)  int __cdecl _fcloseall(void);
-
-
-
-
-__declspec(dllimport)  FILE * __cdecl _fdopen(     int _FileHandle,        const char * _Mode);
-
-
-__declspec(dllimport)  int __cdecl feof(     FILE * _File);
-__declspec(dllimport)  int __cdecl ferror(     FILE * _File);
-__declspec(dllimport)  int __cdecl fflush(       FILE * _File);
-__declspec(dllimport)  int __cdecl fgetc(     FILE * _File);
-__declspec(dllimport)  int __cdecl _fgetchar(void);
-__declspec(dllimport)  int __cdecl fgetpos(     FILE * _File ,      fpos_t * _Pos);
-__declspec(dllimport)  char * __cdecl fgets(       char * _Buf,      int _MaxCount,      FILE * _File);
-
-
-
-
-__declspec(dllimport)  int __cdecl _fileno(     FILE * _File);
-
-
-
-
-
-
-
-__declspec(dllimport)  char * __cdecl _tempnam(         const char * _DirName,          const char * _FilePrefix);
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _flushall(void);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "fopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  FILE * __cdecl fopen(       const char * _Filename,        const char * _Mode);
-
-__declspec(dllimport)  errno_t __cdecl fopen_s(                  FILE ** _File,        const char * _Filename,        const char * _Mode);
-
-__declspec(dllimport)  int __cdecl fprintf(     FILE * _File,         const char * _Format, ...);
-__declspec(dllimport)  int __cdecl fprintf_s(     FILE * _File,         const char * _Format, ...);
-__declspec(dllimport)  int __cdecl fputc(     int _Ch,      FILE * _File);
-__declspec(dllimport)  int __cdecl _fputchar(     int _Ch);
-__declspec(dllimport)  int __cdecl fputs(       const char * _Str,      FILE * _File);
-__declspec(dllimport)  size_t __cdecl fread(     void * _DstBuf,      size_t _ElementSize,      size_t _Count,      FILE * _File);
-__declspec(dllimport)  size_t __cdecl fread_s(     void * _DstBuf,      size_t _DstSize,      size_t _ElementSize,      size_t _Count,      FILE * _File);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "freopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  FILE * __cdecl freopen(       const char * _Filename,        const char * _Mode,      FILE * _File);
-
-__declspec(dllimport)  errno_t __cdecl freopen_s(                  FILE ** _File,        const char * _Filename,        const char * _Mode,      FILE * _OldFile);
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "fscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl fscanf(     FILE * _File,         const char * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_fscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _fscanf_l(     FILE * _File,         const char * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  int __cdecl fscanf_s(     FILE * _File,         const char * _Format, ...);
-
-__declspec(dllimport)  int __cdecl _fscanf_s_l(     FILE * _File,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl fsetpos(     FILE * _File,      const fpos_t * _Pos);
-__declspec(dllimport)  int __cdecl fseek(     FILE * _File,      long _Offset,      int _Origin);
-__declspec(dllimport)  long __cdecl ftell(     FILE * _File);
-
-__declspec(dllimport)  int __cdecl _fseeki64(     FILE * _File,      __int64 _Offset,      int _Origin);
-__declspec(dllimport)  __int64 __cdecl _ftelli64(     FILE * _File);
-
-__declspec(dllimport)  size_t __cdecl fwrite(       const void * _Str,      size_t _Size,      size_t _Count,      FILE * _File);
-__declspec(dllimport)  int __cdecl getc(     FILE * _File);
-__declspec(dllimport)  int __cdecl getchar(void);
-__declspec(dllimport)  int __cdecl _getmaxstdio(void);
-
-__declspec(dllimport) char * __cdecl gets_s(       char * _Buf,      rsize_t _Size);
-
-extern "C++" { template <size_t _Size> inline char * __cdecl gets_s(     char (&_Buffer)[_Size]) { return gets_s(_Buffer, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "gets_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl gets( char *_Buffer);
- int __cdecl _getw(     FILE * _File);
-
-
-
-
-__declspec(dllimport)  int __cdecl _pclose(     FILE * _File);
-__declspec(dllimport)  FILE * __cdecl _popen(       const char * _Command,        const char * _Mode);
-__declspec(dllimport)  int __cdecl printf(        const char * _Format, ...);
-__declspec(dllimport)  int __cdecl printf_s(        const char * _Format, ...);
-__declspec(dllimport)  int __cdecl putc(     int _Ch,      FILE * _File);
-__declspec(dllimport)  int __cdecl putchar(     int _Ch);
-__declspec(dllimport)  int __cdecl puts(       const char * _Str);
-__declspec(dllimport)  int __cdecl _putw(     int _Word,      FILE * _File);
-
-
-__declspec(dllimport)  int __cdecl remove(       const char * _Filename);
-__declspec(dllimport)  int __cdecl rename(       const char * _OldFilename,        const char * _NewFilename);
-__declspec(dllimport)  int __cdecl _unlink(       const char * _Filename);
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_unlink" ". See online help for details.")) __declspec(dllimport)  int __cdecl unlink(       const char * _Filename);
-
-
-__declspec(dllimport) void __cdecl rewind(     FILE * _File);
-__declspec(dllimport)  int __cdecl _rmtmp(void);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "scanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl scanf(        const char * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_scanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _scanf_l(        const char * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  int __cdecl scanf_s(        const char * _Format, ...);
-
-__declspec(dllimport)  int __cdecl _scanf_s_l(        const char * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "setvbuf" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) void __cdecl setbuf(     FILE * _File,              char * _Buffer);
-__declspec(dllimport)  int __cdecl _setmaxstdio(     int _Max);
-__declspec(dllimport)  unsigned int __cdecl _set_output_format(     unsigned int _Format);
-__declspec(dllimport)  unsigned int __cdecl _get_output_format(void);
-__declspec(dllimport)  int __cdecl setvbuf(     FILE * _File,          char * _Buf,      int _Mode,      size_t _Size);
-__declspec(dllimport)  int __cdecl _snprintf_s(       char * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const char * _Format, ...);
-extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl _snprintf_s(     char (&_Dest)[_Size],      size_t _Size,         const char * _Format, ...) { va_list _ArgList; ( _ArgList = (va_list)( &reinterpret_cast<const char &>(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ); return _vsnprintf_s(_Dest, _Size, _Size, _Format, _ArgList); } __pragma(warning(pop)); }
-__declspec(dllimport)  int __cdecl sprintf_s(       char * _DstBuf,      size_t _DstSize,         const char * _Format, ...);
-extern "C++" { __pragma(warning(push)); __pragma(warning(disable: 4793)); template <size_t _Size> inline int __cdecl sprintf_s(     char (&_Dest)[_Size],         const char * _Format, ...) { va_list _ArgList; ( _ArgList = (va_list)( &reinterpret_cast<const char &>(_Format) ) + ( (sizeof(_Format) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) ); return vsprintf_s(_Dest, _Size, _Format, _ArgList); } __pragma(warning(pop)); }
-__declspec(dllimport)  int __cdecl _scprintf(        const char * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "sscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl sscanf(       const char * _Src,         const char * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_sscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _sscanf_l(       const char * _Src,         const char * _Format,        _locale_t _Locale, ...);
-
-__declspec(dllimport)  int __cdecl sscanf_s(       const char * _Src,         const char * _Format, ...);
-
-__declspec(dllimport)  int __cdecl _sscanf_s_l(       const char * _Src,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _snscanf(         const char * _Src,      size_t _MaxCount,         const char * _Format, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _snscanf_l(         const char * _Src,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _snscanf_s(         const char * _Src,      size_t _MaxCount,         const char * _Format, ...);
-__declspec(dllimport)  int __cdecl _snscanf_s_l(         const char * _Src,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpfile_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  FILE * __cdecl tmpfile(void);
-
-__declspec(dllimport)  errno_t __cdecl tmpfile_s(                FILE ** _File);
-__declspec(dllimport)  errno_t __cdecl tmpnam_s(       char * _Buf,      rsize_t _Size);
-
-extern "C++" { template <size_t _Size> inline errno_t __cdecl tmpnam_s(       char (&_Buf)[_Size]) { return tmpnam_s(_Buf, _Size); } }
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) char * __cdecl tmpnam( char *_Buffer);
-__declspec(dllimport)  int __cdecl ungetc(     int _Ch,      FILE * _File);
-__declspec(dllimport)  int __cdecl vfprintf(     FILE * _File,         const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vfprintf_s(     FILE * _File,         const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vprintf(        const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vprintf_s(        const char * _Format, va_list _ArgList);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl vsnprintf(     char * _DstBuf,      size_t _MaxCount,         const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl vsnprintf_s(       char * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsnprintf_s(       char * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const char * _Format, va_list _ArgList);
-extern "C++" { template <size_t _Size> inline int __cdecl _vsnprintf_s(     char (&_Dest)[_Size],      size_t _Size,         const char * _Format, va_list _Args) { return _vsnprintf_s(_Dest, _Size, _Size, _Format, _Args); } }
-#pragma warning(push)
-#pragma warning(disable:4793)
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl _snprintf(     char *_Dest,      size_t _Count,         const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl _vsnprintf(     char *_Dest,      size_t _Count,         const char * _Format, va_list _Args);
-#pragma warning(pop)
-__declspec(dllimport) int __cdecl vsprintf_s(       char * _DstBuf,      size_t _Size,         const char * _Format, va_list _ArgList);
-extern "C++" { template <size_t _Size> inline int __cdecl vsprintf_s(     char (&_Dest)[_Size],         const char * _Format, va_list _Args) { return vsprintf_s(_Dest, _Size, _Format, _Args); } }
-#pragma warning(push)
-#pragma warning(disable:4793)
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "sprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl sprintf( char *_Dest,  const char * _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport) int __cdecl vsprintf( char *_Dest,  const char * _Format, va_list _Args);
-#pragma warning(pop)
-__declspec(dllimport)  int __cdecl _vscprintf(        const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _snprintf_c(     char * _DstBuf,      size_t _MaxCount,         const char * _Format, ...);
-__declspec(dllimport)  int __cdecl _vsnprintf_c(     char *_DstBuf,      size_t _MaxCount,         const char * _Format, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _fprintf_p(     FILE * _File,         const char * _Format, ...);
-__declspec(dllimport)  int __cdecl _printf_p(        const char * _Format, ...);
-__declspec(dllimport)  int __cdecl _sprintf_p(       char * _Dst,      size_t _MaxCount,         const char * _Format, ...);
-__declspec(dllimport)  int __cdecl _vfprintf_p(     FILE * _File,         const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vprintf_p(        const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsprintf_p(       char * _Dst,      size_t _MaxCount,         const char * _Format, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _scprintf_p(        const char * _Format, ...);
-__declspec(dllimport)  int __cdecl _vscprintf_p(        const char * _Format, va_list _ArgList);
-__declspec(dllimport) int __cdecl _set_printf_count_output(     int _Value);
-__declspec(dllimport) int __cdecl _get_printf_count_output();
-
-__declspec(dllimport)  int __cdecl _printf_l(        const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _printf_p_l(        const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _printf_s_l(        const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vprintf_l(        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vprintf_p_l(        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vprintf_s_l(        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _fprintf_l(     FILE * _File,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _fprintf_p_l(     FILE * _File,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _fprintf_s_l(     FILE * _File,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vfprintf_l(     FILE * _File,        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vfprintf_p_l(     FILE * _File,        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vfprintf_s_l(     FILE * _File,        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_sprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _sprintf_l(     char * _DstBuf,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _sprintf_p_l(       char * _DstBuf,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _sprintf_s_l(       char * _DstBuf,      size_t _DstSize,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _vsprintf_l(     char * _DstBuf,        const char * _Format,        _locale_t, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsprintf_p_l(       char * _DstBuf,      size_t _MaxCount,         const char* _Format,        _locale_t _Locale,  va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsprintf_s_l(       char * _DstBuf,      size_t _DstSize,         const char * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(dllimport)  int __cdecl _scprintf_l(        const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _scprintf_p_l(        const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _vscprintf_l(        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vscprintf_p_l(        const char * _Format,        _locale_t _Locale, va_list _ArgList);
-
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _snprintf_l(     char * _DstBuf,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _snprintf_c_l(     char * _DstBuf,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(dllimport)  int __cdecl _snprintf_s_l(       char * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, ...);
-__declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.")) __declspec(dllimport)  int __cdecl _vsnprintf_l(     char * _DstBuf,      size_t _MaxCount,         const char * _Format,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsnprintf_c_l(     char * _DstBuf,      size_t _MaxCount, const char *,        _locale_t _Locale, va_list _ArgList);
-__declspec(dllimport)  int __cdecl _vsnprintf_s_l(       char * _DstBuf,      size_t _DstSize,      size_t _MaxCount,         const char* _Format,       _locale_t _Locale, va_list _ArgList);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) void __cdecl _lock_file(     FILE * _File);
-__declspec(dllimport) void __cdecl _unlock_file(     FILE * _File);
-
-
-
-
-
-
-__declspec(dllimport)  int __cdecl _fclose_nolock(     FILE * _File);
-__declspec(dllimport)  int __cdecl _fflush_nolock(       FILE * _File);
-__declspec(dllimport)  size_t __cdecl _fread_nolock(     void * _DstBuf,      size_t _ElementSize,      size_t _Count,      FILE * _File);
-__declspec(dllimport)  size_t __cdecl _fread_nolock_s(     void * _DstBuf,      size_t _DstSize,      size_t _ElementSize,      size_t _Count,      FILE * _File);
-__declspec(dllimport)  int __cdecl _fseek_nolock(     FILE * _File,      long _Offset,      int _Origin);
-__declspec(dllimport)  long __cdecl _ftell_nolock(     FILE * _File);
-__declspec(dllimport)  int __cdecl _fseeki64_nolock(     FILE * _File,      __int64 _Offset,      int _Origin);
-__declspec(dllimport)  __int64 __cdecl _ftelli64_nolock(     FILE * _File);
-__declspec(dllimport)  size_t __cdecl _fwrite_nolock(       const void * _DstBuf,      size_t _Size,      size_t _Count,      FILE * _File);
-__declspec(dllimport)  int __cdecl _ungetc_nolock(     int _Ch,      FILE * _File);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_tempnam" ". See online help for details.")) __declspec(dllimport) char * __cdecl tempnam(         const char * _Directory,          const char * _FilePrefix);
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fcloseall" ". See online help for details.")) __declspec(dllimport)  int __cdecl fcloseall(void);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fdopen" ". See online help for details.")) __declspec(dllimport)  FILE * __cdecl fdopen(     int _FileHandle,         const char * _Format);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fgetchar" ". See online help for details.")) __declspec(dllimport)  int __cdecl fgetchar(void);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fileno" ". See online help for details.")) __declspec(dllimport)  int __cdecl fileno(     FILE * _File);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_flushall" ". See online help for details.")) __declspec(dllimport)  int __cdecl flushall(void);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_fputchar" ". See online help for details.")) __declspec(dllimport)  int __cdecl fputchar(     int _Ch);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_getw" ". See online help for details.")) __declspec(dllimport)  int __cdecl getw(     FILE * _File);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_putw" ". See online help for details.")) __declspec(dllimport)  int __cdecl putw(     int _Ch,      FILE * _File);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_rmtmp" ". See online help for details.")) __declspec(dllimport)  int __cdecl rmtmp(void);
-
-
-
-
-}
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-extern "C" {
-
-
-
-typedef enum ATLTRACESTATUS
-{
-	ATLTRACESTATUS_INHERIT, ATLTRACESTATUS_ENABLED, ATLTRACESTATUS_DISABLED
-} ATLTRACESTATUS;
-
-DWORD_PTR __stdcall AtlTraceOpenProcess( DWORD idProcess );
-void __stdcall AtlTraceCloseProcess( DWORD_PTR dwProcess );
-void __stdcall AtlTraceSnapshotProcess( DWORD_PTR dwProcess );
-
-DWORD_PTR __stdcall AtlTraceRegister(HINSTANCE hInst,
-	int (__cdecl *fnCrtDbgReport)(int,const char *,int,const char *,const char *,...));
-BOOL __stdcall AtlTraceUnregister(DWORD_PTR dwModule);
-
-DWORD_PTR __stdcall AtlTraceRegisterCategoryA(DWORD_PTR dwModule, const CHAR szCategoryName[64]);
-DWORD_PTR __stdcall AtlTraceRegisterCategoryU(DWORD_PTR dwModule, const WCHAR szCategoryName[64]);
-
-BOOL __stdcall AtlTraceModifyProcess(DWORD_PTR dwProcess, UINT nLevel, BOOL bEnabled, BOOL bFuncAndCategoryNames, BOOL bFileNameAndLineNo);
-BOOL __stdcall AtlTraceModifyModule(DWORD_PTR dwProcess, DWORD_PTR dwModule, UINT nLevel, ATLTRACESTATUS eStatus);
-BOOL __stdcall AtlTraceModifyCategory(DWORD_PTR dwProcess, DWORD_PTR dwCategory, UINT nLevel, ATLTRACESTATUS eStatus);
-BOOL __stdcall AtlTraceGetProcess(DWORD_PTR dwProcess, UINT *pnLevel, BOOL *pbEnabled, BOOL *pbFuncAndCategoryNames, BOOL *pbFileNameAndLineNo);
-BOOL __stdcall AtlTraceGetModule(DWORD_PTR dwProcess, DWORD_PTR dwModule, UINT *pnLevel, ATLTRACESTATUS *pStatus);
-BOOL __stdcall AtlTraceGetCategory(DWORD_PTR dwProcess, DWORD_PTR dwCategory, UINT *pnLevel, ATLTRACESTATUS *pStatus);
-
-__declspec(deprecated("AtlTraceGetUpdateEventNameA is unsafe. Instead use AtlTraceGetUpdateEventNameA_s")) 
-void __stdcall AtlTraceGetUpdateEventNameA(     CHAR *pszEventName);
-__declspec(deprecated("AtlTraceGetUpdateEventNameU is unsafe. Instead use AtlTraceGetUpdateEventNameU_s")) 
-void __stdcall AtlTraceGetUpdateEventNameU(     WCHAR *pszEventName);
-
-void __stdcall AtlTraceGetUpdateEventNameA_s(       CHAR *pszEventName,      size_t cchEventName);
-void __stdcall AtlTraceGetUpdateEventNameU_s(       WCHAR *pszEventName,      size_t cchEventName);
-
-void __cdecl AtlTraceVA(DWORD_PTR dwModule, const char *pszFileName, int nLineNo,
-						DWORD_PTR dwCategory, UINT nLevel, const CHAR *pszFormat, va_list ptr);
-void __cdecl AtlTraceVU(DWORD_PTR dwModule,const char *pszFileName, int nLineNo,
-						DWORD_PTR dwCategory, UINT nLevel, const WCHAR *pszFormat, va_list ptr);
-
-BOOL __stdcall AtlTraceLoadSettingsA(const CHAR *pszFileName, DWORD_PTR dwProcess = 0);
-BOOL __stdcall AtlTraceLoadSettingsU(const WCHAR *pszFileName, DWORD_PTR dwProcess = 0);
-BOOL __stdcall AtlTraceSaveSettingsA(const CHAR *pszFileName, DWORD_PTR dwProcess = 0);
-BOOL __stdcall AtlTraceSaveSettingsU(const WCHAR *pszFileName, DWORD_PTR dwProcess = 0);
-
-typedef struct ATLTRACESETTINGS
-{
-	UINT nLevel;
-	ATLTRACESTATUS eStatus;
-} ATLTRACESETTINGS;
-
-typedef struct ATLTRACEPROCESSSETTINGS
-{
-	UINT nLevel;
-	BOOL bEnabled, bFuncAndCategoryNames, bFileNameAndLineNo;
-} ATLTRACEPROCESSSETTINGS;
-
-typedef struct ATLTRACEPROCESSINFO
-{
-	WCHAR szName[64], szPath[260];
-	DWORD dwId;
-	ATLTRACEPROCESSSETTINGS settings;
-	int nModules;
-} ATLTRACEPROCESSINFO;
-
-typedef struct ATLTRACEMODULEINFO
-{
-	WCHAR szName[64], szPath[260];
-	ATLTRACESETTINGS settings;
-	DWORD_PTR dwModule;
-	int nCategories;
-} ATLTRACEMODULEINFO;
-
-typedef struct ATLTRACECATEGORYINFO
-{
-	WCHAR szName[64];
-	ATLTRACESETTINGS settings;
-	DWORD_PTR dwCategory;
-} ATLTRACECATEGORYINFO;
-
-BOOL __stdcall AtlTraceGetProcessInfo(DWORD_PTR dwProcess, ATLTRACEPROCESSINFO* pProcessInfo);
-void __stdcall AtlTraceGetModuleInfo(DWORD_PTR dwProcess, int iModule, ATLTRACEMODULEINFO* pModuleInfo);
-void __stdcall AtlTraceGetCategoryInfo(DWORD_PTR dwProcess, DWORD_PTR dwModule, int iCategory, ATLTRACECATEGORYINFO* pAtlTraceCategoryInfo);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-};
-
-};  
-#pragma pack(pop)
-
-
-
-
-
-extern "C" IMAGE_DOS_HEADER __ImageBase;
-
- 
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-class CTraceCategory
-{
-public:
-	explicit CTraceCategory( LPCTSTR pszCategoryName, UINT nStartingLevel = 0 ) throw();
-
-
-	UINT GetLevel() const throw();
-	void SetLevel( UINT nLevel ) throw();
-	ATLTRACESTATUS GetStatus() const throw();
-	void SetStatus( ATLTRACESTATUS eStatus) throw();
-
-
-	operator DWORD_PTR() const throw();
-
-public:
-
-	DWORD_PTR m_dwCategory;
-
-};
-
-
-
-class CTrace
-{
-public:
-	typedef int (__cdecl *fnCrtDbgReport_t)(int,const char *,int,const char *,const char *,...);
-
-private:
-	CTrace(
-
-
-
-		fnCrtDbgReport_t pfnCrtDbgReport = _CrtDbgReport)
-
-		: m_hInst(reinterpret_cast<HINSTANCE>(&__ImageBase)),
-			m_dwModule( 0 )
-	{
-		m_dwModule = AtlTraceRegister(m_hInst, pfnCrtDbgReport);
-	}
-
-	~CTrace()
-	{
-		AtlTraceUnregister(m_dwModule);
-	}
-
-public:
-	bool ChangeCategory(DWORD_PTR dwCategory, UINT nLevel, ATLTRACESTATUS eStatus)
-	{
-		return 0 !=
-			AtlTraceModifyCategory(0, dwCategory, nLevel, eStatus);
-	}
-
-	bool GetCategory(DWORD_PTR dwCategory, UINT *pnLevel, ATLTRACESTATUS *peStatus)
-	{
-		(void) ((!!((pnLevel && peStatus))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atltrace.h", 90, 0, L"pnLevel && peStatus")) || (__debugbreak(), 0));
-		return 0 != AtlTraceGetCategory(0, dwCategory, pnLevel, peStatus);
-	}
-	UINT GetLevel()
-	{
-		ATLTRACESTATUS eStatus;
-		UINT nLevel;
-		AtlTraceGetModule(0, m_dwModule, &nLevel, &eStatus);
-
-		return nLevel;
-	}
-	void SetLevel(UINT nLevel)
-	{
-		AtlTraceModifyModule(0, m_dwModule, nLevel, ATLTRACESTATUS_ENABLED);
-	}
-	ATLTRACESTATUS GetStatus()
-	{
-		ATLTRACESTATUS eStatus;
-		UINT nLevel;
-		AtlTraceGetModule(0, m_dwModule, &nLevel, &eStatus);
-
-		return eStatus;
-	}
-	void SetStatus(ATLTRACESTATUS eStatus)
-	{
-		ATLTRACESTATUS eOldStatus;
-		UINT nLevel;
-		AtlTraceGetModule(0, m_dwModule, &nLevel, &eOldStatus);
-		AtlTraceModifyModule(0, m_dwModule, nLevel, eStatus);
-	}
-	void __cdecl TraceV(const char *pszFileName, int nLine,
-		DWORD_PTR dwCategory, UINT nLevel, LPCSTR pszFmt, va_list args) const;
-	void __cdecl TraceV(const char *pszFileName, int nLine,
-		DWORD_PTR dwCategory, UINT nLevel, LPCWSTR pszFmt, va_list args) const;
-
-	DWORD_PTR RegisterCategory(LPCSTR pszCategory)
-		{return(AtlTraceRegisterCategoryA(m_dwModule, pszCategory));}
-
-	DWORD_PTR RegisterCategory(LPCWSTR pszCategory)
-		{return(AtlTraceRegisterCategoryU(m_dwModule, pszCategory));}
-
-
-	bool LoadSettings(LPCTSTR pszFileName = 0) const
-		{return 0 != AtlTraceLoadSettingsU(pszFileName);}
-	void SaveSettings(LPCTSTR pszFileName = 0) const
-		{AtlTraceSaveSettingsU(pszFileName);}
-
-public:
-	static CTrace s_trace;
-
-protected:
-	HINSTANCE m_hInst;
-	DWORD_PTR m_dwModule;
-};
-
-    inline void __cdecl CTrace::TraceV(const char *pszFileName, int nLine,
-		DWORD_PTR dwCategory, UINT nLevel, LPCSTR pszFmt, va_list args) const
-	{
-		AtlTraceVA(m_dwModule, pszFileName, nLine, dwCategory, nLevel, pszFmt, args);
-	}
-	inline void __cdecl CTrace::TraceV(const char *pszFileName, int nLine,
-		DWORD_PTR dwCategory, UINT nLevel, LPCWSTR pszFmt, va_list args) const
-	{
-		AtlTraceVU(m_dwModule, pszFileName, nLine, dwCategory, nLevel, pszFmt, args);
-	}
-
-extern CTraceCategory atlTraceGeneral;
-
-class CTraceFileAndLineInfo
-{
-public:
-	CTraceFileAndLineInfo(const char *pszFileName, int nLineNo)
-		: m_pszFileName(pszFileName), m_nLineNo(nLineNo)
-	{}
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-	void __cdecl operator()(DWORD_PTR dwCategory, UINT nLevel, const char *pszFmt, ...) const
-	{
-		va_list ptr; ( ptr = (va_list)( &reinterpret_cast<const char &>(pszFmt) ) + ( (sizeof(pszFmt) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-		ATL::CTrace::s_trace.TraceV(m_pszFileName, m_nLineNo, dwCategory, nLevel, pszFmt, ptr);
-		( ptr = (va_list)0 );
-	}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-	void __cdecl operator()(DWORD_PTR dwCategory, UINT nLevel, const wchar_t *pszFmt, ...) const
-	{
-		va_list ptr; ( ptr = (va_list)( &reinterpret_cast<const char &>(pszFmt) ) + ( (sizeof(pszFmt) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-		ATL::CTrace::s_trace.TraceV(m_pszFileName, m_nLineNo, dwCategory, nLevel, pszFmt, ptr);
-		( ptr = (va_list)0 );
-	}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-	void __cdecl operator()(const char *pszFmt, ...) const
-	{
-		va_list ptr; ( ptr = (va_list)( &reinterpret_cast<const char &>(pszFmt) ) + ( (sizeof(pszFmt) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-		ATL::CTrace::s_trace.TraceV(m_pszFileName, m_nLineNo, atlTraceGeneral, 0, pszFmt, ptr);
-		( ptr = (va_list)0 );
-	}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-	void __cdecl operator()(const wchar_t *pszFmt, ...) const
-	{
-		va_list ptr; ( ptr = (va_list)( &reinterpret_cast<const char &>(pszFmt) ) + ( (sizeof(pszFmt) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-		ATL::CTrace::s_trace.TraceV(m_pszFileName, m_nLineNo, atlTraceGeneral, 0, pszFmt, ptr);
-		( ptr = (va_list)0 );
-	}
-#pragma warning(pop)
-
-private:
-	
-	CTraceFileAndLineInfo &__cdecl operator=(const CTraceFileAndLineInfo &right);
-
-	const char *const m_pszFileName;
-	const int m_nLineNo;
-};
-
-
-
-
-
-inline CTraceCategory::CTraceCategory( LPCTSTR pszCategoryName, UINT nStartingLevel ) throw() :
-	m_dwCategory( 0 )
-{
-	m_dwCategory = ATL::CTrace::s_trace.RegisterCategory( pszCategoryName );
-	ATL::CTrace::s_trace.ChangeCategory( m_dwCategory, nStartingLevel, ATLTRACESTATUS_INHERIT);
-}
-
-inline CTraceCategory::operator DWORD_PTR() const throw()
-{
-	return( m_dwCategory );
-}
-
-inline UINT CTraceCategory::GetLevel() const throw()
-{
-	UINT nLevel;
-	ATLTRACESTATUS eStatus;
-	ATL::CTrace::s_trace.GetCategory( m_dwCategory, &nLevel, &eStatus );
-
-	return( nLevel );
-}
-
-inline void CTraceCategory::SetLevel( UINT nLevel ) throw()
-{
-	ATL::CTrace::s_trace.ChangeCategory( m_dwCategory, nLevel, ATLTRACESTATUS_ENABLED );
-}
-
-inline ATLTRACESTATUS CTraceCategory::GetStatus() const throw()
-{
-	UINT nLevel;
-	ATLTRACESTATUS eStatus;
-	ATL::CTrace::s_trace.GetCategory( m_dwCategory, &nLevel, &eStatus );
-
-	return( eStatus );
-}
-
-inline void CTraceCategory::SetStatus( ATLTRACESTATUS eStatus ) throw()
-{
-	UINT nLevel;
-	ATLTRACESTATUS eOldStatus;
-	ATL::CTrace::s_trace.GetCategory( m_dwCategory, &nLevel, &eOldStatus );
-	ATL::CTrace::s_trace.ChangeCategory( m_dwCategory, nLevel, eStatus );
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}  
- 
-namespace ATL
-{
-
-
-
-
-
-
-
-extern ATL::CTraceCategory atlTraceGeneral;
-extern ATL::CTraceCategory atlTraceCOM;  
-extern ATL::CTraceCategory atlTraceQI;	
-extern ATL::CTraceCategory atlTraceRegistrar;
-extern ATL::CTraceCategory atlTraceRefcount;
-extern ATL::CTraceCategory atlTraceWindowing;
-extern ATL::CTraceCategory atlTraceControls;
-extern ATL::CTraceCategory atlTraceHosting; 
-extern ATL::CTraceCategory atlTraceDBClient;  
-extern ATL::CTraceCategory atlTraceDBProvider;
-extern ATL::CTraceCategory atlTraceSnapin;
-extern ATL::CTraceCategory atlTraceNotImpl;   
-extern ATL::CTraceCategory atlTraceAllocation;
-extern ATL::CTraceCategory atlTraceException;
-extern ATL::CTraceCategory atlTraceTime;
-extern ATL::CTraceCategory atlTraceCache;		
-extern ATL::CTraceCategory atlTraceStencil;
-extern ATL::CTraceCategory atlTraceString;
-extern ATL::CTraceCategory atlTraceMap;	
-extern ATL::CTraceCategory atlTraceUtil;		
-extern ATL::CTraceCategory atlTraceSecurity;
-extern ATL::CTraceCategory atlTraceSync;
-extern ATL::CTraceCategory atlTraceISAPI;		
-
-
-extern ATL::CTraceCategory atlTraceUser;
-extern ATL::CTraceCategory atlTraceUser2;
-extern ATL::CTraceCategory atlTraceUser3;
-extern ATL::CTraceCategory atlTraceUser4;
-
-#pragma deprecated( atlTraceUser )
-#pragma deprecated( atlTraceUser2 )
-#pragma deprecated( atlTraceUser3 )
-#pragma deprecated( atlTraceUser4 )
-
-
-
-
-class CNoUIAssertHook
-{
-public:
-	CNoUIAssertHook()
-	{
-		(void) ((!!((s_pfnPrevHook == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atltrace.h", 329, 0, L"s_pfnPrevHook == 0")) || (__debugbreak(), 0));
-		s_pfnPrevHook = _CrtSetReportHook(CrtHookProc);
-	}
-	~CNoUIAssertHook()
-	{
-		_CrtSetReportHook(s_pfnPrevHook);
-		s_pfnPrevHook = 0;
-	}
-
-private:
-	static int __cdecl CrtHookProc(     int eReportType,        char* pszMessage,      int* pnRetVal)
-	{
-		
-		if (eReportType == 2)
-		{
-			::OutputDebugStringA( "ASSERTION FAILED\n" );
-			::OutputDebugStringA( pszMessage );
-			
-			if (pnRetVal != 0)
-			{
-				*pnRetVal = 1;
-			}
-			return 1;
-		}
-
-		if (s_pfnPrevHook != 0)
-		{
-			return s_pfnPrevHook(eReportType, pszMessage, pnRetVal);
-		}
-		else
-		{
-			return 0;
-		}
-	}
-
-private:
-	static _CRT_REPORT_HOOK s_pfnPrevHook;
-};
-
-__declspec( selectany ) _CRT_REPORT_HOOK CNoUIAssertHook::s_pfnPrevHook = 0;
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-inline void __cdecl AtlTraceU(LPCSTR pszFormat, ...)
-{
-	va_list ptr;
-	( ptr = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-	ATL::CTrace::s_trace.TraceV(0, -1, atlTraceGeneral, 0, pszFormat, ptr);
-	( ptr = (va_list)0 );
-}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-inline void __cdecl AtlTraceU(LPCWSTR pszFormat, ...)
-{
-	va_list ptr;
-	( ptr = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-	ATL::CTrace::s_trace.TraceV(0, -1, atlTraceGeneral, 0, pszFormat, ptr);
-	( ptr = (va_list)0 );
-}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-inline void __cdecl AtlTrace2(DWORD_PTR dwCategory, UINT nLevel, LPCSTR pszFormat, ...)
-{
-	va_list ptr;
-	( ptr = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-	ATL::CTrace::s_trace.TraceV(0, -1, dwCategory, nLevel, pszFormat, ptr);
-	( ptr = (va_list)0 );
-}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-inline void __cdecl AtlTrace2(DWORD_PTR dwCategory, UINT nLevel, LPCWSTR pszFormat, ...)
-{
-	va_list ptr;
-	( ptr = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-	ATL::CTrace::s_trace.TraceV(0, -1, dwCategory, nLevel, pszFormat, ptr);
-	( ptr = (va_list)0 );
-}
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-};  
-#pragma pack(pop)
-
-
-
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-
-
-inline void __declspec(noreturn) _AtlRaiseException( DWORD dwExceptionCode, DWORD dwExceptionFlags = 0x1 )
-{
-	RaiseException( dwExceptionCode, dwExceptionFlags, 0, 0 );
-}
-
-class CAtlException
-{
-public:
-	CAtlException() throw() :
-		m_hr( ((HRESULT)0x80004005L) )
-	{
-	}
-
-	CAtlException( HRESULT hr ) throw() :
-		m_hr( hr )
-	{
-	}
-
-	operator HRESULT() const throw()
-	{
-		return( m_hr );
-	}
-
-public:
-	HRESULT m_hr;
-};
-
-
-
-
-
-
-
-
-
-__declspec( noinline ) __declspec(noreturn) inline void __stdcall AtlThrowImpl( HRESULT hr )
-{
-	ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlexcept.h", 64)(atlTraceException, 0, L"AtlThrow: hr = 0x%x\n", hr );
-
-
-
-
-
-
-
-
-
-
-	throw CAtlException( hr );
-
-};
-
-
-
-__declspec( noinline ) __declspec(noreturn) inline void __stdcall AtlThrowLastWin32()
-{
-	DWORD dwError = ::GetLastError();
-	ATL::AtlThrowImpl( ((HRESULT)(dwError) <= 0 ? ((HRESULT)(dwError)) : ((HRESULT) (((dwError) & 0x0000FFFF) | (7 << 16) | 0x80000000))) );
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-};  
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-inline errno_t AtlCrtErrorCheck(errno_t nError)
-{
-	switch(nError)
-	{
-	case 12:
-		ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-		break;
-	case 22:
-	case 34:
-		ATL::AtlThrowImpl(((HRESULT)0x80070057L));
-		break;
-	case 0:
-	case 80:
-		break;
-	default:
-		ATL::AtlThrowImpl(((HRESULT)0x80004005L));
-		break;
-	}
-	return nError;
-}
-
-
-
-
-namespace Checked
-{
-
-
-
-
-
-
-
-
-
-inline void __cdecl memcpy_s(        void *_S1,      size_t _S1max,        const void *_S2,      size_t _N)
-{
-	AtlCrtErrorCheck(::memcpy_s(_S1, _S1max, _S2, _N));
-}
-
-inline void __cdecl wmemcpy_s(       wchar_t *_S1,      size_t _N1,        const wchar_t *_S2,      size_t _N)
-{
-	AtlCrtErrorCheck(::wmemcpy_s(_S1, _N1, _S2, _N));
-}
-
-inline void __cdecl memmove_s(       void *_S1,      size_t _S1max,        const void *_S2, size_t _N)
-{
-	AtlCrtErrorCheck(::memmove_s(_S1, _S1max, _S2, _N));
-}
-
-inline void __cdecl strcpy_s(     char *_S1,      size_t _S1max,        const char *_S2)
-{
-	AtlCrtErrorCheck(::strcpy_s(_S1, _S1max, _S2));
-}
-
-inline void __cdecl wcscpy_s(     wchar_t *_S1,      size_t _S1max,        const wchar_t *_S2)
-{
-	AtlCrtErrorCheck(::wcscpy_s(_S1, _S1max, _S2));
-}
-
-inline void __cdecl tcscpy_s(     TCHAR * _Dst,      size_t _SizeInChars,        const TCHAR * _Src)
-{
-
-	AtlCrtErrorCheck(::wcscpy_s(_Dst, _SizeInChars, _Src));
-
-
-
-
-
-
-
-}
-
-inline errno_t __cdecl strncpy_s(     char *_Dest,      size_t _SizeInChars,        const char *_Source,      size_t _Count)
-{
-	return AtlCrtErrorCheck(::strncpy_s(_Dest, _SizeInChars, _Source,_Count));	
-}
-
-inline errno_t __cdecl wcsncpy_s(     wchar_t *_Dest,      size_t _SizeInChars,        const wchar_t *_Source,      size_t _Count)
-{
-	return AtlCrtErrorCheck(::wcsncpy_s(_Dest, _SizeInChars, _Source,_Count));	
-}
-
-inline errno_t __cdecl tcsncpy_s(     TCHAR *_Dest,      size_t _SizeInChars,        const TCHAR *_Source,      size_t _Count)
-{
-
-	return AtlCrtErrorCheck(::wcsncpy_s(_Dest, _SizeInChars, _Source,_Count));	
-
-
-
-
-
-
-
-}
-
-inline void __cdecl strcat_s(           char * _Dst,      size_t _SizeInChars,        const char * _Src)
-{
-	AtlCrtErrorCheck(::strcat_s(_Dst, _SizeInChars, _Src));
-}
-
-inline void __cdecl wcscat_s(           wchar_t * _Dst,      size_t _SizeInChars,        const wchar_t * _Src)
-{
-	AtlCrtErrorCheck(::wcscat_s(_Dst, _SizeInChars, _Src));
-}
-
-inline void __cdecl tcscat_s(           TCHAR * _Dst,      size_t _SizeInChars,        const TCHAR * _Src)
-{
-
-	AtlCrtErrorCheck(::wcscat_s(_Dst, _SizeInChars, _Src));
-
-
-
-
-
-
-
-}
-
-inline void __cdecl strlwr_s(           char * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_strlwr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl wcslwr_s(           wchar_t * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_wcslwr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl mbslwr_s(           unsigned char * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_mbslwr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl tcslwr_s(           TCHAR * _Str,      size_t _SizeInChars)
-{
-
-	AtlCrtErrorCheck(::_wcslwr_s(_Str, _SizeInChars));	
-
-
-
-
-
-
-
-}
-
-inline void __cdecl strupr_s(           char * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_strupr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl wcsupr_s(           wchar_t * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_wcsupr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl mbsupr_s(           unsigned char * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_mbsupr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl tcsupr_s(           TCHAR * _Str,      size_t _SizeInChars)
-{
-	AtlCrtErrorCheck(::_wcsupr_s(_Str, _SizeInChars));	
-}
-
-inline void __cdecl itoa_s(     int _Val,        char *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_itoa_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl itot_s(     int _Val,        TCHAR *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_itow_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ltoa_s(     long _Val,        char *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ltoa_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ltot_s(     long _Val,        TCHAR *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ltow_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ultoa_s(     unsigned long _Val,        char *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ultoa_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ultow_s(     unsigned long _Val,        wchar_t *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ultow_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ultot_s(     unsigned long _Val,        TCHAR *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ultow_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl i64toa_s(     __int64 _Val,        char *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_i64toa_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl i64tow_s(     __int64 _Val,        wchar_t *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_i64tow_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ui64toa_s(     unsigned __int64 _Val,        char *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ui64toa_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl ui64tow_s(     unsigned __int64 _Val,        wchar_t *_Buf,      size_t _SizeInChars,      int _Radix)
-{
-	AtlCrtErrorCheck(::_ui64tow_s(_Val, _Buf, _SizeInChars, _Radix));
-}
-
-inline void __cdecl gcvt_s(       char *_Buffer,      size_t _SizeInChars,      double _Value,      int _Ndec)
-{
-	AtlCrtErrorCheck(::_gcvt_s(_Buffer, _SizeInChars, _Value, _Ndec));
-}
-
-inline void __cdecl tsplitpath_s(       const TCHAR *_Path,          TCHAR *_Drive,      size_t _Drive_len, 
-	         TCHAR *_Dir,      size_t _Dir_len, 
-	         TCHAR *_Fname,      size_t _Fname_len, 
-	         TCHAR *_Ext,      size_t _Ext_len)
-{
-	AtlCrtErrorCheck(::_wsplitpath_s(_Path, _Drive, _Drive_len, _Dir, _Dir_len, _Fname, _Fname_len, _Ext, _Ext_len));
-}
-
-inline void __cdecl tmakepath_s(       TCHAR *_Path,      size_t _SizeInChars,        const TCHAR *_Drive, 
-	       const TCHAR *_Dir,        const TCHAR *_Fname,        const TCHAR *_Ext)
-{
-	AtlCrtErrorCheck(::_wmakepath_s(_Path, _SizeInChars, _Drive, _Dir, _Fname, _Ext));
-}
-
-inline size_t __cdecl strnlen(       const char *_Str,      size_t _Maxsize)
-{
-	return ::strnlen(_Str, _Maxsize);
-}
-
-inline size_t __cdecl wcsnlen(       const wchar_t *_Wcs,      size_t _Maxsize)
-{
-	return ::wcsnlen(_Wcs, _Maxsize);
-}
-
-inline size_t __cdecl tcsnlen(       const TCHAR *_Str,      size_t _Maxsize)
-{
-	return ::wcsnlen(_Str, _Maxsize);
-}
-
-inline int get_errno() throw()
-{
-	int nErrNo=0;
-	errno_t nErrCall=::_get_errno(&nErrNo);
-	if(nErrCall)
-	{
-		return nErrCall;
-	}
-	return nErrNo;
-}
-
-inline void set_errno(     int _Value)
-{
-	AtlCrtErrorCheck(::_set_errno(_Value));
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-} 
-
-} 
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable: 4800) 
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-
-
-
-
-
-
-
-template <class T>
-class CSimpleArrayEqualHelper
-{
-public:
-	static bool IsEqual(const T& t1, const T& t2)
-	{
-		return (t1 == t2);
-	}
-};
-
-template <class T>
-class CSimpleArrayEqualHelperFalse
-{
-public:
-	static bool IsEqual(const T&, const T&)
-	{
-		(void) ((!!((false))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 63, 0, L"false")) || (__debugbreak(), 0));
-		return false;
-	}
-};
-
-template <class TKey, class TVal>
-class CSimpleMapEqualHelper
-{
-public:
-	static bool IsEqualKey(const TKey& k1, const TKey& k2)
-	{
-		return CSimpleArrayEqualHelper<TKey>::IsEqual(k1, k2);
-	}
-
-	static bool IsEqualValue(const TVal& v1, const TVal& v2)
-	{
-		return CSimpleArrayEqualHelper<TVal>::IsEqual(v1, v2);
-	}
-};
-
-template <class TKey, class TVal>
-class CSimpleMapEqualHelperFalse
-{
-public:
-	static bool IsEqualKey(const TKey& k1, const TKey& k2)
-	{
-		return CSimpleArrayEqualHelper<TKey>::IsEqual(k1, k2);
-	}
-
-	static bool IsEqualValue(const TVal&, const TVal&)
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 94, 0, L"0")) || (__debugbreak(), 0));
-		return false;
-	}
-};
-
-template <class T, class TEqual = CSimpleArrayEqualHelper< T > >
-class CSimpleArray
-{
-public:
-
-	CSimpleArray() : m_aT(0), m_nSize(0), m_nAllocSize(0)
-	{ }
-
-	~CSimpleArray();
-
-	CSimpleArray(const CSimpleArray< T, TEqual >& src) : m_aT(0), m_nSize(0), m_nAllocSize(0)
-	{
-        if (src.GetSize())
-        {
-			m_aT = (T*)calloc(src.GetSize(), sizeof(T));
-			if (m_aT != 0)
-			{
-				m_nAllocSize = src.GetSize();
-				for (int i=0; i<src.GetSize(); i++)
-					Add(src[i]);
-			}
-		}
-	}
-	CSimpleArray< T, TEqual >& operator=(const CSimpleArray< T, TEqual >& src)
-	{
-		if (GetSize() != src.GetSize())
-		{
-			RemoveAll();
-			m_aT = (T*)calloc(src.GetSize(), sizeof(T));
-			if (m_aT != 0)
-				m_nAllocSize = src.GetSize();
-		}
-		else
-		{
-			for (int i = GetSize(); i > 0; i--)
-				RemoveAt(i - 1);
-		}
-		for (int i=0; i<src.GetSize(); i++)
-			Add(src[i]);
-		return *this;
-	}
-
-
-	int GetSize() const
-	{
-		return m_nSize;
-	}
-	BOOL Add(const T& t)
-	{
-		if(m_nSize == m_nAllocSize)
-		{
-			
-			
-			do { int __atl_condVal=!!((&t < m_aT) || (&t >= (m_aT + m_nAllocSize) )); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 153, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-
-			T* aT;
-			int nNewAllocSize = (m_nAllocSize == 0) ? 1 : (m_nSize * 2);
-	  
-			if (nNewAllocSize<0||nNewAllocSize>2147483647/sizeof(T))
-			{
-				return 0;
-			}
-
-			aT = (T*)_recalloc(m_aT, nNewAllocSize, sizeof(T));
-			if(aT == 0)
-				return 0;
-			m_nAllocSize = nNewAllocSize;
-			m_aT = aT;
-		}
-		InternalSetAtIndex(m_nSize, t);
-		m_nSize++;
-		return 1;
-	}
-	BOOL Remove(const T& t)
-	{
-		int nIndex = Find(t);
-		if(nIndex == -1)
-			return 0;
-		return RemoveAt(nIndex);
-	}
-	BOOL RemoveAt(int nIndex)
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 182, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if (nIndex < 0 || nIndex >= m_nSize)
-			return 0;
-		m_aT[nIndex].~T();
-		if(nIndex != (m_nSize - 1))
-			Checked::memmove_s((void*)(m_aT + nIndex), (m_nSize - nIndex) * sizeof(T), (void*)(m_aT + nIndex + 1), (m_nSize - (nIndex + 1)) * sizeof(T));
-		m_nSize--;
-		return 1;
-	}
-	void RemoveAll()
-	{
-		if(m_aT != 0)
-		{
-			for(int i = 0; i < m_nSize; i++)
-				m_aT[i].~T();
-			free(m_aT);
-			m_aT = 0;
-		}
-		m_nSize = 0;
-		m_nAllocSize = 0;
-    }   
-	const T& operator[] (int nIndex) const
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 205, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if(nIndex < 0 || nIndex >= m_nSize)
-		{
-			_AtlRaiseException((DWORD)((DWORD )0xC000008CL));					
-		}
-		return m_aT[nIndex];
-	}
-	T& operator[] (int nIndex)
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 214, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if(nIndex < 0 || nIndex >= m_nSize)
-		{
-			_AtlRaiseException((DWORD)((DWORD )0xC000008CL));					
-		}
-		return m_aT[nIndex];
-	}
-	T* GetData() const
-	{
-		return m_aT;
-	}
-
-	int Find(const T& t) const
-	{
-		for(int i = 0; i < m_nSize; i++)
-		{
-			if(TEqual::IsEqual(m_aT[i], t))
-				return i;
-		}
-		return -1;  
-	}
-
-	BOOL SetAtIndex(int nIndex, const T& t)
-	{
-		if (nIndex < 0 || nIndex >= m_nSize)
-			return 0;
-		InternalSetAtIndex(nIndex, t);
-		return 1;
-	}
-
-
-	class Wrapper
-	{
-	public:
-		Wrapper(const T& _t) : t(_t)
-		{
-		}
-		template <class _Ty>
-		void * __cdecl operator new(size_t, _Ty* p)
-		{
-			return p;
-		}
-		template <class _Ty>
-		void __cdecl operator delete(void* , _Ty* )
-		{
-		}
-		T t;
-	};
-
-
-	void InternalSetAtIndex(int nIndex, const T& t)
-	{
-		new(m_aT + nIndex) Wrapper(t);
-	}
-
-	typedef T _ArrayElementType;
-	T* m_aT;
-	int m_nSize;
-	int m_nAllocSize;
-
-};
-
-
-
-	template <class T, class TEqual> inline  CSimpleArray<T, TEqual>::~CSimpleArray()
-	{
-		RemoveAll();
-	}
-
-
-template <class TKey, class TVal, class TEqual = CSimpleMapEqualHelper< TKey, TVal > >
-class CSimpleMap
-{
-public:
-	TKey* m_aKey;
-	TVal* m_aVal;
-	int m_nSize;
-
-	typedef TKey _ArrayKeyType;
-	typedef TVal _ArrayElementType;
-
-
-	CSimpleMap() : m_aKey(0), m_aVal(0), m_nSize(0)
-	{ }
-
-	~CSimpleMap()
-	{
-		RemoveAll();	
-	}
-
-
-	int GetSize() const
-	{
-		return m_nSize;
-	}
-	BOOL Add(const TKey& key, const TVal& val)
-	{
-		TKey* pKey;
-		pKey = (TKey*)_recalloc(m_aKey, (m_nSize + 1), sizeof(TKey));
-		if(pKey == 0)
-			return 0;
-		m_aKey = pKey;
-		TVal* pVal;
-		pVal = (TVal*)_recalloc(m_aVal, (m_nSize + 1), sizeof(TVal));
-		if(pVal == 0)
-			return 0;
-		m_aVal = pVal;
-		InternalSetAtIndex(m_nSize, key, val);
-		m_nSize++;
-		return 1;
-	}
-	BOOL Remove(const TKey& key)
-	{
-		int nIndex = FindKey(key);
-		if(nIndex == -1)
-			return 0;
-		return RemoveAt(nIndex);
-	}
-	BOOL RemoveAt(int nIndex)
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 334, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if (nIndex < 0 || nIndex >= m_nSize)
-			return 0;
-		m_aKey[nIndex].~TKey();
-		m_aVal[nIndex].~TVal();
-		if(nIndex != (m_nSize - 1))
-		{
-			Checked::memmove_s((void*)(m_aKey + nIndex), (m_nSize - nIndex) * sizeof(TKey), (void*)(m_aKey + nIndex + 1), (m_nSize - (nIndex + 1)) * sizeof(TKey));
-			Checked::memmove_s((void*)(m_aVal + nIndex), (m_nSize - nIndex) * sizeof(TVal), (void*)(m_aVal + nIndex + 1), (m_nSize - (nIndex + 1)) * sizeof(TVal));
-		}
-		TKey* pKey;
-		pKey = (TKey*)_recalloc(m_aKey, (m_nSize - 1), sizeof(TKey));
-		if(pKey != 0 || m_nSize == 1)
-			m_aKey = pKey;
-		TVal* pVal;
-		pVal = (TVal*)_recalloc(m_aVal, (m_nSize - 1), sizeof(TVal));
-		if(pVal != 0 || m_nSize == 1)
-			m_aVal = pVal;
-		m_nSize--;
-		return 1;
-	}
-	void RemoveAll()
-	{
-		if(m_aKey != 0)
-		{
-			for(int i = 0; i < m_nSize; i++)
-			{
-				m_aKey[i].~TKey();
-				m_aVal[i].~TVal();
-			}
-			free(m_aKey);
-			m_aKey = 0;
-		}
-		if(m_aVal != 0)
-		{
-			free(m_aVal);
-			m_aVal = 0;
-		}
-
-		m_nSize = 0;
-	}
-	BOOL SetAt(const TKey& key, const TVal& val)
-	{
-		int nIndex = FindKey(key);
-		if(nIndex == -1)
-			return 0;
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 380, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		m_aKey[nIndex].~TKey();
-		m_aVal[nIndex].~TVal();
-		InternalSetAtIndex(nIndex, key, val);
-		return 1;
-	}
-	TVal Lookup(const TKey& key) const
-	{
-		int nIndex = FindKey(key);
-		if(nIndex == -1)
-			return 0;    
-		return GetValueAt(nIndex);
-	}
-	TKey ReverseLookup(const TVal& val) const
-	{
-		int nIndex = FindVal(val);
-		if(nIndex == -1)
-			return 0;    
-		return GetKeyAt(nIndex);
-	}
-	TKey& GetKeyAt(int nIndex) const
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 402, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if(nIndex < 0 || nIndex >= m_nSize)
-			_AtlRaiseException((DWORD)((DWORD )0xC000008CL));
-			
-		return m_aKey[nIndex];
-	}
-	TVal& GetValueAt(int nIndex) const
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlsimpcoll.h", 410, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if(nIndex < 0 || nIndex >= m_nSize)
-			_AtlRaiseException((DWORD)((DWORD )0xC000008CL));	
-			
-		return m_aVal[nIndex];
-	}
-
-	int FindKey(const TKey& key) const
-	{
-		for(int i = 0; i < m_nSize; i++)
-		{
-			if(TEqual::IsEqualKey(m_aKey[i], key))
-				return i;
-		}
-		return -1;  
-	}
-	int FindVal(const TVal& val) const
-	{
-		for(int i = 0; i < m_nSize; i++)
-		{
-			if(TEqual::IsEqualValue(m_aVal[i], val))
-				return i;
-		}
-		return -1;  
-	}
-
-	BOOL SetAtIndex(int nIndex, const TKey& key, const TVal& val)
-	{
-		if (nIndex < 0 || nIndex >= m_nSize)
-			return 0;
-		InternalSetAtIndex(nIndex, key, val);
-		return 1;
-	}
-
-
-
-
-	template <typename T>
-	class Wrapper
-	{
-	public:
-		Wrapper(const T& _t) : t(_t)
-		{
-		}
-		template <class _Ty>
-		void *operator new(size_t, _Ty* p)
-		{
-			return p;
-		}
-		template <class _Ty>
-		void operator delete(void* , _Ty* )
-		{
-		}
-		T t;
-	};
-	void InternalSetAtIndex(int nIndex, const TKey& key, const TVal& val)
-	{
-		new(m_aKey + nIndex) Wrapper<TKey>(key);
-		new(m_aVal + nIndex) Wrapper<TVal>(val);
-	}
-};
-
-
-
-};  
-#pragma pack(pop)
-
-#pragma warning(pop)
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-inline BOOL AtlIsValidString(LPCWSTR psz, size_t nMaxLength = 2147483647)
-{
-	(nMaxLength);
-	return (psz != 0);
-}
-
-
-inline BOOL AtlIsValidString(LPCSTR psz, size_t nMaxLength = 0xffffffff)
-{
-	(nMaxLength);
-	return (psz != 0);
-}
-
-
-inline BOOL AtlIsValidAddress(const void* p, size_t nBytes,
-	BOOL bReadWrite = 1)
-{
-	(bReadWrite);
-	(nBytes);
-	return (p != 0);
-}
-
-template<typename T>
-inline void AtlAssertValidObject(const T *pOb)
-{
-	(void) ((!!((pOb))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 63, 0, L"pOb")) || (__debugbreak(), 0));
-	(void) ((!!((AtlIsValidAddress(pOb, sizeof(T))))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 64, 0, L"AtlIsValidAddress(pOb, sizeof(T))")) || (__debugbreak(), 0));
-	if(pOb)
-		pOb->AssertValid();
-}
-
-
-
-
-
-
-
-class CComCriticalSection
-{
-public:
-	CComCriticalSection() throw()
-	{
-		memset(&m_sec, 0, sizeof(CRITICAL_SECTION));
-	}
-	~CComCriticalSection()
-	{
-	}
-	HRESULT Lock() throw()
-	{
-		EnterCriticalSection(&m_sec);
-		return ((HRESULT)0x00000000L);
-	}
-	HRESULT Unlock() throw()
-	{
-		LeaveCriticalSection(&m_sec);
-		return ((HRESULT)0x00000000L);
-	}
-	HRESULT Init() throw()
-	{
-		HRESULT hRes = ((HRESULT)0x80004005L);
-		__try
-		{
-			InitializeCriticalSection(&m_sec);
-			hRes = ((HRESULT)0x00000000L);
-		}
-		
-		__except(((DWORD )0xC0000017L) == _exception_code())
-		{			
-			hRes = ((HRESULT)0x8007000EL);		
-		}
-		return hRes;
-	}
-
-	HRESULT Term() throw()
-	{
-		DeleteCriticalSection(&m_sec);
-		return ((HRESULT)0x00000000L);
-	}	
-	CRITICAL_SECTION m_sec;
-};
-
-class CComAutoCriticalSection : public CComCriticalSection
-{
-public:
-	CComAutoCriticalSection()
-	{
-		HRESULT hr = CComCriticalSection::Init();
-		if (((HRESULT)(hr) < 0))
-			ATL::AtlThrowImpl(hr);
-	}
-	~CComAutoCriticalSection() throw()
-	{
-		CComCriticalSection::Term();
-	}
-private :
-	HRESULT Init(); 
-	HRESULT Term(); 
-};
-
-class CComSafeDeleteCriticalSection : public CComCriticalSection
-{
-public:
-	CComSafeDeleteCriticalSection(): m_bInitialized(false) 
-	{
-	}
-
-	~CComSafeDeleteCriticalSection() throw()
-	{
-		if (!m_bInitialized)
-		{
-			return;
-		}
-		m_bInitialized = false;
-		CComCriticalSection::Term();
-	}
-
-	HRESULT Init() throw()
-	{
-		(void) ((!!((!m_bInitialized))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 156, 0, L"!m_bInitialized")) || (__debugbreak(), 0));
-		HRESULT hr = CComCriticalSection::Init();
-		if (((HRESULT)(hr) >= 0))
-		{
-			m_bInitialized = true;
-		}
-		return hr;
-	}
-
-	HRESULT Term() throw()
-	{
-		if (!m_bInitialized)
-		{
-			return ((HRESULT)0x00000000L);
-		}
-		m_bInitialized = false;
-		return CComCriticalSection::Term();
-	}
-
-	HRESULT Lock()
-	{
-		
-		
-		
-		
-		
-		do { (void) ((!!((m_bInitialized))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 182, 0, L"m_bInitialized")) || (__debugbreak(), 0)); ; } while(0);
-		return CComCriticalSection::Lock();
-	}
-
-private:
-	bool m_bInitialized;
-};
-
-class CComAutoDeleteCriticalSection : public CComSafeDeleteCriticalSection
-{
-private:
-	
-	HRESULT Term() throw();
-};
-
-class CComFakeCriticalSection
-{
-public:
-	HRESULT Lock() throw() { return ((HRESULT)0x00000000L); }
-	HRESULT Unlock() throw() { return ((HRESULT)0x00000000L); }
-	HRESULT Init() throw() { return ((HRESULT)0x00000000L); }
-	HRESULT Term() throw() { return ((HRESULT)0x00000000L); }
-};
-
-
-
-
-
-struct _ATL_BASE_MODULE70
-{
-	UINT cbSize;
-	HINSTANCE m_hInst;
-	HINSTANCE m_hInstResource;
-	bool m_bNT5orWin98;
-	DWORD dwAtlBuildVer;
-	const GUID* pguidVer;
-	CComCriticalSection m_csResource;
-	CSimpleArray<HINSTANCE> m_rgResourceInstance;
-};
-typedef _ATL_BASE_MODULE70 _ATL_BASE_MODULE;
-
-class CAtlBaseModule : public _ATL_BASE_MODULE
-{
-public :
-	static bool m_bInitFailed;
-	CAtlBaseModule() throw();
-	~CAtlBaseModule() throw ();
-
-	HINSTANCE GetModuleInstance() throw()
-	{
-		return m_hInst;
-	}
-	HINSTANCE GetResourceInstance() throw()
-	{
-		return m_hInstResource;
-	}
-	HINSTANCE SetResourceInstance(HINSTANCE hInst) throw()
-	{
-		return static_cast< HINSTANCE >(InterlockedExchangePointer((void**)&m_hInstResource, hInst));
-	}
-
-	bool AddResourceInstance(HINSTANCE hInst) throw();
-	bool RemoveResourceInstance(HINSTANCE hInst) throw();
-	HINSTANCE GetHInstanceAt(int i) throw();
-};
-
-__declspec(selectany) bool CAtlBaseModule::m_bInitFailed = false;
-extern CAtlBaseModule _AtlBaseModule;
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable: 4200)
-	struct ATLSTRINGRESOURCEIMAGE
-	{
-		WORD nLength;
-		WCHAR achString[];
-	};
-#pragma warning(pop)	
-
-inline const ATLSTRINGRESOURCEIMAGE* _AtlGetStringResourceImage( HINSTANCE hInstance, HRSRC hResource, UINT id ) throw()
-{
-	const ATLSTRINGRESOURCEIMAGE* pImage;
-	const ATLSTRINGRESOURCEIMAGE* pImageEnd;
-	ULONG nResourceSize;
-	HGLOBAL hGlobal;
-	UINT iIndex;
-
-	hGlobal = ::LoadResource( hInstance, hResource );
-	if( hGlobal == 0 )
-	{
-		return( 0 );
-	}
-
-	pImage = (const ATLSTRINGRESOURCEIMAGE*)::LockResource( hGlobal );
-	if( pImage == 0 )
-	{
-		return( 0 );
-	}
-
-	nResourceSize = ::SizeofResource( hInstance, hResource );
-	pImageEnd = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+nResourceSize);
-	iIndex = id&0x000f;
-
-	while( (iIndex > 0) && (pImage < pImageEnd) )
-	{
-		pImage = (const ATLSTRINGRESOURCEIMAGE*)(LPBYTE( pImage )+(sizeof( ATLSTRINGRESOURCEIMAGE )+(pImage->nLength*sizeof( WCHAR ))));
-		iIndex--;
-	}
-	if( pImage >= pImageEnd )
-	{
-		return( 0 );
-	}
-	if( pImage->nLength == 0 )
-	{
-		return( 0 );
-	}
-
-	return( pImage );
-}
-
-inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage( HINSTANCE hInstance, UINT id ) throw()
-{
-	HRSRC hResource;
-
-	hResource = ::FindResourceW( hInstance, ((LPWSTR)((ULONG_PTR)((WORD)(((id>>4)+1))))), ((LPWSTR)((ULONG_PTR)((WORD)(6)))) );
-	if( hResource == 0 )
-	{
-		return( 0 );
-	}
-
-	return _AtlGetStringResourceImage( hInstance, hResource, id );
-}
-
-inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage( HINSTANCE hInstance, UINT id, WORD wLanguage ) throw()
-{
-	HRSRC hResource;
-
-	hResource = ::FindResourceExW( hInstance, ((LPWSTR)((ULONG_PTR)((WORD)(6)))), ((LPWSTR)((ULONG_PTR)((WORD)(((id>>4)+1))))), wLanguage );
-	if( hResource == 0 )
-	{
-		return( 0 );
-	}
-
-	return _AtlGetStringResourceImage( hInstance, hResource, id );
-}
-
-inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage( UINT id ) throw()
-{
-	const ATLSTRINGRESOURCEIMAGE* p = 0;
-	HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
-
-	for (int i = 1; hInst != 0 && p == 0; hInst = _AtlBaseModule.GetHInstanceAt(i++))
-	{
-		p = AtlGetStringResourceImage(hInst, id);
-	}
-	return p;
-}
-
-inline const ATLSTRINGRESOURCEIMAGE* AtlGetStringResourceImage( UINT id, WORD wLanguage ) throw()
-{
-	const ATLSTRINGRESOURCEIMAGE* p = 0;
-	HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
-
-	for (int i = 1; hInst != 0 && p == 0; hInst = _AtlBaseModule.GetHInstanceAt(i++))
-	{
-		p = AtlGetStringResourceImage(hInst, id, wLanguage);
-	}
-	return p;
-}
-
-inline int AtlLoadString(     UINT nID,          LPTSTR lpBuffer,      int nBufferMax) throw()
-{
-	HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
-	int nRet = 0;
-
-	for (int i = 1; hInst != 0 && nRet == 0; hInst = _AtlBaseModule.GetHInstanceAt(i++))
-	{
-		nRet = LoadStringW(hInst, nID, lpBuffer, nBufferMax);
-	}
-	return nRet;
-}
-
-inline HINSTANCE AtlFindResourceInstance(LPCTSTR lpName, LPCTSTR lpType, WORD wLanguage = 0) throw()
-{
-	(void) ((!!((lpType != ((LPWSTR)((ULONG_PTR)((WORD)(6))))))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 368, 0, L"lpType != ((LPWSTR)((ULONG_PTR)((WORD)(6))))")) || (__debugbreak(), 0));	
-	if (lpType == ((LPWSTR)((ULONG_PTR)((WORD)(6)))))
-		return 0;
-
-	if (((((ULONG_PTR)(lpType)) >> 16) == 0))
-	{
-		
-		if (lpType == ((LPWSTR)((ULONG_PTR)((WORD)(3)))))
-		{
-			lpType = ((LPWSTR)((ULONG_PTR)((WORD)((ULONG_PTR)((LPWSTR)((ULONG_PTR)((WORD)(3)))) + 11))));
-		}
-		else if (lpType == ((LPWSTR)((ULONG_PTR)((WORD)(1)))))
-		{
-			lpType = ((LPWSTR)((ULONG_PTR)((WORD)((ULONG_PTR)((LPWSTR)((ULONG_PTR)((WORD)(1)))) + 11))));
-		}
-	}
-
-	HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
-	HRSRC hResource = 0;
-
-	for (int i = 1; hInst != 0; hInst = _AtlBaseModule.GetHInstanceAt(i++))
-	{
-		hResource = ::FindResourceExW(hInst, lpType, lpName, wLanguage);
-		if (hResource != 0)
-		{
-			return hInst;
-		}
-	}
-
-	return 0;
-}
-
-inline HINSTANCE AtlFindResourceInstance(UINT nID, LPCTSTR lpType, WORD wLanguage = 0) throw()
-{
-	return AtlFindResourceInstance(((LPWSTR)((ULONG_PTR)((WORD)(nID)))), lpType, wLanguage);
-}
-
-inline HINSTANCE AtlFindStringResourceInstance(UINT nID, WORD wLanguage = 0) throw()
-{
-	const ATLSTRINGRESOURCEIMAGE* p = 0;
-	HINSTANCE hInst = _AtlBaseModule.GetHInstanceAt(0);
-
-	for (int i = 1; hInst != 0 && p == 0; hInst = _AtlBaseModule.GetHInstanceAt(i++))
-	{
-		p = AtlGetStringResourceImage(hInst, nID, wLanguage);
-		if (p != 0)
-			return hInst;
-	}
-
-	return 0;
-}
-
-
-
-
-inline HRESULT AtlSafeArrayGetActualVartype
-(
-    SAFEARRAY *psaArray,
-    VARTYPE *pvtType
-)
-{
-    HRESULT hrSystem=::SafeArrayGetVartype(psaArray, pvtType);
-
-    if(((HRESULT)(hrSystem) < 0))
-    {
-        return hrSystem;
-    }
-
-    
-
-
-
-    if(pvtType && *pvtType==VT_UNKNOWN)
-    {
-        if(psaArray && ((psaArray->fFeatures & ( 0x40 ))!=0))
-        {
-            if(psaArray->fFeatures & ( 0x400 ))
-            {
-                *pvtType=VT_DISPATCH;
-            }
-        }
-    }
-
-    return hrSystem;
-}
-template <typename _CharType>
-inline _CharType* AtlCharNext(const _CharType* p) throw()
-{
-	do { (void) ((!!((p != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 456, 0, L"p != 0")) || (__debugbreak(), 0)); ; } while(0);	
-	if (*p == '\0')  
-		return const_cast<_CharType*>(p+1);
-	else
-		return ::CharNextA(p);
-}
-
-template <>
-inline wchar_t* AtlCharNext<wchar_t>(const wchar_t* p) throw()
-{
-	return const_cast< wchar_t* >( p+1 );
-}
-template<typename CharType>
-inline const CharType* AtlstrchrT(const CharType* p, CharType ch) throw()
-{
-	(void) ((!!((p != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 471, 0, L"p != 0")) || (__debugbreak(), 0));	
-	if(p==0)
-	{
-		return 0;
-	}
-	while( *p != 0 )
-	{
-		if (*p == ch)
-		{
-			return p;
-		}
-		p = AtlCharNext(p);
-	}
-	
-	
-	return (*p == ch) ? p : 0;
-}
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-template<typename CharType>
-inline int AtlprintfT(const CharType* pszFormat,... ) throw()
-{
-	int retval=0;
-	va_list argList;
-	( argList = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-	retval=vprintf(pszFormat,argList);
-	( argList = (va_list)0 );
-	return retval;
-}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-template<>
-inline int AtlprintfT(const wchar_t* pszFormat,... ) throw()
-{
-	int retval=0;
-	va_list argList;
-	( argList = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-	retval=vwprintf(pszFormat,	argList);
-	( argList = (va_list)0 );
-	return retval;
-}
-#pragma warning(pop)
-
-inline BOOL AtlConvertSystemTimeToVariantTime(const SYSTEMTIME& systimeSrc,double* pVarDtTm)
-{
-	do { int __atl_condVal=!!(pVarDtTm!=0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcore.h", 519, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-	
-	
-	BOOL ok = ::SystemTimeToVariantTime(const_cast<SYSTEMTIME*>(&systimeSrc), pVarDtTm);
-	SYSTEMTIME sysTime;
-	::memset((&sysTime),0,(sizeof(SYSTEMTIME)));
-
-	ok = ok && ::VariantTimeToSystemTime(*pVarDtTm, &sysTime);
-	ok = ok && (systimeSrc.wYear == sysTime.wYear &&
-			systimeSrc.wMonth == sysTime.wMonth &&
-			systimeSrc.wDay == sysTime.wDay &&
-			systimeSrc.wHour == sysTime.wHour &&
-			systimeSrc.wMinute == sysTime.wMinute && 
-			systimeSrc.wSecond == sysTime.wSecond);
-
-	return ok;
-}
-
-
-}	
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IEnumConnections IEnumConnections;
-
-
-
-
-
-typedef struct IConnectionPoint IConnectionPoint;
-
-
-
-
-
-typedef struct IEnumConnectionPoints IEnumConnectionPoints;
-
-
-
-
-
-typedef struct IConnectionPointContainer IConnectionPointContainer;
-
-
-
-
-
-typedef struct IClassFactory2 IClassFactory2;
-
-
-
-
-
-typedef struct IProvideClassInfo IProvideClassInfo;
-
-
-
-
-
-typedef struct IProvideClassInfo2 IProvideClassInfo2;
-
-
-
-
-
-typedef struct IProvideMultipleClassInfo IProvideMultipleClassInfo;
-
-
-
-
-
-typedef struct IOleControl IOleControl;
-
-
-
-
-
-typedef struct IOleControlSite IOleControlSite;
-
-
-
-
-
-typedef struct IPropertyPage IPropertyPage;
-
-
-
-
-
-typedef struct IPropertyPage2 IPropertyPage2;
-
-
-
-
-
-typedef struct IPropertyPageSite IPropertyPageSite;
-
-
-
-
-
-typedef struct IPropertyNotifySink IPropertyNotifySink;
-
-
-
-
-
-typedef struct ISpecifyPropertyPages ISpecifyPropertyPages;
-
-
-
-
-
-typedef struct IPersistMemory IPersistMemory;
-
-
-
-
-
-typedef struct IPersistStreamInit IPersistStreamInit;
-
-
-
-
-
-typedef struct IPersistPropertyBag IPersistPropertyBag;
-
-
-
-
-
-typedef struct ISimpleFrameSite ISimpleFrameSite;
-
-
-
-
-
-typedef struct IFont IFont;
-
-
-
-
-
-typedef struct IPicture IPicture;
-
-
-
-
-
-typedef struct IFontEventsDisp IFontEventsDisp;
-
-
-
-
-
-typedef struct IFontDisp IFontDisp;
-
-
-
-
-
-typedef struct IPictureDisp IPictureDisp;
-
-
-
-
-
-typedef struct IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
-
-
-
-
-
-typedef struct IOleInPlaceSiteEx IOleInPlaceSiteEx;
-
-
-
-
-
-typedef struct IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
-
-
-
-
-
-typedef struct IViewObjectEx IViewObjectEx;
-
-
-
-
-
-typedef struct IOleUndoUnit IOleUndoUnit;
-
-
-
-
-
-typedef struct IOleParentUndoUnit IOleParentUndoUnit;
-
-
-
-
-
-typedef struct IEnumOleUndoUnits IEnumOleUndoUnits;
-
-
-
-
-
-typedef struct IOleUndoManager IOleUndoManager;
-
-
-
-
-
-typedef struct IPointerInactive IPointerInactive;
-
-
-
-
-
-typedef struct IObjectWithSite IObjectWithSite;
-
-
-
-
-
-typedef struct IPerPropertyBrowsing IPerPropertyBrowsing;
-
-
-
-
-
-typedef struct IPropertyBag2 IPropertyBag2;
-
-
-
-
-
-typedef struct IPersistPropertyBag2 IPersistPropertyBag2;
-
-
-
-
-
-typedef struct IAdviseSinkEx IAdviseSinkEx;
-
-
-
-
-
-typedef struct IQuickActivate IQuickActivate;
-
-
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_ocidl_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_ocidl_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  
-enum tagUASFLAGS
-    {	UAS_NORMAL	= 0,
-	UAS_BLOCKED	= 0x1,
-	UAS_NOPARENTENABLE	= 0x2,
-	UAS_MASK	= 0x3
-    } 	UASFLAGS;
-
-
-typedef  
-enum tagREADYSTATE
-    {	READYSTATE_UNINITIALIZED	= 0,
-	READYSTATE_LOADING	= 1,
-	READYSTATE_LOADED	= 2,
-	READYSTATE_INTERACTIVE	= 3,
-	READYSTATE_COMPLETE	= 4
-    } 	READYSTATE;
-
-
-
-extern RPC_IF_HANDLE IOleControlTypes_v1_0_c_ifspec;
-extern RPC_IF_HANDLE IOleControlTypes_v1_0_s_ifspec;
-
-
-
-
-
-
- 
-
-typedef IEnumConnections *PENUMCONNECTIONS;
-
-typedef IEnumConnections *LPENUMCONNECTIONS;
-
-typedef struct tagCONNECTDATA
-    {
-    IUnknown *pUnk;
-    DWORD dwCookie;
-    } 	CONNECTDATA;
-
-typedef struct tagCONNECTDATA *PCONNECTDATA;
-
-typedef struct tagCONNECTDATA *LPCONNECTDATA;
-
-
-extern "C" const IID IID_IEnumConnections;
-
-
-    
-    struct __declspec(uuid("B196B287-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IEnumConnections : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG cConnections,
-             LPCONNECTDATA rgcd,
-             ULONG *pcFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG cConnections) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumConnections **ppEnum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumConnections_RemoteNext_Proxy( 
-    IEnumConnections * This,
-     ULONG cConnections,
-     LPCONNECTDATA rgcd,
-     ULONG *pcFetched);
-
-
-void __stdcall IEnumConnections_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumConnections_Skip_Proxy( 
-    IEnumConnections * This,
-     ULONG cConnections);
-
-
-void __stdcall IEnumConnections_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumConnections_Reset_Proxy( 
-    IEnumConnections * This);
-
-
-void __stdcall IEnumConnections_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumConnections_Clone_Proxy( 
-    IEnumConnections * This,
-     IEnumConnections **ppEnum);
-
-
-void __stdcall IEnumConnections_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IConnectionPoint *PCONNECTIONPOINT;
-
-typedef IConnectionPoint *LPCONNECTIONPOINT;
-
-
-extern "C" const IID IID_IConnectionPoint;
-
-
-    
-    struct __declspec(uuid("B196B286-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IConnectionPoint : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetConnectionInterface( 
-             IID *pIID) = 0;
-        
-        virtual HRESULT __stdcall GetConnectionPointContainer( 
-             IConnectionPointContainer **ppCPC) = 0;
-        
-        virtual HRESULT __stdcall Advise( 
-             IUnknown *pUnkSink,
-             DWORD *pdwCookie) = 0;
-        
-        virtual HRESULT __stdcall Unadvise( 
-             DWORD dwCookie) = 0;
-        
-        virtual HRESULT __stdcall EnumConnections( 
-             IEnumConnections **ppEnum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IConnectionPoint_GetConnectionInterface_Proxy( 
-    IConnectionPoint * This,
-     IID *pIID);
-
-
-void __stdcall IConnectionPoint_GetConnectionInterface_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IConnectionPoint_GetConnectionPointContainer_Proxy( 
-    IConnectionPoint * This,
-     IConnectionPointContainer **ppCPC);
-
-
-void __stdcall IConnectionPoint_GetConnectionPointContainer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IConnectionPoint_Advise_Proxy( 
-    IConnectionPoint * This,
-     IUnknown *pUnkSink,
-     DWORD *pdwCookie);
-
-
-void __stdcall IConnectionPoint_Advise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IConnectionPoint_Unadvise_Proxy( 
-    IConnectionPoint * This,
-     DWORD dwCookie);
-
-
-void __stdcall IConnectionPoint_Unadvise_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IConnectionPoint_EnumConnections_Proxy( 
-    IConnectionPoint * This,
-     IEnumConnections **ppEnum);
-
-
-void __stdcall IConnectionPoint_EnumConnections_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
-
-typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
-
-
-extern "C" const IID IID_IEnumConnectionPoints;
-
-
-    
-    struct __declspec(uuid("B196B285-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IEnumConnectionPoints : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG cConnections,
-             LPCONNECTIONPOINT *ppCP,
-             ULONG *pcFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG cConnections) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumConnectionPoints **ppEnum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumConnectionPoints_RemoteNext_Proxy( 
-    IEnumConnectionPoints * This,
-     ULONG cConnections,
-     LPCONNECTIONPOINT *ppCP,
-     ULONG *pcFetched);
-
-
-void __stdcall IEnumConnectionPoints_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumConnectionPoints_Skip_Proxy( 
-    IEnumConnectionPoints * This,
-     ULONG cConnections);
-
-
-void __stdcall IEnumConnectionPoints_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumConnectionPoints_Reset_Proxy( 
-    IEnumConnectionPoints * This);
-
-
-void __stdcall IEnumConnectionPoints_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumConnectionPoints_Clone_Proxy( 
-    IEnumConnectionPoints * This,
-     IEnumConnectionPoints **ppEnum);
-
-
-void __stdcall IEnumConnectionPoints_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
-
-typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
-
-
-extern "C" const IID IID_IConnectionPointContainer;
-
-
-    
-    struct __declspec(uuid("B196B284-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IConnectionPointContainer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall EnumConnectionPoints( 
-             IEnumConnectionPoints **ppEnum) = 0;
-        
-        virtual HRESULT __stdcall FindConnectionPoint( 
-             const IID & riid,
-             IConnectionPoint **ppCP) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IConnectionPointContainer_EnumConnectionPoints_Proxy( 
-    IConnectionPointContainer * This,
-     IEnumConnectionPoints **ppEnum);
-
-
-void __stdcall IConnectionPointContainer_EnumConnectionPoints_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IConnectionPointContainer_FindConnectionPoint_Proxy( 
-    IConnectionPointContainer * This,
-     const IID & riid,
-     IConnectionPoint **ppCP);
-
-
-void __stdcall IConnectionPointContainer_FindConnectionPoint_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IClassFactory2 *LPCLASSFACTORY2;
-
-typedef struct tagLICINFO
-    {
-    LONG cbLicInfo;
-    BOOL fRuntimeKeyAvail;
-    BOOL fLicVerified;
-    } 	LICINFO;
-
-typedef struct tagLICINFO *LPLICINFO;
-
-
-extern "C" const IID IID_IClassFactory2;
-
-
-    
-    struct __declspec(uuid("B196B28F-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IClassFactory2 : public IClassFactory
-    {
-    public:
-        virtual HRESULT __stdcall GetLicInfo( 
-             LICINFO *pLicInfo) = 0;
-        
-        virtual HRESULT __stdcall RequestLicKey( 
-             DWORD dwReserved,
-             BSTR *pBstrKey) = 0;
-        
-        virtual  HRESULT __stdcall CreateInstanceLic( 
-             IUnknown *pUnkOuter,
-             IUnknown *pUnkReserved,
-             const IID & riid,
-             BSTR bstrKey,
-             PVOID *ppvObj) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IClassFactory2_GetLicInfo_Proxy( 
-    IClassFactory2 * This,
-     LICINFO *pLicInfo);
-
-
-void __stdcall IClassFactory2_GetLicInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IClassFactory2_RequestLicKey_Proxy( 
-    IClassFactory2 * This,
-     DWORD dwReserved,
-     BSTR *pBstrKey);
-
-
-void __stdcall IClassFactory2_RequestLicKey_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IClassFactory2_RemoteCreateInstanceLic_Proxy( 
-    IClassFactory2 * This,
-     const IID & riid,
-     BSTR bstrKey,
-     IUnknown **ppvObj);
-
-
-void __stdcall IClassFactory2_RemoteCreateInstanceLic_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IProvideClassInfo *LPPROVIDECLASSINFO;
-
-
-extern "C" const IID IID_IProvideClassInfo;
-
-
-    
-    struct __declspec(uuid("B196B283-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IProvideClassInfo : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetClassInfoW( 
-             ITypeInfo **ppTI) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IProvideClassInfo_GetClassInfo_Proxy( 
-    IProvideClassInfo * This,
-     ITypeInfo **ppTI);
-
-
-void __stdcall IProvideClassInfo_GetClassInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
-
-typedef 
-enum tagGUIDKIND
-    {	GUIDKIND_DEFAULT_SOURCE_DISP_IID	= 1
-    } 	GUIDKIND;
-
-
-extern "C" const IID IID_IProvideClassInfo2;
-
-
-    
-    struct __declspec(uuid("A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851")) __declspec(novtable)
-    IProvideClassInfo2 : public IProvideClassInfo
-    {
-    public:
-        virtual HRESULT __stdcall GetGUID( 
-             DWORD dwGuidKind,
-             GUID *pGUID) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IProvideClassInfo2_GetGUID_Proxy( 
-    IProvideClassInfo2 * This,
-     DWORD dwGuidKind,
-     GUID *pGUID);
-
-
-void __stdcall IProvideClassInfo2_GetGUID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
-
-
-extern "C" const IID IID_IProvideMultipleClassInfo;
-
-
-    
-    struct __declspec(uuid("A7ABA9C1-8983-11cf-8F20-00805F2CD064")) __declspec(novtable)
-    IProvideMultipleClassInfo : public IProvideClassInfo2
-    {
-    public:
-        virtual HRESULT __stdcall GetMultiTypeInfoCount( 
-             ULONG *pcti) = 0;
-        
-        virtual HRESULT __stdcall GetInfoOfIndex( 
-             ULONG iti,
-             DWORD dwFlags,
-             ITypeInfo **pptiCoClass,
-             DWORD *pdwTIFlags,
-             ULONG *pcdispidReserved,
-             IID *piidPrimary,
-             IID *piidSource) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IProvideMultipleClassInfo_GetMultiTypeInfoCount_Proxy( 
-    IProvideMultipleClassInfo * This,
-     ULONG *pcti);
-
-
-void __stdcall IProvideMultipleClassInfo_GetMultiTypeInfoCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IProvideMultipleClassInfo_GetInfoOfIndex_Proxy( 
-    IProvideMultipleClassInfo * This,
-     ULONG iti,
-     DWORD dwFlags,
-     ITypeInfo **pptiCoClass,
-     DWORD *pdwTIFlags,
-     ULONG *pcdispidReserved,
-     IID *piidPrimary,
-     IID *piidSource);
-
-
-void __stdcall IProvideMultipleClassInfo_GetInfoOfIndex_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleControl *LPOLECONTROL;
-
-typedef struct tagCONTROLINFO
-    {
-    ULONG cb;
-    HACCEL hAccel;
-    USHORT cAccel;
-    DWORD dwFlags;
-    } 	CONTROLINFO;
-
-typedef struct tagCONTROLINFO *LPCONTROLINFO;
-
-typedef 
-enum tagCTRLINFO
-    {	CTRLINFO_EATS_RETURN	= 1,
-	CTRLINFO_EATS_ESCAPE	= 2
-    } 	CTRLINFO;
-
-
-extern "C" const IID IID_IOleControl;
-
-
-    
-    struct __declspec(uuid("B196B288-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IOleControl : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetControlInfo( 
-             CONTROLINFO *pCI) = 0;
-        
-        virtual HRESULT __stdcall OnMnemonic( 
-             MSG *pMsg) = 0;
-        
-        virtual HRESULT __stdcall OnAmbientPropertyChange( 
-             DISPID dispID) = 0;
-        
-        virtual HRESULT __stdcall FreezeEvents( 
-             BOOL bFreeze) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleControl_GetControlInfo_Proxy( 
-    IOleControl * This,
-     CONTROLINFO *pCI);
-
-
-void __stdcall IOleControl_GetControlInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControl_OnMnemonic_Proxy( 
-    IOleControl * This,
-     MSG *pMsg);
-
-
-void __stdcall IOleControl_OnMnemonic_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControl_OnAmbientPropertyChange_Proxy( 
-    IOleControl * This,
-     DISPID dispID);
-
-
-void __stdcall IOleControl_OnAmbientPropertyChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControl_FreezeEvents_Proxy( 
-    IOleControl * This,
-     BOOL bFreeze);
-
-
-void __stdcall IOleControl_FreezeEvents_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleControlSite *LPOLECONTROLSITE;
-
-typedef struct tagPOINTF
-    {
-    FLOAT x;
-    FLOAT y;
-    } 	POINTF;
-
-typedef struct tagPOINTF *LPPOINTF;
-
-typedef 
-enum tagXFORMCOORDS
-    {	XFORMCOORDS_POSITION	= 0x1,
-	XFORMCOORDS_SIZE	= 0x2,
-	XFORMCOORDS_HIMETRICTOCONTAINER	= 0x4,
-	XFORMCOORDS_CONTAINERTOHIMETRIC	= 0x8,
-	XFORMCOORDS_EVENTCOMPAT	= 0x10
-    } 	XFORMCOORDS;
-
-
-extern "C" const IID IID_IOleControlSite;
-
-
-    
-    struct __declspec(uuid("B196B289-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IOleControlSite : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall OnControlInfoChanged( void) = 0;
-        
-        virtual HRESULT __stdcall LockInPlaceActive( 
-             BOOL fLock) = 0;
-        
-        virtual HRESULT __stdcall GetExtendedControl( 
-             IDispatch **ppDisp) = 0;
-        
-        virtual HRESULT __stdcall TransformCoords( 
-             POINTL *pPtlHimetric,
-             POINTF *pPtfContainer,
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall TranslateAcceleratorW( 
-             MSG *pMsg,
-             DWORD grfModifiers) = 0;
-        
-        virtual HRESULT __stdcall OnFocus( 
-             BOOL fGotFocus) = 0;
-        
-        virtual HRESULT __stdcall ShowPropertyFrame( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleControlSite_OnControlInfoChanged_Proxy( 
-    IOleControlSite * This);
-
-
-void __stdcall IOleControlSite_OnControlInfoChanged_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControlSite_LockInPlaceActive_Proxy( 
-    IOleControlSite * This,
-     BOOL fLock);
-
-
-void __stdcall IOleControlSite_LockInPlaceActive_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControlSite_GetExtendedControl_Proxy( 
-    IOleControlSite * This,
-     IDispatch **ppDisp);
-
-
-void __stdcall IOleControlSite_GetExtendedControl_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControlSite_TransformCoords_Proxy( 
-    IOleControlSite * This,
-     POINTL *pPtlHimetric,
-     POINTF *pPtfContainer,
-     DWORD dwFlags);
-
-
-void __stdcall IOleControlSite_TransformCoords_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControlSite_TranslateAccelerator_Proxy( 
-    IOleControlSite * This,
-     MSG *pMsg,
-     DWORD grfModifiers);
-
-
-void __stdcall IOleControlSite_TranslateAccelerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControlSite_OnFocus_Proxy( 
-    IOleControlSite * This,
-     BOOL fGotFocus);
-
-
-void __stdcall IOleControlSite_OnFocus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleControlSite_ShowPropertyFrame_Proxy( 
-    IOleControlSite * This);
-
-
-void __stdcall IOleControlSite_ShowPropertyFrame_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPropertyPage *LPPROPERTYPAGE;
-
-typedef struct tagPROPPAGEINFO
-    {
-    ULONG cb;
-    LPOLESTR pszTitle;
-    SIZE size;
-    LPOLESTR pszDocString;
-    LPOLESTR pszHelpFile;
-    DWORD dwHelpContext;
-    } 	PROPPAGEINFO;
-
-typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
-
-
-extern "C" const IID IID_IPropertyPage;
-
-
-    
-    struct __declspec(uuid("B196B28D-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IPropertyPage : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetPageSite( 
-             IPropertyPageSite *pPageSite) = 0;
-        
-        virtual HRESULT __stdcall Activate( 
-             HWND hWndParent,
-             LPCRECT pRect,
-             BOOL bModal) = 0;
-        
-        virtual HRESULT __stdcall Deactivate( void) = 0;
-        
-        virtual HRESULT __stdcall GetPageInfo( 
-             PROPPAGEINFO *pPageInfo) = 0;
-        
-        virtual HRESULT __stdcall SetObjects( 
-             ULONG cObjects,
-             IUnknown **ppUnk) = 0;
-        
-        virtual HRESULT __stdcall Show( 
-             UINT nCmdShow) = 0;
-        
-        virtual HRESULT __stdcall Move( 
-             LPCRECT pRect) = 0;
-        
-        virtual HRESULT __stdcall IsPageDirty( void) = 0;
-        
-        virtual HRESULT __stdcall Apply( void) = 0;
-        
-        virtual HRESULT __stdcall Help( 
-             LPCOLESTR pszHelpDir) = 0;
-        
-        virtual HRESULT __stdcall TranslateAcceleratorW( 
-             MSG *pMsg) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertyPage_SetPageSite_Proxy( 
-    IPropertyPage * This,
-     IPropertyPageSite *pPageSite);
-
-
-void __stdcall IPropertyPage_SetPageSite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_Activate_Proxy( 
-    IPropertyPage * This,
-     HWND hWndParent,
-     LPCRECT pRect,
-     BOOL bModal);
-
-
-void __stdcall IPropertyPage_Activate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_Deactivate_Proxy( 
-    IPropertyPage * This);
-
-
-void __stdcall IPropertyPage_Deactivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_GetPageInfo_Proxy( 
-    IPropertyPage * This,
-     PROPPAGEINFO *pPageInfo);
-
-
-void __stdcall IPropertyPage_GetPageInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_SetObjects_Proxy( 
-    IPropertyPage * This,
-     ULONG cObjects,
-     IUnknown **ppUnk);
-
-
-void __stdcall IPropertyPage_SetObjects_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_Show_Proxy( 
-    IPropertyPage * This,
-     UINT nCmdShow);
-
-
-void __stdcall IPropertyPage_Show_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_Move_Proxy( 
-    IPropertyPage * This,
-     LPCRECT pRect);
-
-
-void __stdcall IPropertyPage_Move_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_IsPageDirty_Proxy( 
-    IPropertyPage * This);
-
-
-void __stdcall IPropertyPage_IsPageDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_Apply_Proxy( 
-    IPropertyPage * This);
-
-
-void __stdcall IPropertyPage_Apply_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_Help_Proxy( 
-    IPropertyPage * This,
-     LPCOLESTR pszHelpDir);
-
-
-void __stdcall IPropertyPage_Help_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPage_TranslateAccelerator_Proxy( 
-    IPropertyPage * This,
-     MSG *pMsg);
-
-
-void __stdcall IPropertyPage_TranslateAccelerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPropertyPage2 *LPPROPERTYPAGE2;
-
-
-extern "C" const IID IID_IPropertyPage2;
-
-
-    
-    struct __declspec(uuid("01E44665-24AC-101B-84ED-08002B2EC713")) __declspec(novtable)
-    IPropertyPage2 : public IPropertyPage
-    {
-    public:
-        virtual HRESULT __stdcall EditProperty( 
-             DISPID dispID) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertyPage2_EditProperty_Proxy( 
-    IPropertyPage2 * This,
-     DISPID dispID);
-
-
-void __stdcall IPropertyPage2_EditProperty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPropertyPageSite *LPPROPERTYPAGESITE;
-
-typedef 
-enum tagPROPPAGESTATUS
-    {	PROPPAGESTATUS_DIRTY	= 0x1,
-	PROPPAGESTATUS_VALIDATE	= 0x2,
-	PROPPAGESTATUS_CLEAN	= 0x4
-    } 	PROPPAGESTATUS;
-
-
-extern "C" const IID IID_IPropertyPageSite;
-
-
-    
-    struct __declspec(uuid("B196B28C-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    IPropertyPageSite : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall OnStatusChange( 
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall GetLocaleID( 
-             LCID *pLocaleID) = 0;
-        
-        virtual HRESULT __stdcall GetPageContainer( 
-             IUnknown **ppUnk) = 0;
-        
-        virtual HRESULT __stdcall TranslateAcceleratorW( 
-             MSG *pMsg) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertyPageSite_OnStatusChange_Proxy( 
-    IPropertyPageSite * This,
-     DWORD dwFlags);
-
-
-void __stdcall IPropertyPageSite_OnStatusChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPageSite_GetLocaleID_Proxy( 
-    IPropertyPageSite * This,
-     LCID *pLocaleID);
-
-
-void __stdcall IPropertyPageSite_GetLocaleID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPageSite_GetPageContainer_Proxy( 
-    IPropertyPageSite * This,
-     IUnknown **ppUnk);
-
-
-void __stdcall IPropertyPageSite_GetPageContainer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyPageSite_TranslateAccelerator_Proxy( 
-    IPropertyPageSite * This,
-     MSG *pMsg);
-
-
-void __stdcall IPropertyPageSite_TranslateAccelerator_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
-
-
-extern "C" const IID IID_IPropertyNotifySink;
-
-
-    
-    struct __declspec(uuid("9BFBBC02-EFF1-101A-84ED-00AA00341D07")) __declspec(novtable)
-    IPropertyNotifySink : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall OnChanged( 
-             DISPID dispID) = 0;
-        
-        virtual HRESULT __stdcall OnRequestEdit( 
-             DISPID dispID) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertyNotifySink_OnChanged_Proxy( 
-    IPropertyNotifySink * This,
-     DISPID dispID);
-
-
-void __stdcall IPropertyNotifySink_OnChanged_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyNotifySink_OnRequestEdit_Proxy( 
-    IPropertyNotifySink * This,
-     DISPID dispID);
-
-
-void __stdcall IPropertyNotifySink_OnRequestEdit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
-
-typedef struct tagCAUUID
-    {
-    ULONG cElems;
-     GUID *pElems;
-    } 	CAUUID;
-
-typedef struct tagCAUUID *LPCAUUID;
-
-
-extern "C" const IID IID_ISpecifyPropertyPages;
-
-
-    
-    struct __declspec(uuid("B196B28B-BAB4-101A-B69C-00AA00341D07")) __declspec(novtable)
-    ISpecifyPropertyPages : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetPages( 
-             CAUUID *pPages) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISpecifyPropertyPages_GetPages_Proxy( 
-    ISpecifyPropertyPages * This,
-     CAUUID *pPages);
-
-
-void __stdcall ISpecifyPropertyPages_GetPages_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPersistMemory *LPPERSISTMEMORY;
-
-
-extern "C" const IID IID_IPersistMemory;
-
-
-    
-    struct __declspec(uuid("BD1AE5E0-A6AE-11CE-BD37-504200C10000")) __declspec(novtable)
-    IPersistMemory : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-        virtual  HRESULT __stdcall Load( 
-             LPVOID pMem,
-             ULONG cbSize) = 0;
-        
-        virtual  HRESULT __stdcall Save( 
-             LPVOID pMem,
-             BOOL fClearDirty,
-             ULONG cbSize) = 0;
-        
-        virtual HRESULT __stdcall GetSizeMax( 
-             ULONG *pCbSize) = 0;
-        
-        virtual HRESULT __stdcall InitNew( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistMemory_IsDirty_Proxy( 
-    IPersistMemory * This);
-
-
-void __stdcall IPersistMemory_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IPersistMemory_RemoteLoad_Proxy( 
-    IPersistMemory * This,
-     BYTE *pMem,
-     ULONG cbSize);
-
-
-void __stdcall IPersistMemory_RemoteLoad_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IPersistMemory_RemoteSave_Proxy( 
-    IPersistMemory * This,
-     BYTE *pMem,
-     BOOL fClearDirty,
-     ULONG cbSize);
-
-
-void __stdcall IPersistMemory_RemoteSave_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMemory_GetSizeMax_Proxy( 
-    IPersistMemory * This,
-     ULONG *pCbSize);
-
-
-void __stdcall IPersistMemory_GetSizeMax_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistMemory_InitNew_Proxy( 
-    IPersistMemory * This);
-
-
-void __stdcall IPersistMemory_InitNew_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
-
-
-extern "C" const IID IID_IPersistStreamInit;
-
-
-    
-    struct __declspec(uuid("7FD52380-4E07-101B-AE2D-08002B2EC713")) __declspec(novtable)
-    IPersistStreamInit : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             LPSTREAM pStm) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             LPSTREAM pStm,
-             BOOL fClearDirty) = 0;
-        
-        virtual HRESULT __stdcall GetSizeMax( 
-             ULARGE_INTEGER *pCbSize) = 0;
-        
-        virtual HRESULT __stdcall InitNew( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistStreamInit_IsDirty_Proxy( 
-    IPersistStreamInit * This);
-
-
-void __stdcall IPersistStreamInit_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStreamInit_Load_Proxy( 
-    IPersistStreamInit * This,
-     LPSTREAM pStm);
-
-
-void __stdcall IPersistStreamInit_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStreamInit_Save_Proxy( 
-    IPersistStreamInit * This,
-     LPSTREAM pStm,
-     BOOL fClearDirty);
-
-
-void __stdcall IPersistStreamInit_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStreamInit_GetSizeMax_Proxy( 
-    IPersistStreamInit * This,
-     ULARGE_INTEGER *pCbSize);
-
-
-void __stdcall IPersistStreamInit_GetSizeMax_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistStreamInit_InitNew_Proxy( 
-    IPersistStreamInit * This);
-
-
-void __stdcall IPersistStreamInit_InitNew_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
-
-
-extern "C" const IID IID_IPersistPropertyBag;
-
-
-    
-    struct __declspec(uuid("37D84F60-42CB-11CE-8135-00AA004BB851")) __declspec(novtable)
-    IPersistPropertyBag : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall InitNew( void) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             IPropertyBag *pPropBag,
-             IErrorLog *pErrorLog) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             IPropertyBag *pPropBag,
-             BOOL fClearDirty,
-             BOOL fSaveAllProperties) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistPropertyBag_InitNew_Proxy( 
-    IPersistPropertyBag * This);
-
-
-void __stdcall IPersistPropertyBag_InitNew_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistPropertyBag_Load_Proxy( 
-    IPersistPropertyBag * This,
-     IPropertyBag *pPropBag,
-     IErrorLog *pErrorLog);
-
-
-void __stdcall IPersistPropertyBag_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistPropertyBag_Save_Proxy( 
-    IPersistPropertyBag * This,
-     IPropertyBag *pPropBag,
-     BOOL fClearDirty,
-     BOOL fSaveAllProperties);
-
-
-void __stdcall IPersistPropertyBag_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
-
-
-extern "C" const IID IID_ISimpleFrameSite;
-
-
-    
-    struct __declspec(uuid("742B0E01-14E6-101B-914E-00AA00300CAB")) __declspec(novtable)
-    ISimpleFrameSite : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall PreMessageFilter( 
-             HWND hWnd,
-             UINT msg,
-             WPARAM wp,
-             LPARAM lp,
-             LRESULT *plResult,
-             DWORD *pdwCookie) = 0;
-        
-        virtual HRESULT __stdcall PostMessageFilter( 
-             HWND hWnd,
-             UINT msg,
-             WPARAM wp,
-             LPARAM lp,
-             LRESULT *plResult,
-             DWORD dwCookie) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ISimpleFrameSite_PreMessageFilter_Proxy( 
-    ISimpleFrameSite * This,
-     HWND hWnd,
-     UINT msg,
-     WPARAM wp,
-     LPARAM lp,
-     LRESULT *plResult,
-     DWORD *pdwCookie);
-
-
-void __stdcall ISimpleFrameSite_PreMessageFilter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ISimpleFrameSite_PostMessageFilter_Proxy( 
-    ISimpleFrameSite * This,
-     HWND hWnd,
-     UINT msg,
-     WPARAM wp,
-     LPARAM lp,
-     LRESULT *plResult,
-     DWORD dwCookie);
-
-
-void __stdcall ISimpleFrameSite_PostMessageFilter_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IFont *LPFONT;
-
-
-typedef TEXTMETRICW TEXTMETRICW;
-
-
-
-
-typedef TEXTMETRICW *LPTEXTMETRICW;
-
-
-extern "C" const IID IID_IFont;
-
-
-    
-    struct __declspec(uuid("BEF6E002-A874-101A-8BBA-00AA00300CAB")) __declspec(novtable)
-    IFont : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall get_Name( 
-             BSTR *pName) = 0;
-        
-        virtual HRESULT __stdcall put_Name( 
-             BSTR name) = 0;
-        
-        virtual HRESULT __stdcall get_Size( 
-             CY *pSize) = 0;
-        
-        virtual HRESULT __stdcall put_Size( 
-             CY size) = 0;
-        
-        virtual HRESULT __stdcall get_Bold( 
-             BOOL *pBold) = 0;
-        
-        virtual HRESULT __stdcall put_Bold( 
-             BOOL bold) = 0;
-        
-        virtual HRESULT __stdcall get_Italic( 
-             BOOL *pItalic) = 0;
-        
-        virtual HRESULT __stdcall put_Italic( 
-             BOOL italic) = 0;
-        
-        virtual HRESULT __stdcall get_Underline( 
-             BOOL *pUnderline) = 0;
-        
-        virtual HRESULT __stdcall put_Underline( 
-             BOOL underline) = 0;
-        
-        virtual HRESULT __stdcall get_Strikethrough( 
-             BOOL *pStrikethrough) = 0;
-        
-        virtual HRESULT __stdcall put_Strikethrough( 
-             BOOL strikethrough) = 0;
-        
-        virtual HRESULT __stdcall get_Weight( 
-             SHORT *pWeight) = 0;
-        
-        virtual HRESULT __stdcall put_Weight( 
-             SHORT weight) = 0;
-        
-        virtual HRESULT __stdcall get_Charset( 
-             SHORT *pCharset) = 0;
-        
-        virtual HRESULT __stdcall put_Charset( 
-             SHORT charset) = 0;
-        
-        virtual HRESULT __stdcall get_hFont( 
-             HFONT *phFont) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IFont **ppFont) = 0;
-        
-        virtual HRESULT __stdcall IsEqual( 
-             IFont *pFontOther) = 0;
-        
-        virtual HRESULT __stdcall SetRatio( 
-             LONG cyLogical,
-             LONG cyHimetric) = 0;
-        
-        virtual HRESULT __stdcall QueryTextMetrics( 
-             TEXTMETRICW *pTM) = 0;
-        
-        virtual HRESULT __stdcall AddRefHfont( 
-             HFONT hFont) = 0;
-        
-        virtual HRESULT __stdcall ReleaseHfont( 
-             HFONT hFont) = 0;
-        
-        virtual HRESULT __stdcall SetHdc( 
-             HDC hDC) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IFont_get_Name_Proxy( 
-    IFont * This,
-     BSTR *pName);
-
-
-void __stdcall IFont_get_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Name_Proxy( 
-    IFont * This,
-     BSTR name);
-
-
-void __stdcall IFont_put_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Size_Proxy( 
-    IFont * This,
-     CY *pSize);
-
-
-void __stdcall IFont_get_Size_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Size_Proxy( 
-    IFont * This,
-     CY size);
-
-
-void __stdcall IFont_put_Size_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Bold_Proxy( 
-    IFont * This,
-     BOOL *pBold);
-
-
-void __stdcall IFont_get_Bold_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Bold_Proxy( 
-    IFont * This,
-     BOOL bold);
-
-
-void __stdcall IFont_put_Bold_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Italic_Proxy( 
-    IFont * This,
-     BOOL *pItalic);
-
-
-void __stdcall IFont_get_Italic_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Italic_Proxy( 
-    IFont * This,
-     BOOL italic);
-
-
-void __stdcall IFont_put_Italic_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Underline_Proxy( 
-    IFont * This,
-     BOOL *pUnderline);
-
-
-void __stdcall IFont_get_Underline_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Underline_Proxy( 
-    IFont * This,
-     BOOL underline);
-
-
-void __stdcall IFont_put_Underline_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Strikethrough_Proxy( 
-    IFont * This,
-     BOOL *pStrikethrough);
-
-
-void __stdcall IFont_get_Strikethrough_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Strikethrough_Proxy( 
-    IFont * This,
-     BOOL strikethrough);
-
-
-void __stdcall IFont_put_Strikethrough_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Weight_Proxy( 
-    IFont * This,
-     SHORT *pWeight);
-
-
-void __stdcall IFont_get_Weight_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Weight_Proxy( 
-    IFont * This,
-     SHORT weight);
-
-
-void __stdcall IFont_put_Weight_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_Charset_Proxy( 
-    IFont * This,
-     SHORT *pCharset);
-
-
-void __stdcall IFont_get_Charset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_put_Charset_Proxy( 
-    IFont * This,
-     SHORT charset);
-
-
-void __stdcall IFont_put_Charset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_get_hFont_Proxy( 
-    IFont * This,
-     HFONT *phFont);
-
-
-void __stdcall IFont_get_hFont_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_Clone_Proxy( 
-    IFont * This,
-     IFont **ppFont);
-
-
-void __stdcall IFont_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_IsEqual_Proxy( 
-    IFont * This,
-     IFont *pFontOther);
-
-
-void __stdcall IFont_IsEqual_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_SetRatio_Proxy( 
-    IFont * This,
-     LONG cyLogical,
-     LONG cyHimetric);
-
-
-void __stdcall IFont_SetRatio_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_QueryTextMetrics_Proxy( 
-    IFont * This,
-     TEXTMETRICW *pTM);
-
-
-void __stdcall IFont_QueryTextMetrics_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_AddRefHfont_Proxy( 
-    IFont * This,
-     HFONT hFont);
-
-
-void __stdcall IFont_AddRefHfont_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_ReleaseHfont_Proxy( 
-    IFont * This,
-     HFONT hFont);
-
-
-void __stdcall IFont_ReleaseHfont_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IFont_SetHdc_Proxy( 
-    IFont * This,
-     HDC hDC);
-
-
-void __stdcall IFont_SetHdc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPicture *LPPICTURE;
-
-typedef 
-enum tagPictureAttributes
-    {	PICTURE_SCALABLE	= 0x1,
-	PICTURE_TRANSPARENT	= 0x2
-    } 	PICTUREATTRIBUTES;
-
-typedef   __declspec(uuid("66504313-BE0F-101A-8BBB-00AA00300CAB")) UINT OLE_HANDLE;
-
-typedef   __declspec(uuid("66504306-BE0F-101A-8BBB-00AA00300CAB")) LONG OLE_XPOS_HIMETRIC;
-
-typedef   __declspec(uuid("66504307-BE0F-101A-8BBB-00AA00300CAB")) LONG OLE_YPOS_HIMETRIC;
-
-typedef   __declspec(uuid("66504308-BE0F-101A-8BBB-00AA00300CAB")) LONG OLE_XSIZE_HIMETRIC;
-
-typedef   __declspec(uuid("66504309-BE0F-101A-8BBB-00AA00300CAB")) LONG OLE_YSIZE_HIMETRIC;
-
-
-extern "C" const IID IID_IPicture;
-
-
-    
-    struct __declspec(uuid("7BF80980-BF32-101A-8BBB-00AA00300CAB")) __declspec(novtable)
-    IPicture : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall get_Handle( 
-             OLE_HANDLE *pHandle) = 0;
-        
-        virtual HRESULT __stdcall get_hPal( 
-             OLE_HANDLE *phPal) = 0;
-        
-        virtual HRESULT __stdcall get_Type( 
-             SHORT *pType) = 0;
-        
-        virtual HRESULT __stdcall get_Width( 
-             OLE_XSIZE_HIMETRIC *pWidth) = 0;
-        
-        virtual HRESULT __stdcall get_Height( 
-             OLE_YSIZE_HIMETRIC *pHeight) = 0;
-        
-        virtual HRESULT __stdcall Render( 
-             HDC hDC,
-             LONG x,
-             LONG y,
-             LONG cx,
-             LONG cy,
-             OLE_XPOS_HIMETRIC xSrc,
-             OLE_YPOS_HIMETRIC ySrc,
-             OLE_XSIZE_HIMETRIC cxSrc,
-             OLE_YSIZE_HIMETRIC cySrc,
-             LPCRECT pRcWBounds) = 0;
-        
-        virtual HRESULT __stdcall set_hPal( 
-             OLE_HANDLE hPal) = 0;
-        
-        virtual HRESULT __stdcall get_CurDC( 
-             HDC *phDC) = 0;
-        
-        virtual HRESULT __stdcall SelectPicture( 
-             HDC hDCIn,
-             HDC *phDCOut,
-             OLE_HANDLE *phBmpOut) = 0;
-        
-        virtual HRESULT __stdcall get_KeepOriginalFormat( 
-             BOOL *pKeep) = 0;
-        
-        virtual HRESULT __stdcall put_KeepOriginalFormat( 
-             BOOL keep) = 0;
-        
-        virtual HRESULT __stdcall PictureChanged( void) = 0;
-        
-        virtual HRESULT __stdcall SaveAsFile( 
-             LPSTREAM pStream,
-             BOOL fSaveMemCopy,
-             LONG *pCbSize) = 0;
-        
-        virtual HRESULT __stdcall get_Attributes( 
-             DWORD *pDwAttr) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPicture_get_Handle_Proxy( 
-    IPicture * This,
-     OLE_HANDLE *pHandle);
-
-
-void __stdcall IPicture_get_Handle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_hPal_Proxy( 
-    IPicture * This,
-     OLE_HANDLE *phPal);
-
-
-void __stdcall IPicture_get_hPal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_Type_Proxy( 
-    IPicture * This,
-     SHORT *pType);
-
-
-void __stdcall IPicture_get_Type_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_Width_Proxy( 
-    IPicture * This,
-     OLE_XSIZE_HIMETRIC *pWidth);
-
-
-void __stdcall IPicture_get_Width_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_Height_Proxy( 
-    IPicture * This,
-     OLE_YSIZE_HIMETRIC *pHeight);
-
-
-void __stdcall IPicture_get_Height_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_Render_Proxy( 
-    IPicture * This,
-     HDC hDC,
-     LONG x,
-     LONG y,
-     LONG cx,
-     LONG cy,
-     OLE_XPOS_HIMETRIC xSrc,
-     OLE_YPOS_HIMETRIC ySrc,
-     OLE_XSIZE_HIMETRIC cxSrc,
-     OLE_YSIZE_HIMETRIC cySrc,
-     LPCRECT pRcWBounds);
-
-
-void __stdcall IPicture_Render_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_set_hPal_Proxy( 
-    IPicture * This,
-     OLE_HANDLE hPal);
-
-
-void __stdcall IPicture_set_hPal_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_CurDC_Proxy( 
-    IPicture * This,
-     HDC *phDC);
-
-
-void __stdcall IPicture_get_CurDC_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_SelectPicture_Proxy( 
-    IPicture * This,
-     HDC hDCIn,
-     HDC *phDCOut,
-     OLE_HANDLE *phBmpOut);
-
-
-void __stdcall IPicture_SelectPicture_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_KeepOriginalFormat_Proxy( 
-    IPicture * This,
-     BOOL *pKeep);
-
-
-void __stdcall IPicture_get_KeepOriginalFormat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_put_KeepOriginalFormat_Proxy( 
-    IPicture * This,
-     BOOL keep);
-
-
-void __stdcall IPicture_put_KeepOriginalFormat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_PictureChanged_Proxy( 
-    IPicture * This);
-
-
-void __stdcall IPicture_PictureChanged_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_SaveAsFile_Proxy( 
-    IPicture * This,
-     LPSTREAM pStream,
-     BOOL fSaveMemCopy,
-     LONG *pCbSize);
-
-
-void __stdcall IPicture_SaveAsFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPicture_get_Attributes_Proxy( 
-    IPicture * This,
-     DWORD *pDwAttr);
-
-
-void __stdcall IPicture_get_Attributes_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IFontEventsDisp *LPFONTEVENTS;
-
-
-extern "C" const IID IID_IFontEventsDisp;
-
-
-    
-    struct __declspec(uuid("4EF6100A-AF88-11D0-9846-00C04FC29993")) __declspec(novtable)
-    IFontEventsDisp : public IDispatch
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IFontDisp *LPFONTDISP;
-
-
-extern "C" const IID IID_IFontDisp;
-
-
-    
-    struct __declspec(uuid("BEF6E003-A874-101A-8BBA-00AA00300CAB")) __declspec(novtable)
-    IFontDisp : public IDispatch
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPictureDisp *LPPICTUREDISP;
-
-
-extern "C" const IID IID_IPictureDisp;
-
-
-    
-    struct __declspec(uuid("7BF80981-BF32-101A-8BBB-00AA00300CAB")) __declspec(novtable)
-    IPictureDisp : public IDispatch
-    {
-    public:
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
-
-
-extern "C" const IID IID_IOleInPlaceObjectWindowless;
-
-
-    
-    struct __declspec(uuid("1C2056CC-5EF4-101B-8BC8-00AA003E3B29")) __declspec(novtable)
-    IOleInPlaceObjectWindowless : public IOleInPlaceObject
-    {
-    public:
-        virtual HRESULT __stdcall OnWindowMessage( 
-             UINT msg,
-             WPARAM wParam,
-             LPARAM lParam,
-             LRESULT *plResult) = 0;
-        
-        virtual HRESULT __stdcall GetDropTarget( 
-             IDropTarget **ppDropTarget) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleInPlaceObjectWindowless_OnWindowMessage_Proxy( 
-    IOleInPlaceObjectWindowless * This,
-     UINT msg,
-     WPARAM wParam,
-     LPARAM lParam,
-     LRESULT *plResult);
-
-
-void __stdcall IOleInPlaceObjectWindowless_OnWindowMessage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceObjectWindowless_GetDropTarget_Proxy( 
-    IOleInPlaceObjectWindowless * This,
-     IDropTarget **ppDropTarget);
-
-
-void __stdcall IOleInPlaceObjectWindowless_GetDropTarget_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
-
-typedef  
-enum tagACTIVATEFLAGS
-    {	ACTIVATE_WINDOWLESS	= 1
-    } 	ACTIVATEFLAGS;
-
-
-extern "C" const IID IID_IOleInPlaceSiteEx;
-
-
-    
-    struct __declspec(uuid("9C2CAD80-3424-11CF-B670-00AA004CD6D8")) __declspec(novtable)
-    IOleInPlaceSiteEx : public IOleInPlaceSite
-    {
-    public:
-        virtual HRESULT __stdcall OnInPlaceActivateEx( 
-             BOOL *pfNoRedraw,
-             DWORD dwFlags) = 0;
-        
-        virtual HRESULT __stdcall OnInPlaceDeactivateEx( 
-             BOOL fNoRedraw) = 0;
-        
-        virtual HRESULT __stdcall RequestUIActivate( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleInPlaceSiteEx_OnInPlaceActivateEx_Proxy( 
-    IOleInPlaceSiteEx * This,
-     BOOL *pfNoRedraw,
-     DWORD dwFlags);
-
-
-void __stdcall IOleInPlaceSiteEx_OnInPlaceActivateEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteEx_OnInPlaceDeactivateEx_Proxy( 
-    IOleInPlaceSiteEx * This,
-     BOOL fNoRedraw);
-
-
-void __stdcall IOleInPlaceSiteEx_OnInPlaceDeactivateEx_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteEx_RequestUIActivate_Proxy( 
-    IOleInPlaceSiteEx * This);
-
-
-void __stdcall IOleInPlaceSiteEx_RequestUIActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
-
-typedef  
-enum tagOLEDCFLAGS
-    {	OLEDC_NODRAW	= 0x1,
-	OLEDC_PAINTBKGND	= 0x2,
-	OLEDC_OFFSCREEN	= 0x4
-    } 	OLEDCFLAGS;
-
-
-extern "C" const IID IID_IOleInPlaceSiteWindowless;
-
-
-    
-    struct __declspec(uuid("922EADA0-3424-11CF-B670-00AA004CD6D8")) __declspec(novtable)
-    IOleInPlaceSiteWindowless : public IOleInPlaceSiteEx
-    {
-    public:
-        virtual HRESULT __stdcall CanWindowlessActivate( void) = 0;
-        
-        virtual HRESULT __stdcall GetCapture( void) = 0;
-        
-        virtual HRESULT __stdcall SetCapture( 
-             BOOL fCapture) = 0;
-        
-        virtual HRESULT __stdcall GetFocus( void) = 0;
-        
-        virtual HRESULT __stdcall SetFocus( 
-             BOOL fFocus) = 0;
-        
-        virtual HRESULT __stdcall GetDC( 
-             LPCRECT pRect,
-             DWORD grfFlags,
-             HDC *phDC) = 0;
-        
-        virtual HRESULT __stdcall ReleaseDC( 
-             HDC hDC) = 0;
-        
-        virtual HRESULT __stdcall InvalidateRect( 
-             LPCRECT pRect,
-             BOOL fErase) = 0;
-        
-        virtual HRESULT __stdcall InvalidateRgn( 
-             HRGN hRGN,
-             BOOL fErase) = 0;
-        
-        virtual HRESULT __stdcall ScrollRect( 
-             INT dx,
-             INT dy,
-             LPCRECT pRectScroll,
-             LPCRECT pRectClip) = 0;
-        
-        virtual HRESULT __stdcall AdjustRect( 
-             LPRECT prc) = 0;
-        
-        virtual HRESULT __stdcall OnDefWindowMessage( 
-             UINT msg,
-             WPARAM wParam,
-             LPARAM lParam,
-             LRESULT *plResult) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_CanWindowlessActivate_Proxy( 
-    IOleInPlaceSiteWindowless * This);
-
-
-void __stdcall IOleInPlaceSiteWindowless_CanWindowlessActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_GetCapture_Proxy( 
-    IOleInPlaceSiteWindowless * This);
-
-
-void __stdcall IOleInPlaceSiteWindowless_GetCapture_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_SetCapture_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     BOOL fCapture);
-
-
-void __stdcall IOleInPlaceSiteWindowless_SetCapture_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_GetFocus_Proxy( 
-    IOleInPlaceSiteWindowless * This);
-
-
-void __stdcall IOleInPlaceSiteWindowless_GetFocus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_SetFocus_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     BOOL fFocus);
-
-
-void __stdcall IOleInPlaceSiteWindowless_SetFocus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_GetDC_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     LPCRECT pRect,
-     DWORD grfFlags,
-     HDC *phDC);
-
-
-void __stdcall IOleInPlaceSiteWindowless_GetDC_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_ReleaseDC_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     HDC hDC);
-
-
-void __stdcall IOleInPlaceSiteWindowless_ReleaseDC_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_InvalidateRect_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     LPCRECT pRect,
-     BOOL fErase);
-
-
-void __stdcall IOleInPlaceSiteWindowless_InvalidateRect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_InvalidateRgn_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     HRGN hRGN,
-     BOOL fErase);
-
-
-void __stdcall IOleInPlaceSiteWindowless_InvalidateRgn_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_ScrollRect_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     INT dx,
-     INT dy,
-     LPCRECT pRectScroll,
-     LPCRECT pRectClip);
-
-
-void __stdcall IOleInPlaceSiteWindowless_ScrollRect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_AdjustRect_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     LPRECT prc);
-
-
-void __stdcall IOleInPlaceSiteWindowless_AdjustRect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleInPlaceSiteWindowless_OnDefWindowMessage_Proxy( 
-    IOleInPlaceSiteWindowless * This,
-     UINT msg,
-     WPARAM wParam,
-     LPARAM lParam,
-     LRESULT *plResult);
-
-
-void __stdcall IOleInPlaceSiteWindowless_OnDefWindowMessage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IViewObjectEx *LPVIEWOBJECTEX;
-
-typedef  
-enum tagVIEWSTATUS
-    {	VIEWSTATUS_OPAQUE	= 1,
-	VIEWSTATUS_SOLIDBKGND	= 2,
-	VIEWSTATUS_DVASPECTOPAQUE	= 4,
-	VIEWSTATUS_DVASPECTTRANSPARENT	= 8,
-	VIEWSTATUS_SURFACE	= 16,
-	VIEWSTATUS_3DSURFACE	= 32
-    } 	VIEWSTATUS;
-
-typedef  
-enum tagHITRESULT
-    {	HITRESULT_OUTSIDE	= 0,
-	HITRESULT_TRANSPARENT	= 1,
-	HITRESULT_CLOSE	= 2,
-	HITRESULT_HIT	= 3
-    } 	HITRESULT;
-
-typedef  
-enum tagDVASPECT2
-    {	DVASPECT_OPAQUE	= 16,
-	DVASPECT_TRANSPARENT	= 32
-    } 	DVASPECT2;
-
-typedef struct tagExtentInfo
-    {
-    ULONG cb;
-    DWORD dwExtentMode;
-    SIZEL sizelProposed;
-    } 	DVEXTENTINFO;
-
-typedef  
-enum tagExtentMode
-    {	DVEXTENT_CONTENT	= 0,
-	DVEXTENT_INTEGRAL	= DVEXTENT_CONTENT + 1
-    } 	DVEXTENTMODE;
-
-typedef  
-enum tagAspectInfoFlag
-    {	DVASPECTINFOFLAG_CANOPTIMIZE	= 1
-    } 	DVASPECTINFOFLAG;
-
-typedef struct tagAspectInfo
-    {
-    ULONG cb;
-    DWORD dwFlags;
-    } 	DVASPECTINFO;
-
-
-extern "C" const IID IID_IViewObjectEx;
-
-
-    
-    struct __declspec(uuid("3AF24292-0C96-11CE-A0CF-00AA00600AB8")) __declspec(novtable)
-    IViewObjectEx : public IViewObject2
-    {
-    public:
-        virtual HRESULT __stdcall GetRect( 
-             DWORD dwAspect,
-             LPRECTL pRect) = 0;
-        
-        virtual HRESULT __stdcall GetViewStatus( 
-             DWORD *pdwStatus) = 0;
-        
-        virtual HRESULT __stdcall QueryHitPoint( 
-             DWORD dwAspect,
-             LPCRECT pRectBounds,
-             POINT ptlLoc,
-             LONG lCloseHint,
-             DWORD *pHitResult) = 0;
-        
-        virtual HRESULT __stdcall QueryHitRect( 
-             DWORD dwAspect,
-             LPCRECT pRectBounds,
-             LPCRECT pRectLoc,
-             LONG lCloseHint,
-             DWORD *pHitResult) = 0;
-        
-        virtual HRESULT __stdcall GetNaturalExtent( 
-             DWORD dwAspect,
-             LONG lindex,
-             DVTARGETDEVICE *ptd,
-             HDC hicTargetDev,
-             DVEXTENTINFO *pExtentInfo,
-             LPSIZEL pSizel) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IViewObjectEx_GetRect_Proxy( 
-    IViewObjectEx * This,
-     DWORD dwAspect,
-     LPRECTL pRect);
-
-
-void __stdcall IViewObjectEx_GetRect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IViewObjectEx_GetViewStatus_Proxy( 
-    IViewObjectEx * This,
-     DWORD *pdwStatus);
-
-
-void __stdcall IViewObjectEx_GetViewStatus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IViewObjectEx_QueryHitPoint_Proxy( 
-    IViewObjectEx * This,
-     DWORD dwAspect,
-     LPCRECT pRectBounds,
-     POINT ptlLoc,
-     LONG lCloseHint,
-     DWORD *pHitResult);
-
-
-void __stdcall IViewObjectEx_QueryHitPoint_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IViewObjectEx_QueryHitRect_Proxy( 
-    IViewObjectEx * This,
-     DWORD dwAspect,
-     LPCRECT pRectBounds,
-     LPCRECT pRectLoc,
-     LONG lCloseHint,
-     DWORD *pHitResult);
-
-
-void __stdcall IViewObjectEx_QueryHitRect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IViewObjectEx_GetNaturalExtent_Proxy( 
-    IViewObjectEx * This,
-     DWORD dwAspect,
-     LONG lindex,
-     DVTARGETDEVICE *ptd,
-     HDC hicTargetDev,
-     DVEXTENTINFO *pExtentInfo,
-     LPSIZEL pSizel);
-
-
-void __stdcall IViewObjectEx_GetNaturalExtent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleUndoUnit *LPOLEUNDOUNIT;
-
-
-extern "C" const IID IID_IOleUndoUnit;
-
-
-    
-    struct __declspec(uuid("894AD3B0-EF97-11CE-9BC9-00AA00608E01")) __declspec(novtable)
-    IOleUndoUnit : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Do( 
-             IOleUndoManager *pUndoManager) = 0;
-        
-        virtual HRESULT __stdcall GetDescription( 
-             BSTR *pBstr) = 0;
-        
-        virtual HRESULT __stdcall GetUnitType( 
-             CLSID *pClsid,
-             LONG *plID) = 0;
-        
-        virtual HRESULT __stdcall OnNextAdd( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleUndoUnit_Do_Proxy( 
-    IOleUndoUnit * This,
-     IOleUndoManager *pUndoManager);
-
-
-void __stdcall IOleUndoUnit_Do_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoUnit_GetDescription_Proxy( 
-    IOleUndoUnit * This,
-     BSTR *pBstr);
-
-
-void __stdcall IOleUndoUnit_GetDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoUnit_GetUnitType_Proxy( 
-    IOleUndoUnit * This,
-     CLSID *pClsid,
-     LONG *plID);
-
-
-void __stdcall IOleUndoUnit_GetUnitType_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoUnit_OnNextAdd_Proxy( 
-    IOleUndoUnit * This);
-
-
-void __stdcall IOleUndoUnit_OnNextAdd_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
-
-
-extern "C" const IID IID_IOleParentUndoUnit;
-
-
-    
-    struct __declspec(uuid("A1FAF330-EF97-11CE-9BC9-00AA00608E01")) __declspec(novtable)
-    IOleParentUndoUnit : public IOleUndoUnit
-    {
-    public:
-        virtual HRESULT __stdcall Open( 
-             IOleParentUndoUnit *pPUU) = 0;
-        
-        virtual HRESULT __stdcall Close( 
-             IOleParentUndoUnit *pPUU,
-             BOOL fCommit) = 0;
-        
-        virtual HRESULT __stdcall Add( 
-             IOleUndoUnit *pUU) = 0;
-        
-        virtual HRESULT __stdcall FindUnit( 
-             IOleUndoUnit *pUU) = 0;
-        
-        virtual HRESULT __stdcall GetParentState( 
-             DWORD *pdwState) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleParentUndoUnit_Open_Proxy( 
-    IOleParentUndoUnit * This,
-     IOleParentUndoUnit *pPUU);
-
-
-void __stdcall IOleParentUndoUnit_Open_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleParentUndoUnit_Close_Proxy( 
-    IOleParentUndoUnit * This,
-     IOleParentUndoUnit *pPUU,
-     BOOL fCommit);
-
-
-void __stdcall IOleParentUndoUnit_Close_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleParentUndoUnit_Add_Proxy( 
-    IOleParentUndoUnit * This,
-     IOleUndoUnit *pUU);
-
-
-void __stdcall IOleParentUndoUnit_Add_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleParentUndoUnit_FindUnit_Proxy( 
-    IOleParentUndoUnit * This,
-     IOleUndoUnit *pUU);
-
-
-void __stdcall IOleParentUndoUnit_FindUnit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleParentUndoUnit_GetParentState_Proxy( 
-    IOleParentUndoUnit * This,
-     DWORD *pdwState);
-
-
-void __stdcall IOleParentUndoUnit_GetParentState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
-
-
-extern "C" const IID IID_IEnumOleUndoUnits;
-
-
-    
-    struct __declspec(uuid("B3E7C340-EF97-11CE-9BC9-00AA00608E01")) __declspec(novtable)
-    IEnumOleUndoUnits : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall Next( 
-             ULONG cElt,
-             IOleUndoUnit **rgElt,
-             ULONG *pcEltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG cElt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumOleUndoUnits **ppEnum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IEnumOleUndoUnits_RemoteNext_Proxy( 
-    IEnumOleUndoUnits * This,
-     ULONG cElt,
-     IOleUndoUnit **rgElt,
-     ULONG *pcEltFetched);
-
-
-void __stdcall IEnumOleUndoUnits_RemoteNext_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumOleUndoUnits_Skip_Proxy( 
-    IEnumOleUndoUnits * This,
-     ULONG cElt);
-
-
-void __stdcall IEnumOleUndoUnits_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumOleUndoUnits_Reset_Proxy( 
-    IEnumOleUndoUnits * This);
-
-
-void __stdcall IEnumOleUndoUnits_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumOleUndoUnits_Clone_Proxy( 
-    IEnumOleUndoUnits * This,
-     IEnumOleUndoUnits **ppEnum);
-
-
-void __stdcall IEnumOleUndoUnits_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-typedef IOleUndoManager *LPOLEUNDOMANAGER;
-
-
-extern "C" const IID IID_IOleUndoManager;
-
-
-    
-    struct __declspec(uuid("D001F200-EF97-11CE-9BC9-00AA00608E01")) __declspec(novtable)
-    IOleUndoManager : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Open( 
-             IOleParentUndoUnit *pPUU) = 0;
-        
-        virtual HRESULT __stdcall Close( 
-             IOleParentUndoUnit *pPUU,
-             BOOL fCommit) = 0;
-        
-        virtual HRESULT __stdcall Add( 
-             IOleUndoUnit *pUU) = 0;
-        
-        virtual HRESULT __stdcall GetOpenParentState( 
-             DWORD *pdwState) = 0;
-        
-        virtual HRESULT __stdcall DiscardFrom( 
-             IOleUndoUnit *pUU) = 0;
-        
-        virtual HRESULT __stdcall UndoTo( 
-             IOleUndoUnit *pUU) = 0;
-        
-        virtual HRESULT __stdcall RedoTo( 
-             IOleUndoUnit *pUU) = 0;
-        
-        virtual HRESULT __stdcall EnumUndoable( 
-             IEnumOleUndoUnits **ppEnum) = 0;
-        
-        virtual HRESULT __stdcall EnumRedoable( 
-             IEnumOleUndoUnits **ppEnum) = 0;
-        
-        virtual HRESULT __stdcall GetLastUndoDescription( 
-             BSTR *pBstr) = 0;
-        
-        virtual HRESULT __stdcall GetLastRedoDescription( 
-             BSTR *pBstr) = 0;
-        
-        virtual HRESULT __stdcall Enable( 
-             BOOL fEnable) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IOleUndoManager_Open_Proxy( 
-    IOleUndoManager * This,
-     IOleParentUndoUnit *pPUU);
-
-
-void __stdcall IOleUndoManager_Open_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_Close_Proxy( 
-    IOleUndoManager * This,
-     IOleParentUndoUnit *pPUU,
-     BOOL fCommit);
-
-
-void __stdcall IOleUndoManager_Close_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_Add_Proxy( 
-    IOleUndoManager * This,
-     IOleUndoUnit *pUU);
-
-
-void __stdcall IOleUndoManager_Add_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_GetOpenParentState_Proxy( 
-    IOleUndoManager * This,
-     DWORD *pdwState);
-
-
-void __stdcall IOleUndoManager_GetOpenParentState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_DiscardFrom_Proxy( 
-    IOleUndoManager * This,
-     IOleUndoUnit *pUU);
-
-
-void __stdcall IOleUndoManager_DiscardFrom_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_UndoTo_Proxy( 
-    IOleUndoManager * This,
-     IOleUndoUnit *pUU);
-
-
-void __stdcall IOleUndoManager_UndoTo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_RedoTo_Proxy( 
-    IOleUndoManager * This,
-     IOleUndoUnit *pUU);
-
-
-void __stdcall IOleUndoManager_RedoTo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_EnumUndoable_Proxy( 
-    IOleUndoManager * This,
-     IEnumOleUndoUnits **ppEnum);
-
-
-void __stdcall IOleUndoManager_EnumUndoable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_EnumRedoable_Proxy( 
-    IOleUndoManager * This,
-     IEnumOleUndoUnits **ppEnum);
-
-
-void __stdcall IOleUndoManager_EnumRedoable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_GetLastUndoDescription_Proxy( 
-    IOleUndoManager * This,
-     BSTR *pBstr);
-
-
-void __stdcall IOleUndoManager_GetLastUndoDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_GetLastRedoDescription_Proxy( 
-    IOleUndoManager * This,
-     BSTR *pBstr);
-
-
-void __stdcall IOleUndoManager_GetLastRedoDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IOleUndoManager_Enable_Proxy( 
-    IOleUndoManager * This,
-     BOOL fEnable);
-
-
-void __stdcall IOleUndoManager_Enable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPointerInactive *LPPOINTERINACTIVE;
-
-typedef  
-enum tagPOINTERINACTIVE
-    {	POINTERINACTIVE_ACTIVATEONENTRY	= 1,
-	POINTERINACTIVE_DEACTIVATEONLEAVE	= 2,
-	POINTERINACTIVE_ACTIVATEONDRAG	= 4
-    } 	POINTERINACTIVE;
-
-
-extern "C" const IID IID_IPointerInactive;
-
-
-    
-    struct __declspec(uuid("55980BA0-35AA-11CF-B671-00AA004CD6D8")) __declspec(novtable)
-    IPointerInactive : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetActivationPolicy( 
-             DWORD *pdwPolicy) = 0;
-        
-        virtual HRESULT __stdcall OnInactiveMouseMove( 
-             LPCRECT pRectBounds,
-             LONG x,
-             LONG y,
-             DWORD grfKeyState) = 0;
-        
-        virtual HRESULT __stdcall OnInactiveSetCursor( 
-             LPCRECT pRectBounds,
-             LONG x,
-             LONG y,
-             DWORD dwMouseMsg,
-             BOOL fSetAlways) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPointerInactive_GetActivationPolicy_Proxy( 
-    IPointerInactive * This,
-     DWORD *pdwPolicy);
-
-
-void __stdcall IPointerInactive_GetActivationPolicy_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPointerInactive_OnInactiveMouseMove_Proxy( 
-    IPointerInactive * This,
-     LPCRECT pRectBounds,
-     LONG x,
-     LONG y,
-     DWORD grfKeyState);
-
-
-void __stdcall IPointerInactive_OnInactiveMouseMove_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPointerInactive_OnInactiveSetCursor_Proxy( 
-    IPointerInactive * This,
-     LPCRECT pRectBounds,
-     LONG x,
-     LONG y,
-     DWORD dwMouseMsg,
-     BOOL fSetAlways);
-
-
-void __stdcall IPointerInactive_OnInactiveSetCursor_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IObjectWithSite *LPOBJECTWITHSITE;
-
-
-extern "C" const IID IID_IObjectWithSite;
-
-
-    
-    struct __declspec(uuid("FC4801A3-2BA9-11CF-A229-00AA003D7352")) __declspec(novtable)
-    IObjectWithSite : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetSite( 
-             IUnknown *pUnkSite) = 0;
-        
-        virtual HRESULT __stdcall GetSite( 
-             const IID & riid,
-             void **ppvSite) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IObjectWithSite_SetSite_Proxy( 
-    IObjectWithSite * This,
-     IUnknown *pUnkSite);
-
-
-void __stdcall IObjectWithSite_SetSite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IObjectWithSite_GetSite_Proxy( 
-    IObjectWithSite * This,
-     const IID & riid,
-     void **ppvSite);
-
-
-void __stdcall IObjectWithSite_GetSite_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
-
-typedef struct tagCALPOLESTR
-    {
-    ULONG cElems;
-     LPOLESTR *pElems;
-    } 	CALPOLESTR;
-
-typedef struct tagCALPOLESTR *LPCALPOLESTR;
-
-typedef struct tagCADWORD
-    {
-    ULONG cElems;
-     DWORD *pElems;
-    } 	CADWORD;
-
-typedef struct tagCADWORD *LPCADWORD;
-
-
-extern "C" const IID IID_IPerPropertyBrowsing;
-
-
-    
-    struct __declspec(uuid("376BD3AA-3845-101B-84ED-08002B2EC713")) __declspec(novtable)
-    IPerPropertyBrowsing : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetDisplayString( 
-             DISPID dispID,
-             BSTR *pBstr) = 0;
-        
-        virtual HRESULT __stdcall MapPropertyToPage( 
-             DISPID dispID,
-             CLSID *pClsid) = 0;
-        
-        virtual HRESULT __stdcall GetPredefinedStrings( 
-             DISPID dispID,
-             CALPOLESTR *pCaStringsOut,
-             CADWORD *pCaCookiesOut) = 0;
-        
-        virtual HRESULT __stdcall GetPredefinedValue( 
-             DISPID dispID,
-             DWORD dwCookie,
-             VARIANT *pVarOut) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPerPropertyBrowsing_GetDisplayString_Proxy( 
-    IPerPropertyBrowsing * This,
-     DISPID dispID,
-     BSTR *pBstr);
-
-
-void __stdcall IPerPropertyBrowsing_GetDisplayString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPerPropertyBrowsing_MapPropertyToPage_Proxy( 
-    IPerPropertyBrowsing * This,
-     DISPID dispID,
-     CLSID *pClsid);
-
-
-void __stdcall IPerPropertyBrowsing_MapPropertyToPage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPerPropertyBrowsing_GetPredefinedStrings_Proxy( 
-    IPerPropertyBrowsing * This,
-     DISPID dispID,
-     CALPOLESTR *pCaStringsOut,
-     CADWORD *pCaCookiesOut);
-
-
-void __stdcall IPerPropertyBrowsing_GetPredefinedStrings_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPerPropertyBrowsing_GetPredefinedValue_Proxy( 
-    IPerPropertyBrowsing * This,
-     DISPID dispID,
-     DWORD dwCookie,
-     VARIANT *pVarOut);
-
-
-void __stdcall IPerPropertyBrowsing_GetPredefinedValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPropertyBag2 *LPPROPERTYBAG2;
-
-typedef  
-enum tagPROPBAG2_TYPE
-    {	PROPBAG2_TYPE_UNDEFINED	= 0,
-	PROPBAG2_TYPE_DATA	= 1,
-	PROPBAG2_TYPE_URL	= 2,
-	PROPBAG2_TYPE_OBJECT	= 3,
-	PROPBAG2_TYPE_STREAM	= 4,
-	PROPBAG2_TYPE_STORAGE	= 5,
-	PROPBAG2_TYPE_MONIKER	= 6
-    } 	PROPBAG2_TYPE;
-
-typedef struct tagPROPBAG2
-    {
-    DWORD dwType;
-    VARTYPE vt;
-    CLIPFORMAT cfType;
-    DWORD dwHint;
-    LPOLESTR pstrName;
-    CLSID clsid;
-    } 	PROPBAG2;
-
-
-extern "C" const IID IID_IPropertyBag2;
-
-
-    
-    struct __declspec(uuid("22F55882-280B-11d0-A8A9-00A0C90C2004")) __declspec(novtable)
-    IPropertyBag2 : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Read( 
-             ULONG cProperties,
-             PROPBAG2 *pPropBag,
-             IErrorLog *pErrLog,
-             VARIANT *pvarValue,
-             HRESULT *phrError) = 0;
-        
-        virtual HRESULT __stdcall Write( 
-             ULONG cProperties,
-             PROPBAG2 *pPropBag,
-             VARIANT *pvarValue) = 0;
-        
-        virtual HRESULT __stdcall CountProperties( 
-             ULONG *pcProperties) = 0;
-        
-        virtual HRESULT __stdcall GetPropertyInfo( 
-             ULONG iProperty,
-             ULONG cProperties,
-             PROPBAG2 *pPropBag,
-             ULONG *pcProperties) = 0;
-        
-        virtual HRESULT __stdcall LoadObject( 
-             LPCOLESTR pstrName,
-             DWORD dwHint,
-             IUnknown *pUnkObject,
-             IErrorLog *pErrLog) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPropertyBag2_Read_Proxy( 
-    IPropertyBag2 * This,
-     ULONG cProperties,
-     PROPBAG2 *pPropBag,
-     IErrorLog *pErrLog,
-     VARIANT *pvarValue,
-     HRESULT *phrError);
-
-
-void __stdcall IPropertyBag2_Read_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyBag2_Write_Proxy( 
-    IPropertyBag2 * This,
-     ULONG cProperties,
-     PROPBAG2 *pPropBag,
-     VARIANT *pvarValue);
-
-
-void __stdcall IPropertyBag2_Write_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyBag2_CountProperties_Proxy( 
-    IPropertyBag2 * This,
-     ULONG *pcProperties);
-
-
-void __stdcall IPropertyBag2_CountProperties_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyBag2_GetPropertyInfo_Proxy( 
-    IPropertyBag2 * This,
-     ULONG iProperty,
-     ULONG cProperties,
-     PROPBAG2 *pPropBag,
-     ULONG *pcProperties);
-
-
-void __stdcall IPropertyBag2_GetPropertyInfo_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPropertyBag2_LoadObject_Proxy( 
-    IPropertyBag2 * This,
-     LPCOLESTR pstrName,
-     DWORD dwHint,
-     IUnknown *pUnkObject,
-     IErrorLog *pErrLog);
-
-
-void __stdcall IPropertyBag2_LoadObject_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
-
-
-extern "C" const IID IID_IPersistPropertyBag2;
-
-
-    
-    struct __declspec(uuid("22F55881-280B-11d0-A8A9-00A0C90C2004")) __declspec(novtable)
-    IPersistPropertyBag2 : public IPersist
-    {
-    public:
-        virtual HRESULT __stdcall InitNew( void) = 0;
-        
-        virtual HRESULT __stdcall Load( 
-             IPropertyBag2 *pPropBag,
-             IErrorLog *pErrLog) = 0;
-        
-        virtual HRESULT __stdcall Save( 
-             IPropertyBag2 *pPropBag,
-             BOOL fClearDirty,
-             BOOL fSaveAllProperties) = 0;
-        
-        virtual HRESULT __stdcall IsDirty( void) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IPersistPropertyBag2_InitNew_Proxy( 
-    IPersistPropertyBag2 * This);
-
-
-void __stdcall IPersistPropertyBag2_InitNew_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistPropertyBag2_Load_Proxy( 
-    IPersistPropertyBag2 * This,
-     IPropertyBag2 *pPropBag,
-     IErrorLog *pErrLog);
-
-
-void __stdcall IPersistPropertyBag2_Load_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistPropertyBag2_Save_Proxy( 
-    IPersistPropertyBag2 * This,
-     IPropertyBag2 *pPropBag,
-     BOOL fClearDirty,
-     BOOL fSaveAllProperties);
-
-
-void __stdcall IPersistPropertyBag2_Save_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IPersistPropertyBag2_IsDirty_Proxy( 
-    IPersistPropertyBag2 * This);
-
-
-void __stdcall IPersistPropertyBag2_IsDirty_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IAdviseSinkEx *LPADVISESINKEX;
-
-
-extern "C" const IID IID_IAdviseSinkEx;
-
-
-    
-    struct __declspec(uuid("3AF24290-0C96-11CE-A0CF-00AA00600AB8")) __declspec(novtable)
-    IAdviseSinkEx : public IAdviseSink
-    {
-    public:
-        virtual  void __stdcall OnViewStatusChange( 
-             DWORD dwViewStatus) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IAdviseSinkEx_RemoteOnViewStatusChange_Proxy( 
-    IAdviseSinkEx * This,
-     DWORD dwViewStatus);
-
-
-void __stdcall IAdviseSinkEx_RemoteOnViewStatusChange_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef IQuickActivate *LPQUICKACTIVATE;
-
-typedef  
-enum tagQACONTAINERFLAGS
-    {	QACONTAINER_SHOWHATCHING	= 0x1,
-	QACONTAINER_SHOWGRABHANDLES	= 0x2,
-	QACONTAINER_USERMODE	= 0x4,
-	QACONTAINER_DISPLAYASDEFAULT	= 0x8,
-	QACONTAINER_UIDEAD	= 0x10,
-	QACONTAINER_AUTOCLIP	= 0x20,
-	QACONTAINER_MESSAGEREFLECT	= 0x40,
-	QACONTAINER_SUPPORTSMNEMONICS	= 0x80
-    } 	QACONTAINERFLAGS;
-
-typedef   __declspec(uuid("66504301-BE0F-101A-8BBB-00AA00300CAB")) DWORD OLE_COLOR;
-
-typedef struct tagQACONTAINER
-    {
-    ULONG cbSize;
-    IOleClientSite *pClientSite;
-    IAdviseSinkEx *pAdviseSink;
-    IPropertyNotifySink *pPropertyNotifySink;
-    IUnknown *pUnkEventSink;
-    DWORD dwAmbientFlags;
-    OLE_COLOR colorFore;
-    OLE_COLOR colorBack;
-    IFont *pFont;
-    IOleUndoManager *pUndoMgr;
-    DWORD dwAppearance;
-    LONG lcid;
-    HPALETTE hpal;
-    IBindHost *pBindHost;
-    IOleControlSite *pOleControlSite;
-    IServiceProvider *pServiceProvider;
-    } 	QACONTAINER;
-
-typedef struct tagQACONTROL
-    {
-    ULONG cbSize;
-    DWORD dwMiscStatus;
-    DWORD dwViewStatus;
-    DWORD dwEventCookie;
-    DWORD dwPropNotifyCookie;
-    DWORD dwPointerActivationPolicy;
-    } 	QACONTROL;
-
-
-extern "C" const IID IID_IQuickActivate;
-
-
-    
-    struct __declspec(uuid("CF51ED10-62FE-11CF-BF86-00A0C9034836")) __declspec(novtable)
-    IQuickActivate : public IUnknown
-    {
-    public:
-        virtual  HRESULT __stdcall QuickActivate( 
-             QACONTAINER *pQaContainer,
-             QACONTROL *pQaControl) = 0;
-        
-        virtual HRESULT __stdcall SetContentExtent( 
-             LPSIZEL pSizel) = 0;
-        
-        virtual HRESULT __stdcall GetContentExtent( 
-             LPSIZEL pSizel) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IQuickActivate_RemoteQuickActivate_Proxy( 
-    IQuickActivate * This,
-     QACONTAINER *pQaContainer,
-     QACONTROL *pQaControl);
-
-
-void __stdcall IQuickActivate_RemoteQuickActivate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IQuickActivate_SetContentExtent_Proxy( 
-    IQuickActivate * This,
-     LPSIZEL pSizel);
-
-
-void __stdcall IQuickActivate_SetContentExtent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IQuickActivate_GetContentExtent_Proxy( 
-    IQuickActivate * This,
-     LPSIZEL pSizel);
-
-
-void __stdcall IQuickActivate_GetContentExtent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-unsigned long             __stdcall  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
-unsigned char * __stdcall  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
-unsigned char * __stdcall  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
-void                      __stdcall  BSTR_UserFree(     unsigned long *, BSTR * ); 
-
-unsigned long             __stdcall  CLIPFORMAT_UserSize(     unsigned long *, unsigned long            , CLIPFORMAT * ); 
-unsigned char * __stdcall  CLIPFORMAT_UserMarshal(  unsigned long *, unsigned char *, CLIPFORMAT * ); 
-unsigned char * __stdcall  CLIPFORMAT_UserUnmarshal(unsigned long *, unsigned char *, CLIPFORMAT * ); 
-void                      __stdcall  CLIPFORMAT_UserFree(     unsigned long *, CLIPFORMAT * ); 
-
-unsigned long             __stdcall  HACCEL_UserSize(     unsigned long *, unsigned long            , HACCEL * ); 
-unsigned char * __stdcall  HACCEL_UserMarshal(  unsigned long *, unsigned char *, HACCEL * ); 
-unsigned char * __stdcall  HACCEL_UserUnmarshal(unsigned long *, unsigned char *, HACCEL * ); 
-void                      __stdcall  HACCEL_UserFree(     unsigned long *, HACCEL * ); 
-
-unsigned long             __stdcall  HDC_UserSize(     unsigned long *, unsigned long            , HDC * ); 
-unsigned char * __stdcall  HDC_UserMarshal(  unsigned long *, unsigned char *, HDC * ); 
-unsigned char * __stdcall  HDC_UserUnmarshal(unsigned long *, unsigned char *, HDC * ); 
-void                      __stdcall  HDC_UserFree(     unsigned long *, HDC * ); 
-
-unsigned long             __stdcall  HFONT_UserSize(     unsigned long *, unsigned long            , HFONT * ); 
-unsigned char * __stdcall  HFONT_UserMarshal(  unsigned long *, unsigned char *, HFONT * ); 
-unsigned char * __stdcall  HFONT_UserUnmarshal(unsigned long *, unsigned char *, HFONT * ); 
-void                      __stdcall  HFONT_UserFree(     unsigned long *, HFONT * ); 
-
-unsigned long             __stdcall  HPALETTE_UserSize(     unsigned long *, unsigned long            , HPALETTE * ); 
-unsigned char * __stdcall  HPALETTE_UserMarshal(  unsigned long *, unsigned char *, HPALETTE * ); 
-unsigned char * __stdcall  HPALETTE_UserUnmarshal(unsigned long *, unsigned char *, HPALETTE * ); 
-void                      __stdcall  HPALETTE_UserFree(     unsigned long *, HPALETTE * ); 
-
-unsigned long             __stdcall  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
-unsigned char * __stdcall  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
-unsigned char * __stdcall  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
-void                      __stdcall  HWND_UserFree(     unsigned long *, HWND * ); 
-
-unsigned long             __stdcall  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
-unsigned char * __stdcall  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
-unsigned char * __stdcall  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
-void                      __stdcall  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
-
- HRESULT __stdcall IEnumConnections_Next_Proxy( 
-    IEnumConnections * This,
-     ULONG cConnections,
-     LPCONNECTDATA rgcd,
-     ULONG *pcFetched);
-
-
- HRESULT __stdcall IEnumConnections_Next_Stub( 
-    IEnumConnections * This,
-     ULONG cConnections,
-     LPCONNECTDATA rgcd,
-     ULONG *pcFetched);
-
- HRESULT __stdcall IEnumConnectionPoints_Next_Proxy( 
-    IEnumConnectionPoints * This,
-     ULONG cConnections,
-     LPCONNECTIONPOINT *ppCP,
-     ULONG *pcFetched);
-
-
- HRESULT __stdcall IEnumConnectionPoints_Next_Stub( 
-    IEnumConnectionPoints * This,
-     ULONG cConnections,
-     LPCONNECTIONPOINT *ppCP,
-     ULONG *pcFetched);
-
- HRESULT __stdcall IClassFactory2_CreateInstanceLic_Proxy( 
-    IClassFactory2 * This,
-     IUnknown *pUnkOuter,
-     IUnknown *pUnkReserved,
-     const IID & riid,
-     BSTR bstrKey,
-     PVOID *ppvObj);
-
-
- HRESULT __stdcall IClassFactory2_CreateInstanceLic_Stub( 
-    IClassFactory2 * This,
-     const IID & riid,
-     BSTR bstrKey,
-     IUnknown **ppvObj);
-
- HRESULT __stdcall IPersistMemory_Load_Proxy( 
-    IPersistMemory * This,
-     LPVOID pMem,
-     ULONG cbSize);
-
-
- HRESULT __stdcall IPersistMemory_Load_Stub( 
-    IPersistMemory * This,
-     BYTE *pMem,
-     ULONG cbSize);
-
- HRESULT __stdcall IPersistMemory_Save_Proxy( 
-    IPersistMemory * This,
-     LPVOID pMem,
-     BOOL fClearDirty,
-     ULONG cbSize);
-
-
- HRESULT __stdcall IPersistMemory_Save_Stub( 
-    IPersistMemory * This,
-     BYTE *pMem,
-     BOOL fClearDirty,
-     ULONG cbSize);
-
- HRESULT __stdcall IEnumOleUndoUnits_Next_Proxy( 
-    IEnumOleUndoUnits * This,
-     ULONG cElt,
-     IOleUndoUnit **rgElt,
-     ULONG *pcEltFetched);
-
-
- HRESULT __stdcall IEnumOleUndoUnits_Next_Stub( 
-    IEnumOleUndoUnits * This,
-     ULONG cElt,
-     IOleUndoUnit **rgElt,
-     ULONG *pcEltFetched);
-
- void __stdcall IAdviseSinkEx_OnViewStatusChange_Proxy( 
-    IAdviseSinkEx * This,
-     DWORD dwViewStatus);
-
-
- HRESULT __stdcall IAdviseSinkEx_OnViewStatusChange_Stub( 
-    IAdviseSinkEx * This,
-     DWORD dwViewStatus);
-
- HRESULT __stdcall IQuickActivate_QuickActivate_Proxy( 
-    IQuickActivate * This,
-     QACONTAINER *pQaContainer,
-     QACONTROL *pQaControl);
-
-
- HRESULT __stdcall IQuickActivate_QuickActivate_Stub( 
-    IQuickActivate * This,
-     QACONTAINER *pQaContainer,
-     QACONTROL *pQaControl);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const GUID  IID_IPropertyFrame;
-
-
-
-
-
-extern "C" const GUID  CLSID_CFontPropPage;
-extern "C" const GUID  CLSID_CColorPropPage;
-extern "C" const GUID  CLSID_CPicturePropPage;
-
-
-
-
-
-extern "C" const GUID  CLSID_PersistPropset;
-extern "C" const GUID  CLSID_ConvertVBX;
-
-
-
-
-extern "C" const GUID  CLSID_StdFont;
-extern "C" const GUID  CLSID_StdPicture;
-
-
-
-
-
-extern "C" const GUID  GUID_HIMETRIC;
-extern "C" const GUID  GUID_COLOR;
-extern "C" const GUID  GUID_XPOSPIXEL;
-extern "C" const GUID  GUID_YPOSPIXEL;
-extern "C" const GUID  GUID_XSIZEPIXEL;
-extern "C" const GUID  GUID_YSIZEPIXEL;
-extern "C" const GUID  GUID_XPOS;
-extern "C" const GUID  GUID_YPOS;
-extern "C" const GUID  GUID_XSIZE;
-extern "C" const GUID  GUID_YSIZE;
-
-
-
-
-
-
-extern "C" const GUID  GUID_OPTIONVALUEEXCLUSIVE;
-extern "C" const GUID  GUID_CHECKVALUEEXCLUSIVE;
-extern "C" const GUID  GUID_FONTNAME;
-extern "C" const GUID  GUID_FONTSIZE;
-extern "C" const GUID  GUID_FONTBOLD;
-extern "C" const GUID  GUID_FONTITALIC;
-extern "C" const GUID  GUID_FONTUNDERSCORE;
-extern "C" const GUID  GUID_FONTSTRIKETHROUGH;
-extern "C" const GUID  GUID_HANDLE;
-
-
-
-
-
-
-
-typedef struct tagOCPFIPARAMS
-{
-    ULONG cbStructSize;
-    HWND hWndOwner;
-    int x;
-    int y;
-    LPCOLESTR lpszCaption;
-    ULONG cObjects;
-    LPUNKNOWN * lplpUnk;
-    ULONG cPages;
-    CLSID * lpPages;
-    LCID lcid;
-    DISPID dispidInitialProperty;
-
-} OCPFIPARAMS, * LPOCPFIPARAMS;
-
-
-
-
-
-
-
-typedef struct tagFONTDESC
-{
-    UINT cbSizeofstruct;
-    LPOLESTR lpstrName;
-    CY cySize;
-    SHORT sWeight;
-    SHORT sCharset;
-    BOOL fItalic;
-    BOOL fUnderline;
-    BOOL fStrikethrough;
-
-} FONTDESC, * LPFONTDESC;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagPICTDESC
-{
-    UINT cbSizeofstruct;
-    UINT picType;
-    union
-    {
-        struct
-        {
-            HBITMAP   hbitmap;        
-            HPALETTE  hpal;           
-        } bmp;
-
-        struct
-        {
-            HMETAFILE hmeta;          
-            int       xExt;
-            int       yExt;           
-        } wmf;
-
-        struct
-        {
-            HICON hicon;              
-        } icon;
-
-
-        struct
-        {
-            HENHMETAFILE hemf;        
-        } emf;
-
-    };
-
-} PICTDESC, * LPPICTDESC;
-
-
-
-
-
-typedef long OLE_XPOS_PIXELS;
-typedef long OLE_YPOS_PIXELS;
-typedef long OLE_XSIZE_PIXELS;
-typedef long OLE_YSIZE_PIXELS;
-typedef float OLE_XPOS_CONTAINER;
-typedef float OLE_YPOS_CONTAINER;
-typedef float OLE_XSIZE_CONTAINER;
-typedef float OLE_YSIZE_CONTAINER;
-typedef enum { triUnchecked = 0, triChecked = 1, triGray = 2 } OLE_TRISTATE;
-typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
-typedef VARIANT_BOOL OLE_CANCELBOOL;
-typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __stdcall DllRegisterServer(void);
-extern "C" HRESULT __stdcall DllUnregisterServer(void);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleCreatePropertyFrame(HWND hwndOwner, UINT x, UINT y,
-    LPCOLESTR lpszCaption, ULONG cObjects, LPUNKNOWN * ppUnk, ULONG cPages,
-    LPCLSID pPageClsID, LCID lcid, DWORD dwReserved, LPVOID pvReserved);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleTranslateColor(OLE_COLOR clr, HPALETTE hpal,
-    COLORREF* lpcolorref);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateFontIndirect(LPFONTDESC lpFontDesc, const IID & riid,
-    LPVOID * lplpvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleCreatePictureIndirect(LPPICTDESC lpPictDesc, const IID & riid,
-    BOOL fOwn, LPVOID * lplpvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleLoadPicture(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
-    const IID & riid, LPVOID * lplpvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleLoadPictureEx(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
-    const IID & riid, DWORD xSizeDesired, DWORD ySizeDesired, DWORD dwFlags,
-    LPVOID * lplpvObj);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleLoadPicturePath(  LPOLESTR  szURLorPath,
-				  LPUNKNOWN punkCaller,
-				  DWORD     dwReserved,
-				  OLE_COLOR clrReserved,
-				  const IID &    riid,
-				  LPVOID *  ppvRet );
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleLoadPictureFile(VARIANT varFileName,
-    LPDISPATCH* lplpdispPicture);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleLoadPictureFileEx(VARIANT varFileName,
-    DWORD xSizeDesired, DWORD ySizeDesired, DWORD dwFlags, LPDISPATCH* lplpdispPicture);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall OleSavePictureFile(LPDISPATCH lpdispPicture,
-    BSTR bstrFileName);
-
-extern "C" __declspec(dllimport) HCURSOR __stdcall OleIconToCursor(HINSTANCE hinstExe, HICON hIcon);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning (push)
-#pragma warning (disable: 4127)  
-#pragma warning (disable: 4571)  
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-
-__declspec( noinline ) inline HRESULT AtlHresultFromLastError() throw()
-{
-	DWORD dwErr = ::GetLastError();
-	return ((HRESULT)(dwErr) <= 0 ? ((HRESULT)(dwErr)) : ((HRESULT) (((dwErr) & 0x0000FFFF) | (7 << 16) | 0x80000000)));
-}
-
-__declspec( noinline ) inline HRESULT AtlHresultFromWin32(     DWORD nError) throw()
-{
-	return( ((HRESULT)(nError) <= 0 ? ((HRESULT)(nError)) : ((HRESULT) (((nError) & 0x0000FFFF) | (7 << 16) | 0x80000000))) );
-}
-
-
-
-
-extern "C" __declspec(dllimport) IUnknown* __stdcall AtlComPtrAssign(IUnknown** pp, IUnknown* lp);
-extern "C" __declspec(dllimport) IUnknown* __stdcall AtlComQIPtrAssign(IUnknown** pp, IUnknown* lp, const IID & riid);
-
-
-
-
-union ClassesAllowedInStream 
-{
-	const CLSID *rgclsidAllowed;
-	HRESULT (*pfnClsidAllowed)(     const CLSID& clsid,      const IID & iidInterface,                  void** ppvObj);
-};
-
-
-inline HRESULT AtlInternalOleLoadFromStream(
-	     IStream* pStm, 
-	     const IID & iidInterface, 
-	                  void** ppvObj, 
-	     ClassesAllowedInStream rgclsidAllowed, 
-	     DWORD cclsidAllowed);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template <class T>
-class _NoAddRefReleaseOnCComPtr : public T
-{
-	private:
-		virtual ULONG __stdcall AddRef()=0;
-		virtual ULONG __stdcall Release()=0;
-};
-
-inline  HRESULT AtlSetChildSite(     IUnknown* punkChild,        IUnknown* punkParent)
-{
-	if (punkChild == 0)
-		return ((HRESULT)0x80004003L);
-
-	HRESULT hr;
-	IObjectWithSite* pChildSite = 0;
-	hr = punkChild->QueryInterface(__uuidof(IObjectWithSite), (void**)&pChildSite);
-	if (((HRESULT)(hr) >= 0) && pChildSite != 0)
-	{
-		hr = pChildSite->SetSite(punkParent);
-		pChildSite->Release();
-	}
-	return hr;
-}
-
-
-
-
-template <class T>
-class CComPtrBase
-{
-protected:
-	CComPtrBase() throw()
-	{
-		p = 0;
-	}
-	CComPtrBase(     int nNull) throw()
-	{
-		(void) ((!!((nNull == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 138, 0, L"nNull == 0")) || (__debugbreak(), 0));
-		(void)nNull;
-		p = 0;
-	}
-	CComPtrBase(       T* lp) throw()
-	{
-		p = lp;
-		if (p != 0)
-			p->AddRef();
-	}
-public:
-	typedef T _PtrClass;
-	~CComPtrBase() throw()
-	{
-		if (p)
-			p->Release();
-	}
-	operator T*() const throw()
-	{
-		return p;
-	}
-	T& operator*() const
-	{
-		do { int __atl_condVal=!!(p!=0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 161, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		return *p;
-	}
-	
-	
-	T** operator&() throw()
-	{
-		(void) ((!!((p==0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 168, 0, L"p==0")) || (__debugbreak(), 0));
-		return &p;
-	}
-	_NoAddRefReleaseOnCComPtr<T>* operator->() const throw()
-	{
-		(void) ((!!((p!=0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 173, 0, L"p!=0")) || (__debugbreak(), 0));
-		return (_NoAddRefReleaseOnCComPtr<T>*)p;
-	}
-	bool operator!() const throw()
-	{
-		return (p == 0);
-	}
-	bool operator<(       T* pT) const throw()
-	{
-		return p < pT;
-	}
-	bool operator!=(       T* pT) const
-	{
-		return !operator==(pT);
-	}
-	bool operator==(       T* pT) const throw()
-	{
-		return p == pT;
-	}
-
-	
-	void Release() throw()
-	{
-		T* pTemp = p;
-		if (pTemp)
-		{
-			p = 0;
-			pTemp->Release();
-		}
-	}
-	
-	bool IsEqualObject(       IUnknown* pOther) throw()
-	{
-		if (p == 0 && pOther == 0)
-			return true;	
-
-		if (p == 0 || pOther == 0)
-			return false;	
-
-		CComPtr<IUnknown> punk1;
-		CComPtr<IUnknown> punk2;
-		p->QueryInterface(__uuidof(IUnknown), (void**)&punk1);
-		pOther->QueryInterface(__uuidof(IUnknown), (void**)&punk2);
-		return punk1 == punk2;
-	}
-	
-	void Attach(       T* p2) throw()
-	{
-		if (p)
-			p->Release();
-		p = p2;
-	}
-	
-	T* Detach() throw()
-	{
-		T* pt = p;
-		p = 0;
-		return pt;
-	}
-	 HRESULT CopyTo(                  T** ppT) throw()
-	{
-		(void) ((!!((ppT != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 234, 0, L"ppT != 0")) || (__debugbreak(), 0));
-		if (ppT == 0)
-			return ((HRESULT)0x80004003L);
-		*ppT = p;
-		if (p)
-			p->AddRef();
-		return ((HRESULT)0x00000000L);
-	}
-	 HRESULT SetSite(       IUnknown* punkParent) throw()
-	{
-		return AtlSetChildSite(p, punkParent);
-	}
-	 HRESULT Advise(     IUnknown* pUnk,      const IID& iid,      LPDWORD pdw) throw()
-	{
-		return AtlAdvise(p, pUnk, iid, pdw);
-	}
-	 HRESULT CoCreateInstance(     const IID & rclsid,        LPUNKNOWN pUnkOuter = 0,      DWORD dwClsContext = (CLSCTX_INPROC_SERVER| CLSCTX_INPROC_HANDLER| CLSCTX_LOCAL_SERVER| CLSCTX_REMOTE_SERVER)) throw()
-	{
-		(void) ((!!((p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 252, 0, L"p == 0")) || (__debugbreak(), 0));
-		return ::CoCreateInstance(rclsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p);
-	}
-	 HRESULT CoCreateInstance(     LPCOLESTR szProgID,        LPUNKNOWN pUnkOuter = 0,      DWORD dwClsContext = (CLSCTX_INPROC_SERVER| CLSCTX_INPROC_HANDLER| CLSCTX_LOCAL_SERVER| CLSCTX_REMOTE_SERVER)) throw()
-	{
-		CLSID clsid;
-		HRESULT hr = CLSIDFromProgID(szProgID, &clsid);
-		(void) ((!!((p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 259, 0, L"p == 0")) || (__debugbreak(), 0));
-		if (((HRESULT)(hr) >= 0))
-			hr = ::CoCreateInstance(clsid, pUnkOuter, dwClsContext, __uuidof(T), (void**)&p);
-		return hr;
-	}
-	template <class Q>
-	 HRESULT QueryInterface(                  Q** pp) const throw()
-	{
-		(void) ((!!((pp != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 267, 0, L"pp != 0")) || (__debugbreak(), 0));
-		return p->QueryInterface(__uuidof(Q), (void**)pp);
-	}
-	T* p;
-};
-
-template <class T>
-class CComPtr : public CComPtrBase<T>
-{
-public:
-	CComPtr() throw()
-	{
-	}
-	CComPtr(int nNull) throw() :
-		CComPtrBase<T>(nNull)
-	{
-	}
-	CComPtr(T* lp) throw() :
-		CComPtrBase<T>(lp)
-
-	{
-	}
-	CComPtr(     const CComPtr<T>& lp) throw() :
-		CComPtrBase<T>(lp.p)
-	{
-	}
-	T* operator=(       T* lp) throw()
-	{
-        if(*this!=lp)
-        {
-    		return static_cast<T*>(AtlComPtrAssign((IUnknown**)&p, lp));
-        }
-        return *this;
-	}
-	template <typename Q>
-	T* operator=(     const CComPtr<Q>& lp) throw()
-	{
-        if( !IsEqualObject(lp) )
-        {
-    		return static_cast<T*>(AtlComQIPtrAssign((IUnknown**)&p, lp, __uuidof(T)));
-        }
-        return *this;
-	}
-	T* operator=(     const CComPtr<T>& lp) throw()
-	{
-        if(*this!=lp)
-        {
-    		return static_cast<T*>(AtlComPtrAssign((IUnknown**)&p, lp));
-        }
-        return *this;
-	}
-};
-
-
-template <>
-class CComPtr<IDispatch> : public CComPtrBase<IDispatch>
-{
-public:
-	CComPtr() throw()
-	{
-	}
-	CComPtr(IDispatch* lp) throw() :
-		CComPtrBase<IDispatch>(lp)
-	{
-	}
-	CComPtr(const CComPtr<IDispatch>& lp) throw() :
-		CComPtrBase<IDispatch>(lp.p)
-	{
-	}
-	IDispatch* operator=(IDispatch* lp) throw()
-	{
-        if(*this!=lp)
-        {
-            return static_cast<IDispatch*>(AtlComPtrAssign((IUnknown**)&p, lp));
-        }
-        return *this;
-	}
-	IDispatch* operator=(const CComPtr<IDispatch>& lp) throw()
-	{
-        if(*this!=lp)
-        {
-    		return static_cast<IDispatch*>(AtlComPtrAssign((IUnknown**)&p, lp.p));
-        }
-        return *this;
-	}
-
-
-	 HRESULT GetPropertyByName(     LPCOLESTR lpsz,      VARIANT* pVar) throw()
-	{
-		(void) ((!!((p))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 356, 0, L"p")) || (__debugbreak(), 0));
-		(void) ((!!((pVar))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 357, 0, L"pVar")) || (__debugbreak(), 0));
-		DISPID dwDispID;
-		HRESULT hr = GetIDOfName(lpsz, &dwDispID);
-		if (((HRESULT)(hr) >= 0))
-			hr = GetProperty(dwDispID, pVar);
-		return hr;
-	}
-	 HRESULT GetProperty(     DISPID dwDispID,      VARIANT* pVar) throw()
-	{
-		return GetProperty(p, dwDispID, pVar);
-	}
-	 HRESULT PutPropertyByName(     LPCOLESTR lpsz,      VARIANT* pVar) throw()
-	{
-		(void) ((!!((p))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 370, 0, L"p")) || (__debugbreak(), 0));
-		(void) ((!!((pVar))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 371, 0, L"pVar")) || (__debugbreak(), 0));
-		DISPID dwDispID;
-		HRESULT hr = GetIDOfName(lpsz, &dwDispID);
-		if (((HRESULT)(hr) >= 0))
-			hr = PutProperty(dwDispID, pVar);
-		return hr;
-	}
-	 HRESULT PutProperty(     DISPID dwDispID,      VARIANT* pVar) throw()
-	{
-		return PutProperty(p, dwDispID, pVar);
-	}
-	 HRESULT GetIDOfName(     LPCOLESTR lpsz,      DISPID* pdispid) throw()
-	{
-		return p->GetIDsOfNames(GUID_NULL, const_cast<LPOLESTR*>(&lpsz), 1, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), pdispid);
-	}
-	
-	 HRESULT Invoke0(     DISPID dispid,        VARIANT* pvarRet = 0) throw()
-	{
-		DISPPARAMS dispparams = { 0, 0, 0, 0};
-		return p->Invoke(dispid, GUID_NULL, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x1, &dispparams, pvarRet, 0, 0);
-	}
-	
-	 HRESULT Invoke0(     LPCOLESTR lpszName,        VARIANT* pvarRet = 0) throw()
-	{
-		HRESULT hr;
-		DISPID dispid;
-		hr = GetIDOfName(lpszName, &dispid);
-		if (((HRESULT)(hr) >= 0))
-			hr = Invoke0(dispid, pvarRet);
-		return hr;
-	}
-	
-	 HRESULT Invoke1(     DISPID dispid, VARIANT* pvarParam1,        VARIANT* pvarRet = 0) throw()
-	{
-		DISPPARAMS dispparams = { pvarParam1, 0, 1, 0};
-		return p->Invoke(dispid, GUID_NULL, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x1, &dispparams, pvarRet, 0, 0);
-	}
-	
-	 HRESULT Invoke1(     LPCOLESTR lpszName, VARIANT* pvarParam1,        VARIANT* pvarRet = 0) throw()
-	{
-		HRESULT hr;
-		DISPID dispid;
-		hr = GetIDOfName(lpszName, &dispid);
-		if (((HRESULT)(hr) >= 0))
-			hr = Invoke1(dispid, pvarParam1, pvarRet);
-		return hr;
-	}
-	
-	 HRESULT Invoke2(     DISPID dispid,      VARIANT* pvarParam1,      VARIANT* pvarParam2,        VARIANT* pvarRet = 0) throw();
-	
-	 HRESULT Invoke2(     LPCOLESTR lpszName,      VARIANT* pvarParam1,      VARIANT* pvarParam2,        VARIANT* pvarRet = 0) throw()
-	{
-		HRESULT hr;
-		DISPID dispid;
-		hr = GetIDOfName(lpszName, &dispid);
-		if (((HRESULT)(hr) >= 0))
-			hr = Invoke2(dispid, pvarParam1, pvarParam2, pvarRet);
-		return hr;
-	}
-	
-	 HRESULT InvokeN(DISPID dispid, VARIANT* pvarParams, int nParams, VARIANT* pvarRet = 0) throw()
-	{
-		DISPPARAMS dispparams = { pvarParams, 0, nParams, 0};
-		return p->Invoke(dispid, GUID_NULL, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x1, &dispparams, pvarRet, 0, 0);
-	}
-	
-	 HRESULT InvokeN(LPCOLESTR lpszName, VARIANT* pvarParams, int nParams, VARIANT* pvarRet = 0) throw()
-	{
-		HRESULT hr;
-		DISPID dispid;
-		hr = GetIDOfName(lpszName, &dispid);
-		if (((HRESULT)(hr) >= 0))
-			hr = InvokeN(dispid, pvarParams, nParams, pvarRet);
-		return hr;
-	}
-	static  HRESULT PutProperty(     IDispatch* p,      DISPID dwDispID,      VARIANT* pVar) throw()
-	{
-		(void) ((!!((p))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 448, 0, L"p")) || (__debugbreak(), 0));
-		(void) ((!!((pVar != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 449, 0, L"pVar != 0")) || (__debugbreak(), 0));
-		if (pVar == 0)
-			return ((HRESULT)0x80004003L);
-		
-		if(p == 0)
-			return ((HRESULT)0x80070057L);
-		
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 456)(atlTraceCOM, 2, L"CPropertyHelper::PutProperty\n");
-		DISPPARAMS dispparams = {0, 0, 1, 1};
-		dispparams.rgvarg = pVar;
-		DISPID dispidPut = ( -3 );
-		dispparams.rgdispidNamedArgs = &dispidPut;
-
-		if (pVar->vt == VT_UNKNOWN || pVar->vt == VT_DISPATCH || 
-			(pVar->vt & VT_ARRAY) || (pVar->vt & VT_BYREF))
-		{
-			HRESULT hr = p->Invoke(dwDispID, GUID_NULL,
-				(((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x8,
-				&dispparams, 0, 0, 0);
-			if (((HRESULT)(hr) >= 0))
-				return hr;
-		}
-		return p->Invoke(dwDispID, GUID_NULL,
-				(((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x4,
-				&dispparams, 0, 0, 0);
-	}
-	static  HRESULT GetProperty(     IDispatch* p,      DISPID dwDispID,      VARIANT* pVar) throw()
-	{
-		(void) ((!!((p))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 477, 0, L"p")) || (__debugbreak(), 0));
-		(void) ((!!((pVar != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 478, 0, L"pVar != 0")) || (__debugbreak(), 0));
-		if (pVar == 0)
-			return ((HRESULT)0x80004003L);
-		
-		if(p == 0)
-			return ((HRESULT)0x80070057L);
-			
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 485)(atlTraceCOM, 2, L"CPropertyHelper::GetProperty\n");
-		DISPPARAMS dispparamsNoArgs = {0, 0, 0, 0};
-		return p->Invoke(dwDispID, GUID_NULL,
-				(((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x2,
-				&dispparamsNoArgs, pVar, 0, 0);
-	}
-};
-
-template <class T, const IID* piid = &__uuidof(T)>
-class CComQIPtr : public CComPtr<T>
-{
-public:
-	CComQIPtr() throw()
-	{
-	}
-	CComQIPtr(       T* lp) throw() :
-		CComPtr<T>(lp)
-	{
-	}
-	CComQIPtr(     const CComQIPtr<T,piid>& lp) throw() :
-		CComPtr<T>(lp.p)
-	{
-	}
-	CComQIPtr(       IUnknown* lp) throw()
-	{
-		if (lp != 0)
-			lp->QueryInterface(*piid, (void **)&p);
-	}
-	T* operator=(       T* lp) throw()
-	{
-        if(*this!=lp)
-        {
-		    return static_cast<T*>(AtlComPtrAssign((IUnknown**)&p, lp));
-        }
-        return *this;
-	}
-	T* operator=(     const CComQIPtr<T,piid>& lp) throw()
-	{
-        if(*this!=lp)
-        {
-    		return static_cast<T*>(AtlComPtrAssign((IUnknown**)&p, lp.p));
-        }
-        return *this;
-	}
-	T* operator=(       IUnknown* lp) throw()
-	{
-        if(*this!=lp)
-        {
-    		return static_cast<T*>(AtlComQIPtrAssign((IUnknown**)&p, lp, *piid));
-        }
-        return *this;
-	}
-};
-
-
-template<>
-class CComQIPtr<IUnknown, &IID_IUnknown> : public CComPtr<IUnknown>
-{
-public:
-	CComQIPtr() throw()
-	{
-	}
-	CComQIPtr(       IUnknown* lp) throw()
-	{
-		
-		if (lp != 0)
-			lp->QueryInterface(__uuidof(IUnknown), (void **)&p);
-	}
-	CComQIPtr(     const CComQIPtr<IUnknown,&IID_IUnknown>& lp) throw() :
-		CComPtr<IUnknown>(lp.p)
-	{
-	}
-	IUnknown* operator=(       IUnknown* lp) throw()
-	{
-        if(*this!=lp)
-        {
-		    
-		    return AtlComQIPtrAssign((IUnknown**)&p, lp, __uuidof(IUnknown));
-        }
-        return *this;
-	}
-
-	IUnknown* operator=(     const CComQIPtr<IUnknown,&IID_IUnknown>& lp) throw()
-	{
-        if(*this!=lp)
-        {
-    		return AtlComPtrAssign((IUnknown**)&p, lp.p);
-        }
-        return *this;
-	}
-};
-
-typedef CComQIPtr<IDispatch, &__uuidof(IDispatch)> CComDispatchDriver;
-
-
-
-
-
-
-
-
-
-class CComBSTR
-{
-public:
-	BSTR m_str;
-
-	CComBSTR() throw()
-	{
-		m_str = 0;
-	}
-
-	CComBSTR(     int nSize)
-	{
-		if (nSize == 0)
-			m_str = 0;
-		else
-		{
-			m_str = ::SysAllocStringLen(0, nSize);
-			if (!*this)
-            {
-				ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-            }
-		}
-	}
-
-	CComBSTR(     int nSize,          LPCOLESTR sz)
-	{
-		if (nSize == 0)
-        {
-			m_str = 0;
-        }
-		else
-		{
-			m_str = ::SysAllocStringLen(sz, nSize);
-			if (!*this)
-            {
-				ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-            }
-		}
-	}
-
-	CComBSTR(       LPCOLESTR pSrc)
-	{
-		if (pSrc == 0)
-        {
-			m_str = 0;
-        }
-		else
-		{
-			m_str = ::SysAllocString(pSrc);
-			if (!*this)
-            {
-				ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-            }
-		}
-	}
-
-	CComBSTR(     const CComBSTR& src)
-	{
-		m_str = src.Copy();
-		if (!!src && !*this)
-        {
-			ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-        }
-	}
-
-	CComBSTR(     const GUID & guid)
-	{
-		OLECHAR szGUID[64];
-		::StringFromGUID2(guid, szGUID, 64);
-		m_str = ::SysAllocString(szGUID);
-		if (!*this)
-        {
-			ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-        }
-	}
-
-	CComBSTR& operator=(     const CComBSTR& src)
-	{
-		if (m_str != src.m_str)
-		{
-			::SysFreeString(m_str);
-			m_str = src.Copy();
-			if (!!src && !*this)
-            {
-				ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-            }
-		}
-		return *this;
-	}
-
-	CComBSTR& operator=(       LPCOLESTR pSrc)
-	{
-		if (pSrc != m_str)
-		{
-			::SysFreeString(m_str);
-			if (pSrc != 0)
-			{
-				m_str = ::SysAllocString(pSrc);
-				if (!*this)
-                {
-					ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-                }
-			}
-			else
-            {
-				m_str = 0;
-            }
-		}
-		return *this;
-	}
-
-	~CComBSTR() throw();
-
-	unsigned int Length() const throw()
-	{
-        return ::SysStringLen(m_str);
-	}
-
-	unsigned int ByteLength() const throw()
-	{
-        return ::SysStringByteLen(m_str);
-	}
-
-	operator BSTR() const throw()
-	{
-		return m_str;
-	}
-
-
-
-
-
-
-
-
-	BSTR* operator&() throw()
-	{
-
-
-
-
-
-
-
-
-
-		return &m_str;
-	}
-
-	BSTR Copy() const throw()
-	{
-		if (!*this)
-        {
-			return 0;
-        }
-		return ::SysAllocStringByteLen((char*)m_str, ::SysStringByteLen(m_str));
-	}
-
-	 HRESULT CopyTo(       BSTR* pbstr) const throw()
-	{
-		(void) ((!!((pbstr != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 747, 0, L"pbstr != 0")) || (__debugbreak(), 0));
-		if (pbstr == 0)
-        {
-			return ((HRESULT)0x80004003L);
-        }
-		*pbstr = Copy();
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "We are checking allocation semantics here")
-		if ((*pbstr == 0) && (m_str != 0))
-        {
-			return ((HRESULT)0x8007000EL);
-        }
-#pragma prefast(pop)
-#pragma warning(pop)
-		return ((HRESULT)0x00000000L);
-	}
-
-	
-	 HRESULT CopyTo(       VARIANT *pvarDest) const throw()
-	{
-		(void) ((!!((pvarDest != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 769, 0, L"pvarDest != 0")) || (__debugbreak(), 0));
-		HRESULT hRes = ((HRESULT)0x80004003L);
-		if (pvarDest != 0)
-		{
-			pvarDest->vt = VT_BSTR;
-			pvarDest->bstrVal = Copy();
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "We are checking allocation semantics here")
-			if (pvarDest->bstrVal == 0 && m_str != 0)
-            {
-				hRes = ((HRESULT)0x8007000EL);
-            }
-#pragma prefast(pop)
-#pragma warning(pop)
-			else
-            {
-				hRes = ((HRESULT)0x00000000L);
-            }
-		}
-		return hRes;
-	}
-
-	void Attach(       BSTR src) throw()
-	{
-		if (m_str != src)
-		{
-			::SysFreeString(m_str);
-			m_str = src;
-		}
-	}
-
-	BSTR Detach() throw()
-	{
-		BSTR s = m_str;
-		m_str = 0;
-		return s;
-	}
-
-	void Empty() throw()
-	{
-		::SysFreeString(m_str);
-		m_str = 0;
-	}
-
-	bool operator!() const throw()
-	{
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		return (m_str == 0);
-#pragma prefast(pop)
-#pragma warning(pop)
-	}
-
-	 HRESULT Append(     const CComBSTR& bstrSrc) throw()
-	{
-		return AppendBSTR(bstrSrc.m_str);
-	}
-
-	 HRESULT Append(       LPCOLESTR lpsz) throw()
-	{
-		return Append(lpsz, UINT(ocslen(lpsz)));
-	}
-
-	
-	
-	 HRESULT AppendBSTR(       BSTR p) throw()
-	{
-        if (::SysStringLen(p) == 0)
-        {
-			return ((HRESULT)0x00000000L);
-        }
-		BSTR bstrNew = 0;
-		HRESULT hr;
-		hr = VarBstrCat(m_str, p, &bstrNew);
-		if (((HRESULT)(hr) >= 0))
-		{
-			::SysFreeString(m_str);
-			m_str = bstrNew;
-		}
-		return hr;
-	}
-
-	 HRESULT Append(         LPCOLESTR lpsz,      int nLen) throw()
-	{
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		if (lpsz == 0 || (m_str != 0 && nLen == 0))
-#pragma prefast(pop)
-#pragma warning(pop)
-			return ((HRESULT)0x00000000L);
-		int n1 = Length();
-		if (n1+nLen < n1)
-			return ((HRESULT)0x8007000EL);
-		BSTR b;
-		b = ::SysAllocStringLen(0, n1+nLen);
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		if (b == 0)
-#pragma prefast(pop)
-#pragma warning(pop)
-			return ((HRESULT)0x8007000EL);
-		if(::SysStringLen(m_str) > 0)
-		{
-			Checked::memcpy_s(b, (n1+nLen)*sizeof(OLECHAR), m_str, n1*sizeof(OLECHAR));
-		}
-		Checked::memcpy_s(b+n1, nLen*sizeof(OLECHAR), lpsz, nLen*sizeof(OLECHAR));
-		b[n1+nLen] = 0;
-		SysFreeString(m_str);
-		m_str = b;
-		return ((HRESULT)0x00000000L);
-	}
-
-	 HRESULT Append(     char ch) throw()
-	{
-		OLECHAR chO = ch;
-
-		return( Append( &chO, 1 ) );
-	}
-
-	 HRESULT Append(     wchar_t ch) throw()
-	{
-		return( Append( &ch, 1 ) );
-	}
-
-	 HRESULT AppendBytes(         const char* lpsz,      int nLen) throw()
-	{
-		if (lpsz == 0 || nLen == 0)
-			return ((HRESULT)0x00000000L);
-		int n1 = ByteLength();
-		if (n1+nLen < n1)
-			return ((HRESULT)0x8007000EL);
-		BSTR b;
-		b = ::SysAllocStringByteLen(0, n1+nLen);
-		if (b == 0)
-        {
-			return ((HRESULT)0x8007000EL);
-        }
-		Checked::memcpy_s(b, n1+nLen, m_str, n1);
-		Checked::memcpy_s(((char*)b)+n1, nLen, lpsz, nLen);
-		*((OLECHAR*)(((char*)b)+n1+nLen)) = 0;
-		SysFreeString(m_str);
-		m_str = b;
-		return ((HRESULT)0x00000000L);
-	}
-
-	 HRESULT AssignBSTR(const BSTR bstrSrc) throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (m_str != bstrSrc)
-		{
-			::SysFreeString(m_str);
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-			if (bstrSrc != 0)
-#pragma prefast(pop)
-#pragma warning(pop)
-			{
-				m_str = ::SysAllocStringByteLen((char*)bstrSrc, ::SysStringByteLen(bstrSrc));
-				if (!*this)
-                {
-					hr = ((HRESULT)0x8007000EL);
-                }
-			}
-			else
-            {
-				m_str = 0;
-            }
-		}
-
-		return hr;
-	}
-
-	 HRESULT ToLower() throw()
-	{
-		if (::SysStringLen(m_str) > 0)
-		{
-
-			
-			CharLowerBuffW(m_str, Length());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-		}
-		return ((HRESULT)0x00000000L);
-	}
-	 HRESULT ToUpper() throw()
-	{
-		if (::SysStringLen(m_str) > 0)
-		{
-
-			
-			CharUpperBuffW(m_str, Length());
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-		}
-		return ((HRESULT)0x00000000L);
-	}
-
-	bool LoadStringW(     HINSTANCE hInst,      UINT nID) throw()
-	{
-		::SysFreeString(m_str);
-		m_str = 0;
-		return LoadStringResource(hInst, nID, m_str);
-	}
-
-	bool LoadStringW(     UINT nID) throw()
-	{
-		::SysFreeString(m_str);
-		m_str = 0;
-		return LoadStringResource(nID, m_str);
-	}
-
-	CComBSTR& operator+=(     const CComBSTR& bstrSrc)
-	{
-		HRESULT hr;
-		hr = AppendBSTR(bstrSrc.m_str);
-		if (((HRESULT)(hr) < 0))
-			ATL::AtlThrowImpl(hr);
-		return *this;
-	}
-
-	CComBSTR& operator+=(       LPCOLESTR pszSrc)
-	{
-		HRESULT hr;
-		hr = Append(pszSrc);
-		if (((HRESULT)(hr) < 0))
-			ATL::AtlThrowImpl(hr);
-		return *this;
-	}
-
-	bool operator<(const CComBSTR& bstrSrc) const throw()
-	{
-		return VarBstrCmp(m_str, bstrSrc.m_str, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0) == static_cast<HRESULT>(0);
-	}
-	bool operator<(LPCOLESTR pszSrc) const
-	{
-		CComBSTR bstr2(pszSrc);
-		return operator<(bstr2);
-	}
-	bool operator<(LPOLESTR pszSrc) const
-	{
-		return operator<((LPCOLESTR)pszSrc);
-	}
-
-	bool operator>(const CComBSTR& bstrSrc) const throw()
-	{
-		return VarBstrCmp(m_str, bstrSrc.m_str, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0) == static_cast<HRESULT>(2);
-	}
-	bool operator>(LPCOLESTR pszSrc) const
-	{
-		CComBSTR bstr2(pszSrc);
-		return operator>(bstr2);
-	}
-	bool operator>(LPOLESTR pszSrc) const
-	{
-		return operator>((LPCOLESTR)pszSrc);
-	}
-	
-	bool operator!=(const CComBSTR& bstrSrc) const throw()
-	{
-		return !operator==(bstrSrc);
-	}
-	bool operator!=(LPCOLESTR pszSrc) const
-	{
-		return !operator==(pszSrc);
-	}
-	bool operator!=(int nNull) const throw()
-	{
-		return !operator==(nNull);
-	}
-	bool operator!=(LPOLESTR pszSrc) const
-	{
-		return operator!=((LPCOLESTR)pszSrc);
-	}
-
-	bool operator==(const CComBSTR& bstrSrc) const throw()
-	{
-		return VarBstrCmp(m_str, bstrSrc.m_str, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0) == static_cast<HRESULT>(1);
-	}
-	bool operator==(LPCOLESTR pszSrc) const
-	{
-		CComBSTR bstr2(pszSrc);
-		return operator==(bstr2);
-	}
-	bool operator==(LPOLESTR pszSrc) const
-	{
-		return operator==((LPCOLESTR)pszSrc);
-	}
-	
-	bool operator==(int nNull) const throw()
-	{
-		(void) ((!!((nNull == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1153, 0, L"nNull == 0")) || (__debugbreak(), 0));
-		(void)nNull;
-		return (!*this);
-	}
-
-	CComBSTR(       LPCSTR pSrc)
-	{
-		if (pSrc != 0)
-		{
-			m_str = A2WBSTR(pSrc);
-			if (!*this)
-            {
-				ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-            }
-		}
-		else
-        {
-			m_str = 0;
-        }
-	}
-
-	CComBSTR(     int nSize,          LPCSTR sz)
-	{
-		if (nSize != 0 && sz == 0)
-		{
-			m_str = ::SysAllocStringLen(0, nSize);
-			if (!*this)
-            {
-				ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-            }
-			return;
-		}
-
-		m_str = A2WBSTR(sz, nSize);
-		if (!*this && nSize != 0)
-        {
-			ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-        }
-	}
-
-	 HRESULT Append(       LPCSTR lpsz) throw()
-	{
-		if (lpsz == 0)
-			return ((HRESULT)0x00000000L);
-
-		CComBSTR bstrTemp;
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{bstrTemp = lpsz;} catch(...) {} __pragma(warning(pop));
-		if (!bstrTemp)
-        {
-			return ((HRESULT)0x8007000EL);
-        }
-		return Append(bstrTemp);
-	}
-
-	CComBSTR& operator=(       LPCSTR pSrc)
-	{
-		::SysFreeString(m_str);
-		m_str = A2WBSTR(pSrc);
-		if (!*this && pSrc != 0)
-        {
-			ATL::AtlThrowImpl(((HRESULT)0x8007000EL));
-        }
-		return *this;
-	}
-
-	bool operator<(       LPCSTR pszSrc) const
-	{
-		CComBSTR bstr2(pszSrc);
-		return operator<(bstr2);
-	}
-	bool operator>(       LPCSTR pszSrc) const
-	{
-		CComBSTR bstr2(pszSrc);
-		return operator>(bstr2);
-	}
-	bool operator!=(       LPCSTR pszSrc) const
-	{
-		return !operator==(pszSrc);
-	}
-	bool operator==(       LPCSTR pszSrc) const
-	{
-		CComBSTR bstr2(pszSrc);
-		return operator==(bstr2);
-	}
-
-	 HRESULT WriteToStream(     IStream* pStream) throw()
-	{
-		(void) ((!!((pStream != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1240, 0, L"pStream != 0")) || (__debugbreak(), 0));
-		if(pStream == 0)
-			return ((HRESULT)0x80070057L);
-			
-		ULONG cb;
-		ULONG cbStrLen = CComBSTR::GetStreamSize(m_str) - sizeof(ULONG);
-		HRESULT hr = pStream->Write((void*) &cbStrLen, sizeof(cbStrLen), &cb);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		return cbStrLen ? pStream->Write((void*) m_str, cbStrLen, &cb) : ((HRESULT)0x00000000L);
-	}
-
-	 HRESULT ReadFromStream(     IStream* pStream) throw()
-	{
-		(void) ((!!((pStream != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1254, 0, L"pStream != 0")) || (__debugbreak(), 0));
-		if(pStream == 0)
-		{
-			return ((HRESULT)0x80070057L);
-		}
-			
-		(void) ((!!((!*this))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1260, 0, L"!*this")) || (__debugbreak(), 0)); 
-		Empty();
-		
-		HRESULT hrSeek;
-		ULARGE_INTEGER nBegOffset;
-		{
-			LARGE_INTEGER nZeroOffset;
-			nZeroOffset.QuadPart = 0L;
-			hrSeek = pStream->Seek(nZeroOffset, STREAM_SEEK_CUR, &nBegOffset);
-		}
-		ULONG cbRead = 0;
-		ULONG cbStrLen = 0;
-		HRESULT hr = pStream->Read(reinterpret_cast<void*>(&cbStrLen), sizeof(cbStrLen), &cbRead);
-		if (((HRESULT)(hr) >= 0))
-		{
-			
-			if (sizeof(cbStrLen) != cbRead)
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1278)(atlTraceCOM, 0, L"Input stream is corrupted.");
-				hr = ((HRESULT)0x80004005L);
-			}
-			
-			else if (cbStrLen == 0)
-			{				
-			}
-			
-			else if (cbStrLen < sizeof(OLECHAR))
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1288)(atlTraceCOM, 0, L"Input stream is corrupted.");
-				hr = ((HRESULT)0x80004005L);
-			}
-			
-			else if (cbStrLen > 0x100000)
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1294)(atlTraceCOM, 0, L"String exceeded the maximum allowed size see _ATL_STREAM_MAX_SIZE.");
-				hr = ((HRESULT)0x80070005L);
-			}
-			else 
-			{
-				
-				cbStrLen -= sizeof(OLECHAR);
-				m_str = ::SysAllocStringByteLen(0, cbStrLen);
-				if (!*this)
-				{
-					hr = ((HRESULT)0x8007000EL);
-				}
-				else
-				{
-					hr = pStream->Read(reinterpret_cast<void*>(m_str), cbStrLen, &cbRead);
-
-					if (((HRESULT)(hr) >= 0))
-					{
-						if (cbRead != cbStrLen)
-						{
-							ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1314)(atlTraceCOM, 0, L"Length of string data is different than expected.");
-							hr = ((HRESULT)0x80004005L);
-						}
-						else
-						{
-							OLECHAR ch;
-							hr = pStream->Read(reinterpret_cast<void*>(&ch), sizeof(OLECHAR), &cbRead);	
-
-							if (((HRESULT)(hr) >= 0))
-							{								
-								if (cbRead != sizeof(OLECHAR)) 
-								{
-									ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1326)(atlTraceCOM, 0, L"Cannot read NULL terminator from stream.");
-									hr = ((HRESULT)0x80004005L); 									
-								}
-								else
-								{
-									
-									(void) ((!!((ch == L'\0'))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1332, 0, L"ch == L'\\0'")) || (__debugbreak(), 0));
-								}
-							}
-						}
-					}			
-						
-					if (((HRESULT)(hr) < 0))
-					{
-						::SysFreeString(m_str);
-						m_str = 0;
-					}
-				}
-			}
-		}
-		
-		
-		if (((HRESULT)(hr) < 0) && ((HRESULT)(hrSeek) >= 0))
-		{
-			LARGE_INTEGER nOffset;
-			nOffset.QuadPart = static_cast<LONGLONG>(nBegOffset.QuadPart);
-			pStream->Seek(nOffset, STREAM_SEEK_SET, 0);				
-		}
-
-		return hr;
-	}
-
-	static bool LoadStringResource(     HINSTANCE hInstance,      UINT uID,                   BSTR& bstrText) throw()
-	{
-		const ATLSTRINGRESOURCEIMAGE* pImage;
-
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		(void) ((!!((bstrText == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1366, 0, L"bstrText == 0")) || (__debugbreak(), 0));
-#pragma prefast(pop)
-#pragma warning(pop)
-
-		pImage = AtlGetStringResourceImage(hInstance, uID);
-		if (pImage != 0)
-		{
-			bstrText = ::SysAllocStringLen(pImage->achString, pImage->nLength);
-		}
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		return (bstrText != 0) ? true : false;
-#pragma prefast(pop)
-#pragma warning(pop)
-	}
-
-	static bool LoadStringResource(     UINT uID,                   BSTR& bstrText) throw()
-	{
-		const ATLSTRINGRESOURCEIMAGE* pImage;
-
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		(void) ((!!((bstrText == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1392, 0, L"bstrText == 0")) || (__debugbreak(), 0));
-#pragma prefast(pop)
-#pragma warning(pop)
-
-		pImage = AtlGetStringResourceImage(uID);
-		if (pImage != 0)
-		{
-			bstrText = ::SysAllocStringLen(pImage->achString, pImage->nLength);
-		}
-
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		return (bstrText != 0) ? true : false;
-#pragma prefast(pop)
-#pragma warning(pop)
-	}
-
-	
-	 HRESULT BSTRToArray(              LPSAFEARRAY *ppArray) throw()
-	{
-		return VectorFromBstr(m_str, ppArray);
-	}
-
-	
-	 HRESULT ArrayToBSTR(     const SAFEARRAY *pSrc) throw()
-	{
-		::SysFreeString(m_str);
-		return BstrFromVector((LPSAFEARRAY)pSrc, &m_str);
-	}
-	static ULONG GetStreamSize(BSTR bstr)
-	{
-		ULONG ulSize=sizeof(ULONG);
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-		if (bstr != 0)
-#pragma prefast(pop)
-#pragma warning(pop)
-		{
-			ulSize += SysStringByteLen(bstr) + sizeof(OLECHAR);
-		}
-		return ulSize;
-	}
-};
-
-inline CComBSTR::~CComBSTR() throw()
-	{
-		::SysFreeString(m_str);
-	}
-
-inline void SysFreeStringHelper(     CComBSTR& bstr)
-{
-	bstr.Empty();
-}
-
-inline void SysFreeStringHelper(BSTR bstr)
-{
-	::SysFreeString(bstr);	
-}
-
-inline  HRESULT SysAllocStringHelper(       CComBSTR& bstrDest,BSTR bstrSrc)
-{
-	bstrDest=bstrSrc;
-	return !bstrDest ? ((HRESULT)0x8007000EL) : ((HRESULT)0x00000000L);
-}
-
-inline  HRESULT SysAllocStringHelper(       BSTR& bstrDest,BSTR bstrSrc)
-{
-	bstrDest=::SysAllocString(bstrSrc);
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "The semantics of this function are about allocation, not content")
-	return bstrDest==0 ? ((HRESULT)0x8007000EL) : ((HRESULT)0x00000000L);
-#pragma prefast(pop)
-#pragma warning(pop)
-}
-
-
-
-
-
-
-template <class T>
-class CAdapt
-{
-public:
-	CAdapt()
-	{
-	}
-	CAdapt(     const T& rSrc) :
-		m_T( rSrc )
-	{
-	}
-
-	CAdapt(     const CAdapt& rSrCA) :
-		m_T( rSrCA.m_T )
-	{
-	}
-
-	CAdapt& operator=(     const T& rSrc)
-	{
-		m_T = rSrc;
-		return *this;
-	}
-	bool operator<(     const T& rSrc) const
-	{
-		return m_T < rSrc;
-	}
-	bool operator==(     const T& rSrc) const
-	{
-		return m_T == rSrc;
-	}
-	operator T&()
-	{
-		return m_T;
-	}
-
-	operator const T&() const
-	{
-		return m_T;
-	}
-
-	T m_T;
-};
-
-
-
-
-
-
-
-
-template< typename T > 
-class CVarTypeInfo
-{
-
-
-};
-
-template<>
-class CVarTypeInfo< char >
-{
-public:
-	static const VARTYPE VT = VT_I1;
-	static char VARIANT::* const pmField;
-};
-
-__declspec( selectany ) char VARIANT::* const CVarTypeInfo< char >::pmField = &VARIANT::cVal;
-
-template<>
-class CVarTypeInfo< unsigned char >
-{
-public:
-	static const VARTYPE VT = VT_UI1;
-	static unsigned char VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned char VARIANT::* const CVarTypeInfo< unsigned char >::pmField = &VARIANT::bVal;
-
-template<>
-class CVarTypeInfo< char* >
-{
-public:
-	static const VARTYPE VT = VT_I1|VT_BYREF;
-	static char* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) char* VARIANT::* const CVarTypeInfo< char* >::pmField = &VARIANT::pcVal;
-
-template<>
-class CVarTypeInfo< unsigned char* >
-{
-public:
-	static const VARTYPE VT = VT_UI1|VT_BYREF;
-	static unsigned char* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned char* VARIANT::* const CVarTypeInfo< unsigned char* >::pmField = &VARIANT::pbVal;
-
-template<>
-class CVarTypeInfo< short >
-{
-public:
-	static const VARTYPE VT = VT_I2;
-	static short VARIANT::* const pmField;
-};
-
-__declspec( selectany ) short VARIANT::* const CVarTypeInfo< short >::pmField = &VARIANT::iVal;
-
-template<>
-class CVarTypeInfo< short* >
-{
-public:
-	static const VARTYPE VT = VT_I2|VT_BYREF;
-	static short* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) short* VARIANT::* const CVarTypeInfo< short* >::pmField = &VARIANT::piVal;
-
-template<>
-class CVarTypeInfo< unsigned short >
-{
-public:
-	static const VARTYPE VT = VT_UI2;
-	static unsigned short VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned short VARIANT::* const CVarTypeInfo< unsigned short >::pmField = &VARIANT::uiVal;
-
-
-template<>
-class CVarTypeInfo< unsigned short* >
-{
-public:
-	static const VARTYPE VT = VT_UI2|VT_BYREF;
-	static unsigned short* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned short* VARIANT::* const CVarTypeInfo< unsigned short* >::pmField = &VARIANT::puiVal;
-
-
-template<>
-class CVarTypeInfo< int >
-{
-public:
-	static const VARTYPE VT = VT_I4;
-	static int VARIANT::* const pmField;
-};
-
-__declspec( selectany ) int VARIANT::* const CVarTypeInfo< int >::pmField = &VARIANT::intVal;
-
-template<>
-class CVarTypeInfo< int* >
-{
-public:
-	static const VARTYPE VT = VT_I4|VT_BYREF;
-	static int* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) int* VARIANT::* const CVarTypeInfo< int* >::pmField = &VARIANT::pintVal;
-
-template<>
-class CVarTypeInfo< unsigned int >
-{
-public:
-	static const VARTYPE VT = VT_UI4;
-	static unsigned int VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned int VARIANT::* const CVarTypeInfo< unsigned int >::pmField = &VARIANT::uintVal;
-
-template<>
-class CVarTypeInfo< unsigned int* >
-{
-public:
-	static const VARTYPE VT = VT_UI4|VT_BYREF;
-	static unsigned int* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned int* VARIANT::* const CVarTypeInfo< unsigned int* >::pmField = &VARIANT::puintVal;
-
-template<>
-class CVarTypeInfo< long >
-{
-public:
-	static const VARTYPE VT = VT_I4;
-	static long VARIANT::* const pmField;
-};
-
-__declspec( selectany ) long VARIANT::* const CVarTypeInfo< long >::pmField = &VARIANT::lVal;
-
-template<>
-class CVarTypeInfo< long* >
-{
-public:
-	static const VARTYPE VT = VT_I4|VT_BYREF;
-	static long* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) long* VARIANT::* const CVarTypeInfo< long* >::pmField = &VARIANT::plVal;
-
-template<>
-class CVarTypeInfo< unsigned long >
-{
-public:
-	static const VARTYPE VT = VT_UI4;
-	static unsigned long VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned long VARIANT::* const CVarTypeInfo< unsigned long >::pmField = &VARIANT::ulVal;
-
-template<>
-class CVarTypeInfo< unsigned long* >
-{
-public:
-	static const VARTYPE VT = VT_UI4|VT_BYREF;
-	static unsigned long* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned long* VARIANT::* const CVarTypeInfo< unsigned long* >::pmField = &VARIANT::pulVal;
-
-template<>
-class CVarTypeInfo< __int64 >
-{
-public:
-	static const VARTYPE VT = VT_I8;
-	static __int64 VARIANT::* const pmField;
-};
-
-__declspec( selectany ) __int64 VARIANT::* const CVarTypeInfo< __int64 >::pmField = &VARIANT::llVal;
-
-template<>
-class CVarTypeInfo< __int64* >
-{
-public:
-	static const VARTYPE VT = VT_I8|VT_BYREF;
-	static __int64* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) __int64* VARIANT::* const CVarTypeInfo< __int64* >::pmField = &VARIANT::pllVal;
-
-template<>
-class CVarTypeInfo< unsigned __int64 >
-{
-public:
-	static const VARTYPE VT = VT_UI8;
-	static unsigned __int64 VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned __int64 VARIANT::* const CVarTypeInfo< unsigned __int64 >::pmField = &VARIANT::ullVal;
-
-template<>
-class CVarTypeInfo< unsigned __int64* >
-{
-public:
-	static const VARTYPE VT = VT_UI8|VT_BYREF;
-	static unsigned __int64* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) unsigned __int64* VARIANT::* const CVarTypeInfo< unsigned __int64* >::pmField = &VARIANT::pullVal;
-
-template<>
-class CVarTypeInfo< float >
-{
-public:
-	static const VARTYPE VT = VT_R4;
-	static float VARIANT::* const pmField;
-};
-
-__declspec( selectany ) float VARIANT::* const CVarTypeInfo< float >::pmField = &VARIANT::fltVal;
-
-template<>
-class CVarTypeInfo< float* >
-{
-public:
-	static const VARTYPE VT = VT_R4|VT_BYREF;
-	static float* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) float* VARIANT::* const CVarTypeInfo< float* >::pmField = &VARIANT::pfltVal;
-
-template<>
-class CVarTypeInfo< double >
-{
-public:
-	static const VARTYPE VT = VT_R8;
-	static double VARIANT::* const pmField;
-};
-
-__declspec( selectany ) double VARIANT::* const CVarTypeInfo< double >::pmField = &VARIANT::dblVal;
-
-template<>
-class CVarTypeInfo< double* >
-{
-public:
-	static const VARTYPE VT = VT_R8|VT_BYREF;
-	static double* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) double* VARIANT::* const CVarTypeInfo< double* >::pmField = &VARIANT::pdblVal;
-
-template<>
-class CVarTypeInfo< VARIANT >
-{
-public:
-	static const VARTYPE VT = VT_VARIANT;
-};
-
-template<>
-class CVarTypeInfo< BSTR >
-{
-public:
-	static const VARTYPE VT = VT_BSTR;
-	static BSTR VARIANT::* const pmField;
-};
-
-__declspec( selectany ) BSTR VARIANT::* const CVarTypeInfo< BSTR >::pmField = &VARIANT::bstrVal;
-
-template<>
-class CVarTypeInfo< BSTR* >
-{
-public:
-	static const VARTYPE VT = VT_BSTR|VT_BYREF;
-	static BSTR* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) BSTR* VARIANT::* const CVarTypeInfo< BSTR* >::pmField = &VARIANT::pbstrVal;
-
-template<>
-class CVarTypeInfo< IUnknown* >
-{
-public:
-	static const VARTYPE VT = VT_UNKNOWN;
-	static IUnknown* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) IUnknown* VARIANT::* const CVarTypeInfo< IUnknown* >::pmField = &VARIANT::punkVal;
-
-template<>
-class CVarTypeInfo< IUnknown** >
-{
-public:
-	static const VARTYPE VT = VT_UNKNOWN|VT_BYREF;
-	static IUnknown** VARIANT::* const pmField;
-};
-
-__declspec( selectany ) IUnknown** VARIANT::* const CVarTypeInfo< IUnknown** >::pmField = &VARIANT::ppunkVal;
-
-template<>
-class CVarTypeInfo< IDispatch* >
-{
-public:
-	static const VARTYPE VT = VT_DISPATCH;
-	static IDispatch* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) IDispatch* VARIANT::* const CVarTypeInfo< IDispatch* >::pmField = &VARIANT::pdispVal;
-
-template<>
-class CVarTypeInfo< IDispatch** >
-{
-public:
-	static const VARTYPE VT = VT_DISPATCH|VT_BYREF;
-	static IDispatch** VARIANT::* const pmField;
-};
-
-__declspec( selectany ) IDispatch** VARIANT::* const CVarTypeInfo< IDispatch** >::pmField = &VARIANT::ppdispVal;
-
-template<>
-class CVarTypeInfo< CY >
-{
-public:
-	static const VARTYPE VT = VT_CY;
-	static CY VARIANT::* const pmField;
-};
-
-__declspec( selectany ) CY VARIANT::* const CVarTypeInfo< CY >::pmField = &VARIANT::cyVal;
-
-template<>
-class CVarTypeInfo< CY* >
-{
-public:
-	static const VARTYPE VT = VT_CY|VT_BYREF;
-	static CY* VARIANT::* const pmField;
-};
-
-__declspec( selectany ) CY* VARIANT::* const CVarTypeInfo< CY* >::pmField = &VARIANT::pcyVal;
-
-class CComVariant : public tagVARIANT
-{
-
-public:
-	CComVariant() throw()
-	{
-		::VariantInit(this);
-	}
-	~CComVariant() throw()
-	{
-		Clear();
-	}
-
-	CComVariant(     const VARIANT& varSrc)
-	{
-		vt = VT_EMPTY;
-		InternalCopy(&varSrc);
-	}
-
-	CComVariant(     const CComVariant& varSrc)
-	{
-		vt = VT_EMPTY;
-		InternalCopy(&varSrc);
-	}
-	CComVariant(     LPCOLESTR lpszSrc)
-	{
-		vt = VT_EMPTY;
-		*this = lpszSrc;
-	}
-
-	CComVariant(     LPCSTR lpszSrc)
-	{
-		vt = VT_EMPTY;
-		*this = lpszSrc;
-	}
-
-	CComVariant(     bool bSrc)
-	{
-		vt = VT_BOOL;
-		boolVal = bSrc ? VARIANT_BOOL( -1 ) : VARIANT_BOOL( 0 );
-	}
-
-	CComVariant(     int nSrc,      VARTYPE vtSrc = VT_I4) throw()
-	{
-		(void) ((!!((vtSrc == VT_I4 || vtSrc == VT_INT))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1908, 0, L"vtSrc == VT_I4 || vtSrc == VT_INT")) || (__debugbreak(), 0));
-		vt = vtSrc;
-		intVal = nSrc;
-	}
-	CComVariant(     BYTE nSrc) throw()
-	{
-		vt = VT_UI1;
-		bVal = nSrc;
-	}
-	CComVariant(     short nSrc) throw()
-	{
-		vt = VT_I2;
-		iVal = nSrc;
-	}
-	CComVariant(     long nSrc,      VARTYPE vtSrc = VT_I4) throw()
-	{
-		(void) ((!!((vtSrc == VT_I4 || vtSrc == VT_ERROR))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1924, 0, L"vtSrc == VT_I4 || vtSrc == VT_ERROR")) || (__debugbreak(), 0));
-		vt = vtSrc;
-		lVal = nSrc;
-	}
-	CComVariant(     float fltSrc) throw()
-	{
-		vt = VT_R4;
-		fltVal = fltSrc;
-	}
-	CComVariant(     double dblSrc,      VARTYPE vtSrc = VT_R8) throw()
-	{
-		(void) ((!!((vtSrc == VT_R8 || vtSrc == VT_DATE))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1935, 0, L"vtSrc == VT_R8 || vtSrc == VT_DATE")) || (__debugbreak(), 0));
-		vt = vtSrc;
-		dblVal = dblSrc;
-	}
-
-	CComVariant(     LONGLONG nSrc) throw()
-	{
-		vt = VT_I8;
-		llVal = nSrc;
-	}
-	CComVariant(     ULONGLONG nSrc) throw()
-	{
-		vt = VT_UI8;
-		ullVal = nSrc;
-	}
-
-	CComVariant(CY      cySrc) throw()
-	{
-		vt = VT_CY;
-		cyVal.Hi = cySrc.Hi;
-		cyVal.Lo = cySrc.Lo;
-	}
-	CComVariant(       IDispatch* pSrc) throw()
-	{
-		vt = VT_DISPATCH;
-		pdispVal = pSrc;
-		
-		if (pdispVal != 0)
-			pdispVal->AddRef();
-	}
-	CComVariant(       IUnknown* pSrc) throw()
-	{
-		vt = VT_UNKNOWN;
-		punkVal = pSrc;
-		
-		if (punkVal != 0)
-			punkVal->AddRef();
-	}
-	CComVariant(     char cSrc) throw()
-	{
-		vt = VT_I1;
-		cVal = cSrc;
-	}
-	CComVariant(     unsigned short nSrc) throw()
-	{
-		vt = VT_UI2;
-		uiVal = nSrc;
-	}
-	CComVariant(     unsigned long nSrc) throw()
-	{
-		vt = VT_UI4;
-		ulVal = nSrc;
-	}
-	CComVariant(     unsigned int nSrc,      VARTYPE vtSrc = VT_UI4) throw()
-	{
-		(void) ((!!((vtSrc == VT_UI4 || vtSrc == VT_UINT))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 1990, 0, L"vtSrc == VT_UI4 || vtSrc == VT_UINT")) || (__debugbreak(), 0));
-		vt = vtSrc;
-		uintVal= nSrc;
-	}
-	CComVariant(     const CComBSTR& bstrSrc)
-	{
-		vt = VT_EMPTY;
-		*this = bstrSrc;
-	}
-	CComVariant(       const SAFEARRAY *pSrc)
-	{
-		LPSAFEARRAY pCopy;
-		if (pSrc != 0)
-		{
-			HRESULT hRes = ::SafeArrayCopy((LPSAFEARRAY)pSrc, &pCopy);
-			if (((HRESULT)(hRes) >= 0) && pCopy != 0)
-			{
-                ::ATL::AtlSafeArrayGetActualVartype((LPSAFEARRAY)pSrc, &vt);
-				vt |= VT_ARRAY;
-				parray = pCopy;
-			}
-			else
-			{
-				vt = VT_ERROR;
-				scode = hRes;
-
-				do { int __atl_condVal=!!(0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2016, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x8007000EL)); } while (0);
-
-			}
-		}
-		else
-		{
-			vt = VT_EMPTY;
-		}
-	}
-
-public:
-	CComVariant& operator=(     const CComVariant& varSrc)
-	{
-        if(this!=&varSrc)
-        {
-		    InternalCopy(&varSrc);
-        }
-		return *this;
-	}
-	CComVariant& operator=(     const VARIANT& varSrc)
-	{
-        if(static_cast<VARIANT *>(this)!=&varSrc)
-        {
-		    InternalCopy(&varSrc);
-        }
-		return *this;
-	}
-
-	CComVariant& operator=(     const CComBSTR& bstrSrc)
-	{
-		Clear();
-		vt = VT_BSTR;
-		bstrVal = bstrSrc.Copy();
-#pragma warning(push)
-#pragma warning(disable:4068)
-#pragma prefast(push)
-#pragma prefast(disable:325, "We are checking allocation semantics here")
-		if (bstrVal == 0 && bstrSrc.m_str != 0)
-		{
-			vt = VT_ERROR;
-			scode = ((HRESULT)0x8007000EL);
-
-			do { int __atl_condVal=!!(0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2058, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x8007000EL)); } while (0);
-
-		}
-#pragma prefast(pop)
-#pragma warning(pop)
-		return *this;
-	}
-
-	CComVariant& operator=(     LPCOLESTR lpszSrc)
-	{
-		Clear();
-		vt = VT_BSTR;
-		bstrVal = ::SysAllocString(lpszSrc);
-
-		if (bstrVal == 0 && lpszSrc != 0)
-		{
-			vt = VT_ERROR;
-			scode = ((HRESULT)0x8007000EL);
-
-			do { int __atl_condVal=!!(0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2077, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x8007000EL)); } while (0);
-
-
-		}
-		return *this;
-	}
-
-	CComVariant& operator=(     LPCSTR lpszSrc)
-	{
-		int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-		Clear();
-		vt = VT_BSTR;
-		bstrVal = ::SysAllocString(((LPCWSTR)( ((_lpa_ex = lpszSrc) == 0) ? 0 : ( _convert_ex = (lstrlenA(_lpa_ex)+1), ((HRESULT)(::ATL::AtlMultiply(&_convert_ex, _convert_ex, static_cast<int>(sizeof(WCHAR)))) < 0) ? 0 : AtlA2WHelper( (LPWSTR)__pragma(warning(push)) __pragma(warning(disable:4616)) __pragma(warning(disable:6255)) ((_convert_ex <= 1024 && ATL::_ATL_SAFE_ALLOCA_IMPL::_AtlVerifyStackAvailable(_convert_ex) ) ? _alloca(_convert_ex) : _AtlSafeAllocaManager.Allocate(_convert_ex)) __pragma(warning(pop)), _lpa_ex, _convert_ex / sizeof(WCHAR), _acp_ex)))));
-
-		if (bstrVal == 0 && lpszSrc != 0)
-		{
-			vt = VT_ERROR;
-			scode = ((HRESULT)0x8007000EL);
-
-			do { int __atl_condVal=!!(0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2096, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x8007000EL)); } while (0);
-
-		}
-		return *this;
-	}
-
-	CComVariant& operator=(     bool bSrc)
-	{
-		if (vt != VT_BOOL)
-		{
-			Clear();
-			vt = VT_BOOL;
-		}
-		boolVal = bSrc ? VARIANT_BOOL( -1 ) : VARIANT_BOOL( 0 );
-		return *this;
-	}
-
-	CComVariant& operator=(     int nSrc) throw()
-	{
-		if (vt != VT_I4)
-		{
-			Clear();
-			vt = VT_I4;
-		}
-		intVal = nSrc;
-
-		return *this;
-	}
-
-	CComVariant& operator=(     BYTE nSrc) throw()
-	{
-		if (vt != VT_UI1)
-		{
-			Clear();
-			vt = VT_UI1;
-		}
-		bVal = nSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     short nSrc) throw()
-	{
-		if (vt != VT_I2)
-		{
-			Clear();
-			vt = VT_I2;
-		}
-		iVal = nSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     long nSrc) throw()
-	{
-		if (vt != VT_I4)
-		{
-			Clear();
-			vt = VT_I4;
-		}
-		lVal = nSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     float fltSrc) throw()
-	{
-		if (vt != VT_R4)
-		{
-			Clear();
-			vt = VT_R4;
-		}
-		fltVal = fltSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     double dblSrc) throw()
-	{
-		if (vt != VT_R8)
-		{
-			Clear();
-			vt = VT_R8;
-		}
-		dblVal = dblSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     CY cySrc) throw()
-	{
-		if (vt != VT_CY)
-		{
-			Clear();
-			vt = VT_CY;
-		}
-		cyVal.Hi = cySrc.Hi;
-		cyVal.Lo = cySrc.Lo;
-		return *this;
-	}
-
-	CComVariant& operator=(       IDispatch* pSrc) throw()
-	{
-		Clear();
-		vt = VT_DISPATCH;
-		pdispVal = pSrc;
-		
-		if (pdispVal != 0)
-			pdispVal->AddRef();
-		return *this;
-	}
-
-	CComVariant& operator=(       IUnknown* pSrc) throw()
-	{
-		Clear();
-		vt = VT_UNKNOWN;
-		punkVal = pSrc;
-
-		
-		if (punkVal != 0)
-			punkVal->AddRef();
-		return *this;
-	}
-
-	CComVariant& operator=(     char cSrc) throw()
-	{
-		if (vt != VT_I1)
-		{
-			Clear();
-			vt = VT_I1;
-		}
-		cVal = cSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     unsigned short nSrc) throw()
-	{
-		if (vt != VT_UI2)
-		{
-			Clear();
-			vt = VT_UI2;
-		}
-		uiVal = nSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     unsigned long nSrc) throw()
-	{
-		if (vt != VT_UI4)
-		{
-			Clear();
-			vt = VT_UI4;
-		}
-		ulVal = nSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     unsigned int nSrc) throw()
-	{
-		if (vt != VT_UI4)
-		{
-			Clear();
-			vt = VT_UI4;
-		}
-		uintVal= nSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       BYTE* pbSrc) throw()
-	{
-		if (vt != (VT_UI1|VT_BYREF))
-		{
-			Clear();
-			vt = VT_UI1|VT_BYREF;
-		}
-		pbVal = pbSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       short* pnSrc) throw()
-	{
-		if (vt != (VT_I2|VT_BYREF))
-		{
-			Clear();
-			vt = VT_I2|VT_BYREF;
-		}
-		piVal = pnSrc;
-		return *this;
-	}
-
-
-	CComVariant& operator=(       USHORT* pnSrc) throw()
-	{
-		if (vt != (VT_UI2|VT_BYREF))
-		{
-			Clear();
-			vt = VT_UI2|VT_BYREF;
-		}
-		puiVal = pnSrc;
-		return *this;
-	}
-
-
-	CComVariant& operator=(       int* pnSrc) throw()
-	{
-		if (vt != (VT_I4|VT_BYREF))
-		{
-			Clear();
-			vt = VT_I4|VT_BYREF;
-		}
-		pintVal = pnSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       UINT* pnSrc) throw()
-	{
-		if (vt != (VT_UI4|VT_BYREF))
-		{
-			Clear();
-			vt = VT_UI4|VT_BYREF;
-		}
-		puintVal = pnSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       long* pnSrc) throw()
-	{
-		if (vt != (VT_I4|VT_BYREF))
-		{
-			Clear();
-			vt = VT_I4|VT_BYREF;
-		}
-		plVal = pnSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       ULONG* pnSrc) throw()
-	{
-		if (vt != (VT_UI4|VT_BYREF))
-		{
-			Clear();
-			vt = VT_UI4|VT_BYREF;
-		}
-		pulVal = pnSrc;
-		return *this;
-	}
-
-
-	CComVariant& operator=(     LONGLONG nSrc) throw()
-	{
-		if (vt != VT_I8)
-		{
-			Clear();
-			vt = VT_I8;
-		}
-		llVal = nSrc;
-
-		return *this;
-	}
-
-	CComVariant& operator=(       LONGLONG* pnSrc) throw()
-	{
-		if (vt != (VT_I8|VT_BYREF))
-		{
-			Clear();
-			vt = VT_I8|VT_BYREF;
-		}
-		pllVal = pnSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(     ULONGLONG nSrc) throw()
-	{
-		if (vt != VT_UI8)
-		{
-			Clear();
-			vt = VT_UI8;
-		}
-		ullVal = nSrc;
-
-		return *this;
-	}
-
-	CComVariant& operator=(       ULONGLONG* pnSrc) throw()
-	{
-		if (vt != (VT_UI8|VT_BYREF))
-		{
-			Clear();
-			vt = VT_UI8|VT_BYREF;
-		}
-		pullVal = pnSrc;
-		return *this;
-	}
-
-
-	CComVariant& operator=(       float* pfSrc) throw()
-	{
-		if (vt != (VT_R4|VT_BYREF))
-		{
-			Clear();
-			vt = VT_R4|VT_BYREF;
-		}
-		pfltVal = pfSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       double* pfSrc) throw()
-	{
-		if (vt != (VT_R8|VT_BYREF))
-		{
-			Clear();
-			vt = VT_R8|VT_BYREF;
-		}
-		pdblVal = pfSrc;
-		return *this;
-	}
-
-	CComVariant& operator=(       const SAFEARRAY *pSrc)
-	{
-		Clear();
-		LPSAFEARRAY pCopy;
-		if (pSrc != 0)
-		{
-			HRESULT hRes = ::SafeArrayCopy((LPSAFEARRAY)pSrc, &pCopy);
-			if (((HRESULT)(hRes) >= 0) && pCopy != 0)
-			{
-				::ATL::AtlSafeArrayGetActualVartype((LPSAFEARRAY)pSrc, &vt);
-				vt |= VT_ARRAY;
-				parray = pCopy;
-			}
-			else
-			{
-				vt = VT_ERROR;
-				scode = hRes;
-
-			do { int __atl_condVal=!!(0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2426, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x8007000EL)); } while (0);
-
-			}
-		}
-		return *this;
-	}
-
-
-public:
-	bool operator==(     const VARIANT& varSrc) const throw()
-	{
-		
-		if (vt == VT_NULL && varSrc.vt == VT_NULL)
-		{
-			return true;
-		}
-		
-		if (vt != varSrc.vt)
-		{
-			return false;
-		}
-		return VarCmp((VARIANT*)this, (VARIANT*)&varSrc, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0) == static_cast<HRESULT>(1);
-	}
-
-	bool operator!=(     const VARIANT& varSrc) const throw()
-	{
-		return !operator==(varSrc);
-	}
-
-	bool operator<(     const VARIANT& varSrc) const throw()
-	{
-		if (vt == VT_NULL && varSrc.vt == VT_NULL)
-			return false;
-		return VarCmp((VARIANT*)this, (VARIANT*)&varSrc, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0)== static_cast<HRESULT>(0);
-	}
-
-	bool operator>(     const VARIANT& varSrc) const throw()
-	{
-		if (vt == VT_NULL && varSrc.vt == VT_NULL)
-			return false;
-		return VarCmp((VARIANT*)this, (VARIANT*)&varSrc, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0)== static_cast<HRESULT>(2);
-	}
-
-
-public:
-	HRESULT Clear() { return ::VariantClear(this); }
-	HRESULT ClearToZero() 
-	{
-		HRESULT hr = ::VariantClear(this); 
-		if( ((HRESULT)(hr) < 0) )
-		{
-			return hr;
-		}
-		memset(this ,0 ,sizeof(tagVARIANT));
-		vt = VT_EMPTY;
-		return hr;
-	}
-	HRESULT Copy(     const VARIANT* pSrc) { return ::VariantCopy(this, const_cast<VARIANT*>(pSrc)); }
-	
-	HRESULT CopyTo(     BSTR *pstrDest) const
-	{
-		(void) ((!!((pstrDest != 0 && vt == VT_BSTR))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2487, 0, L"pstrDest != 0 && vt == VT_BSTR")) || (__debugbreak(), 0));
-		HRESULT hRes = ((HRESULT)0x80004003L);
-		if (pstrDest != 0 && vt == VT_BSTR)
-		{
-			*pstrDest = ::SysAllocStringByteLen((char*)bstrVal, ::SysStringByteLen(bstrVal));
-			if (*pstrDest == 0)
-				hRes = ((HRESULT)0x8007000EL);
-			else
-				hRes = ((HRESULT)0x00000000L);
-		}
-		else if (vt != VT_BSTR)
-			hRes = ((HRESULT)0x80020005L);
-		return hRes;
-	}
-	HRESULT Attach(     VARIANT* pSrc)
-	{
-		if(pSrc == 0)
-			return ((HRESULT)0x80070057L);
-			
-		
-		HRESULT hr = Clear();
-		if (!((HRESULT)(hr) < 0))
-		{
-			
-			Checked::memcpy_s(this, sizeof(CComVariant), pSrc, sizeof(VARIANT));
-			pSrc->vt = VT_EMPTY;
-			hr = ((HRESULT)0x00000000L);
-		}
-		return hr;
-	}
-
-	HRESULT Detach(     VARIANT* pDest)
-	{
-		(void) ((!!((pDest != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2520, 0, L"pDest != 0")) || (__debugbreak(), 0));
-		if(pDest == 0)
-			return ((HRESULT)0x80004003L);
-			
-		
-		HRESULT hr = ::VariantClear(pDest);
-		if (!((HRESULT)(hr) < 0))
-		{
-			
-			Checked::memcpy_s(pDest, sizeof(VARIANT), this, sizeof(VARIANT));
-			vt = VT_EMPTY;
-			hr = ((HRESULT)0x00000000L);
-		}
-		return hr;
-	}
-
-	HRESULT ChangeType(     VARTYPE vtNew,        const VARIANT* pSrc = 0)
-	{
-		VARIANT* pVar = const_cast<VARIANT*>(pSrc);
-		
-		if (pVar == 0)
-			pVar = this;
-		
-		return ::VariantChangeType(this, pVar, 0, vtNew);
-	}
-
-	template< typename T >
-	void SetByRef(      T* pT ) throw()
-	{
-		Clear();
-		vt = CVarTypeInfo< T >::VT|VT_BYREF;
-		byref = pT;
-	}
-
-	HRESULT WriteToStream(     IStream* pStream);
-	HRESULT WriteToStream(     IStream* pStream, VARTYPE vtWrite)
-	{
-		if (vtWrite != VT_EMPTY && vtWrite != vt)
-		{
-			CComVariant varConv;
-			HRESULT hr = varConv.ChangeType(vtWrite, this);
-			if (((HRESULT)(hr) < 0))
-			{
-				return hr;
-			}
-			return varConv.WriteToStream(pStream);
-		}
-		return WriteToStream(pStream);
-	}
-
-	HRESULT ReadFromStream(     IStream* pStream, VARTYPE vtExpected = VT_EMPTY);
-
-	HRESULT ReadFromStream(     IStream* pStream,      VARTYPE vtExpected,
-		     ClassesAllowedInStream rgclsidAllowed,      DWORD cclsidAllowed);
-
-	
-	ULONG GetSize() const;
-
-
-public:
-	HRESULT InternalClear()
-	{
-		HRESULT hr = Clear();
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2583, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-		if (((HRESULT)(hr) < 0))
-		{
-			vt = VT_ERROR;
-			scode = hr;
-
-			ATL::AtlThrowImpl(hr);
-
-		}
-		return hr;
-	}
-
-	void InternalCopy(     const VARIANT* pSrc)
-	{
-		HRESULT hr = Copy(pSrc);
-		if (((HRESULT)(hr) < 0))
-		{
-			vt = VT_ERROR;
-			scode = hr;
-
-			ATL::AtlThrowImpl(hr);
-
-		}
-	}
-};
-
-#pragma warning(push)
-#pragma warning(disable: 4702)
-inline HRESULT CComVariant::WriteToStream(     IStream* pStream)
-{
-	if(pStream == 0)
-		return ((HRESULT)0x80070057L);
-		
-	HRESULT hr = pStream->Write(&vt, sizeof(VARTYPE), 0);
-	if (((HRESULT)(hr) < 0))
-		return hr;
-
-	int cbWrite = 0;
-	switch (vt)
-	{
-	case VT_UNKNOWN:
-	case VT_DISPATCH:
-		{
-			CComPtr<IPersistStream> spStream;
-			if (punkVal != 0)
-			{
-				hr = punkVal->QueryInterface(__uuidof(IPersistStream), (void**)&spStream);
-				if (((HRESULT)(hr) < 0))
-				{
-					hr = punkVal->QueryInterface(__uuidof(IPersistStreamInit), (void**)&spStream);
-					if (((HRESULT)(hr) < 0))
-						return hr;
-				}
-			}
-			if (spStream != 0)
-				return OleSaveToStream(spStream, pStream);
-			return WriteClassStm(pStream, GUID_NULL);
-		}
-	case VT_UI1:
-	case VT_I1:
-		cbWrite = sizeof(BYTE);
-		break;
-	case VT_I2:
-	case VT_UI2:
-	case VT_BOOL:
-		cbWrite = sizeof(short);
-		break;
-	case VT_I4:
-	case VT_UI4:
-	case VT_R4:
-	case VT_INT:
-	case VT_UINT:
-	case VT_ERROR:
-		cbWrite = sizeof(long);
-		break;
-	case VT_I8:
-	case VT_UI8:
-		cbWrite = sizeof(LONGLONG);
-		break;
-	case VT_R8:
-	case VT_CY:
-	case VT_DATE:
-		cbWrite = sizeof(double);
-		break;
-	default:
-		break;
-	}
-	if (cbWrite != 0)
-		return pStream->Write((void*) &bVal, cbWrite, 0);
-
-	CComBSTR bstrWrite;
-	CComVariant varBSTR;
-	if (vt != VT_BSTR)
-	{
-		hr = VariantChangeType(&varBSTR, this, 0x01, VT_BSTR);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		bstrWrite.Attach(varBSTR.bstrVal);
-	}
-	else
-		bstrWrite.Attach(bstrVal);
-
-	hr = bstrWrite.WriteToStream(pStream);
-	bstrWrite.Detach();
-	return hr;
-}
-#pragma warning(pop)	
-
-inline HRESULT CComVariant::ReadFromStream(     IStream* pStream,      VARTYPE vtExpected  )
-{
-	ClassesAllowedInStream allowed;
-	allowed.rgclsidAllowed = 0;
-
-	return ReadFromStream(pStream, vtExpected, allowed, 0);
-}
-
-inline HRESULT CComVariant::ReadFromStream(     IStream* pStream,      VARTYPE vtExpected, 
-				     ClassesAllowedInStream rgclsidAllowed,      DWORD cclsidAllowed)
-{
-	(void) ((!!((pStream != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2702, 0, L"pStream != 0")) || (__debugbreak(), 0));
-	if(pStream == 0)
-		return ((HRESULT)0x80070057L);
-		
-	HRESULT hr;
-	hr = VariantClear(this);
-	if (((HRESULT)(hr) < 0))
-		return hr;
-	VARTYPE vtRead = VT_EMPTY;
-	ULONG cbRead = 0;
-	hr = pStream->Read(&vtRead, sizeof(VARTYPE), &cbRead);
-	if (hr == ((HRESULT)0x00000001L) || (cbRead != sizeof(VARTYPE) && hr == ((HRESULT)0x00000000L)))
-		hr = ((HRESULT)0x80004005L);
-	if (((HRESULT)(hr) < 0))
-		return hr;
-	if (vtExpected != VT_EMPTY && vtRead != vtExpected)
-		return ((HRESULT)0x80004005L);
-
-	vt = vtRead;
-	cbRead = 0;
-	switch (vtRead)
-	{
-	case VT_UNKNOWN:
-	case VT_DISPATCH:
-		{
-			punkVal = 0;
-
-
-
-
-
-
-
-			hr = AtlInternalOleLoadFromStream(pStream,
-				(vtRead == VT_UNKNOWN) ? __uuidof(IUnknown) : __uuidof(IDispatch),
-				(void**)&punkVal, rgclsidAllowed, cclsidAllowed);
-
-			
-			
-			if (hr == ((HRESULT)0x80040154L))
-				hr = ((HRESULT)0x00000000L);
-			return hr;
-		}
-	case VT_UI1:
-	case VT_I1:
-		cbRead = sizeof(BYTE);
-		break;
-	case VT_I2:
-	case VT_UI2:
-	case VT_BOOL:
-		cbRead = sizeof(short);
-		break;
-	case VT_I4:
-	case VT_UI4:
-	case VT_R4:
-	case VT_INT:
-	case VT_UINT:
-	case VT_ERROR:
-		cbRead = sizeof(long);
-		break;
-	case VT_I8:
-	case VT_UI8:
-		cbRead = sizeof(LONGLONG);
-		break;
-	case VT_R8:
-	case VT_CY:
-	case VT_DATE:
-		cbRead = sizeof(double);
-		break;
-	default:
-		break;
-	}
-	if (cbRead != 0)
-	{
-		hr = pStream->Read((void*) &bVal, cbRead, 0);
-		if (hr == ((HRESULT)0x00000001L))
-			hr = ((HRESULT)0x80004005L);
-		return hr;
-	}
-	CComBSTR bstrRead;
-
-	hr = bstrRead.ReadFromStream(pStream);
-	if (((HRESULT)(hr) < 0))
-	{
-		
-		
-		LARGE_INTEGER nOffset;
-		nOffset.QuadPart = -(static_cast<LONGLONG>(sizeof(VARTYPE)));
-		pStream->Seek(nOffset, STREAM_SEEK_CUR, 0);
-		vt = VT_EMPTY;
-		return hr;
-	}
-	vt = VT_BSTR;
-	bstrVal = bstrRead.Detach();
-	if (vtRead != VT_BSTR)
-		hr = ChangeType(vtRead);
-	return hr;
-}
-
-inline ULONG CComVariant::GetSize() const
-{
-	ULONG nSize = sizeof(VARTYPE);
-	HRESULT hr;
-
-	switch (vt)
-	{
-	case VT_UNKNOWN:
-	case VT_DISPATCH:
-		{
-			CComPtr<IPersistStream> spStream;
-			if (punkVal != 0)
-			{
-				hr = punkVal->QueryInterface(__uuidof(IPersistStream), (void**)&spStream);
-				if (((HRESULT)(hr) < 0))
-				{
-					hr = punkVal->QueryInterface(__uuidof(IPersistStreamInit), (void**)&spStream);
-					if (((HRESULT)(hr) < 0))
-						break;
-				}
-			}
-			if (spStream != 0)
-			{
-				ULARGE_INTEGER nPersistSize;
-				nPersistSize.QuadPart = 0;
-				spStream->GetSizeMax(&nPersistSize);
-				nSize += nPersistSize.LowPart + sizeof(CLSID);
-			}
-			else
-				nSize += sizeof(CLSID);
-		}
-		break;
-	case VT_UI1:
-	case VT_I1:
-		nSize += sizeof(BYTE);
-		break;
-	case VT_I2:
-	case VT_UI2:
-	case VT_BOOL:
-		nSize += sizeof(short);
-		break;
-	case VT_I4:
-	case VT_UI4:
-	case VT_R4:
-	case VT_INT:
-	case VT_UINT:
-	case VT_ERROR:
-		nSize += sizeof(long);
-		break;
-	case VT_I8:
-	case VT_UI8:
-		nSize += sizeof(LONGLONG);
-		break;
-	case VT_R8:
-	case VT_CY:
-	case VT_DATE:
-		nSize += sizeof(double);
-		break;
-	default:
-		break;
-	}
-	if (nSize == sizeof(VARTYPE))
-	{
-		VARTYPE vtTmp = vt;
-		BSTR        bstr = 0;
-		CComVariant varBSTR;
-		if (vtTmp != VT_BSTR)
-		{
-			hr = VariantChangeType(&varBSTR, const_cast<VARIANT*>((const VARIANT*)this), 0x01, VT_BSTR);
-			if (((HRESULT)(hr) >= 0))
-			{
-				bstr = varBSTR.bstrVal;
-				vtTmp = VT_BSTR;
-			}
-		} else
-		{
-			bstr = bstrVal;
-		}
-
-		if (vtTmp == VT_BSTR)
-		{
-			
-			nSize += CComBSTR::GetStreamSize(bstr);			
-		}
-	}
-	return nSize;
-}
-
-inline HRESULT CComPtr<IDispatch>::Invoke2(     DISPID dispid,      VARIANT* pvarParam1,      VARIANT* pvarParam2,        VARIANT* pvarRet) throw()
-{
-	if(pvarParam1 == 0 || pvarParam2 == 0)
-		return ((HRESULT)0x80070057L);
-			
-	CComVariant varArgs[2] = { *pvarParam2, *pvarParam1 };
-	DISPPARAMS dispparams = { &varArgs[0], 0, 2, 0};
-	return p->Invoke(dispid, GUID_NULL, (((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x01)) << 10) | (WORD )(0x00))))))))), 0x1, &dispparams, pvarRet, 0, 0);
-}
-
-
-inline HRESULT AtlInternalOleLoadFromStream(
-	     IStream* pStm, 
-	     const IID & iidInterface, 
-	                  void** ppvObj, 
-	     ClassesAllowedInStream rgclsidAllowed, 
-	     DWORD cclsidAllowed)
-{
-	do { (void) ((!!((pStm != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2907, 0, L"pStm != 0")) || (__debugbreak(), 0)); ; } while(0);
-	*ppvObj = 0;
-	CLSID clsid;
-
-	HRESULT hr = ReadClassStm(pStm, &clsid);
-
-	if (((HRESULT)(hr) < 0))
-	{
-		return hr;
-	}
-	
-	CComPtr<IUnknown> punkVal;
-
-	if (cclsidAllowed != 0)
-	{
-		do { (void) ((!!((rgclsidAllowed.rgclsidAllowed != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcomcli.h", 2922, 0, L"rgclsidAllowed.rgclsidAllowed != 0")) || (__debugbreak(), 0)); ; } while(0);
-		hr = ((HRESULT)0x80070005L);
-		
-		for(DWORD i = 0; i < cclsidAllowed; i++)
-		{
-			if (IsEqualGUID(clsid, rgclsidAllowed.rgclsidAllowed[i]))
-			{
-				hr = ((HRESULT)0x00000000L);
-				break;
-			}
-		}		
-	}
-	else if (rgclsidAllowed.pfnClsidAllowed != 0) 
-	{
-		hr = rgclsidAllowed.pfnClsidAllowed(clsid, iidInterface, reinterpret_cast<void**>(&punkVal));
-	}
-	
-	if (((HRESULT)(hr) < 0))
-	{
-		return hr;
-	}
-
-	if (punkVal == 0)
-	{
-		hr = CoCreateInstance(clsid, 0, (CLSCTX_INPROC_SERVER|CLSCTX_LOCAL_SERVER|CLSCTX_REMOTE_SERVER) | CLSCTX_NO_CODE_DOWNLOAD, iidInterface, reinterpret_cast<void**>(&punkVal));
-		if (((HRESULT)(hr) < 0))
-		{
-			return hr;
-		}
-	}
-
-	CComPtr<IPersistStream> pPersistStm;
-	hr = punkVal->QueryInterface(&pPersistStm);
-	
-	if (((HRESULT)(hr) >= 0))
-	{
-		hr = pPersistStm->Load(pStm);
-		
-		if (((HRESULT)(hr) >= 0))
-		{
-			*ppvObj = punkVal.Detach();			
-		}
-	}
-
-	return hr;
-}
-
-
-}	
-#pragma pack(pop)
-
-#pragma warning (pop)	
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IEnumGUID IEnumGUID;
-
-
-
-
-
-typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO;
-
-
-
-
-
-typedef struct ICatRegister ICatRegister;
-
-
-
-
-
-typedef struct ICatInformation ICatInformation;
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma comment(lib,"uuid.lib")
-
-
-
-
-
-
-
-
-
-extern "C" const CLSID CLSID_StdComponentCategoriesMgr;
-
-
-
-typedef GUID CATID;
-
-typedef const GUID & REFCATID;
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const CATID CATID_Insertable;
-extern "C" const CATID CATID_Control;
-extern "C" const CATID CATID_Programmable;
-extern "C" const CATID CATID_IsShortcut;
-extern "C" const CATID CATID_NeverShowExt;
-extern "C" const CATID CATID_DocObject;
-extern "C" const CATID CATID_Printable;
-extern "C" const CATID CATID_RequiresDataPathHost;
-extern "C" const CATID CATID_PersistsToMoniker;
-extern "C" const CATID CATID_PersistsToStorage;
-extern "C" const CATID CATID_PersistsToStreamInit;
-extern "C" const CATID CATID_PersistsToStream;
-extern "C" const CATID CATID_PersistsToMemory;
-extern "C" const CATID CATID_PersistsToFile;
-extern "C" const CATID CATID_PersistsToPropertyBag;
-extern "C" const CATID CATID_InternetAware;
-extern "C" const CATID CATID_DesignTimeUIActivatableControl;
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IEnumGUID *LPENUMGUID;
-
-
-extern "C" const IID IID_IEnumGUID;
-
-
-    
-    struct __declspec(uuid("0002E000-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumGUID : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Next( 
-             ULONG celt,
-             GUID *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumGUID **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IEnumGUID_Next_Proxy( 
-    IEnumGUID * This,
-     ULONG celt,
-     GUID *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumGUID_Next_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumGUID_Skip_Proxy( 
-    IEnumGUID * This,
-     ULONG celt);
-
-
-void __stdcall IEnumGUID_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumGUID_Reset_Proxy( 
-    IEnumGUID * This);
-
-
-void __stdcall IEnumGUID_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumGUID_Clone_Proxy( 
-    IEnumGUID * This,
-     IEnumGUID **ppenum);
-
-
-void __stdcall IEnumGUID_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0009_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0009_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
-
-typedef struct tagCATEGORYINFO
-    {
-    CATID catid;
-    LCID lcid;
-    OLECHAR szDescription[ 128 ];
-    } 	CATEGORYINFO;
-
-typedef struct tagCATEGORYINFO *LPCATEGORYINFO;
-
-
-extern "C" const IID IID_IEnumCATEGORYINFO;
-
-
-    
-    struct __declspec(uuid("0002E011-0000-0000-C000-000000000046")) __declspec(novtable)
-    IEnumCATEGORYINFO : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall Next( 
-             ULONG celt,
-             CATEGORYINFO *rgelt,
-             ULONG *pceltFetched) = 0;
-        
-        virtual HRESULT __stdcall Skip( 
-             ULONG celt) = 0;
-        
-        virtual HRESULT __stdcall Reset( void) = 0;
-        
-        virtual HRESULT __stdcall Clone( 
-             IEnumCATEGORYINFO **ppenum) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IEnumCATEGORYINFO_Next_Proxy( 
-    IEnumCATEGORYINFO * This,
-     ULONG celt,
-     CATEGORYINFO *rgelt,
-     ULONG *pceltFetched);
-
-
-void __stdcall IEnumCATEGORYINFO_Next_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumCATEGORYINFO_Skip_Proxy( 
-    IEnumCATEGORYINFO * This,
-     ULONG celt);
-
-
-void __stdcall IEnumCATEGORYINFO_Skip_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumCATEGORYINFO_Reset_Proxy( 
-    IEnumCATEGORYINFO * This);
-
-
-void __stdcall IEnumCATEGORYINFO_Reset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IEnumCATEGORYINFO_Clone_Proxy( 
-    IEnumCATEGORYINFO * This,
-     IEnumCATEGORYINFO **ppenum);
-
-
-void __stdcall IEnumCATEGORYINFO_Clone_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0010_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0010_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  ICatRegister *LPCATREGISTER;
-
-
-extern "C" const IID IID_ICatRegister;
-
-
-    
-    struct __declspec(uuid("0002E012-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICatRegister : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall RegisterCategories( 
-             ULONG cCategories,
-             CATEGORYINFO rgCategoryInfo[  ]) = 0;
-        
-        virtual HRESULT __stdcall UnRegisterCategories( 
-             ULONG cCategories,
-             CATID rgcatid[  ]) = 0;
-        
-        virtual HRESULT __stdcall RegisterClassImplCategories( 
-             const IID & rclsid,
-             ULONG cCategories,
-             CATID rgcatid[  ]) = 0;
-        
-        virtual HRESULT __stdcall UnRegisterClassImplCategories( 
-             const IID & rclsid,
-             ULONG cCategories,
-             CATID rgcatid[  ]) = 0;
-        
-        virtual HRESULT __stdcall RegisterClassReqCategories( 
-             const IID & rclsid,
-             ULONG cCategories,
-             CATID rgcatid[  ]) = 0;
-        
-        virtual HRESULT __stdcall UnRegisterClassReqCategories( 
-             const IID & rclsid,
-             ULONG cCategories,
-             CATID rgcatid[  ]) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICatRegister_RegisterCategories_Proxy( 
-    ICatRegister * This,
-     ULONG cCategories,
-     CATEGORYINFO rgCategoryInfo[  ]);
-
-
-void __stdcall ICatRegister_RegisterCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatRegister_UnRegisterCategories_Proxy( 
-    ICatRegister * This,
-     ULONG cCategories,
-     CATID rgcatid[  ]);
-
-
-void __stdcall ICatRegister_UnRegisterCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatRegister_RegisterClassImplCategories_Proxy( 
-    ICatRegister * This,
-     const IID & rclsid,
-     ULONG cCategories,
-     CATID rgcatid[  ]);
-
-
-void __stdcall ICatRegister_RegisterClassImplCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatRegister_UnRegisterClassImplCategories_Proxy( 
-    ICatRegister * This,
-     const IID & rclsid,
-     ULONG cCategories,
-     CATID rgcatid[  ]);
-
-
-void __stdcall ICatRegister_UnRegisterClassImplCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatRegister_RegisterClassReqCategories_Proxy( 
-    ICatRegister * This,
-     const IID & rclsid,
-     ULONG cCategories,
-     CATID rgcatid[  ]);
-
-
-void __stdcall ICatRegister_RegisterClassReqCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatRegister_UnRegisterClassReqCategories_Proxy( 
-    ICatRegister * This,
-     const IID & rclsid,
-     ULONG cCategories,
-     CATID rgcatid[  ]);
-
-
-void __stdcall ICatRegister_UnRegisterClassReqCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0011_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0011_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-typedef  ICatInformation *LPCATINFORMATION;
-
-
-extern "C" const IID IID_ICatInformation;
-
-
-    
-    struct __declspec(uuid("0002E013-0000-0000-C000-000000000046")) __declspec(novtable)
-    ICatInformation : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall EnumCategories( 
-             LCID lcid,
-             IEnumCATEGORYINFO **ppenumCategoryInfo) = 0;
-        
-        virtual HRESULT __stdcall GetCategoryDesc( 
-             REFCATID rcatid,
-             LCID lcid,
-             LPWSTR *pszDesc) = 0;
-        
-        virtual  HRESULT __stdcall EnumClassesOfCategories( 
-             ULONG cImplemented,
-             CATID rgcatidImpl[  ],
-             ULONG cRequired,
-             CATID rgcatidReq[  ],
-             IEnumGUID **ppenumClsid) = 0;
-        
-        virtual  HRESULT __stdcall IsClassOfCategories( 
-             const IID & rclsid,
-             ULONG cImplemented,
-             CATID rgcatidImpl[  ],
-             ULONG cRequired,
-             CATID rgcatidReq[  ]) = 0;
-        
-        virtual HRESULT __stdcall EnumImplCategoriesOfClass( 
-             const IID & rclsid,
-             IEnumGUID **ppenumCatid) = 0;
-        
-        virtual HRESULT __stdcall EnumReqCategoriesOfClass( 
-             const IID & rclsid,
-             IEnumGUID **ppenumCatid) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall ICatInformation_EnumCategories_Proxy( 
-    ICatInformation * This,
-     LCID lcid,
-     IEnumCATEGORYINFO **ppenumCategoryInfo);
-
-
-void __stdcall ICatInformation_EnumCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatInformation_GetCategoryDesc_Proxy( 
-    ICatInformation * This,
-     REFCATID rcatid,
-     LCID lcid,
-     LPWSTR *pszDesc);
-
-
-void __stdcall ICatInformation_GetCategoryDesc_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ICatInformation_RemoteEnumClassesOfCategories_Proxy( 
-    ICatInformation * This,
-     ULONG cImplemented,
-     CATID rgcatidImpl[  ],
-     ULONG cRequired,
-     CATID rgcatidReq[  ],
-     IEnumGUID **ppenumClsid);
-
-
-void __stdcall ICatInformation_RemoteEnumClassesOfCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall ICatInformation_RemoteIsClassOfCategories_Proxy( 
-    ICatInformation * This,
-     const IID & rclsid,
-     ULONG cImplemented,
-     CATID rgcatidImpl[  ],
-     ULONG cRequired,
-     CATID rgcatidReq[  ]);
-
-
-void __stdcall ICatInformation_RemoteIsClassOfCategories_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatInformation_EnumImplCategoriesOfClass_Proxy( 
-    ICatInformation * This,
-     const IID & rclsid,
-     IEnumGUID **ppenumCatid);
-
-
-void __stdcall ICatInformation_EnumImplCategoriesOfClass_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall ICatInformation_EnumReqCategoriesOfClass_Proxy( 
-    ICatInformation * This,
-     const IID & rclsid,
-     IEnumGUID **ppenumCatid);
-
-
-void __stdcall ICatInformation_EnumReqCategoriesOfClass_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0012_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_comcat_0012_v0_0_s_ifspec;
-
-
-
- HRESULT __stdcall ICatInformation_EnumClassesOfCategories_Proxy( 
-    ICatInformation * This,
-     ULONG cImplemented,
-     CATID rgcatidImpl[  ],
-     ULONG cRequired,
-     CATID rgcatidReq[  ],
-     IEnumGUID **ppenumClsid);
-
-
- HRESULT __stdcall ICatInformation_EnumClassesOfCategories_Stub( 
-    ICatInformation * This,
-     ULONG cImplemented,
-     CATID rgcatidImpl[  ],
-     ULONG cRequired,
-     CATID rgcatidReq[  ],
-     IEnumGUID **ppenumClsid);
-
- HRESULT __stdcall ICatInformation_IsClassOfCategories_Proxy( 
-    ICatInformation * This,
-     const IID & rclsid,
-     ULONG cImplemented,
-     CATID rgcatidImpl[  ],
-     ULONG cRequired,
-     CATID rgcatidReq[  ]);
-
-
- HRESULT __stdcall ICatInformation_IsClassOfCategories_Stub( 
-    ICatInformation * This,
-     const IID & rclsid,
-     ULONG cImplemented,
-     CATID rgcatidImpl[  ],
-     ULONG cRequired,
-     CATID rgcatidReq[  ]);
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IRegistrarBase IRegistrarBase;
-
-
-
-
-
-typedef struct IRegistrar IRegistrar;
-
-
-
-
-
-typedef struct IDocHostUIHandlerDispatch IDocHostUIHandlerDispatch;
-
-
-
-
-
-typedef struct IAxWinHostWindow IAxWinHostWindow;
-
-
-
-
-
-typedef struct IAxWinHostWindowLic IAxWinHostWindowLic;
-
-
-
-
-
-typedef struct IAxWinAmbientDispatch IAxWinAmbientDispatch;
-
-
-
-
-
-typedef struct IAxWinAmbientDispatchEx IAxWinAmbientDispatchEx;
-
-
-
-
-
-typedef struct IInternalConnection IInternalConnection;
-
-
-
-
-
-typedef struct IAccessibleProxy IAccessibleProxy;
-
-
-
-
-
-typedef struct IAccessibleServer IAccessibleServer;
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-typedef struct IAccessible IAccessible;
-
-
-
-
-
-typedef struct IAccessibleHandler IAccessibleHandler;
-
-
-
-
-
-typedef struct IAccIdentity IAccIdentity;
-
-
-
-
-
-typedef struct IAccPropServer IAccPropServer;
-
-
-
-
-
-typedef struct IAccPropServices IAccPropServices;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef class CAccPropServices CAccPropServices;
-
-
-
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef LRESULT (__stdcall *LPFNLRESULTFROMOBJECT)(const IID & riid, WPARAM wParam, LPUNKNOWN punk);
-typedef HRESULT (__stdcall *LPFNOBJECTFROMLRESULT)(LRESULT lResult, const IID & riid, WPARAM wParam, void** ppvObject);
-typedef HRESULT (__stdcall *LPFNACCESSIBLEOBJECTFROMWINDOW)(HWND hwnd, DWORD dwId, const IID & riid, void** ppvObject);
-typedef HRESULT (__stdcall *LPFNACCESSIBLEOBJECTFROMPOINT)(POINT ptScreen, IAccessible** ppacc, VARIANT* pvarChild);
-typedef HRESULT (__stdcall *LPFNCREATESTDACCESSIBLEOBJECT)(HWND hwnd, LONG idObject, const IID & riid, void** ppvObject);
-typedef HRESULT (__stdcall *LPFNACCESSIBLECHILDREN)(IAccessible* paccContainer, LONG iChildStart,LONG cChildren,VARIANT* rgvarChildren,LONG* pcObtained);
-
-
-
-
-
-extern "C" const GUID  LIBID_Accessibility;
-extern "C" const GUID  IID_IAccessible;
-extern "C" const GUID  IID_IAccessibleHandler;
-extern "C" const GUID  IID_IAccIdentity;
-extern "C" const GUID  IID_IAccPropServer;
-extern "C" const GUID  IID_IAccPropServices;
-extern "C" const GUID  IID_IAccPropMgrInternal;
-extern "C" const GUID  CLSID_AccPropServices;
-extern "C" const GUID  IIS_IsOleaccProxy;
-
-
-
-
-
-extern "C" LRESULT __stdcall LresultFromObject(const IID & riid, WPARAM wParam, LPUNKNOWN punk);
-extern "C" HRESULT __stdcall          ObjectFromLresult(LRESULT lResult, const IID & riid, WPARAM wParam, void** ppvObject);
-extern "C" HRESULT __stdcall          WindowFromAccessibleObject(IAccessible*, HWND* phwnd);
-extern "C" HRESULT __stdcall          AccessibleObjectFromWindow(HWND hwnd, DWORD dwId, const IID & riid, void **ppvObject);
-extern "C" HRESULT __stdcall          AccessibleObjectFromEvent(HWND hwnd, DWORD dwId, DWORD dwChildId, IAccessible** ppacc, VARIANT* pvarChild);
-extern "C" HRESULT __stdcall          AccessibleObjectFromPoint(POINT ptScreen, IAccessible ** ppacc, VARIANT* pvarChild);
-extern "C" HRESULT __stdcall          AccessibleChildren (IAccessible* paccContainer, LONG iChildStart,LONG cChildren, VARIANT* rgvarChildren,LONG* pcObtained);
-
-extern "C" UINT __stdcall   GetRoleTextA(DWORD lRole, LPSTR lpszRole, UINT cchRoleMax);
-extern "C" UINT __stdcall   GetRoleTextW(DWORD lRole, LPWSTR lpszRole, UINT cchRoleMax);
-
-
-
-
-
-
-
-extern "C" UINT __stdcall   GetStateTextA(DWORD lStateBit, LPSTR lpszState, UINT cchState);
-extern "C" UINT __stdcall   GetStateTextW(DWORD lStateBit, LPWSTR lpszState, UINT cchState);
-
-
-
-
-
-
-extern "C" void __stdcall   GetOleaccVersionInfo(DWORD* pVer, DWORD* pBuild);
-
-extern "C" HRESULT __stdcall          CreateStdAccessibleObject(HWND hwnd, LONG idObject, const IID & riid, void** ppvObject);
-
-extern "C" HRESULT __stdcall          CreateStdAccessibleProxyA(HWND hwnd, LPCSTR pClassName, LONG idObject, const IID & riid, void** ppvObject);
-extern "C" HRESULT __stdcall          CreateStdAccessibleProxyW(HWND hwnd, LPCWSTR pClassName, LONG idObject, const IID & riid, void** ppvObject);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef struct tagMSAAMENUINFO {
-    DWORD   dwMSAASignature; 
-    DWORD   cchWText;        
-    LPWSTR  pszWText;        
-} MSAAMENUINFO, *LPMSAAMENUINFO;
-
-
-
-
-
-
-extern "C" const GUID  PROPID_ACC_NAME;
-extern "C" const GUID  PROPID_ACC_VALUE;
-extern "C" const GUID  PROPID_ACC_DESCRIPTION;
-extern "C" const GUID  PROPID_ACC_ROLE;
-extern "C" const GUID  PROPID_ACC_STATE;
-extern "C" const GUID  PROPID_ACC_HELP;
-extern "C" const GUID  PROPID_ACC_KEYBOARDSHORTCUT;
-extern "C" const GUID  PROPID_ACC_DEFAULTACTION;
-
-extern "C" const GUID  PROPID_ACC_HELPTOPIC;
-extern "C" const GUID  PROPID_ACC_FOCUS;
-extern "C" const GUID  PROPID_ACC_SELECTION;
-extern "C" const GUID  PROPID_ACC_PARENT;
-
-extern "C" const GUID  PROPID_ACC_NAV_UP;
-extern "C" const GUID  PROPID_ACC_NAV_DOWN;
-extern "C" const GUID  PROPID_ACC_NAV_LEFT;
-extern "C" const GUID  PROPID_ACC_NAV_RIGHT;
-extern "C" const GUID  PROPID_ACC_NAV_PREV;
-extern "C" const GUID  PROPID_ACC_NAV_NEXT;
-extern "C" const GUID  PROPID_ACC_NAV_FIRSTCHILD;
-extern "C" const GUID  PROPID_ACC_NAV_LASTCHILD;
-
-
-extern "C" const GUID  PROPID_ACC_ROLEMAP;
-extern "C" const GUID  PROPID_ACC_VALUEMAP;
-extern "C" const GUID  PROPID_ACC_STATEMAP;
-extern "C" const GUID  PROPID_ACC_DESCRIPTIONMAP;
-
-extern "C" const GUID  PROPID_ACC_DODEFAULTACTION;
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_oleacc_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_oleacc_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  IAccessible *LPACCESSIBLE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" const IID IID_IAccessible;
-
-
-    
-    struct __declspec(uuid("618736e0-3c3d-11cf-810c-00aa00389b71")) __declspec(novtable)
-    IAccessible : public IDispatch
-    {
-    public:
-        virtual  HRESULT __stdcall get_accParent( 
-             IDispatch **ppdispParent) = 0;
-        
-        virtual  HRESULT __stdcall get_accChildCount( 
-             long *pcountChildren) = 0;
-        
-        virtual  HRESULT __stdcall get_accChild( 
-             VARIANT varChild,
-             IDispatch **ppdispChild) = 0;
-        
-        virtual  HRESULT __stdcall get_accName( 
-             VARIANT varChild,
-             BSTR *pszName) = 0;
-        
-        virtual  HRESULT __stdcall get_accValue( 
-             VARIANT varChild,
-             BSTR *pszValue) = 0;
-        
-        virtual  HRESULT __stdcall get_accDescription( 
-             VARIANT varChild,
-             BSTR *pszDescription) = 0;
-        
-        virtual  HRESULT __stdcall get_accRole( 
-             VARIANT varChild,
-             VARIANT *pvarRole) = 0;
-        
-        virtual  HRESULT __stdcall get_accState( 
-             VARIANT varChild,
-             VARIANT *pvarState) = 0;
-        
-        virtual  HRESULT __stdcall get_accHelp( 
-             VARIANT varChild,
-             BSTR *pszHelp) = 0;
-        
-        virtual  HRESULT __stdcall get_accHelpTopic( 
-             BSTR *pszHelpFile,
-             VARIANT varChild,
-             long *pidTopic) = 0;
-        
-        virtual  HRESULT __stdcall get_accKeyboardShortcut( 
-             VARIANT varChild,
-             BSTR *pszKeyboardShortcut) = 0;
-        
-        virtual  HRESULT __stdcall get_accFocus( 
-             VARIANT *pvarChild) = 0;
-        
-        virtual  HRESULT __stdcall get_accSelection( 
-             VARIANT *pvarChildren) = 0;
-        
-        virtual  HRESULT __stdcall get_accDefaultAction( 
-             VARIANT varChild,
-             BSTR *pszDefaultAction) = 0;
-        
-        virtual  HRESULT __stdcall accSelect( 
-             long flagsSelect,
-             VARIANT varChild) = 0;
-        
-        virtual  HRESULT __stdcall accLocation( 
-             long *pxLeft,
-             long *pyTop,
-             long *pcxWidth,
-             long *pcyHeight,
-             VARIANT varChild) = 0;
-        
-        virtual  HRESULT __stdcall accNavigate( 
-             long navDir,
-             VARIANT varStart,
-             VARIANT *pvarEndUpAt) = 0;
-        
-        virtual  HRESULT __stdcall accHitTest( 
-             long xLeft,
-             long yTop,
-             VARIANT *pvarChild) = 0;
-        
-        virtual  HRESULT __stdcall accDoDefaultAction( 
-             VARIANT varChild) = 0;
-        
-        virtual  HRESULT __stdcall put_accName( 
-             VARIANT varChild,
-             BSTR szName) = 0;
-        
-        virtual  HRESULT __stdcall put_accValue( 
-             VARIANT varChild,
-             BSTR szValue) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IAccessible_get_accParent_Proxy( 
-    IAccessible * This,
-     IDispatch **ppdispParent);
-
-
-void __stdcall IAccessible_get_accParent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accChildCount_Proxy( 
-    IAccessible * This,
-     long *pcountChildren);
-
-
-void __stdcall IAccessible_get_accChildCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accChild_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     IDispatch **ppdispChild);
-
-
-void __stdcall IAccessible_get_accChild_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accName_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR *pszName);
-
-
-void __stdcall IAccessible_get_accName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accValue_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR *pszValue);
-
-
-void __stdcall IAccessible_get_accValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accDescription_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR *pszDescription);
-
-
-void __stdcall IAccessible_get_accDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accRole_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     VARIANT *pvarRole);
-
-
-void __stdcall IAccessible_get_accRole_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accState_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     VARIANT *pvarState);
-
-
-void __stdcall IAccessible_get_accState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accHelp_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR *pszHelp);
-
-
-void __stdcall IAccessible_get_accHelp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accHelpTopic_Proxy( 
-    IAccessible * This,
-     BSTR *pszHelpFile,
-     VARIANT varChild,
-     long *pidTopic);
-
-
-void __stdcall IAccessible_get_accHelpTopic_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accKeyboardShortcut_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR *pszKeyboardShortcut);
-
-
-void __stdcall IAccessible_get_accKeyboardShortcut_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accFocus_Proxy( 
-    IAccessible * This,
-     VARIANT *pvarChild);
-
-
-void __stdcall IAccessible_get_accFocus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accSelection_Proxy( 
-    IAccessible * This,
-     VARIANT *pvarChildren);
-
-
-void __stdcall IAccessible_get_accSelection_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_get_accDefaultAction_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR *pszDefaultAction);
-
-
-void __stdcall IAccessible_get_accDefaultAction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_accSelect_Proxy( 
-    IAccessible * This,
-     long flagsSelect,
-     VARIANT varChild);
-
-
-void __stdcall IAccessible_accSelect_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_accLocation_Proxy( 
-    IAccessible * This,
-     long *pxLeft,
-     long *pyTop,
-     long *pcxWidth,
-     long *pcyHeight,
-     VARIANT varChild);
-
-
-void __stdcall IAccessible_accLocation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_accNavigate_Proxy( 
-    IAccessible * This,
-     long navDir,
-     VARIANT varStart,
-     VARIANT *pvarEndUpAt);
-
-
-void __stdcall IAccessible_accNavigate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_accHitTest_Proxy( 
-    IAccessible * This,
-     long xLeft,
-     long yTop,
-     VARIANT *pvarChild);
-
-
-void __stdcall IAccessible_accHitTest_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_accDoDefaultAction_Proxy( 
-    IAccessible * This,
-     VARIANT varChild);
-
-
-void __stdcall IAccessible_accDoDefaultAction_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_put_accName_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR szName);
-
-
-void __stdcall IAccessible_put_accName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAccessible_put_accValue_Proxy( 
-    IAccessible * This,
-     VARIANT varChild,
-     BSTR szValue);
-
-
-void __stdcall IAccessible_put_accValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef  IAccessibleHandler *LPACCESSIBLEHANDLER;
-
-
-extern "C" const IID IID_IAccessibleHandler;
-
-
-    
-    struct __declspec(uuid("03022430-ABC4-11d0-BDE2-00AA001A1953")) __declspec(novtable)
-    IAccessibleHandler : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall AccessibleObjectFromID( 
-             long hwnd,
-             long lObjectID,
-             LPACCESSIBLE *pIAccessible) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAccessibleHandler_AccessibleObjectFromID_Proxy( 
-    IAccessibleHandler * This,
-     long hwnd,
-     long lObjectID,
-     LPACCESSIBLE *pIAccessible);
-
-
-void __stdcall IAccessibleHandler_AccessibleObjectFromID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-typedef 
-enum AnnoScope
-    {	ANNO_THIS	= 0,
-	ANNO_CONTAINER	= 1
-    } 	AnnoScope;
-
-typedef GUID MSAAPROPID;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_oleacc_0116_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_oleacc_0116_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAccIdentity;
-
-
-    
-    struct __declspec(uuid("7852b78d-1cfd-41c1-a615-9c0c85960b5f")) __declspec(novtable)
-    IAccIdentity : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetIdentityString( 
-             DWORD dwIDChild,
-             BYTE **ppIDString,
-             DWORD *pdwIDStringLen) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAccIdentity_GetIdentityString_Proxy( 
-    IAccIdentity * This,
-     DWORD dwIDChild,
-     BYTE **ppIDString,
-     DWORD *pdwIDStringLen);
-
-
-void __stdcall IAccIdentity_GetIdentityString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAccPropServer;
-
-
-    
-    struct __declspec(uuid("76c0dbbb-15e0-4e7b-b61b-20eeea2001e0")) __declspec(novtable)
-    IAccPropServer : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall GetPropValue( 
-             const BYTE *pIDString,
-             DWORD dwIDStringLen,
-             MSAAPROPID idProp,
-             VARIANT *pvarValue,
-             BOOL *pfHasProp) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAccPropServer_GetPropValue_Proxy( 
-    IAccPropServer * This,
-     const BYTE *pIDString,
-     DWORD dwIDStringLen,
-     MSAAPROPID idProp,
-     VARIANT *pvarValue,
-     BOOL *pfHasProp);
-
-
-void __stdcall IAccPropServer_GetPropValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAccPropServices;
-
-
-    
-    struct __declspec(uuid("6e26e776-04f0-495d-80e4-3330352e3169")) __declspec(novtable)
-    IAccPropServices : public IUnknown
-    {
-    public:
-        virtual HRESULT __stdcall SetPropValue( 
-             const BYTE *pIDString,
-             DWORD dwIDStringLen,
-             MSAAPROPID idProp,
-             VARIANT var) = 0;
-        
-        virtual HRESULT __stdcall SetPropServer( 
-             const BYTE *pIDString,
-             DWORD dwIDStringLen,
-             const MSAAPROPID *paProps,
-             int cProps,
-             IAccPropServer *pServer,
-             AnnoScope annoScope) = 0;
-        
-        virtual HRESULT __stdcall ClearProps( 
-             const BYTE *pIDString,
-             DWORD dwIDStringLen,
-             const MSAAPROPID *paProps,
-             int cProps) = 0;
-        
-        virtual HRESULT __stdcall SetHwndProp( 
-             HWND hwnd,
-             DWORD idObject,
-             DWORD idChild,
-             MSAAPROPID idProp,
-             VARIANT var) = 0;
-        
-        virtual HRESULT __stdcall SetHwndPropStr( 
-             HWND hwnd,
-             DWORD idObject,
-             DWORD idChild,
-             MSAAPROPID idProp,
-             LPCWSTR str) = 0;
-        
-        virtual HRESULT __stdcall SetHwndPropServer( 
-             HWND hwnd,
-             DWORD idObject,
-             DWORD idChild,
-             const MSAAPROPID *paProps,
-             int cProps,
-             IAccPropServer *pServer,
-             AnnoScope annoScope) = 0;
-        
-        virtual HRESULT __stdcall ClearHwndProps( 
-             HWND hwnd,
-             DWORD idObject,
-             DWORD idChild,
-             const MSAAPROPID *paProps,
-             int cProps) = 0;
-        
-        virtual HRESULT __stdcall ComposeHwndIdentityString( 
-             HWND hwnd,
-             DWORD idObject,
-             DWORD idChild,
-             BYTE **ppIDString,
-             DWORD *pdwIDStringLen) = 0;
-        
-        virtual HRESULT __stdcall DecomposeHwndIdentityString( 
-             const BYTE *pIDString,
-             DWORD dwIDStringLen,
-             HWND *phwnd,
-             DWORD *pidObject,
-             DWORD *pidChild) = 0;
-        
-        virtual HRESULT __stdcall SetHmenuProp( 
-             HMENU hmenu,
-             DWORD idChild,
-             MSAAPROPID idProp,
-             VARIANT var) = 0;
-        
-        virtual HRESULT __stdcall SetHmenuPropStr( 
-             HMENU hmenu,
-             DWORD idChild,
-             MSAAPROPID idProp,
-             LPCWSTR str) = 0;
-        
-        virtual HRESULT __stdcall SetHmenuPropServer( 
-             HMENU hmenu,
-             DWORD idChild,
-             const MSAAPROPID *paProps,
-             int cProps,
-             IAccPropServer *pServer,
-             AnnoScope annoScope) = 0;
-        
-        virtual HRESULT __stdcall ClearHmenuProps( 
-             HMENU hmenu,
-             DWORD idChild,
-             const MSAAPROPID *paProps,
-             int cProps) = 0;
-        
-        virtual HRESULT __stdcall ComposeHmenuIdentityString( 
-             HMENU hmenu,
-             DWORD idChild,
-             BYTE **ppIDString,
-             DWORD *pdwIDStringLen) = 0;
-        
-        virtual HRESULT __stdcall DecomposeHmenuIdentityString( 
-             const BYTE *pIDString,
-             DWORD dwIDStringLen,
-             HMENU *phmenu,
-             DWORD *pidChild) = 0;
-        
-    };
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAccPropServices_SetPropValue_Proxy( 
-    IAccPropServices * This,
-     const BYTE *pIDString,
-     DWORD dwIDStringLen,
-     MSAAPROPID idProp,
-     VARIANT var);
-
-
-void __stdcall IAccPropServices_SetPropValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetPropServer_Proxy( 
-    IAccPropServices * This,
-     const BYTE *pIDString,
-     DWORD dwIDStringLen,
-     const MSAAPROPID *paProps,
-     int cProps,
-     IAccPropServer *pServer,
-     AnnoScope annoScope);
-
-
-void __stdcall IAccPropServices_SetPropServer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_ClearProps_Proxy( 
-    IAccPropServices * This,
-     const BYTE *pIDString,
-     DWORD dwIDStringLen,
-     const MSAAPROPID *paProps,
-     int cProps);
-
-
-void __stdcall IAccPropServices_ClearProps_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetHwndProp_Proxy( 
-    IAccPropServices * This,
-     HWND hwnd,
-     DWORD idObject,
-     DWORD idChild,
-     MSAAPROPID idProp,
-     VARIANT var);
-
-
-void __stdcall IAccPropServices_SetHwndProp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetHwndPropStr_Proxy( 
-    IAccPropServices * This,
-     HWND hwnd,
-     DWORD idObject,
-     DWORD idChild,
-     MSAAPROPID idProp,
-     LPCWSTR str);
-
-
-void __stdcall IAccPropServices_SetHwndPropStr_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetHwndPropServer_Proxy( 
-    IAccPropServices * This,
-     HWND hwnd,
-     DWORD idObject,
-     DWORD idChild,
-     const MSAAPROPID *paProps,
-     int cProps,
-     IAccPropServer *pServer,
-     AnnoScope annoScope);
-
-
-void __stdcall IAccPropServices_SetHwndPropServer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_ClearHwndProps_Proxy( 
-    IAccPropServices * This,
-     HWND hwnd,
-     DWORD idObject,
-     DWORD idChild,
-     const MSAAPROPID *paProps,
-     int cProps);
-
-
-void __stdcall IAccPropServices_ClearHwndProps_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_ComposeHwndIdentityString_Proxy( 
-    IAccPropServices * This,
-     HWND hwnd,
-     DWORD idObject,
-     DWORD idChild,
-     BYTE **ppIDString,
-     DWORD *pdwIDStringLen);
-
-
-void __stdcall IAccPropServices_ComposeHwndIdentityString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_DecomposeHwndIdentityString_Proxy( 
-    IAccPropServices * This,
-     const BYTE *pIDString,
-     DWORD dwIDStringLen,
-     HWND *phwnd,
-     DWORD *pidObject,
-     DWORD *pidChild);
-
-
-void __stdcall IAccPropServices_DecomposeHwndIdentityString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetHmenuProp_Proxy( 
-    IAccPropServices * This,
-     HMENU hmenu,
-     DWORD idChild,
-     MSAAPROPID idProp,
-     VARIANT var);
-
-
-void __stdcall IAccPropServices_SetHmenuProp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetHmenuPropStr_Proxy( 
-    IAccPropServices * This,
-     HMENU hmenu,
-     DWORD idChild,
-     MSAAPROPID idProp,
-     LPCWSTR str);
-
-
-void __stdcall IAccPropServices_SetHmenuPropStr_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_SetHmenuPropServer_Proxy( 
-    IAccPropServices * This,
-     HMENU hmenu,
-     DWORD idChild,
-     const MSAAPROPID *paProps,
-     int cProps,
-     IAccPropServer *pServer,
-     AnnoScope annoScope);
-
-
-void __stdcall IAccPropServices_SetHmenuPropServer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_ClearHmenuProps_Proxy( 
-    IAccPropServices * This,
-     HMENU hmenu,
-     DWORD idChild,
-     const MSAAPROPID *paProps,
-     int cProps);
-
-
-void __stdcall IAccPropServices_ClearHmenuProps_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_ComposeHmenuIdentityString_Proxy( 
-    IAccPropServices * This,
-     HMENU hmenu,
-     DWORD idChild,
-     BYTE **ppIDString,
-     DWORD *pdwIDStringLen);
-
-
-void __stdcall IAccPropServices_ComposeHmenuIdentityString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccPropServices_DecomposeHmenuIdentityString_Proxy( 
-    IAccPropServices * This,
-     const BYTE *pIDString,
-     DWORD dwIDStringLen,
-     HMENU *phmenu,
-     DWORD *pidChild);
-
-
-void __stdcall IAccPropServices_DecomposeHmenuIdentityString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_oleacc_0119_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_oleacc_0119_v0_0_s_ifspec;
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-extern "C" const IID LIBID_Accessibility;
-
-extern "C" const CLSID CLSID_CAccPropServices;
-
-
-
-class __declspec(uuid("b5f8350b-0548-48b1-a6ee-88bd00b4a5e7"))
-CAccPropServices;
-
-
-
-
-
-unsigned long             __stdcall  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
-unsigned char * __stdcall  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
-unsigned char * __stdcall  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
-void                      __stdcall  BSTR_UserFree(     unsigned long *, BSTR * ); 
-
-unsigned long             __stdcall  HMENU_UserSize(     unsigned long *, unsigned long            , HMENU * ); 
-unsigned char * __stdcall  HMENU_UserMarshal(  unsigned long *, unsigned char *, HMENU * ); 
-unsigned char * __stdcall  HMENU_UserUnmarshal(unsigned long *, unsigned char *, HMENU * ); 
-void                      __stdcall  HMENU_UserFree(     unsigned long *, HMENU * ); 
-
-unsigned long             __stdcall  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
-unsigned char * __stdcall  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
-unsigned char * __stdcall  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
-void                      __stdcall  HWND_UserFree(     unsigned long *, HWND * ); 
-
-unsigned long             __stdcall  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
-unsigned char * __stdcall  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
-unsigned char * __stdcall  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
-void                      __stdcall  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-extern "C" const CLSID CLSID_Registrar;
-
-
-extern RPC_IF_HANDLE __MIDL_itf_atliface_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_atliface_0000_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRegistrarBase;
-
-
-
-	struct __declspec(uuid("e21f8a85-b05d-4243-8183-c7cb405588f7")) __declspec(novtable)
-	IRegistrarBase : public IUnknown
-	{
-	public:
-		virtual HRESULT __stdcall AddReplacement( 
-			 LPCOLESTR key,
-			 LPCOLESTR item) = 0;
-
-		virtual HRESULT __stdcall ClearReplacements( void) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRegistrarBase_AddReplacement_Proxy( 
-	IRegistrarBase * This,
-	 LPCOLESTR key,
-	 LPCOLESTR item);
-
-
-void __stdcall IRegistrarBase_AddReplacement_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrarBase_ClearReplacements_Proxy( 
-	IRegistrarBase * This);
-
-
-void __stdcall IRegistrarBase_ClearReplacements_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IRegistrar;
-
-
-
-	struct __declspec(uuid("44EC053B-400F-11D0-9DCD-00A0C90391D3")) __declspec(novtable)
-	IRegistrar : public IRegistrarBase
-	{
-	public:
-		virtual HRESULT __stdcall ResourceRegisterSz( 
-			 LPCOLESTR resFileName,
-			 LPCOLESTR szID,
-			 LPCOLESTR szType) = 0;
-
-		virtual HRESULT __stdcall ResourceUnregisterSz( 
-			 LPCOLESTR resFileName,
-			 LPCOLESTR szID,
-			 LPCOLESTR szType) = 0;
-
-		virtual HRESULT __stdcall FileRegister( 
-			 LPCOLESTR fileName) = 0;
-
-		virtual HRESULT __stdcall FileUnregister( 
-			 LPCOLESTR fileName) = 0;
-
-		virtual HRESULT __stdcall StringRegister( 
-			 LPCOLESTR data) = 0;
-
-		virtual HRESULT __stdcall StringUnregister( 
-			 LPCOLESTR data) = 0;
-
-		virtual HRESULT __stdcall ResourceRegister( 
-			 LPCOLESTR resFileName,
-			 UINT nID,
-			 LPCOLESTR szType) = 0;
-
-		virtual HRESULT __stdcall ResourceUnregister( 
-			 LPCOLESTR resFileName,
-			 UINT nID,
-			 LPCOLESTR szType) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IRegistrar_ResourceRegisterSz_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR resFileName,
-	 LPCOLESTR szID,
-	 LPCOLESTR szType);
-
-
-void __stdcall IRegistrar_ResourceRegisterSz_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_ResourceUnregisterSz_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR resFileName,
-	 LPCOLESTR szID,
-	 LPCOLESTR szType);
-
-
-void __stdcall IRegistrar_ResourceUnregisterSz_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_FileRegister_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR fileName);
-
-
-void __stdcall IRegistrar_FileRegister_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_FileUnregister_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR fileName);
-
-
-void __stdcall IRegistrar_FileUnregister_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_StringRegister_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR data);
-
-
-void __stdcall IRegistrar_StringRegister_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_StringUnregister_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR data);
-
-
-void __stdcall IRegistrar_StringUnregister_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_ResourceRegister_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR resFileName,
-	 UINT nID,
-	 LPCOLESTR szType);
-
-
-void __stdcall IRegistrar_ResourceRegister_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IRegistrar_ResourceUnregister_Proxy( 
-	IRegistrar * This,
-	 LPCOLESTR resFileName,
-	 UINT nID,
-	 LPCOLESTR szType);
-
-
-void __stdcall IRegistrar_ResourceUnregister_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-typedef 
-enum tagDOCHOSTUIDBLCLKDispatch
-	{	docHostUIDblClkDEFAULT	= 0,
-	docHostUIDblClkSHOWPROPERTIES	= 1,
-	docHostUIDblClkSHOWCODE	= 2
-	} 	DOCHOSTUIDBLCLKDispatch;
-
-typedef 
-enum tagDocHostUIFlagDispatch
-	{	docHostUIFlagDIALOG	= 1,
-	docHostUIFlagDISABLE_HELP_MENU	= 2,
-	docHostUIFlagNO3DBORDER	= 4,
-	docHostUIFlagSCROLL_NO	= 8,
-	docHostUIFlagDISABLE_SCRIPT_INACTIVE	= 16,
-	docHostUIFlagOPENNEWWIN	= 32,
-	docHostUIFlagDISABLE_OFFSCREEN	= 64,
-	docHostUIFlagFLAT_SCROLLBAR	= 128,
-	docHostUIFlagDIV_BLOCKDEFAULT	= 256,
-	docHostUIFlagACTIVATE_CLIENTHIT_ONLY	= 512
-	} 	DocHostUIFlagDispatch;
-
-
-extern "C" const IID IID_IDocHostUIHandlerDispatch;
-
-
-
-	struct __declspec(uuid("425B5AF0-65F1-11d1-9611-0000F81E0D0D")) __declspec(novtable)
-	IDocHostUIHandlerDispatch : public IDispatch
-	{
-	public:
-		virtual HRESULT __stdcall ShowContextMenu( 
-			 DWORD dwID,
-			 DWORD x,
-			 DWORD y,
-			 IUnknown *pcmdtReserved,
-			 IDispatch *pdispReserved,
-			 HRESULT *dwRetVal) = 0;
-
-		virtual HRESULT __stdcall GetHostInfo( 
-			 DWORD *pdwFlags,
-			 DWORD *pdwDoubleClick) = 0;
-
-		virtual HRESULT __stdcall ShowUI( 
-			 DWORD dwID,
-			 IUnknown *pActiveObject,
-			 IUnknown *pCommandTarget,
-			 IUnknown *pFrame,
-			 IUnknown *pDoc,
-			 HRESULT *dwRetVal) = 0;
-
-		virtual HRESULT __stdcall HideUI( void) = 0;
-
-		virtual HRESULT __stdcall UpdateUI( void) = 0;
-
-		virtual HRESULT __stdcall EnableModeless( 
-			 VARIANT_BOOL fEnable) = 0;
-
-		virtual HRESULT __stdcall OnDocWindowActivate( 
-			 VARIANT_BOOL fActivate) = 0;
-
-		virtual HRESULT __stdcall OnFrameWindowActivate( 
-			 VARIANT_BOOL fActivate) = 0;
-
-		virtual HRESULT __stdcall ResizeBorder( 
-			 long left,
-			 long top,
-			 long right,
-			 long bottom,
-			 IUnknown *pUIWindow,
-			 VARIANT_BOOL fFrameWindow) = 0;
-
-		virtual HRESULT __stdcall TranslateAcceleratorW( 
-			 DWORD_PTR hWnd,
-			 DWORD nMessage,
-			 DWORD_PTR wParam,
-			 DWORD_PTR lParam,
-			 BSTR bstrGuidCmdGroup,
-			 DWORD nCmdID,
-			 HRESULT *dwRetVal) = 0;
-
-		virtual HRESULT __stdcall GetOptionKeyPath( 
-			 BSTR *pbstrKey,
-			 DWORD dw) = 0;
-
-		virtual HRESULT __stdcall GetDropTarget( 
-			 IUnknown *pDropTarget,
-			 IUnknown **ppDropTarget) = 0;
-
-		virtual HRESULT __stdcall GetExternal( 
-			 IDispatch **ppDispatch) = 0;
-
-		virtual HRESULT __stdcall TranslateUrl( 
-			 DWORD dwTranslate,
-			 BSTR bstrURLIn,
-			 BSTR *pbstrURLOut) = 0;
-
-		virtual HRESULT __stdcall FilterDataObject( 
-			 IUnknown *pDO,
-			 IUnknown **ppDORet) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_ShowContextMenu_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 DWORD dwID,
-	 DWORD x,
-	 DWORD y,
-	 IUnknown *pcmdtReserved,
-	 IDispatch *pdispReserved,
-	 HRESULT *dwRetVal);
-
-
-void __stdcall IDocHostUIHandlerDispatch_ShowContextMenu_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_GetHostInfo_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 DWORD *pdwFlags,
-	 DWORD *pdwDoubleClick);
-
-
-void __stdcall IDocHostUIHandlerDispatch_GetHostInfo_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_ShowUI_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 DWORD dwID,
-	 IUnknown *pActiveObject,
-	 IUnknown *pCommandTarget,
-	 IUnknown *pFrame,
-	 IUnknown *pDoc,
-	 HRESULT *dwRetVal);
-
-
-void __stdcall IDocHostUIHandlerDispatch_ShowUI_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_HideUI_Proxy( 
-	IDocHostUIHandlerDispatch * This);
-
-
-void __stdcall IDocHostUIHandlerDispatch_HideUI_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_UpdateUI_Proxy( 
-	IDocHostUIHandlerDispatch * This);
-
-
-void __stdcall IDocHostUIHandlerDispatch_UpdateUI_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_EnableModeless_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 VARIANT_BOOL fEnable);
-
-
-void __stdcall IDocHostUIHandlerDispatch_EnableModeless_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_OnDocWindowActivate_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 VARIANT_BOOL fActivate);
-
-
-void __stdcall IDocHostUIHandlerDispatch_OnDocWindowActivate_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_OnFrameWindowActivate_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 VARIANT_BOOL fActivate);
-
-
-void __stdcall IDocHostUIHandlerDispatch_OnFrameWindowActivate_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_ResizeBorder_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 long left,
-	 long top,
-	 long right,
-	 long bottom,
-	 IUnknown *pUIWindow,
-	 VARIANT_BOOL fFrameWindow);
-
-
-void __stdcall IDocHostUIHandlerDispatch_ResizeBorder_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_TranslateAccelerator_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 DWORD_PTR hWnd,
-	 DWORD nMessage,
-	 DWORD_PTR wParam,
-	 DWORD_PTR lParam,
-	 BSTR bstrGuidCmdGroup,
-	 DWORD nCmdID,
-	 HRESULT *dwRetVal);
-
-
-void __stdcall IDocHostUIHandlerDispatch_TranslateAccelerator_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_GetOptionKeyPath_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 BSTR *pbstrKey,
-	 DWORD dw);
-
-
-void __stdcall IDocHostUIHandlerDispatch_GetOptionKeyPath_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_GetDropTarget_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 IUnknown *pDropTarget,
-	 IUnknown **ppDropTarget);
-
-
-void __stdcall IDocHostUIHandlerDispatch_GetDropTarget_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_GetExternal_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 IDispatch **ppDispatch);
-
-
-void __stdcall IDocHostUIHandlerDispatch_GetExternal_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_TranslateUrl_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 DWORD dwTranslate,
-	 BSTR bstrURLIn,
-	 BSTR *pbstrURLOut);
-
-
-void __stdcall IDocHostUIHandlerDispatch_TranslateUrl_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IDocHostUIHandlerDispatch_FilterDataObject_Proxy( 
-	IDocHostUIHandlerDispatch * This,
-	 IUnknown *pDO,
-	 IUnknown **ppDORet);
-
-
-void __stdcall IDocHostUIHandlerDispatch_FilterDataObject_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAxWinHostWindow;
-
-
-
-	struct __declspec(uuid("B6EA2050-048A-11d1-82B9-00C04FB9942E")) __declspec(novtable)
-	IAxWinHostWindow : public IUnknown
-	{
-	public:
-		virtual HRESULT __stdcall CreateControl( 
-			 LPCOLESTR lpTricsData,
-			 HWND hWnd,
-			 IStream *pStream) = 0;
-
-		virtual HRESULT __stdcall CreateControlEx( 
-			 LPCOLESTR lpTricsData,
-			 HWND hWnd,
-			 IStream *pStream,
-			 IUnknown **ppUnk,
-			 const IID & riidAdvise,
-			 IUnknown *punkAdvise) = 0;
-
-		virtual HRESULT __stdcall AttachControl( 
-			 IUnknown *pUnkControl,
-			 HWND hWnd) = 0;
-
-		virtual HRESULT __stdcall QueryControl( 
-			 const IID & riid,
-			 void **ppvObject) = 0;
-
-		virtual HRESULT __stdcall SetExternalDispatch( 
-			 IDispatch *pDisp) = 0;
-
-		virtual HRESULT __stdcall SetExternalUIHandler( 
-			 IDocHostUIHandlerDispatch *pDisp) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAxWinHostWindow_CreateControl_Proxy( 
-	IAxWinHostWindow * This,
-	 LPCOLESTR lpTricsData,
-	 HWND hWnd,
-	 IStream *pStream);
-
-
-void __stdcall IAxWinHostWindow_CreateControl_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAxWinHostWindow_CreateControlEx_Proxy( 
-	IAxWinHostWindow * This,
-	 LPCOLESTR lpTricsData,
-	 HWND hWnd,
-	 IStream *pStream,
-	 IUnknown **ppUnk,
-	 const IID & riidAdvise,
-	 IUnknown *punkAdvise);
-
-
-void __stdcall IAxWinHostWindow_CreateControlEx_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAxWinHostWindow_AttachControl_Proxy( 
-	IAxWinHostWindow * This,
-	 IUnknown *pUnkControl,
-	 HWND hWnd);
-
-
-void __stdcall IAxWinHostWindow_AttachControl_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAxWinHostWindow_QueryControl_Proxy( 
-	IAxWinHostWindow * This,
-	 const IID & riid,
-	 void **ppvObject);
-
-
-void __stdcall IAxWinHostWindow_QueryControl_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAxWinHostWindow_SetExternalDispatch_Proxy( 
-	IAxWinHostWindow * This,
-	 IDispatch *pDisp);
-
-
-void __stdcall IAxWinHostWindow_SetExternalDispatch_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAxWinHostWindow_SetExternalUIHandler_Proxy( 
-	IAxWinHostWindow * This,
-	 IDocHostUIHandlerDispatch *pDisp);
-
-
-void __stdcall IAxWinHostWindow_SetExternalUIHandler_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAxWinHostWindowLic;
-
-
-
-	struct __declspec(uuid("3935BDA8-4ED9-495c-8650-E01FC1E38A4B")) __declspec(novtable)
-	IAxWinHostWindowLic : public IAxWinHostWindow
-	{
-	public:
-		virtual HRESULT __stdcall CreateControlLic( 
-			 LPCOLESTR lpTricsData,
-			 HWND hWnd,
-			 IStream *pStream,
-			 BSTR bstrLic) = 0;
-
-		virtual HRESULT __stdcall CreateControlLicEx( 
-			 LPCOLESTR lpTricsData,
-			 HWND hWnd,
-			 IStream *pStream,
-			 IUnknown **ppUnk,
-			 const IID & riidAdvise,
-			 IUnknown *punkAdvise,
-			 BSTR bstrLic) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAxWinHostWindowLic_CreateControlLic_Proxy( 
-	IAxWinHostWindowLic * This,
-	 LPCOLESTR lpTricsData,
-	 HWND hWnd,
-	 IStream *pStream,
-	 BSTR bstrLic);
-
-
-void __stdcall IAxWinHostWindowLic_CreateControlLic_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAxWinHostWindowLic_CreateControlLicEx_Proxy( 
-	IAxWinHostWindowLic * This,
-	 LPCOLESTR lpTricsData,
-	 HWND hWnd,
-	 IStream *pStream,
-	 IUnknown **ppUnk,
-	 const IID & riidAdvise,
-	 IUnknown *punkAdvise,
-	 BSTR bstrLic);
-
-
-void __stdcall IAxWinHostWindowLic_CreateControlLicEx_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAxWinAmbientDispatch;
-
-
-
-	struct __declspec(uuid("B6EA2051-048A-11d1-82B9-00C04FB9942E")) __declspec(novtable)
-	IAxWinAmbientDispatch : public IDispatch
-	{
-	public:
-		virtual  HRESULT __stdcall put_AllowWindowlessActivation( 
-			 VARIANT_BOOL bCanWindowlessActivate) = 0;
-
-		virtual  HRESULT __stdcall get_AllowWindowlessActivation( 
-			 VARIANT_BOOL *pbCanWindowlessActivate) = 0;
-
-		virtual  HRESULT __stdcall put_BackColor( 
-			 OLE_COLOR clrBackground) = 0;
-
-		virtual  HRESULT __stdcall get_BackColor( 
-			 OLE_COLOR *pclrBackground) = 0;
-
-		virtual  HRESULT __stdcall put_ForeColor( 
-			 OLE_COLOR clrForeground) = 0;
-
-		virtual  HRESULT __stdcall get_ForeColor( 
-			 OLE_COLOR *pclrForeground) = 0;
-
-		virtual  HRESULT __stdcall put_LocaleID( 
-			 LCID lcidLocaleID) = 0;
-
-		virtual  HRESULT __stdcall get_LocaleID( 
-			 LCID *plcidLocaleID) = 0;
-
-		virtual  HRESULT __stdcall put_UserMode( 
-			 VARIANT_BOOL bUserMode) = 0;
-
-		virtual  HRESULT __stdcall get_UserMode( 
-			 VARIANT_BOOL *pbUserMode) = 0;
-
-		virtual  HRESULT __stdcall put_DisplayAsDefault( 
-			 VARIANT_BOOL bDisplayAsDefault) = 0;
-
-		virtual  HRESULT __stdcall get_DisplayAsDefault( 
-			 VARIANT_BOOL *pbDisplayAsDefault) = 0;
-
-		virtual  HRESULT __stdcall put_Font( 
-			 IFontDisp *pFont) = 0;
-
-		virtual  HRESULT __stdcall get_Font( 
-			 IFontDisp **pFont) = 0;
-
-		virtual  HRESULT __stdcall put_MessageReflect( 
-			 VARIANT_BOOL bMsgReflect) = 0;
-
-		virtual  HRESULT __stdcall get_MessageReflect( 
-			 VARIANT_BOOL *pbMsgReflect) = 0;
-
-		virtual  HRESULT __stdcall get_ShowGrabHandles( 
-			 VARIANT_BOOL *pbShowGrabHandles) = 0;
-
-		virtual  HRESULT __stdcall get_ShowHatching( 
-			 VARIANT_BOOL *pbShowHatching) = 0;
-
-		virtual  HRESULT __stdcall put_DocHostFlags( 
-			 DWORD dwDocHostFlags) = 0;
-
-		virtual  HRESULT __stdcall get_DocHostFlags( 
-			 DWORD *pdwDocHostFlags) = 0;
-
-		virtual  HRESULT __stdcall put_DocHostDoubleClickFlags( 
-			 DWORD dwDocHostDoubleClickFlags) = 0;
-
-		virtual  HRESULT __stdcall get_DocHostDoubleClickFlags( 
-			 DWORD *pdwDocHostDoubleClickFlags) = 0;
-
-		virtual  HRESULT __stdcall put_AllowContextMenu( 
-			 VARIANT_BOOL bAllowContextMenu) = 0;
-
-		virtual  HRESULT __stdcall get_AllowContextMenu( 
-			 VARIANT_BOOL *pbAllowContextMenu) = 0;
-
-		virtual  HRESULT __stdcall put_AllowShowUI( 
-			 VARIANT_BOOL bAllowShowUI) = 0;
-
-		virtual  HRESULT __stdcall get_AllowShowUI( 
-			 VARIANT_BOOL *pbAllowShowUI) = 0;
-
-		virtual  HRESULT __stdcall put_OptionKeyPath( 
-			 BSTR bstrOptionKeyPath) = 0;
-
-		virtual  HRESULT __stdcall get_OptionKeyPath( 
-			 BSTR *pbstrOptionKeyPath) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_AllowWindowlessActivation_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL bCanWindowlessActivate);
-
-
-void __stdcall IAxWinAmbientDispatch_put_AllowWindowlessActivation_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_AllowWindowlessActivation_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbCanWindowlessActivate);
-
-
-void __stdcall IAxWinAmbientDispatch_get_AllowWindowlessActivation_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_BackColor_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 OLE_COLOR clrBackground);
-
-
-void __stdcall IAxWinAmbientDispatch_put_BackColor_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_BackColor_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 OLE_COLOR *pclrBackground);
-
-
-void __stdcall IAxWinAmbientDispatch_get_BackColor_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_ForeColor_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 OLE_COLOR clrForeground);
-
-
-void __stdcall IAxWinAmbientDispatch_put_ForeColor_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_ForeColor_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 OLE_COLOR *pclrForeground);
-
-
-void __stdcall IAxWinAmbientDispatch_get_ForeColor_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_LocaleID_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 LCID lcidLocaleID);
-
-
-void __stdcall IAxWinAmbientDispatch_put_LocaleID_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_LocaleID_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 LCID *plcidLocaleID);
-
-
-void __stdcall IAxWinAmbientDispatch_get_LocaleID_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_UserMode_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL bUserMode);
-
-
-void __stdcall IAxWinAmbientDispatch_put_UserMode_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_UserMode_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbUserMode);
-
-
-void __stdcall IAxWinAmbientDispatch_get_UserMode_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_DisplayAsDefault_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL bDisplayAsDefault);
-
-
-void __stdcall IAxWinAmbientDispatch_put_DisplayAsDefault_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_DisplayAsDefault_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbDisplayAsDefault);
-
-
-void __stdcall IAxWinAmbientDispatch_get_DisplayAsDefault_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_Font_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 IFontDisp *pFont);
-
-
-void __stdcall IAxWinAmbientDispatch_put_Font_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_Font_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 IFontDisp **pFont);
-
-
-void __stdcall IAxWinAmbientDispatch_get_Font_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_MessageReflect_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL bMsgReflect);
-
-
-void __stdcall IAxWinAmbientDispatch_put_MessageReflect_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_MessageReflect_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbMsgReflect);
-
-
-void __stdcall IAxWinAmbientDispatch_get_MessageReflect_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_ShowGrabHandles_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbShowGrabHandles);
-
-
-void __stdcall IAxWinAmbientDispatch_get_ShowGrabHandles_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_ShowHatching_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbShowHatching);
-
-
-void __stdcall IAxWinAmbientDispatch_get_ShowHatching_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_DocHostFlags_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 DWORD dwDocHostFlags);
-
-
-void __stdcall IAxWinAmbientDispatch_put_DocHostFlags_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_DocHostFlags_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 DWORD *pdwDocHostFlags);
-
-
-void __stdcall IAxWinAmbientDispatch_get_DocHostFlags_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_DocHostDoubleClickFlags_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 DWORD dwDocHostDoubleClickFlags);
-
-
-void __stdcall IAxWinAmbientDispatch_put_DocHostDoubleClickFlags_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_DocHostDoubleClickFlags_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 DWORD *pdwDocHostDoubleClickFlags);
-
-
-void __stdcall IAxWinAmbientDispatch_get_DocHostDoubleClickFlags_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_AllowContextMenu_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL bAllowContextMenu);
-
-
-void __stdcall IAxWinAmbientDispatch_put_AllowContextMenu_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_AllowContextMenu_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbAllowContextMenu);
-
-
-void __stdcall IAxWinAmbientDispatch_get_AllowContextMenu_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_AllowShowUI_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL bAllowShowUI);
-
-
-void __stdcall IAxWinAmbientDispatch_put_AllowShowUI_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_AllowShowUI_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 VARIANT_BOOL *pbAllowShowUI);
-
-
-void __stdcall IAxWinAmbientDispatch_get_AllowShowUI_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_put_OptionKeyPath_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 BSTR bstrOptionKeyPath);
-
-
-void __stdcall IAxWinAmbientDispatch_put_OptionKeyPath_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
- HRESULT __stdcall IAxWinAmbientDispatch_get_OptionKeyPath_Proxy( 
-	IAxWinAmbientDispatch * This,
-	 BSTR *pbstrOptionKeyPath);
-
-
-void __stdcall IAxWinAmbientDispatch_get_OptionKeyPath_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAxWinAmbientDispatchEx;
-
-
-
-	struct __declspec(uuid("B2D0778B-AC99-4c58-A5C8-E7724E5316B5")) __declspec(novtable)
-	IAxWinAmbientDispatchEx : public IAxWinAmbientDispatch
-	{
-	public:
-		virtual  HRESULT __stdcall SetAmbientDispatch( 
-			 IDispatch *pDispatch) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HRESULT __stdcall IAxWinAmbientDispatchEx_SetAmbientDispatch_Proxy( 
-	IAxWinAmbientDispatchEx * This,
-	 IDispatch *pDispatch);
-
-
-void __stdcall IAxWinAmbientDispatchEx_SetAmbientDispatch_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IInternalConnection;
-
-
-
-	struct __declspec(uuid("72AD0770-6A9F-11d1-BCEC-0060088F444E")) __declspec(novtable)
-	IInternalConnection : public IUnknown
-	{
-	public:
-		virtual HRESULT __stdcall AddConnection( void) = 0;
-
-		virtual HRESULT __stdcall ReleaseConnection( void) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IInternalConnection_AddConnection_Proxy( 
-	IInternalConnection * This);
-
-
-void __stdcall IInternalConnection_AddConnection_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IInternalConnection_ReleaseConnection_Proxy( 
-	IInternalConnection * This);
-
-
-void __stdcall IInternalConnection_ReleaseConnection_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
- 
-
-
-#pragma pack(push,8)
-namespace ATL
-{
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) INT_PTR __stdcall AtlAxDialogBoxW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, LPARAM dwInitParam);
-extern "C" __declspec(dllimport) INT_PTR __stdcall AtlAxDialogBoxA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, LPARAM dwInitParam);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HWND __stdcall AtlAxCreateDialogW(HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, LPARAM dwInitParam);
-extern "C" __declspec(dllimport) HWND __stdcall AtlAxCreateDialogA(HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogProc, LPARAM dwInitParam);
-
-
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxCreateControl(LPCOLESTR lpszName, HWND hWnd, IStream* pStream, IUnknown** ppUnkContainer);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxCreateControlEx(LPCOLESTR lpszName, HWND hWnd, IStream* pStream, 
-		IUnknown** ppUnkContainer, IUnknown** ppUnkControl, 
-		const IID & iidSink=GUID_NULL, IUnknown* punkSink=0);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxCreateControlLic(LPCOLESTR lpszName, HWND hWnd, IStream* pStream, IUnknown** ppUnkContainer, BSTR bstrLic = 0);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxCreateControlLicEx(LPCOLESTR lpszName, HWND hWnd, IStream* pStream, 
-		IUnknown** ppUnkContainer, IUnknown** ppUnkControl, 
-		const IID & iidSink=GUID_NULL, IUnknown* punkSink=0, BSTR bstrLic = 0);
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxAttachControl(IUnknown* pControl, HWND hWnd, IUnknown** ppUnkContainer);
-extern "C" __declspec(dllimport) BOOL __stdcall AtlAxWinInit();
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxGetHost(HWND h, IUnknown** pp);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAxGetControl(HWND h, IUnknown** pp);
-
-}; 
-#pragma pack(pop)
-
-extern RPC_IF_HANDLE __MIDL_itf_atliface_0257_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_atliface_0257_v0_0_s_ifspec;
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAccessibleProxy;
-
-
-
-	struct __declspec(uuid("7A7D9DCF-B7A1-4019-9031-258268846980")) __declspec(novtable)
-	IAccessibleProxy : public IUnknown
-	{
-	public:
-		virtual HRESULT __stdcall SetServer( 
-			 IAccessible *pAccessible,
-			 IAccessibleServer *pServer) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAccessibleProxy_SetServer_Proxy( 
-	IAccessibleProxy * This,
-	 IAccessible *pAccessible,
-	 IAccessibleServer *pServer);
-
-
-void __stdcall IAccessibleProxy_SetServer_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-
-
- 
-
-
-extern "C" const IID IID_IAccessibleServer;
-
-
-
-	struct __declspec(uuid("52C8FB5E-D779-4e77-AE9F-F611FA7E9D7A")) __declspec(novtable)
-	IAccessibleServer : public IUnknown
-	{
-	public:
-		virtual HRESULT __stdcall SetProxy( 
-			 IAccessibleProxy *pUnknown) = 0;
-
-		virtual HRESULT __stdcall GetHWND( 
-			 HWND *phWnd) = 0;
-
-		virtual HRESULT __stdcall GetEnumVariant( 
-			 IEnumVARIANT **ppEnumVariant) = 0;
-
-	};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-HRESULT __stdcall IAccessibleServer_SetProxy_Proxy( 
-	IAccessibleServer * This,
-	 IAccessibleProxy *pUnknown);
-
-
-void __stdcall IAccessibleServer_SetProxy_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccessibleServer_GetHWND_Proxy( 
-	IAccessibleServer * This,
-	 HWND *phWnd);
-
-
-void __stdcall IAccessibleServer_GetHWND_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-HRESULT __stdcall IAccessibleServer_GetEnumVariant_Proxy( 
-	IAccessibleServer * This,
-	 IEnumVARIANT **ppEnumVariant);
-
-
-void __stdcall IAccessibleServer_GetEnumVariant_Stub(
-	IRpcStubBuffer *This,
-	IRpcChannelBuffer *_pRpcChannelBuffer,
-	PRPC_MESSAGE _pRpcMessage,
-	DWORD *_pdwStubPhase);
-
-
-
-
-
-
-
-
-unsigned long             __stdcall  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
-unsigned char * __stdcall  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
-unsigned char * __stdcall  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
-void                      __stdcall  BSTR_UserFree(     unsigned long *, BSTR * ); 
-
-unsigned long             __stdcall  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
-unsigned char * __stdcall  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
-unsigned char * __stdcall  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
-void                      __stdcall  HWND_UserFree(     unsigned long *, HWND * ); 
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) uintptr_t __cdecl _beginthread (     void (__cdecl * _StartAddress) (void *),
-             unsigned _StackSize,        void * _ArgList);
-__declspec(dllimport) void __cdecl _endthread(void);
-__declspec(dllimport) uintptr_t __cdecl _beginthreadex(       void * _Security,      unsigned _StackSize,
-             unsigned (__stdcall * _StartAddress) (void *),        void * _ArgList, 
-             unsigned _InitFlag,        unsigned * _ThrdAddr);
-__declspec(dllimport) void __cdecl _endthreadex(     unsigned _Retval);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(dllimport) void __cdecl _cexit(void);
-__declspec(dllimport) void __cdecl _c_exit(void);
-__declspec(dllimport) int __cdecl _getpid(void);
-
-__declspec(dllimport) intptr_t __cdecl _cwait(       int * _TermStat,      intptr_t _ProcHandle,      int _Action);
-__declspec(dllimport) intptr_t __cdecl _execl(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _execle(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _execlp(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _execlpe(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _execv(       const char * _Filename,        const char * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _execve(       const char * _Filename,        const char * const * _ArgList,          const char * const * _Env);
-__declspec(dllimport) intptr_t __cdecl _execvp(       const char * _Filename,        const char * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _execvpe(       const char * _Filename,        const char * const * _ArgList,          const char * const * _Env);
-__declspec(dllimport) intptr_t __cdecl _spawnl(     int _Mode,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _spawnle(     int _Mode,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _spawnlp(     int _Mode,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _spawnlpe(     int _Mode,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(dllimport) intptr_t __cdecl _spawnv(     int _Mode,        const char * _Filename,        const char * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _spawnve(     int _Mode,        const char * _Filename,        const char * const * _ArgList,
-                 const char * const * _Env);
-__declspec(dllimport) intptr_t __cdecl _spawnvp(     int _Mode,        const char * _Filename,        const char * const * _ArgList);
-__declspec(dllimport) intptr_t __cdecl _spawnvpe(     int _Mode,        const char * _Filename,        const char * const * _ArgList,
-                 const char * const * _Env);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-void __cdecl __security_init_cookie(void);
-
-void __fastcall __security_check_cookie(     uintptr_t _StackCookie);
-__declspec(noreturn) void __cdecl __report_gsfailure(void);
-
-
-
-
-
-extern uintptr_t __security_cookie;
-
-
-
-
-
-
-
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "LoadLibrary" " instead. See online help for details.")) intptr_t __cdecl _loaddll(       char * _Filename);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "FreeLibrary" " instead. See online help for details.")) int __cdecl _unloaddll(     intptr_t _Handle);
-__declspec(deprecated("This function or variable has been superceded by newer library or operating system functionality. Consider using " "GetProcAddress" " instead. See online help for details.")) int (__cdecl * __cdecl _getdllprocaddr(     intptr_t _Handle,          char * _ProcedureName,      intptr_t _Ordinal))(void);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_cwait" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl cwait(       int * _TermStat,      intptr_t _ProcHandle,      int _Action);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execl" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execl(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execle" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execle(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execlp" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execlp(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execlpe" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execlpe(       const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execv" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execv(       const char * _Filename,        const char * const * _ArgList);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execve" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execve(       const char * _Filename,        const char * const * _ArgList,          const char * const * _Env);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execvp" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execvp(       const char * _Filename,        const char * const * _ArgList);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_execvpe" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl execvpe(       const char * _Filename,        const char * const * _ArgList,          const char * const * _Env);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnl" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnl(     int,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnle" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnle(     int,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnlp" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnlp(     int,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnlpe" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnlpe(     int,        const char * _Filename,        const char * _ArgList, ...);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnv" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnv(     int,        const char * _Filename,        const char * const * _ArgList);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnve" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnve(     int,        const char * _Filename,        const char * const * _ArgList,
-                 const char * const * _Env);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnvp" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnvp(     int,        const char * _Filename,        const char * const * _ArgList);
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_spawnvpe" ". See online help for details.")) __declspec(dllimport) intptr_t __cdecl spawnvpe(     int,        const char * _Filename,        const char * const * _ArgList,
-                 const char * const * _Env);
-
-__declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: " "_getpid" ". See online help for details.")) __declspec(dllimport) int __cdecl getpid(void);
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-
-
-
-#pragma warning( disable: 4049 )  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
- 
-
-
-
-
-
-extern "C"{
-
-
-void * __stdcall MIDL_user_allocate(size_t);
-void __stdcall MIDL_user_free( void * ); 
-
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _SHITEMID
-    {
-    USHORT cb;
-    BYTE abID[ 1 ];
-    } 	SHITEMID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-typedef SHITEMID  *LPSHITEMID;
-
-typedef const SHITEMID  *LPCSHITEMID;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _ITEMIDLIST
-    {
-    SHITEMID mkid;
-    } 	ITEMIDLIST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-typedef  BYTE_BLOB *wirePIDL;
-
-typedef  ITEMIDLIST  *LPITEMIDLIST;
-
-typedef  const ITEMIDLIST  *LPCITEMIDLIST;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef  
-enum tagSTRRET_TYPE
-    {	STRRET_WSTR	= 0,
-	STRRET_OFFSET	= 0x1,
-	STRRET_CSTR	= 0x2
-    } 	STRRET_TYPE;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-typedef struct _STRRET
-    {
-    UINT uType;
-     union 
-        {
-         LPWSTR pOleStr;
-         UINT uOffset;
-         char cStr[ 260 ];
-        } 	;
-    } 	STRRET;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-typedef STRRET *LPSTRRET;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,1)
-
-
-
-
-
-
-
-
-typedef struct _SHELLDETAILS
-    {
-    int fmt;
-    int cxChar;
-    STRRET str;
-    } 	SHELLDETAILS;
-
-typedef struct _SHELLDETAILS *LPSHELLDETAILS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_shtypes_0000_v0_0_s_ifspec;
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(push,8)
-
-
-
-
-
-
-
-
-
-
-
-extern "C" {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrChrA(LPCSTR lpStart, WORD wMatch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrChrW(LPCWSTR lpStart, WCHAR wMatch);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrChrIA(LPCSTR lpStart, WORD wMatch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrChrIW(LPCWSTR lpStart, WCHAR wMatch);
-extern "C" __declspec(dllimport) int __stdcall      StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, int nChar);
-extern "C" __declspec(dllimport) int __stdcall      StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, int nChar);
-extern "C" __declspec(dllimport) int __stdcall      StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, int nChar);
-extern "C" __declspec(dllimport) int __stdcall      StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, int nChar);
-extern "C" __declspec(dllimport) int __stdcall      StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
-extern "C" __declspec(dllimport) int __stdcall      StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
-extern "C" __declspec(dllimport) int __stdcall      StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
-extern "C" __declspec(dllimport) int __stdcall      StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrDupA(LPCSTR lpSrch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrDupW(LPCWSTR lpSrch);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrFormatByteSizeA(DWORD dw, LPSTR szBuf, UINT uiBufSize);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrFormatByteSize64A(LONGLONG qdw, LPSTR szBuf, UINT uiBufSize);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrFormatByteSizeW(LONGLONG qdw, LPWSTR szBuf, UINT uiBufSize);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrFormatKBSizeW(LONGLONG qdw, LPWSTR szBuf, UINT uiBufSize);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrFormatKBSizeA(LONGLONG qdw, LPSTR szBuf, UINT uiBufSize);
-extern "C" __declspec(dllimport) int __stdcall      StrFromTimeIntervalA(LPSTR pszOut, UINT cchMax, DWORD dwTimeMS, int digits);
-extern "C" __declspec(dllimport) int __stdcall      StrFromTimeIntervalW(LPWSTR pszOut, UINT cchMax, DWORD dwTimeMS, int digits);
-extern "C" __declspec(dllimport) BOOL __stdcall     StrIsIntlEqualA(BOOL fCaseSens, LPCSTR lpString1, LPCSTR lpString2, int nChar);
-extern "C" __declspec(dllimport) BOOL __stdcall     StrIsIntlEqualW(BOOL fCaseSens, LPCWSTR lpString1, LPCWSTR lpString2, int nChar);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrNCatA(LPSTR psz1, LPCSTR psz2, int cchMax);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrNCatW(LPWSTR psz1, LPCWSTR psz2, int cchMax);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrPBrkA(LPCSTR psz, LPCSTR pszSet);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrPBrkW(LPCWSTR psz, LPCWSTR pszSet);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrRChrA(LPCSTR lpStart, LPCSTR lpEnd, WORD wMatch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrRChrW(LPCWSTR lpStart, LPCWSTR lpEnd, WCHAR wMatch);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrRChrIA(LPCSTR lpStart, LPCSTR lpEnd, WORD wMatch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrRChrIW(LPCWSTR lpStart, LPCWSTR lpEnd, WCHAR wMatch);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrRStrIA(LPCSTR lpSource, LPCSTR lpLast, LPCSTR lpSrch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrRStrIW(LPCWSTR lpSource, LPCWSTR lpLast, LPCWSTR lpSrch);
-extern "C" __declspec(dllimport) int __stdcall      StrSpnA(LPCSTR psz, LPCSTR pszSet);
-extern "C" __declspec(dllimport) int __stdcall      StrSpnW(LPCWSTR psz, LPCWSTR pszSet);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrStrA(LPCSTR lpFirst, LPCSTR lpSrch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrStrW(LPCWSTR lpFirst, LPCWSTR lpSrch);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrStrIA(LPCSTR lpFirst, LPCSTR lpSrch);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrStrIW(LPCWSTR lpFirst, LPCWSTR lpSrch);
-extern "C" __declspec(dllimport) int __stdcall      StrToIntA(LPCSTR lpSrc);
-extern "C" __declspec(dllimport) int __stdcall      StrToIntW(LPCWSTR lpSrc);
-extern "C" __declspec(dllimport) BOOL __stdcall     StrToIntExA(LPCSTR pszString, DWORD dwFlags, int * piRet);
-extern "C" __declspec(dllimport) BOOL __stdcall     StrToIntExW(LPCWSTR pszString, DWORD dwFlags, int * piRet);
-
-extern "C" __declspec(dllimport) BOOL __stdcall     StrToInt64ExA(LPCSTR pszString, DWORD dwFlags, LONGLONG * pllRet);
-extern "C" __declspec(dllimport) BOOL __stdcall     StrToInt64ExW(LPCWSTR pszString, DWORD dwFlags, LONGLONG * pllRet);
-
-extern "C" __declspec(dllimport) BOOL __stdcall     StrTrimA(LPSTR psz, LPCSTR pszTrimChars);
-extern "C" __declspec(dllimport) BOOL __stdcall     StrTrimW(LPWSTR psz, LPCWSTR pszTrimChars);
-
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrCatW(LPWSTR psz1, LPCWSTR psz2);
-extern "C" __declspec(dllimport) int __stdcall      StrCmpW(LPCWSTR psz1, LPCWSTR psz2);
-extern "C" __declspec(dllimport) int __stdcall      StrCmpIW(LPCWSTR psz1, LPCWSTR psz2);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrCpyW(LPWSTR psz1, LPCWSTR psz2);
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrCpyNW(LPWSTR psz1, LPCWSTR psz2, int cchMax);
-
-extern "C" __declspec(dllimport) LPWSTR __stdcall   StrCatBuffW(LPWSTR pszDest, LPCWSTR pszSrc, int cchDestBuffSize);
-extern "C" __declspec(dllimport) LPSTR __stdcall    StrCatBuffA(LPSTR pszDest, LPCSTR pszSrc, int cchDestBuffSize);
-
-extern "C" __declspec(dllimport) BOOL __stdcall     ChrCmpIA(WORD w1, WORD w2);
-extern "C" __declspec(dllimport) BOOL __stdcall     ChrCmpIW(WCHAR w1, WCHAR w2);
-
-extern "C" __declspec(dllimport) int __stdcall      wvnsprintfA(LPSTR lpOut, int cchLimitIn, LPCSTR lpFmt, va_list arglist);
-extern "C" __declspec(dllimport) int __stdcall      wvnsprintfW(LPWSTR lpOut, int cchLimitIn, LPCWSTR lpFmt, va_list arglist);
-extern "C" __declspec(dllimport) int __cdecl     wnsprintfA(LPSTR lpOut, int cchLimitIn, LPCSTR lpFmt, ...);
-extern "C" __declspec(dllimport) int __cdecl     wnsprintfW(LPWSTR lpOut, int cchLimitIn, LPCWSTR lpFmt, ...);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StrRetToStrA(STRRET *pstr, LPCITEMIDLIST pidl, LPSTR *ppsz);
-extern "C" __declspec(dllimport) HRESULT __stdcall StrRetToStrW(STRRET *pstr, LPCITEMIDLIST pidl, LPWSTR *ppsz);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StrRetToBufA(STRRET *pstr, LPCITEMIDLIST pidl, LPSTR pszBuf, UINT cchBuf);
-extern "C" __declspec(dllimport) HRESULT __stdcall StrRetToBufW(STRRET *pstr, LPCITEMIDLIST pidl, LPWSTR pszBuf, UINT cchBuf);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall StrRetToBSTR(STRRET *pstr, LPCITEMIDLIST pidl, BSTR *pbstr);
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHStrDupA(LPCSTR psz, WCHAR **ppwsz);
-extern "C" __declspec(dllimport) HRESULT __stdcall SHStrDupW(LPCWSTR psz, WCHAR **ppwsz);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) int __stdcall StrCmpLogicalW(LPCWSTR psz1, LPCWSTR psz2);
-extern "C" __declspec(dllimport) DWORD __stdcall StrCatChainW(LPWSTR pszDst, DWORD cchDst, DWORD ichAt, LPCWSTR pszSrc);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHLoadIndirectString(LPCWSTR pszSource, LPWSTR pszOutBuf, UINT cchOutBuf, void **ppvReserved);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     IntlStrEqWorkerA(BOOL fCaseSens, LPCSTR lpString1, LPCSTR lpString2, int nChar);
-extern "C" __declspec(dllimport) BOOL __stdcall     IntlStrEqWorkerW(BOOL fCaseSens, LPCWSTR lpString1, LPCWSTR lpString2, int nChar);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathAddBackslashA(LPSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathAddBackslashW(LPWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathAppendA(LPSTR pszPath, LPCSTR pMore);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathAppendW(LPWSTR pszPath, LPCWSTR pMore);
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathBuildRootA(LPSTR pszRoot, int iDrive);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathBuildRootW(LPWSTR pszRoot, int iDrive);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathCanonicalizeA(LPSTR pszBuf, LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathCanonicalizeW(LPWSTR pszBuf, LPCWSTR pszPath);
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathCombineA(LPSTR pszDest, LPCSTR pszDir, LPCSTR pszFile);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathCombineW(LPWSTR pszDest, LPCWSTR pszDir, LPCWSTR pszFile);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathCompactPathA(HDC hDC, LPSTR pszPath, UINT dx);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathCompactPathW(HDC hDC, LPWSTR pszPath, UINT dx);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathCompactPathExA(LPSTR pszOut, LPCSTR pszSrc, UINT cchMax, DWORD dwFlags);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathCompactPathExW(LPWSTR pszOut, LPCWSTR pszSrc, UINT cchMax, DWORD dwFlags);
-extern "C" __declspec(dllimport) int __stdcall      PathCommonPrefixA(LPCSTR pszFile1, LPCSTR pszFile2, LPSTR achPath);
-extern "C" __declspec(dllimport) int __stdcall      PathCommonPrefixW(LPCWSTR pszFile1, LPCWSTR pszFile2, LPWSTR achPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathFileExistsA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathFileExistsW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathFindExtensionA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathFindExtensionW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathFindFileNameA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathFindFileNameW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathFindNextComponentA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathFindNextComponentW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathFindOnPathA(LPSTR pszPath, LPCSTR * ppszOtherDirs);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathFindOnPathW(LPWSTR pszPath, LPCWSTR * ppszOtherDirs);
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathGetArgsA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathGetArgsW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) LPCSTR __stdcall PathFindSuffixArrayA(LPCSTR pszPath, const LPCSTR *apszSuffix, int iArraySize);
-extern "C" __declspec(dllimport) LPCWSTR __stdcall PathFindSuffixArrayW(LPCWSTR pszPath, const LPCWSTR *apszSuffix, int iArraySize);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsLFNFileSpecA(LPCSTR lpName);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsLFNFileSpecW(LPCWSTR lpName);
-
-
-
-
-
-
-extern "C" __declspec(dllimport) UINT __stdcall     PathGetCharTypeA(UCHAR ch);
-extern "C" __declspec(dllimport) UINT __stdcall     PathGetCharTypeW(WCHAR ch);
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) int __stdcall      PathGetDriveNumberA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) int __stdcall      PathGetDriveNumberW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsDirectoryA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsDirectoryW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsDirectoryEmptyA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsDirectoryEmptyW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsFileSpecA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsFileSpecW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsPrefixA(LPCSTR pszPrefix, LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsPrefixW(LPCWSTR pszPrefix, LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsRelativeA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsRelativeW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsRootA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsRootW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsSameRootA(LPCSTR pszPath1, LPCSTR pszPath2);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsSameRootW(LPCWSTR pszPath1, LPCWSTR pszPath2);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsUNCA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsUNCW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsNetworkPathA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsNetworkPathW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsUNCServerA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsUNCServerW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsUNCServerShareA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsUNCServerShareW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsContentTypeA(LPCSTR pszPath, LPCSTR pszContentType);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsContentTypeW(LPCWSTR pszPath, LPCWSTR pszContentType);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsURLA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsURLW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathMakePrettyA(LPSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathMakePrettyW(LPWSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathMatchSpecA(LPCSTR pszFile, LPCSTR pszSpec);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathMatchSpecW(LPCWSTR pszFile, LPCWSTR pszSpec);
-extern "C" __declspec(dllimport) int __stdcall      PathParseIconLocationA(LPSTR pszIconFile);
-extern "C" __declspec(dllimport) int __stdcall      PathParseIconLocationW(LPWSTR pszIconFile);
-extern "C" __declspec(dllimport) void __stdcall     PathQuoteSpacesA(LPSTR lpsz);
-extern "C" __declspec(dllimport) void __stdcall     PathQuoteSpacesW(LPWSTR lpsz);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathRelativePathToA(LPSTR pszPath, LPCSTR pszFrom, DWORD dwAttrFrom, LPCSTR pszTo, DWORD dwAttrTo);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathRelativePathToW(LPWSTR pszPath, LPCWSTR pszFrom, DWORD dwAttrFrom, LPCWSTR pszTo, DWORD dwAttrTo);
-extern "C" __declspec(dllimport) void __stdcall     PathRemoveArgsA(LPSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathRemoveArgsW(LPWSTR pszPath);
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathRemoveBackslashA(LPSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathRemoveBackslashW(LPWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall     PathRemoveBlanksA(LPSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathRemoveBlanksW(LPWSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathRemoveExtensionA(LPSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathRemoveExtensionW(LPWSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathRemoveFileSpecA(LPSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathRemoveFileSpecW(LPWSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathRenameExtensionA(LPSTR pszPath, LPCSTR pszExt);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathRenameExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathSearchAndQualifyA(LPCSTR pszPath, LPSTR pszBuf, UINT cchBuf);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathSearchAndQualifyW(LPCWSTR pszPath, LPWSTR pszBuf, UINT cchBuf);
-extern "C" __declspec(dllimport) void __stdcall     PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
-extern "C" __declspec(dllimport) LPSTR __stdcall  PathSkipRootA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) LPWSTR __stdcall  PathSkipRootW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall     PathStripPathA(LPSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathStripPathW(LPWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathStripToRootA(LPSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathStripToRootW(LPWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall     PathUnquoteSpacesA(LPSTR lpsz);
-extern "C" __declspec(dllimport) void __stdcall     PathUnquoteSpacesW(LPWSTR lpsz);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathMakeSystemFolderA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathMakeSystemFolderW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathUnmakeSystemFolderA(LPCSTR pszPath);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathUnmakeSystemFolderW(LPCWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsSystemFolderA(LPCSTR pszPath, DWORD dwAttrb);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathIsSystemFolderW(LPCWSTR pszPath, DWORD dwAttrb);
-
-
-
-
-
-extern "C" __declspec(dllimport) void __stdcall     PathUndecorateA(LPSTR pszPath);
-extern "C" __declspec(dllimport) void __stdcall     PathUndecorateW(LPWSTR pszPath);
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall     PathUnExpandEnvStringsA(LPCSTR pszPath, LPSTR pszBuf, UINT cchBuf);
-extern "C" __declspec(dllimport) BOOL __stdcall     PathUnExpandEnvStringsW(LPCWSTR pszPath, LPWSTR pszBuf, UINT cchBuf);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum {
-    URL_SCHEME_INVALID     = -1,
-    URL_SCHEME_UNKNOWN     =  0,
-    URL_SCHEME_FTP,
-    URL_SCHEME_HTTP,
-    URL_SCHEME_GOPHER,
-    URL_SCHEME_MAILTO,
-    URL_SCHEME_NEWS,
-    URL_SCHEME_NNTP,
-    URL_SCHEME_TELNET,
-    URL_SCHEME_WAIS,
-    URL_SCHEME_FILE,
-    URL_SCHEME_MK,
-    URL_SCHEME_HTTPS,
-    URL_SCHEME_SHELL,
-    URL_SCHEME_SNEWS,
-    URL_SCHEME_LOCAL,
-    URL_SCHEME_JAVASCRIPT,
-    URL_SCHEME_VBSCRIPT,
-    URL_SCHEME_ABOUT,
-    URL_SCHEME_RES,
-    URL_SCHEME_MSSHELLROOTED,
-    URL_SCHEME_MSSHELLIDLIST,
-    URL_SCHEME_MSHELP,
-    URL_SCHEME_MAXVALUE
-} URL_SCHEME;
-
-typedef enum {
-    URL_PART_NONE       = 0,
-    URL_PART_SCHEME     = 1,
-    URL_PART_HOSTNAME,
-    URL_PART_USERNAME,
-    URL_PART_PASSWORD,
-    URL_PART_PORT,
-    URL_PART_QUERY,
-} URL_PART;
-
-typedef enum {
-    URLIS_URL,
-    URLIS_OPAQUE,
-    URLIS_NOHISTORY,
-    URLIS_FILEURL,
-    URLIS_APPLIABLE,
-    URLIS_DIRECTORY,
-    URLIS_HASQUERY,
-} URLIS;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) int __stdcall          UrlCompareA(LPCSTR psz1, LPCSTR psz2, BOOL fIgnoreSlash);
-extern "C" __declspec(dllimport) int __stdcall          UrlCompareW(LPCWSTR psz1, LPCWSTR psz2, BOOL fIgnoreSlash);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlCombineA(LPCSTR pszBase, LPCSTR pszRelative, LPSTR pszCombined, LPDWORD pcchCombined, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlCombineW(LPCWSTR pszBase, LPCWSTR pszRelative, LPWSTR pszCombined, LPDWORD pcchCombined, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlCanonicalizeA(LPCSTR pszUrl, LPSTR pszCanonicalized, LPDWORD pcchCanonicalized, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized, LPDWORD pcchCanonicalized, DWORD dwFlags);
-extern "C" __declspec(dllimport) BOOL __stdcall         UrlIsOpaqueA(LPCSTR pszURL);
-extern "C" __declspec(dllimport) BOOL __stdcall         UrlIsOpaqueW(LPCWSTR pszURL);
-extern "C" __declspec(dllimport) BOOL __stdcall         UrlIsNoHistoryA(LPCSTR pszURL);
-extern "C" __declspec(dllimport) BOOL __stdcall         UrlIsNoHistoryW(LPCWSTR pszURL);
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall         UrlIsA(LPCSTR pszUrl, URLIS UrlIs);
-extern "C" __declspec(dllimport) BOOL __stdcall         UrlIsW(LPCWSTR pszUrl, URLIS UrlIs);
-extern "C" __declspec(dllimport) LPCSTR __stdcall       UrlGetLocationA(LPCSTR psz1);
-extern "C" __declspec(dllimport) LPCWSTR __stdcall      UrlGetLocationW(LPCWSTR psz1);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlUnescapeA(LPSTR pszUrl, LPSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlUnescapeW(LPWSTR pszUrl, LPWSTR pszUnescaped, LPDWORD pcchUnescaped, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlEscapeA(LPCSTR pszUrl, LPSTR pszEscaped, LPDWORD pcchEscaped, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlEscapeW(LPCWSTR pszUrl, LPWSTR pszEscaped, LPDWORD pcchEscaped, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlCreateFromPathA(LPCSTR pszPath, LPSTR pszUrl, LPDWORD pcchUrl, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlCreateFromPathW(LPCWSTR pszPath, LPWSTR pszUrl, LPDWORD pcchUrl, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                PathCreateFromUrlA(LPCSTR pszUrl, LPSTR pszPath, LPDWORD pcchPath, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                PathCreateFromUrlW(LPCWSTR pszUrl, LPWSTR pszPath, LPDWORD pcchPath, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlHashA(LPCSTR pszUrl, LPBYTE pbHash, DWORD cbHash);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlHashW(LPCWSTR pszUrl, LPBYTE pbHash, DWORD cbHash);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlGetPartW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlGetPartA(LPCSTR pszIn, LPSTR pszOut, LPDWORD pcchOut, DWORD dwPart, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlApplySchemeA(LPCSTR pszIn, LPSTR pszOut, LPDWORD pcchOut, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwFlags);
-extern "C" __declspec(dllimport) HRESULT __stdcall                HashData(LPBYTE pbData, DWORD cbData, LPBYTE pbHash, DWORD cbHash);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHDeleteEmptyKeyA(HKEY hkey, LPCSTR pszSubKey);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHDeleteEmptyKeyW(HKEY hkey, LPCWSTR pszSubKey);
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHDeleteKeyA(HKEY hkey, LPCSTR pszSubKey);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
-
-
-
-
-
-extern "C" __declspec(dllimport) HKEY __stdcall     SHRegDuplicateHKey(HKEY hkey);
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHDeleteValueA(HKEY hkey, LPCSTR pszSubKey, LPCSTR pszValue);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHDeleteValueW(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue);
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHGetValueA(HKEY hkey, LPCSTR pszSubKey, LPCSTR pszValue, DWORD *pdwType, void *pvData, DWORD *pcbData);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHGetValueW(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD *pdwType, void *pvData, DWORD *pcbData);
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHSetValueA(HKEY hkey, LPCSTR pszSubKey, LPCSTR pszValue, DWORD dwType, LPCVOID pvData, DWORD cbData);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHSetValueW(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwType, LPCVOID pvData, DWORD cbData);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHQueryValueExA(HKEY hkey, LPCSTR pszValue, DWORD *pdwReserved, DWORD *pdwType, void *pvData, DWORD *pcbData);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHQueryValueExW(HKEY hkey, LPCWSTR pszValue, DWORD *pdwReserved, DWORD *pdwType, void *pvData, DWORD *pcbData);
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) LONG __stdcall     SHEnumKeyExA(HKEY hkey, DWORD dwIndex, LPSTR pszName, LPDWORD pcchName);
-extern "C" __declspec(dllimport) LONG __stdcall     SHEnumKeyExW(HKEY hkey, DWORD dwIndex, LPWSTR pszName, LPDWORD pcchName);
-extern "C" __declspec(dllimport) LONG __stdcall     SHEnumValueA(HKEY hkey, DWORD dwIndex, LPSTR pszValueName, LPDWORD pcchValueName, LPDWORD pdwType, void *pvData, LPDWORD pcbData);
-extern "C" __declspec(dllimport) LONG __stdcall     SHEnumValueW(HKEY hkey, DWORD dwIndex, LPWSTR pszValueName, LPDWORD pcchValueName, LPDWORD pdwType, void *pvData, LPDWORD pcbData);
-extern "C" __declspec(dllimport) LONG __stdcall     SHQueryInfoKeyA(HKEY hkey, LPDWORD pcSubKeys, LPDWORD pcchMaxSubKeyLen, LPDWORD pcValues, LPDWORD pcchMaxValueNameLen);
-extern "C" __declspec(dllimport) LONG __stdcall     SHQueryInfoKeyW(HKEY hkey, LPDWORD pcSubKeys, LPDWORD pcchMaxSubKeyLen, LPDWORD pcValues, LPDWORD pcchMaxValueNameLen);
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall     SHCopyKeyA(HKEY hkeySrc, LPCSTR   szSrcSubKey, HKEY hkeyDest, DWORD fReserved);
-extern "C" __declspec(dllimport) DWORD __stdcall     SHCopyKeyW(HKEY hkeySrc, LPCWSTR wszSrcSubKey, HKEY hkeyDest, DWORD fReserved);
-
-
-
-extern "C" __declspec(dllimport) DWORD __stdcall    SHRegGetPathA(HKEY hKey, LPCSTR pcszSubKey, LPCSTR pcszValue, LPSTR pszPath, DWORD dwFlags);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHRegGetPathW(HKEY hKey, LPCWSTR pcszSubKey, LPCWSTR pcszValue, LPWSTR pszPath, DWORD dwFlags);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHRegSetPathA(HKEY hKey, LPCSTR pcszSubKey, LPCSTR pcszValue, LPCSTR pcszPath, DWORD dwFlags);
-extern "C" __declspec(dllimport) DWORD __stdcall    SHRegSetPathW(HKEY hKey, LPCWSTR pcszSubKey, LPCWSTR pcszValue, LPCWSTR pcszPath, DWORD dwFlags);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef enum
-{
-    SHREGDEL_DEFAULT = 0x00000000,       
-    SHREGDEL_HKCU    = 0x00000001,       
-    SHREGDEL_HKLM    = 0x00000010,       
-    SHREGDEL_BOTH    = 0x00000011,       
-} SHREGDEL_FLAGS;
-
-typedef enum
-{
-    SHREGENUM_DEFAULT = 0x00000000,       
-    SHREGENUM_HKCU    = 0x00000001,       
-    SHREGENUM_HKLM    = 0x00000010,       
-    SHREGENUM_BOTH    = 0x00000011,       
-                                          
-} SHREGENUM_FLAGS;
-
-
-
-
-
-
-
-typedef HANDLE HUSKEY;  
-typedef HUSKEY *PHUSKEY;
-
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegCreateUSKeyA(LPCSTR pszPath, REGSAM samDesired, HUSKEY hRelativeUSKey, PHUSKEY phNewUSKey, DWORD dwFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegCreateUSKeyW(LPCWSTR pwzPath, REGSAM samDesired, HUSKEY hRelativeUSKey, PHUSKEY phNewUSKey, DWORD dwFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegOpenUSKeyA(LPCSTR pszPath, REGSAM samDesired, HUSKEY hRelativeUSKey, PHUSKEY phNewUSKey, BOOL fIgnoreHKCU);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegOpenUSKeyW(LPCWSTR pwzPath, REGSAM samDesired, HUSKEY hRelativeUSKey, PHUSKEY phNewUSKey, BOOL fIgnoreHKCU);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegQueryUSValueA(HUSKEY hUSKey, LPCSTR pszValue, LPDWORD pdwType, void *pvData, LPDWORD pcbData, BOOL fIgnoreHKCU, void *pvDefaultData, DWORD dwDefaultDataSize);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegQueryUSValueW(HUSKEY hUSKey, LPCWSTR pwzValue, LPDWORD pdwType, void *pvData, LPDWORD pcbData, BOOL fIgnoreHKCU, void *pvDefaultData, DWORD dwDefaultDataSize);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegWriteUSValueA(HUSKEY hUSKey, LPCSTR pszValue, DWORD dwType, const void *pvData, DWORD cbData, DWORD dwFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegWriteUSValueW(HUSKEY hUSKey, LPCWSTR pwzValue, DWORD dwType, const void *pvData, DWORD cbData, DWORD dwFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegDeleteUSValueA(HUSKEY hUSKey, LPCSTR pszValue, SHREGDEL_FLAGS delRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegDeleteEmptyUSKeyW(HUSKEY hUSKey, LPCWSTR pwzSubKey, SHREGDEL_FLAGS delRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegDeleteEmptyUSKeyA(HUSKEY hUSKey, LPCSTR pszSubKey, SHREGDEL_FLAGS delRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegDeleteUSValueW(HUSKEY hUSKey, LPCWSTR pwzValue, SHREGDEL_FLAGS delRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegEnumUSKeyA(HUSKEY hUSKey, DWORD dwIndex, LPSTR pszName, LPDWORD pcchName, SHREGENUM_FLAGS enumRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegEnumUSKeyW(HUSKEY hUSKey, DWORD dwIndex, LPWSTR pwzName, LPDWORD pcchName, SHREGENUM_FLAGS enumRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegEnumUSValueA(HUSKEY hUSkey, DWORD dwIndex, LPSTR pszValueName, LPDWORD pcchValueName, LPDWORD pdwType, void *pvData, LPDWORD pcbData, SHREGENUM_FLAGS enumRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegEnumUSValueW(HUSKEY hUSkey, DWORD dwIndex, LPWSTR pszValueName, LPDWORD pcchValueName, LPDWORD pdwType, void *pvData, LPDWORD pcbData, SHREGENUM_FLAGS enumRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegQueryInfoUSKeyA(HUSKEY hUSKey, LPDWORD pcSubKeys, LPDWORD pcchMaxSubKeyLen, LPDWORD pcValues, LPDWORD pcchMaxValueNameLen, SHREGENUM_FLAGS enumRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegQueryInfoUSKeyW(HUSKEY hUSKey, LPDWORD pcSubKeys, LPDWORD pcchMaxSubKeyLen, LPDWORD pcValues, LPDWORD pcchMaxValueNameLen, SHREGENUM_FLAGS enumRegFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegCloseUSKey(HUSKEY hUSKey);
-
-
-
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegGetUSValueA(LPCSTR pszSubKey, LPCSTR pszValue, LPDWORD pdwType, void * pvData, LPDWORD pcbData, BOOL fIgnoreHKCU, void *pvDefaultData, DWORD dwDefaultDataSize);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegGetUSValueW(LPCWSTR pwzSubKey, LPCWSTR pwzValue, LPDWORD pdwType, void * pvData, LPDWORD pcbData, BOOL fIgnoreHKCU, void *pvDefaultData, DWORD dwDefaultDataSize);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegSetUSValueA(LPCSTR pszSubKey, LPCSTR pszValue, DWORD dwType, const void *pvData, DWORD cbData, DWORD dwFlags);
-extern "C" __declspec(dllimport) LONG __stdcall        SHRegSetUSValueW(LPCWSTR pwzSubKey, LPCWSTR pwzValue, DWORD dwType, const void *pvData, DWORD cbData, DWORD dwFlags);
-extern "C" __declspec(dllimport) int __stdcall         SHRegGetIntW(HKEY hk, LPCWSTR pwzKey, int iDefault);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHRegGetBoolUSValueA(LPCSTR pszSubKey, LPCSTR pszValue, BOOL fIgnoreHKCU, BOOL fDefault);
-extern "C" __declspec(dllimport) BOOL __stdcall SHRegGetBoolUSValueW(LPCWSTR pszSubKey, LPCWSTR pszValue, BOOL fIgnoreHKCU, BOOL fDefault);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-enum {
-    ASSOCF_INIT_NOREMAPCLSID           = 0x00000001,  
-    ASSOCF_INIT_BYEXENAME              = 0x00000002,  
-    ASSOCF_OPEN_BYEXENAME              = 0x00000002,  
-    ASSOCF_INIT_DEFAULTTOSTAR          = 0x00000004,  
-    ASSOCF_INIT_DEFAULTTOFOLDER        = 0x00000008,  
-    ASSOCF_NOUSERSETTINGS              = 0x00000010,  
-    ASSOCF_NOTRUNCATE                  = 0x00000020,  
-    ASSOCF_VERIFY                      = 0x00000040,  
-    ASSOCF_REMAPRUNDLL                 = 0x00000080,  
-    ASSOCF_NOFIXUPS                    = 0x00000100,  
-    ASSOCF_IGNOREBASECLASS             = 0x00000200,  
-};
-
-typedef DWORD ASSOCF;
-
-
-typedef enum {
-    ASSOCSTR_COMMAND      = 1,  
-    ASSOCSTR_EXECUTABLE,        
-    ASSOCSTR_FRIENDLYDOCNAME,   
-    ASSOCSTR_FRIENDLYAPPNAME,   
-    ASSOCSTR_NOOPEN,            
-    ASSOCSTR_SHELLNEWVALUE,     
-    ASSOCSTR_DDECOMMAND,        
-    ASSOCSTR_DDEIFEXEC,         
-    ASSOCSTR_DDEAPPLICATION,    
-    ASSOCSTR_DDETOPIC,          
-    ASSOCSTR_INFOTIP,           
-    ASSOCSTR_QUICKTIP,          
-    ASSOCSTR_TILEINFO,          
-    ASSOCSTR_CONTENTTYPE,       
-    ASSOCSTR_DEFAULTICON,       
-    ASSOCSTR_SHELLEXTENSION,    
-    ASSOCSTR_MAX                
-} ASSOCSTR;
-
-typedef enum {
-    ASSOCKEY_SHELLEXECCLASS = 1,  
-    ASSOCKEY_APP,                 
-    ASSOCKEY_CLASS,               
-    ASSOCKEY_BASECLASS,           
-    ASSOCKEY_MAX                  
-} ASSOCKEY;
-
-typedef enum {
-    ASSOCDATA_MSIDESCRIPTOR = 1,  
-    ASSOCDATA_NOACTIVATEHANDLER,  
-    ASSOCDATA_QUERYCLASSSTORE,    
-    ASSOCDATA_HASPERUSERASSOC,    
-    ASSOCDATA_EDITFLAGS,          
-    ASSOCDATA_VALUE,              
-    ASSOCDATA_MAX
-} ASSOCDATA;
-
-typedef enum {
-    ASSOCENUM_NONE
-} ASSOCENUM;
-
-
-
-
-struct __declspec(novtable) IQueryAssociations : public IUnknown
-{
-    
-    virtual HRESULT __stdcall QueryInterface( const IID & riid, void **ppv) = 0;
-    virtual ULONG __stdcall AddRef ( void ) = 0;
-    virtual ULONG __stdcall Release ( void ) = 0;
-
-    
-    virtual HRESULT __stdcall Init( ASSOCF flags, LPCWSTR pszAssoc, HKEY hkProgid, HWND hwnd) = 0;
-    virtual HRESULT __stdcall GetString( ASSOCF flags, ASSOCSTR str, LPCWSTR pszExtra, LPWSTR pszOut, DWORD *pcchOut) = 0;
-    virtual HRESULT __stdcall GetKey( ASSOCF flags, ASSOCKEY key, LPCWSTR pszExtra, HKEY *phkeyOut) = 0;
-    virtual HRESULT __stdcall GetData( ASSOCF flags, ASSOCDATA data, LPCWSTR pszExtra, LPVOID pvOut, DWORD *pcbOut) = 0;
-    virtual HRESULT __stdcall GetEnum( ASSOCF flags, ASSOCENUM assocenum, LPCWSTR pszExtra, const IID & riid, LPVOID *ppvOut) = 0;
-};
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocCreate(CLSID clsid, const IID & riid, LPVOID *ppv);
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocQueryStringA(ASSOCF flags, ASSOCSTR str, LPCSTR pszAssoc, LPCSTR pszExtra, LPSTR pszOut, DWORD *pcchOut);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocQueryStringW(ASSOCF flags, ASSOCSTR str, LPCWSTR pszAssoc, LPCWSTR pszExtra, LPWSTR pszOut, DWORD *pcchOut);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocQueryStringByKeyA(ASSOCF flags, ASSOCSTR str, HKEY hkAssoc, LPCSTR pszExtra, LPSTR pszOut, DWORD *pcchOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocQueryStringByKeyW(ASSOCF flags, ASSOCSTR str, HKEY hkAssoc, LPCWSTR pszExtra, LPWSTR pszOut, DWORD *pcchOut);
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocQueryKeyA(ASSOCF flags, ASSOCKEY key, LPCSTR pszAssoc, LPCSTR pszExtra, HKEY *phkeyOut);
-extern "C" __declspec(dllimport) HRESULT __stdcall AssocQueryKeyW(ASSOCF flags, ASSOCKEY key, LPCWSTR pszAssoc, LPCWSTR pszExtra, HKEY *phkeyOut);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) struct IStream * __stdcall SHOpenRegStreamA(HKEY hkey, LPCSTR pszSubkey, LPCSTR pszValue, DWORD grfMode);
-extern "C" __declspec(dllimport) struct IStream * __stdcall SHOpenRegStreamW(HKEY hkey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD grfMode);
-
-
-
-
-
-extern "C" __declspec(dllimport) struct IStream * __stdcall SHOpenRegStream2A(HKEY hkey, LPCSTR pszSubkey, LPCSTR pszValue, DWORD grfMode);
-extern "C" __declspec(dllimport) struct IStream * __stdcall SHOpenRegStream2W(HKEY hkey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD grfMode);
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHCreateStreamOnFileA(LPCSTR pszFile, DWORD grfMode, struct IStream **ppstm);
-extern "C" __declspec(dllimport) HRESULT __stdcall SHCreateStreamOnFileW(LPCWSTR pszFile, DWORD grfMode, struct IStream **ppstm);
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHCreateStreamOnFileEx(LPCWSTR pszFile, DWORD grfMode, DWORD dwAttributes, BOOL fCreate, struct IStream * pstmTemplate, struct IStream **ppstm);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHAutoComplete(HWND hwndEdit, DWORD dwFlags);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHSetThreadRef(IUnknown *punk);
-extern "C" __declspec(dllimport) HRESULT __stdcall SHGetThreadRef(IUnknown **ppunk);
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHSkipJunction(struct IBindCtx* pbc, const CLSID *pclsid);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) BOOL __stdcall SHCreateThread(LPTHREAD_START_ROUTINE pfnThreadProc, void *pData, DWORD dwFlags, LPTHREAD_START_ROUTINE pfnCallback);
-
-extern "C" __declspec(dllimport) HRESULT __stdcall SHReleaseThreadRef(); 
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HPALETTE __stdcall SHCreateShellPalette(HDC hdc);
-
-
-
-extern "C" __declspec(dllimport) void __stdcall     ColorRGBToHLS(COLORREF clrRGB, WORD* pwHue, WORD* pwLuminance, WORD* pwSaturation);
-extern "C" __declspec(dllimport) COLORREF __stdcall ColorHLSToRGB(WORD wHue, WORD wLuminance, WORD wSaturation);
-extern "C" __declspec(dllimport) COLORREF __stdcall ColorAdjustLuma(COLORREF clrRGB, int n, BOOL fScale);
-
-
-
-
-
-
-
-
-
-
-
-typedef struct _DLLVERSIONINFO
-{
-    DWORD cbSize;
-    DWORD dwMajorVersion;                   
-    DWORD dwMinorVersion;                   
-    DWORD dwBuildNumber;                    
-    DWORD dwPlatformID;                     
-} DLLVERSIONINFO;
-
-
-
-
-
-
-
-typedef struct _DLLVERSIONINFO2
-{
-    DLLVERSIONINFO info1;
-    DWORD dwFlags;                          
-    ULONGLONG ullVersion;                   
-                                            
-                                            
-                                            
-                                            
-} DLLVERSIONINFO2;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef HRESULT (__stdcall* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
-
-
-extern "C" HRESULT __stdcall DllInstall(BOOL bInstall, LPCWSTR pszCmdLine);
-
-
-
-
-
-
-
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning(disable:4103)
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma pack(push, 8)
-
-
-
-
-	#pragma comment(lib, "atl.lib")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    #pragma comment(linker,"/manifestdependency:\"type='win32' "        \
-        "name='" "Microsoft.VC80" ".ATL' "              \
-        "version='" "8.0.50727.4053" "' "                          \
-        "processorArchitecture='x86' "                                  \
-        "publicKeyToken='" "1fc8b3b9a1e18e3b" "'\"")
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	#pragma comment(lib, "atlsd.lib")
-
-
-
-
-
-
-
-
-
-
-	
-
-
-
-
-
-
-		
-			#pragma comment(linker, "/include:__forceAtlDllManifest")
-		
-
-
-	
-
-
-extern "C" const __declspec(selectany) GUID LIBID_ATLLib = 					 {0x44EC0535,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
-extern "C" const __declspec(selectany) CLSID CLSID_Registrar = 				 {0x44EC053A,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
-extern "C" const __declspec(selectany) IID IID_IRegistrar = 				 {0x44EC053B,0x400F,0x11D0,{0x9D,0xCD,0x00,0xA0,0xC9,0x03,0x91,0xD3}};
-extern "C" const __declspec(selectany) IID IID_IAxWinHostWindow = 			 {0xb6ea2050,0x048a,0x11d1,{0x82,0xb9,0x00,0xc0,0x4f,0xb9,0x94,0x2e}};
-extern "C" const __declspec(selectany) IID IID_IAxWinAmbientDispatch = 		 {0xb6ea2051,0x048a,0x11d1,{0x82,0xb9,0x00,0xc0,0x4f,0xb9,0x94,0x2e}};
-extern "C" const __declspec(selectany) IID IID_IInternalConnection = 		 {0x72AD0770,0x6A9F,0x11d1,{0xBC,0xEC,0x00,0x60,0x08,0x8F,0x44,0x4E}};
-extern "C" const __declspec(selectany) IID IID_IDocHostUIHandlerDispatch = 	 {0x425B5AF0,0x65F1,0x11d1,{0x96,0x11,0x00,0x00,0xF8,0x1E,0x0D,0x0D}};
-extern "C" const __declspec(selectany) IID IID_IAxWinHostWindowLic = 		 {0x3935BDA8,0x4ED9,0x495c,{0x86,0x50,0xE0,0x1F,0xC1,0xE3,0x8A,0x4B}};
-extern "C" const __declspec(selectany) IID IID_IAxWinAmbientDispatchEx = 	 {0xB2D0778B,0xAC99,0x4c58,{0xA5,0xC8,0xE7,0x72,0x4E,0x53,0x16,0xB5}};
-
-
-
-extern "C" IMAGE_DOS_HEADER __ImageBase;
-
-
-
-
-
-
-
-
- 
-namespace ATL
-{
-
-struct _ATL_CATMAP_ENTRY
-{
-   int iType;
-   const CATID* pcatid;
-};
-
-
-
-
-
-typedef HRESULT (__stdcall _ATL_CREATORFUNC)(void* pv, const IID & riid, LPVOID* ppv);
-typedef HRESULT (__stdcall _ATL_CREATORARGFUNC)(void* pv, const IID & riid, LPVOID* ppv, DWORD_PTR dw);
-typedef HRESULT (__stdcall _ATL_MODULEFUNC)(DWORD_PTR dw);
-typedef LPCTSTR (__stdcall _ATL_DESCRIPTIONFUNC)();
-typedef const struct _ATL_CATMAP_ENTRY* (_ATL_CATMAPFUNC)();
-typedef void (__stdcall _ATL_TERMFUNC)(DWORD_PTR dw);
-
-struct _ATL_TERMFUNC_ELEM
-{
-	_ATL_TERMFUNC* pFunc;
-	DWORD_PTR dw;
-	_ATL_TERMFUNC_ELEM* pNext;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct _ATL_OBJMAP_ENTRY30 
-{
-	const CLSID* pclsid;
-	HRESULT (__stdcall *pfnUpdateRegistry)(BOOL bRegister);
-	_ATL_CREATORFUNC* pfnGetClassObject;
-	_ATL_CREATORFUNC* pfnCreateInstance;
-	IUnknown* pCF;
-	DWORD dwRegister;
-	_ATL_DESCRIPTIONFUNC* pfnGetObjectDescription;
-	_ATL_CATMAPFUNC* pfnGetCategoryMap;
-	HRESULT __stdcall RevokeClassObject()
-	{
-		if (dwRegister == 0)
-			return ((HRESULT)0x00000000L);
-		return CoRevokeClassObject(dwRegister);
-	}
-	HRESULT __stdcall RegisterClassObject(DWORD dwClsContext, DWORD dwFlags)
-	{
-		IUnknown* p = 0;
-		if (pfnGetClassObject == 0)
-			return ((HRESULT)0x00000000L);
-		HRESULT hRes = pfnGetClassObject(pfnCreateInstance, __uuidof(IUnknown), (LPVOID*) &p);
-		if (((HRESULT)(hRes) >= 0))
-			hRes = CoRegisterClassObject(*pclsid, p, dwClsContext, dwFlags, &dwRegister);
-		if (p != 0)
-			p->Release();
-		return hRes;
-	}
-
-	void (__stdcall *pfnObjectMain)(bool bStarting);
-};
-
-typedef _ATL_OBJMAP_ENTRY30 _ATL_OBJMAP_ENTRY;
-
-
-
-
-
-#pragma section("ATL$__a", read, shared)
-#pragma section("ATL$__z", read, shared)
-#pragma section("ATL$__m", read, shared)
-extern "C"
-{
-__declspec(selectany) __declspec(allocate("ATL$__a")) _ATL_OBJMAP_ENTRY* __pobjMapEntryFirst = 0;
-__declspec(selectany) __declspec(allocate("ATL$__z")) _ATL_OBJMAP_ENTRY* __pobjMapEntryLast = 0;
-}
-
-
-#pragma comment(linker, "/merge:ATL=.rdata")
-
-
-
-
-
-
-
-
-
-
-
-
-struct _ATL_REGMAP_ENTRY
-{
-	LPCOLESTR     szKey;
-	LPCOLESTR     szData;
-};
-
-struct _AtlCreateWndData
-{
-	void* m_pThis;
-	DWORD m_dwThreadID;
-	_AtlCreateWndData* m_pNext;
-};
-
-
-
-typedef HRESULT (*_ATL_PERFREGFUNC)(HINSTANCE hDllInstance);
-typedef HRESULT (*_ATL_PERFUNREGFUNC)();
-__declspec(selectany) _ATL_PERFREGFUNC _pPerfRegFunc = 0;
-__declspec(selectany) _ATL_PERFUNREGFUNC _pPerfUnRegFunc = 0;
-
-
-
-
-template< class TLock >
-class CComCritSecLock
-{
-public:
-	CComCritSecLock( TLock& cs, bool bInitialLock = true );
-	~CComCritSecLock() throw();
-
-	HRESULT Lock() throw();
-	void Unlock() throw();
-
-
-private:
-	TLock& m_cs;
-	bool m_bLocked;
-
-
-	CComCritSecLock( const CComCritSecLock& ) throw();
-	CComCritSecLock& operator=( const CComCritSecLock& ) throw();
-};
-
-template< class TLock >
-inline CComCritSecLock< TLock >::CComCritSecLock( TLock& cs, bool bInitialLock ) :
-	m_cs( cs ),
-	m_bLocked( false )
-{
-	if( bInitialLock )
-	{
-		HRESULT hr;
-
-		hr = Lock();
-		if( ((HRESULT)(hr) < 0) )
-		{
-			ATL::AtlThrowImpl( hr );
-		}
-	}
-}
-
-template< class TLock >
-inline CComCritSecLock< TLock >::~CComCritSecLock() throw()
-{
-	if( m_bLocked )
-	{
-		Unlock();
-	}
-}
-
-template< class TLock >
-inline HRESULT CComCritSecLock< TLock >::Lock() throw()
-{
-	HRESULT hr;
-
-	(void) ((!!((!m_bLocked))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 342, 0, L"!m_bLocked")) || (__debugbreak(), 0));
-	hr = m_cs.Lock();
-	if( ((HRESULT)(hr) < 0) )
-	{
-		return( hr );
-	}
-	m_bLocked = true;
-
-	return( ((HRESULT)0x00000000L) );
-}
-
-template< class TLock >
-inline void CComCritSecLock< TLock >::Unlock() throw()
-{
-	do { (void) ((!!((m_bLocked))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 356, 0, L"m_bLocked")) || (__debugbreak(), 0)); ; } while(0);
-	m_cs.Unlock();
-	m_bLocked = false;
-}
-
-class CComMultiThreadModelNoCS
-{
-public:
-	static ULONG __stdcall Increment(LPLONG p) throw() {return InterlockedIncrement(p);}
-	static ULONG __stdcall Decrement(LPLONG p) throw() {return InterlockedDecrement(p);}
-	typedef CComFakeCriticalSection AutoCriticalSection;
-	typedef CComFakeCriticalSection AutoDeleteCriticalSection;
-	typedef CComFakeCriticalSection CriticalSection;
-	typedef CComMultiThreadModelNoCS ThreadModelNoCS;
-};
-
-class CComMultiThreadModel
-{
-public:
-	static ULONG __stdcall Increment(LPLONG p) throw() {return InterlockedIncrement(p);}
-	static ULONG __stdcall Decrement(LPLONG p) throw() {return InterlockedDecrement(p);}
-	typedef CComAutoCriticalSection AutoCriticalSection;
-	typedef CComAutoDeleteCriticalSection AutoDeleteCriticalSection;
-	typedef CComCriticalSection CriticalSection;
-	typedef CComMultiThreadModelNoCS ThreadModelNoCS;
-};
-
-class CComSingleThreadModel
-{
-public:
-	static ULONG __stdcall Increment(LPLONG p) throw() {return ++(*p);}
-	static ULONG __stdcall Decrement(LPLONG p) throw() {return --(*p);}
-	typedef CComFakeCriticalSection AutoCriticalSection;
-	typedef CComFakeCriticalSection AutoDeleteCriticalSection;
-	typedef CComFakeCriticalSection CriticalSection;
-	typedef CComSingleThreadModel ThreadModelNoCS;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	typedef CComSingleThreadModel CComObjectThreadModel;
-	typedef CComMultiThreadModel CComGlobalsThreadModel;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct _ATL_COM_MODULE70
-{
-	UINT cbSize;
-	HINSTANCE m_hInstTypeLib;
-	_ATL_OBJMAP_ENTRY** m_ppAutoObjMapFirst;
-	_ATL_OBJMAP_ENTRY** m_ppAutoObjMapLast;
-	CComCriticalSection m_csObjMap;
-};
-typedef _ATL_COM_MODULE70 _ATL_COM_MODULE;
-
-
-
-struct _ATL_WIN_MODULE70
-{
-	UINT cbSize;
-	CComCriticalSection m_csWindowCreate;
-	_AtlCreateWndData* m_pCreateWndList;
-	CSimpleArray<ATOM> m_rgWindowClassAtoms;
-};
-typedef _ATL_WIN_MODULE70 _ATL_WIN_MODULE;
-
-
-struct _ATL_MODULE70
-{
-	UINT cbSize;
-	LONG m_nLockCnt;
-	_ATL_TERMFUNC_ELEM* m_pTermFuncs;
-	CComCriticalSection m_csStaticDataInitAndTypeInfo;
-};
-typedef _ATL_MODULE70 _ATL_MODULE;
-
-
-
-
-
-
-struct _ATL_INTMAP_ENTRY
-{
-	const IID* piid;       
-	DWORD_PTR dw;
-	_ATL_CREATORARGFUNC* pFunc; 
-};
-
-
-
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlInternalQueryInterface(void* pThis,
-	const _ATL_INTMAP_ENTRY* pEntries, const IID & iid, void** ppvObject);
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlFreeMarshalStream(IStream* pStream);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlMarshalPtrInProc(IUnknown* pUnk, const IID& iid, IStream** ppStream);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlUnmarshalPtr(IStream* pStream, const IID& iid, IUnknown** ppUnk);
-
-extern "C" __declspec(dllimport) BOOL __stdcall AtlWaitWithMessageLoop(HANDLE hEvent);
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlAdvise(IUnknown* pUnkCP, IUnknown* pUnk, const IID& iid, LPDWORD pdw);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlUnadvise(IUnknown* pUnkCP, const IID& iid, DWORD dw);
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlSetErrorInfo(const CLSID& clsid, LPCOLESTR lpszDesc,
-	DWORD dwHelpID, LPCOLESTR lpszHelpFile, const IID& iid, HRESULT hRes,
-	HINSTANCE hInst);
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlComModuleRegisterClassObjects(_ATL_COM_MODULE* pComModule, DWORD dwClsContext, DWORD dwFlags);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlComModuleRevokeClassObjects(_ATL_COM_MODULE* pComModule);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlComModuleGetClassObject(_ATL_COM_MODULE* pComModule, const IID & rclsid, const IID & riid, LPVOID* ppv);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlComModuleRegisterServer(_ATL_COM_MODULE* pComModule, BOOL bRegTypeLib, const CLSID* pCLSID = 0);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlComModuleUnregisterServer(_ATL_COM_MODULE* pComModule, BOOL bUnRegTypeLib, const CLSID* pCLSID = 0);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlRegisterClassCategoriesHelper( const IID & clsid, const struct _ATL_CATMAP_ENTRY* pCatMap, BOOL bRegister );
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlUpdateRegistryFromResourceD(HINSTANCE hInst, LPCOLESTR lpszRes,
-	BOOL bRegister, struct _ATL_REGMAP_ENTRY* pMapEntries, IRegistrar* pReg = 0);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlRegisterTypeLib(HINSTANCE hInstTypeLib, LPCOLESTR lpszIndex);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlUnRegisterTypeLib(HINSTANCE hInstTypeLib, LPCOLESTR lpszIndex);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlLoadTypeLib(HINSTANCE hInstTypeLib, LPCOLESTR lpszIndex, BSTR* pbstrPath, ITypeLib** ppTypeLib);
-
-extern "C" __declspec(dllimport) DWORD __stdcall AtlGetVersion(void* pReserved);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlModuleAddTermFunc(_ATL_MODULE* pModule, _ATL_TERMFUNC* pFunc, DWORD_PTR dw);
-extern "C" __declspec(dllimport) void __stdcall AtlCallTermFunc(_ATL_MODULE* pModule);
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlWinModuleInit(_ATL_WIN_MODULE* pWinModule);
-extern "C" inline HRESULT __stdcall AtlWinModuleTerm(_ATL_WIN_MODULE* pWinModule, HINSTANCE hInst);
-
-extern "C" __declspec(dllimport) void __stdcall AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE* pWinModule, _AtlCreateWndData* pData, void* pObject);
-extern "C" __declspec(dllimport) void* __stdcall AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE* pWinModule);
-
-
-
-
-
-
-
-
-extern "C" __declspec(dllimport) HRESULT __stdcall AtlCreateRegistrar(IRegistrar** ppReg);
-
-
-
-
-
-inline BOOL __stdcall InlineIsEqualUnknown(const GUID & rguid1)
-{
-   return (
-	  ((PLONG) &rguid1)[0] == 0 &&
-	  ((PLONG) &rguid1)[1] == 0 &&
-
-
-
-
-	  ((PLONG) &rguid1)[2] == 0x000000C0 &&
-	  ((PLONG) &rguid1)[3] == 0x46000000);
-
-}
-
-
-
-template <class T>
-LPCTSTR AtlDebugGetClassName(T*)
-{
-
-	const _ATL_INTMAP_ENTRY* pEntries = T::_GetEntries();
-	return (LPCTSTR)pEntries[-1].dw;
-
-
-
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma comment(lib, "kernel32.lib")
-#pragma comment(lib, "user32.lib")
-#pragma comment(lib, "advapi32.lib")
-#pragma comment(lib, "ole32.lib")
-#pragma comment(lib, "shell32.lib")
-#pragma comment(lib, "oleaut32.lib")
-#pragma comment(lib, "uuid.lib")
-#pragma comment(lib, "shlwapi.lib")
-
-
-template< typename T >
-class CAutoVectorPtr
-{
-public:
-	CAutoVectorPtr() throw() :
-		m_p( 0 )
-	{
-	}
-	CAutoVectorPtr( CAutoVectorPtr< T >& p ) throw()
-	{
-		m_p = p.Detach();  
-	}
-	explicit CAutoVectorPtr( T* p ) throw() :
-		m_p( p )
-	{
-	}
-	~CAutoVectorPtr() throw()
-	{
-		Free();
-	}
-
-	operator T*() const throw()
-	{
-		return( m_p );
-	}
-
-	CAutoVectorPtr< T >& operator=( CAutoVectorPtr< T >& p ) throw()
-	{
-        if(*this==p)
-        {
-            if(this!=&p)
-            {
-                
-                
-                
-                (void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 634, 0, L"0")) || (__debugbreak(), 0));
-
-                
-                
-                p.Detach();
-            }
-            else
-            {
-                
-                
-
-                
-            }
-        }
-        else
-        {
-		    Free();
-		    Attach( p.Detach() );  
-        }
-		return( *this );
-	}
-
-    
-    bool operator!=(CAutoVectorPtr<T>& p) const
-    {
-        return !operator==(p);
-    }
-
-    bool operator==(CAutoVectorPtr<T>& p) const
-    {
-        return m_p==p.m_p;
-    }
-
-	
-	bool Allocate( size_t nElements ) throw()
-	{
-		do { (void) ((!!((m_p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 670, 0, L"m_p == 0")) || (__debugbreak(), 0)); ; } while(0);
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{m_p = new T[nElements];} catch(...) {} __pragma(warning(pop));
-		if( m_p == 0 )
-		{
-			return( false );
-		}
-
-		return( true );
-	}
-	
-	void Attach( T* p ) throw()
-	{
-		do { (void) ((!!((m_p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 682, 0, L"m_p == 0")) || (__debugbreak(), 0)); ; } while(0);
-		m_p = p;
-	}
-	
-	T* Detach() throw()
-	{
-		T* p;
-
-		p = m_p;
-		m_p = 0;
-
-		return( p );
-	}
-	
-	void Free() throw()
-	{
-		delete[] m_p;
-		m_p = 0;
-	}
-
-public:
-	T* m_p;
-};
-
-template< typename T >
-class CAutoPtr
-{
-public:
-	CAutoPtr() throw() :
-		m_p( 0 )
-	{
-	}
-	template< typename TSrc >
-	CAutoPtr( CAutoPtr< TSrc >& p ) throw()
-	{
-		m_p = p.Detach();  
-	}
-	CAutoPtr( CAutoPtr< T >& p ) throw()
-	{
-		m_p = p.Detach();  
-	}
-	explicit CAutoPtr( T* p ) throw() :
-		m_p( p )
-	{
-	}
-	~CAutoPtr() throw()
-	{
-		Free();
-	}
-
-	
-	template< typename TSrc >
-	CAutoPtr< T >& operator=( CAutoPtr< TSrc >& p ) throw()
-	{
-        if(m_p==p.m_p)
-        {
-            
-            
-            (void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 740, 0, L"0")) || (__debugbreak(), 0));
-        }
-        else
-        {
-		    Free();
-		    Attach( p.Detach() );  
-        }
-		return( *this );
-	}
-	CAutoPtr< T >& operator=( CAutoPtr< T >& p ) throw()
-	{
-        if(*this==p)
-        {
-            if(this!=&p)
-            {
-                
-                
-                
-
-
-
-
-                
-                
-                p.Detach();
-            }
-            else
-            {
-                
-                
-
-                
-            }
-        }
-        else
-        {
-		    Free();
-		    Attach( p.Detach() );  
-        }
-		return( *this );
-	}
-
-    
-    bool operator!=(CAutoPtr<T>& p) const
-    {
-        return !operator==(p);
-    }
-
-    bool operator==(CAutoPtr<T>& p) const
-    {
-        return m_p==p.m_p;
-    }
-
-	operator T*() const throw()
-	{
-		return( m_p );
-	}
-	T* operator->() const throw()
-	{
-		do { (void) ((!!((m_p != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 799, 0, L"m_p != 0")) || (__debugbreak(), 0)); ; } while(0);
-		return( m_p );
-	}
-
-	
-	void Attach( T* p ) throw()
-	{
-		do { (void) ((!!((m_p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 806, 0, L"m_p == 0")) || (__debugbreak(), 0)); ; } while(0);
-		m_p = p;
-	}
-	
-	T* Detach() throw()
-	{
-		T* p;
-
-		p = m_p;
-		m_p = 0;
-
-		return( p );
-	}
-	
-	void Free() throw()
-	{
-		delete m_p;
-		m_p = 0;
-	}
-
-public:
-	T* m_p;
-};
-
-
-template< typename T >
-class CAutoStackPtr
-{
-public:
-	CAutoStackPtr() throw() :
-		m_p( 0 )
-	{
-	}
-	template< typename TSrc >
-	CAutoStackPtr( CAutoStackPtr< TSrc >& p ) throw()
-	{
-		m_p = p.Detach();  
-	}
-	CAutoStackPtr( CAutoStackPtr< T >& p ) throw()
-	{
-		m_p = p.Detach();  
-	}
-	explicit CAutoStackPtr( T* p ) throw() :
-		m_p( p )
-	{
-	}
-	~CAutoStackPtr() throw()
-	{
-		Free();
-	}
-
-	
-	template< typename TSrc >
-	CAutoStackPtr< T >& operator=( CAutoStackPtr< TSrc >& p ) throw()
-	{
-		if(m_p==p.m_p)
-		{
-			
-			
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 865, 0, L"0")) || (__debugbreak(), 0));
-		}
-		else
-		{
-			Free();
-			Attach( p.Detach() );  
-		}
-		return( *this );
-	}
-	CAutoStackPtr< T >& operator=( CAutoStackPtr< T >& p ) throw()
-	{
-        if(*this==p)
-        {
-            if(this!=&p)
-            {
-                
-                
-                
-                (void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 883, 0, L"0")) || (__debugbreak(), 0));
-
-                
-                
-                p.Detach();
-            }
-            else
-            {
-                
-                
-
-                
-            }
-        }
-        else
-        {
-		    Free();
-		    Attach( p.Detach() );  
-        }
-		return( *this );
-	}
-
-    
-    bool operator!=(CAutoStackPtr<T>& p) const
-    {
-        return !operator==(p);
-    }
-
-    bool operator==(CAutoStackPtr<T>& p) const
-    {
-        return m_p==p.m_p;
-    }
-
-	operator T*() const throw()
-	{
-		return( m_p );
-	}
-	T* operator->() const throw()
-	{
-		do { (void) ((!!((m_p != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 922, 0, L"m_p != 0")) || (__debugbreak(), 0)); ; } while(0);
-		return( m_p );
-	}
-
-	
-	void Attach( T* p ) throw()
-	{
-		do { (void) ((!!((m_p == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 929, 0, L"m_p == 0")) || (__debugbreak(), 0)); ; } while(0);
-		m_p = p;
-	}
-	
-	T* Detach() throw()
-	{
-		T* p;
-
-		p = m_p;
-		m_p = 0;
-
-		return( p );
-	}
-	
-	void Free() throw()
-	{
-		
-
-
-
-
-
-		_freea(m_p);
-		m_p = 0;
-	}
-
-public:
-	T* m_p;
-};
-
-
-template< class Dest, class Src >
-Dest* static_cast_auto( const CAutoPtr< Src >& pSrc ) throw()
-{
-	return( static_cast< Dest* >( static_cast< Src* >( pSrc ) ) );
-}
-
-
-class CComAllocator 
-{
-public:
-	static void* Reallocate(void* p, size_t nBytes) throw()
-	{
-
-
-
-
-
-
-		return ::CoTaskMemRealloc(p, ULONG(nBytes));
-	}
-	static void* Allocate(size_t nBytes) throw()
-	{
-
-
-
-
-
-
-		return ::CoTaskMemAlloc(ULONG(nBytes));
-	}
-	static void Free(void* p) throw()
-	{
-		::CoTaskMemFree(p);
-	}
-};
-
-template <typename T>
-class CComHeapPtr :
-	public CHeapPtr<T, CComAllocator>
-{
-public:
-	CComHeapPtr() throw()
-	{
-	}
-
-	explicit CComHeapPtr(T* pData) throw() :
-		CHeapPtr<T, CComAllocator>(pData)
-	{
-	}
-};
-
-template <class T, class Reallocator>
-T* AtlSafeRealloc(T* pT, size_t cEls) throw()
-{
-	T* pTemp;
-
-	size_t nBytes=0;
-	if(((HRESULT)(::ATL::AtlMultiply(&nBytes, cEls, sizeof(T))) < 0))
-	{
-		return 0;
-	}
-	pTemp = static_cast<T*>(Reallocator::Reallocate(pT, nBytes));
-	if (pTemp == 0)
-	{
-		Reallocator::Free(pT);
-		return 0;
-	}
-	pT = pTemp;
-	return pTemp;
-}
-
-class CHandle
-{
-public:
-	CHandle() throw();
-	CHandle( CHandle& h ) throw();
-	explicit CHandle( HANDLE h ) throw();
-	~CHandle() throw();
-
-	CHandle& operator=( CHandle& h ) throw();
-
-	operator HANDLE() const throw();
-
-	
-	void Attach( HANDLE h ) throw();
-	
-	HANDLE Detach() throw();
-
-	
-	void Close() throw();
-
-public:
-	HANDLE m_h;
-};
-
-inline CHandle::CHandle() throw() :
-	m_h( 0 )
-{
-}
-
-inline CHandle::CHandle( CHandle& h ) throw() :
-	m_h( 0 )
-{
-	Attach( h.Detach() );
-}
-
-inline CHandle::CHandle( HANDLE h ) throw() :
-	m_h( h )
-{
-}
-
-inline CHandle::~CHandle() throw()
-{
-	if( m_h != 0 )
-	{
-		Close();
-	}
-}
-
-inline CHandle& CHandle::operator=( CHandle& h ) throw()
-{
-	if( this != &h )
-	{
-		if( m_h != 0 )
-		{
-			Close();
-		}
-		Attach( h.Detach() );
-	}
-
-	return( *this );
-}
-
-inline CHandle::operator HANDLE() const throw()
-{
-	return( m_h );
-}
-
-inline void CHandle::Attach( HANDLE h ) throw()
-{
-	do { (void) ((!!((m_h == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 1100, 0, L"m_h == 0")) || (__debugbreak(), 0)); ; } while(0);
-	m_h = h;  
-}
-
-inline HANDLE CHandle::Detach() throw()
-{
-	HANDLE h;
-
-	h = m_h;  
-	m_h = 0;
-
-	return( h );
-}
-
-inline void CHandle::Close() throw()
-{
-	if( m_h != 0 )
-	{
-		::CloseHandle( m_h );
-		m_h = 0;
-	}
-}
-
-class CCritSecLock
-{
-public:
-	CCritSecLock( CRITICAL_SECTION& cs, bool bInitialLock = true );
-	~CCritSecLock() throw();
-
-	void Lock();
-	void Unlock() throw();
-
-
-private:
-	CRITICAL_SECTION& m_cs;
-	bool m_bLocked;
-
-
-	CCritSecLock( const CCritSecLock& ) throw();
-	CCritSecLock& operator=( const CCritSecLock& ) throw();
-};
-
-inline CCritSecLock::CCritSecLock( CRITICAL_SECTION& cs, bool bInitialLock ) :
-	m_cs( cs ),
-	m_bLocked( false )
-{
-	if( bInitialLock )
-	{
-		Lock();
-	}
-}
-
-inline CCritSecLock::~CCritSecLock() throw()
-{
-	if( m_bLocked )
-	{
-		Unlock();
-	}
-}
-
-inline void CCritSecLock::Lock()
-{
-	(void) ((!!((!m_bLocked))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 1162, 0, L"!m_bLocked")) || (__debugbreak(), 0));
-	__try
-	{
-		::EnterCriticalSection( &m_cs );
-	}
-	__except( ((DWORD )0xC0000017L) == _exception_code() )
-	{
-		ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) );
-	}
-	m_bLocked = true;
-}
-
-inline void CCritSecLock::Unlock() throw()
-{
-	do { (void) ((!!((m_bLocked))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 1176, 0, L"m_bLocked")) || (__debugbreak(), 0)); ; } while(0);
-	::LeaveCriticalSection( &m_cs );
-	m_bLocked = false;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class CAtlComModule : public _ATL_COM_MODULE
-{
-public:
-
-	CAtlComModule() throw()
-	{
-        cbSize = 0;
-
-		m_hInstTypeLib = reinterpret_cast<HINSTANCE>(&__ImageBase);
-
-		m_ppAutoObjMapFirst = &__pobjMapEntryFirst + 1;
-		m_ppAutoObjMapLast = &__pobjMapEntryLast;
-
-		if (((HRESULT)(m_csObjMap.Init()) < 0))
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2302)(atlTraceCOM, 0, L"ERROR : Unable to initialize critical section in CAtlComModule\n");
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2303, 0, L"0")) || (__debugbreak(), 0));
-			CAtlBaseModule::m_bInitFailed = true;
-			return;
-		}
-		
-        cbSize = sizeof(_ATL_COM_MODULE);
-	}
-
-	~CAtlComModule()
-	{
-		Term();
-	}
-
-	
-	void Term()
-	{
-		if (cbSize == 0)
-			return;
-
-		for (_ATL_OBJMAP_ENTRY** ppEntry = m_ppAutoObjMapFirst; ppEntry < m_ppAutoObjMapLast; ppEntry++)
-		{
-			if (*ppEntry != 0)
-			{
-				_ATL_OBJMAP_ENTRY* pEntry = *ppEntry;
-				if (pEntry->pCF != 0)
-					pEntry->pCF->Release();
-				pEntry->pCF = 0;
-			}
-		}
-		m_csObjMap.Term();
-		
-		
-		
-		cbSize = 0;
-	}
-
-	
-	HRESULT RegisterTypeLib()
-	{
-		return AtlRegisterTypeLib(m_hInstTypeLib, 0);
-	}
-	HRESULT RegisterTypeLib(LPCTSTR lpszIndex)
-	{
-		int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-		LPCOLESTR pwszTemp = 0;
-		if( lpszIndex != 0 )
-		{
-			pwszTemp = T2COLE_EX(lpszIndex, 1024);
-
-
-
-
-		}
-		return AtlRegisterTypeLib(m_hInstTypeLib, pwszTemp);
-	}
-	HRESULT UnRegisterTypeLib()
-	{
-		return AtlUnRegisterTypeLib(m_hInstTypeLib, 0);
-	}
-	HRESULT UnRegisterTypeLib(LPCTSTR lpszIndex)
-	{
-		int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-		LPCOLESTR pwszTemp = 0;
-		if( lpszIndex != 0 )
-		{
-			pwszTemp = T2COLE_EX(lpszIndex, 1024);
-
-
-
-
-		}
-		return AtlUnRegisterTypeLib(m_hInstTypeLib, pwszTemp);
-	}
-
-	
-	
-	
-	HRESULT RegisterServer(BOOL bRegTypeLib = 0, const CLSID* pCLSID = 0)
-	{
-		return AtlComModuleRegisterServer(this, bRegTypeLib, pCLSID);
-	}
-
-	
-	
-	
-	HRESULT UnregisterServer(BOOL bRegTypeLib = 0, const CLSID* pCLSID = 0)
-	{
-		return AtlComModuleUnregisterServer(this, bRegTypeLib, pCLSID);
-	}
-
-	
-
-	
-	void ExecuteObjectMain(bool bStarting)
-	{
-		for (_ATL_OBJMAP_ENTRY** ppEntry = m_ppAutoObjMapFirst; ppEntry < m_ppAutoObjMapLast; ppEntry++)
-		{
-			if (*ppEntry != 0)
-				(*ppEntry)->pfnObjectMain(bStarting);
-		}
-	}	
-};
-
-extern CAtlComModule _AtlComModule;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class CAtlWinModule : public _ATL_WIN_MODULE
-{
-public:
-	CAtlWinModule()
-	{
-		cbSize = sizeof(_ATL_WIN_MODULE);
-		HRESULT hr = AtlWinModuleInit(this);
-		if (((HRESULT)(hr) < 0))
-		{
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2629, 0, L"0")) || (__debugbreak(), 0));
-			CAtlBaseModule::m_bInitFailed = true;
-			cbSize = 0;
-			return;
-		}
-	}
-
-	~CAtlWinModule()
-	{
-		Term();
-	}
-
-	void Term()
-	{
-        AtlWinModuleTerm(this, _AtlBaseModule.GetModuleInstance());
-	}
-
-	void AddCreateWndData(_AtlCreateWndData* pData, void* pObject)
-	{
-		AtlWinModuleAddCreateWndData(this, pData, pObject);
-	}
-
-	void* ExtractCreateWndData()
-	{
-		return AtlWinModuleExtractCreateWndData(this);
-	}
-};
-
-extern CAtlWinModule _AtlWinModule;
-
-class CAtlModule;
-__declspec(selectany) CAtlModule* _pAtlModule = 0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class __declspec(novtable) CAtlModule : public _ATL_MODULE
-{
-public :
-	static GUID m_libid;
-	IGlobalInterfaceTable* m_pGIT;
-
-	CAtlModule() throw()
-	{
-		
-		
-		(void) ((!!((_pAtlModule == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2706, 0, L"_pAtlModule == 0")) || (__debugbreak(), 0));
-		cbSize = 0;
-		m_pTermFuncs = 0;
-
-		m_nLockCnt = 0;
-		_pAtlModule = this;
-		m_pGIT = 0;
-
-		if (((HRESULT)(m_csStaticDataInitAndTypeInfo.Init()) < 0))
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2716)(atlTraceGeneral, 0, L"ERROR : Unable to initialize critical section in CAtlModule\n");
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2717, 0, L"0")) || (__debugbreak(), 0));
-			CAtlBaseModule::m_bInitFailed = true;
-			return;
-		}
-
-		
-		cbSize = sizeof(_ATL_MODULE);
-	}
-
-	void Term() throw()
-	{
-		
-		if (cbSize == 0)
-			return;
-
-		
-		if (m_pTermFuncs != 0)
-		{
-			AtlCallTermFunc(this);
-			m_pTermFuncs = 0;
-		}
-
-		if (m_pGIT != 0)
-			m_pGIT->Release();
-
-		m_csStaticDataInitAndTypeInfo.Term();
-
-		cbSize = 0;
-	}
-
-	virtual ~CAtlModule() throw()
-	{
-		Term();
-	}
-
-	virtual LONG Lock() throw()
-	{
-		return CComGlobalsThreadModel::Increment(&m_nLockCnt);
-	}
-
-	virtual LONG Unlock() throw()
-	{
-		return CComGlobalsThreadModel::Decrement(&m_nLockCnt);
-	}
-
-	virtual LONG GetLockCount() throw()
-	{
-		return m_nLockCnt;
-	}
-
-	HRESULT AddTermFunc(_ATL_TERMFUNC* pFunc, DWORD_PTR dw) throw()
-	{
-		return AtlModuleAddTermFunc(this, pFunc, dw);
-	}
-
-	virtual HRESULT GetGITPtr(IGlobalInterfaceTable** ppGIT) throw()
-	{
-		(void) ((!!((ppGIT != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2774, 0, L"ppGIT != 0")) || (__debugbreak(), 0));
-
-		if (ppGIT == 0)
-			return ((HRESULT)0x80004003L);
-
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (m_pGIT == 0)
-		{
-			hr = ::CoCreateInstance(CLSID_StdGlobalInterfaceTable, 0, CLSCTX_INPROC_SERVER,
-				__uuidof(IGlobalInterfaceTable), (void**)&m_pGIT);
-		}
-
-		if (((HRESULT)(hr) >= 0))
-		{
-			do { (void) ((!!((m_pGIT != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2788, 0, L"m_pGIT != 0")) || (__debugbreak(), 0)); ; } while(0);
-			*ppGIT = m_pGIT;
-			m_pGIT->AddRef();
-		}
-		return hr;
-	}
-
-	virtual HRESULT AddCommonRGSReplacements(IRegistrarBase* ) throw() = 0;
-
-	
-
-
-
-
-
-
-
-	HRESULT __stdcall UpdateRegistryFromResourceD(LPCTSTR lpszRes, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-		if(lpszRes == 0)
-			return ((HRESULT)0x80070057L);
-		
-		int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-		LPCOLESTR pwszTemp = T2COLE_EX(lpszRes, 1024);
-
-		if(pwszTemp == 0) 
-			return ((HRESULT)0x8007000EL);
-
-		return UpdateRegistryFromResourceDHelper(pwszTemp, bRegister, pMapEntries);
-	}
-	HRESULT __stdcall UpdateRegistryFromResourceD(UINT nResID, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-		return UpdateRegistryFromResourceDHelper((LPCOLESTR)((LPWSTR)((ULONG_PTR)((WORD)(nResID)))), bRegister, pMapEntries);
-	}
-
-
-	
-
-	inline HRESULT __stdcall UpdateRegistryFromResourceDHelper(LPCOLESTR lpszRes, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-		CComPtr<IRegistrar> spRegistrar;
-		HRESULT hr = AtlCreateRegistrar(&spRegistrar);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		if (0 != pMapEntries)
-		{
-			while (0 != pMapEntries->szKey)
-			{
-				(void) ((!!((0 != pMapEntries->szData))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 2840, 0, L"0 != pMapEntries->szData")) || (__debugbreak(), 0));
-				spRegistrar->AddReplacement(pMapEntries->szKey, pMapEntries->szData);
-				pMapEntries++;
-			}
-		}
-
-		hr = AddCommonRGSReplacements(spRegistrar);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		return AtlUpdateRegistryFromResourceD(_AtlBaseModule.GetModuleInstance(), lpszRes, bRegister,
-			0, spRegistrar);
-	}
-
-
-	static void EscapeSingleQuote(       LPOLESTR lpDest,     size_t destSizeInChars,        LPCOLESTR lp) throw()
-	{	
-		if (destSizeInChars == 0)
-		{
-			return;
-		}
-		UINT i = 0;
-		
-		for (i=0; i < destSizeInChars-1 && *lp; i++)		
-		{
-			*lpDest++ = *lp;
-			
-			if (*lp == '\'' && ++i < destSizeInChars-1) 
-				*lpDest++ = *lp;
-			lp++;
-		}
-		*lpDest = 0;
-	}
-
-	__declspec( deprecated("CAtlModule::EscapeSingleQuote(dest, src) is unsafe. Instead, use CAtlModule::EscapeSingleQuote(dest, size, src)") )
-	static void EscapeSingleQuote(LPOLESTR lpDest, LPCOLESTR lp) throw()
-	{
-		EscapeSingleQuote(lpDest, 0xffffffff/sizeof(OLECHAR), lp);
-	}
-
-	
-	static LPCTSTR FindOneOf(LPCTSTR p1, LPCTSTR p2) throw()
-	{
-		while (p1 != 0 && *p1 != 0)
-		{
-			LPCTSTR p = p2;
-			while (p != 0 && *p != 0)
-			{
-				if (*p1 == *p)
-					return CharNextW(p1);
-				p = CharNextW(p);
-			}
-			p1 = CharNextW(p1);
-		}
-		return 0;
-	}
-#pragma warning(push)
-#pragma warning(disable : 4302)	
-
-	static int WordCmpI(LPCTSTR psz1, LPCTSTR psz2) throw()
-	{
-		TCHAR c1 = (TCHAR)CharUpperW((LPTSTR)*psz1);
-		TCHAR c2 = (TCHAR)CharUpperW((LPTSTR)*psz2);
-		while (c1 != 0 && c1 == c2 && c1 != ' ' && c1 != '\t')
-		{
-			psz1 = CharNextW(psz1);
-			psz2 = CharNextW(psz2);
-			c1 = (TCHAR)CharUpperW((LPTSTR)*psz1);
-			c2 = (TCHAR)CharUpperW((LPTSTR)*psz2);
-		}
-		if ((c1 == 0 || c1 == ' ' || c1 == '\t') && (c2 == 0 || c2 == ' ' || c2 == '\t'))
-			return 0;
-
-		return (c1 < c2) ? -1 : 1;
-	}
-
-#pragma warning (pop)	
-};
-
-__declspec(selectany) GUID CAtlModule::m_libid = {0x0, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline HRESULT AtlGetGITPtr(IGlobalInterfaceTable** ppGIT) throw()
-{
-	if (ppGIT == 0)
-		return ((HRESULT)0x80004003L);
-
-	if (_pAtlModule == 0)
-	{
-		return CoCreateInstance(CLSID_StdGlobalInterfaceTable, 0, CLSCTX_INPROC_SERVER,
-			__uuidof(IGlobalInterfaceTable), (void**)ppGIT);
-	}
-	else
-	{
-		return _pAtlModule->GetGITPtr(ppGIT);
-	}
-}
-
-template <class T>
-class __declspec(novtable) CAtlModuleT : public CAtlModule
-{
-public :
-	CAtlModuleT() throw()
-	{
-		T::InitLibId();
-	}
-
-	static void InitLibId() throw()
-	{
-	}
-
-	HRESULT RegisterServer(BOOL bRegTypeLib = 0, const CLSID* pCLSID = 0) throw()
-	{
-		(pCLSID);
-		(bRegTypeLib);
-
-		HRESULT hr = ((HRESULT)0x00000000L);
-
-
-
-		hr = _AtlComModule.RegisterServer(bRegTypeLib, pCLSID);
-
-
-
-
-
-
-		if (((HRESULT)(hr) >= 0) && _pPerfRegFunc != 0)
-			hr = (*_pPerfRegFunc)(_AtlBaseModule.m_hInst);
-
-
-
-		return hr;
-	}
-
-	HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID* pCLSID = 0) throw()
-	{
-		(bUnRegTypeLib);
-		(pCLSID);
-
-		HRESULT hr = ((HRESULT)0x00000000L);
-
-
-
-		if (_pPerfUnRegFunc != 0)
-			hr = (*_pPerfUnRegFunc)();
-
-
-
-
-
-		if (((HRESULT)(hr) >= 0))
-			hr = _AtlComModule.UnregisterServer(bUnRegTypeLib, pCLSID);
-
-
-
-		return hr;
-
-	}
-
-	static HRESULT __stdcall UpdateRegistryAppId(BOOL ) throw()
-	{
-		return ((HRESULT)0x00000000L);
-	}
-	HRESULT RegisterAppId() throw()
-	{
-		return T::UpdateRegistryAppId(1);
-	}
-
-	HRESULT UnregisterAppId() throw()
-	{
-		return T::UpdateRegistryAppId(0);
-	}
-
-	virtual HRESULT AddCommonRGSReplacements(IRegistrarBase* pRegistrar) throw()
-	{
-		return pRegistrar->AddReplacement(L"APPID", T::GetAppId());
-	}
-	static LPCOLESTR GetAppId() throw()
-	{
-		return L"";
-	}
-};
-
-
-
-
-
-
-
-
-
-
-
-
-template <class T>
-class __declspec(novtable) CAtlDllModuleT : public CAtlModuleT<T>
-{
-public :
-	CAtlDllModuleT() throw()
-	{
-		_AtlComModule.ExecuteObjectMain(true);
-
-
-
-
-
-
-
-
-
-	}
-
-	~CAtlDllModuleT() throw()
-	{
-
-
-
-
-
-
-
-
-		_AtlComModule.ExecuteObjectMain(false);
-	}
-
-    BOOL __stdcall DllMain(DWORD dwReason, LPVOID lpReserved) throw();
-
-	BOOL __stdcall _DllMain(DWORD dwReason, LPVOID ) throw()
-	{
-		if (dwReason == 1)
-		{
-			if (CAtlBaseModule::m_bInitFailed)
-			{
-				(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3098, 0, L"0")) || (__debugbreak(), 0));
-				return 0;
-			}
-
-
-
-
-		}
-
-		else if (dwReason == 0)
-		{
-			
-			_AtlWinModule.Term();		
-		}
-
-		return 1;    
-	}
-
-	HRESULT DllCanUnloadNow() throw()
-	{
-		T* pT = static_cast<T*>(this);
-		return (pT->GetLockCount()==0) ? ((HRESULT)0x00000000L) : ((HRESULT)0x00000001L);
-	}
-
-	HRESULT DllGetClassObject(const IID & rclsid, const IID & riid, LPVOID* ppv) throw()
-	{
-		T* pT = static_cast<T*>(this);
-		return pT->GetClassObject(rclsid, riid, ppv);
-	}
-
-	HRESULT DllRegisterServer(BOOL bRegTypeLib = 1) throw()
-	{
-		LCID lcid = GetThreadLocale();
-		SetThreadLocale((((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x02)) << 10) | (WORD )(0x00))))))))));
-		
-		T* pT = static_cast<T*>(this);
-		HRESULT hr = pT->RegisterAppId();
-		if (((HRESULT)(hr) >= 0))
-			hr = pT->RegisterServer(bRegTypeLib);
-		SetThreadLocale(lcid);
-		return hr;
-	}
-
-	HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = 1) throw()
-	{
-		LCID lcid = GetThreadLocale();
-		SetThreadLocale((((DWORD)((((DWORD)((WORD )(0x0))) << 16) | ((DWORD)((WORD )((((((WORD )(0x02)) << 10) | (WORD )(0x00))))))))));
-		T* pT = static_cast<T*>(this);
-		HRESULT hr = pT->UnregisterServer(bUnRegTypeLib);
-		if (((HRESULT)(hr) >= 0))
-			hr = pT->UnregisterAppId();
-		SetThreadLocale(lcid);
-		return hr;
-	}
-
-	
-	HRESULT GetClassObject(const IID & rclsid, const IID & riid, LPVOID* ppv) throw()
-	{
-
-
-		(void) ((!!((ppv != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3158, 0, L"ppv != 0")) || (__debugbreak(), 0));
-
-
-		return AtlComModuleGetClassObject(&_AtlComModule, rclsid, riid, ppv);
-	}
-};
-
-#pragma managed(push, off)
-
-template <class T>
-inline BOOL __stdcall CAtlDllModuleT<T>::DllMain(DWORD dwReason, LPVOID lpReserved) throw()
-{
-
-
-
-
-
-
-
-
-
-
-
-
-    return _DllMain(dwReason, lpReserved);
-
-}
-
-#pragma managed(pop)
-
-
-
-
-template <class T>
-class __declspec(novtable) CAtlExeModuleT : public CAtlModuleT<T>
-{
-public :
-
-
-	DWORD m_dwMainThreadID;
-	HANDLE m_hEventShutdown;
-	DWORD m_dwTimeOut;
-	DWORD m_dwPause;
-	bool m_bDelayShutdown;
-	bool m_bActivity;
-	bool m_bComInitialized;    
-
-
-
-	CAtlExeModuleT() throw()
-
-
-
-		: m_dwMainThreadID(::GetCurrentThreadId()),
-		m_dwTimeOut(5000),
-		m_dwPause(1000),
-		m_hEventShutdown(0),
-		m_bDelayShutdown(true),
-		m_bComInitialized(false)
-
-
-
-	{
-
-		HRESULT hr = T::InitializeCom();
-		if (((HRESULT)(hr) < 0))
-		{
-			
-			
-			if (hr != ((HRESULT)0x80010106L) || GetModuleHandleW(L"Mscoree.dll") == 0)
-			{
-				(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3229, 0, L"0")) || (__debugbreak(), 0));
-				CAtlBaseModule::m_bInitFailed =	 true;
-				return;
-			}
-		}
-		else
-		{
-			m_bComInitialized = true;
-		}
-
-
-		_AtlComModule.ExecuteObjectMain(true);
-
-
-
-	}
-
-	~CAtlExeModuleT() throw()
-	{
-
-
-		_AtlComModule.ExecuteObjectMain(false);
-
-
-
-		
-		Term();
-
-
-
-		
-		_AtlComModule.Term();
-
-		if (m_bComInitialized)
-			T::UninitializeCom();
-
-	}
-
-	static HRESULT InitializeCom() throw()
-	{
-
-
-
-
-		return CoInitialize(0);
-
-	}
-
-	static void UninitializeCom() throw()
-	{
-		CoUninitialize();
-	}
-
-	LONG Unlock() throw()
-	{
-		LONG lRet = CComGlobalsThreadModel::Decrement(&m_nLockCnt);
-
-
-
-		if (lRet == 0)
-		{
-			if (m_bDelayShutdown)
-			{
-				m_bActivity = true;
-				::SetEvent(m_hEventShutdown); 
-			}
-			else
-			{
-				::PostThreadMessageW(m_dwMainThreadID, 0x0012, 0, 0);
-			}
-		}
-
-
-
-		return lRet;
-	}
-
-
-	void MonitorShutdown() throw()
-	{
-		while (1)
-		{
-			::WaitForSingleObject(m_hEventShutdown, 0xFFFFFFFF);
-			DWORD dwWait = 0;
-			do
-			{
-				m_bActivity = false;
-				dwWait = ::WaitForSingleObject(m_hEventShutdown, m_dwTimeOut);
-			} while (dwWait == ((((DWORD )0x00000000L) ) + 0 ));
-			
-			if (!m_bActivity && m_nLockCnt == 0) 
-			{
-
-
-
-
-					break;
-			}
-		}
-		::CloseHandle(m_hEventShutdown);
-		::PostThreadMessageW(m_dwMainThreadID, 0x0012, 0, 0);
-	}
-
-	HANDLE StartMonitor() throw()
-	{
-		m_hEventShutdown = ::CreateEventW(0, false, false, 0);
-		if (m_hEventShutdown == 0)
-        {
-			return 0;
-        }
-		DWORD dwThreadID;
-		HANDLE hThread = ::CreateThread(0, 0, MonitorProc, this, 0, &dwThreadID);
-        if(hThread==0)
-        {
-    		::CloseHandle(m_hEventShutdown);
-        }
-		return hThread;
-	}
-
-	static DWORD __stdcall MonitorProc(void* pv) throw()
-	{
-		CAtlExeModuleT<T>* p = static_cast<CAtlExeModuleT<T>*>(pv);
-		p->MonitorShutdown();
-		return 0;
-	}
-
-
-	int WinMain(int nShowCmd) throw()
-	{
-		if (CAtlBaseModule::m_bInitFailed)
-		{
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3360, 0, L"0")) || (__debugbreak(), 0));
-			return -1;
-		}
-		T* pT = static_cast<T*>(this);
-		HRESULT hr = ((HRESULT)0x00000000L);
-
-		LPTSTR lpCmdLine = GetCommandLineW(); 
-		if (pT->ParseCommandLine(lpCmdLine, &hr) == true)
-			hr = pT->Run(nShowCmd);
-
-
-		
-		_AtlWinModule.Term();		
-
-		return hr;
-	}
-
-	
-	
-
-	
-	bool ParseCommandLine(LPCTSTR lpCmdLine, HRESULT* pnRetCode) throw()
-	{
-		*pnRetCode = ((HRESULT)0x00000000L);
-
-		TCHAR szTokens[] = L"-/";
-
-		T* pT = static_cast<T*>(this);
-		LPCTSTR lpszToken = FindOneOf(lpCmdLine, szTokens);
-		while (lpszToken != 0)
-		{
-			if (WordCmpI(lpszToken, L"UnregServer")==0)
-			{
-				*pnRetCode = pT->UnregisterServer(1);
-				if (((HRESULT)(*pnRetCode) >= 0))
-					*pnRetCode = pT->UnregisterAppId();
-				return false;
-			}
-
-			
-			if (WordCmpI(lpszToken, L"RegServer")==0)
-			{
-				*pnRetCode = pT->RegisterAppId();
-				if (((HRESULT)(*pnRetCode) >= 0))
-					*pnRetCode = pT->RegisterServer(1);
-				return false;
-			}
-
-			lpszToken = FindOneOf(lpszToken, szTokens);
-		}
-
-		return true;
-	}
-
-	HRESULT PreMessageLoop(int ) throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		T* pT = static_cast<T*>(this);
-		pT;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-		hr = pT->RegisterClassObjects(CLSCTX_LOCAL_SERVER, 
-			REGCLS_MULTIPLEUSE);
-		if (hr == ((HRESULT)0x00000000L))
-		{
-			if (m_bDelayShutdown && !pT->StartMonitor())
-			{
-				hr = ((HRESULT)0x80004005L);
-			}
-		}
-		else
-		{
-			m_bDelayShutdown = false;
-		}
-
-
-
-
-
-
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3485, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-		return hr;
-	}
-
-	HRESULT PostMessageLoop() throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-
-
-
-		T* pT = static_cast<T*>(this);
-		hr = pT->RevokeClassObjects();
-		if (m_bDelayShutdown)
-			Sleep(m_dwPause); 
-
-
-
-		return hr;
-	}
-
-	void RunMessageLoop() throw()
-	{
-		MSG msg;
-		while (GetMessageW(&msg, 0, 0, 0) > 0)
-		{
-			TranslateMessage(&msg);
-			DispatchMessageW(&msg);
-		}
-	}
-
-	HRESULT Run(int nShowCmd = 0) throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-
-		T* pT = static_cast<T*>(this);
-		hr = pT->PreMessageLoop(nShowCmd);
-
-		
-		if (hr == ((HRESULT)0x00000000L))
-		{
-			pT->RunMessageLoop();
-		}
-
-		
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = pT->PostMessageLoop();
-		}
-
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3534, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-		return hr;
-	}
-
-	
-	HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw()
-	{
-		return AtlComModuleRegisterClassObjects(&_AtlComModule, dwClsContext, dwFlags);
-	}
-	HRESULT RevokeClassObjects() throw()
-	{
-		return AtlComModuleRevokeClassObjects(&_AtlComModule);
-	}
-};
-
-
-template <class T, UINT nServiceNameID>
-class __declspec(novtable) CAtlServiceModuleT : public CAtlExeModuleT<T>
-{
-public :
-
-	CAtlServiceModuleT() throw()
-	{
-		m_bService = 1;
-		LoadStringW(_AtlBaseModule.GetModuleInstance(), nServiceNameID, m_szServiceName, sizeof(m_szServiceName) / sizeof(TCHAR));
-
-		
-		m_hServiceStatus = 0;
-		m_status.dwServiceType = 0x00000010;
-		m_status.dwCurrentState = 0x00000001;
-		m_status.dwControlsAccepted = 0x00000001;
-		m_status.dwWin32ExitCode = 0;
-		m_status.dwServiceSpecificExitCode = 0;
-		m_status.dwCheckPoint = 0;
-		m_status.dwWaitHint = 0;
-	}
-
-	int WinMain(int nShowCmd) throw()
-	{
-		if (CAtlBaseModule::m_bInitFailed)
-		{
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 3575, 0, L"0")) || (__debugbreak(), 0));
-			return -1;
-		}
-
-		T* pT = static_cast<T*>(this);
-		HRESULT hr = ((HRESULT)0x00000000L);
-
-		LPTSTR lpCmdLine = GetCommandLineW(); 
-		if (pT->ParseCommandLine(lpCmdLine, &hr) == true)
-			hr = pT->Start(nShowCmd);
-
-
-		
-		_AtlWinModule.Term();		
-
-		return hr;
-	}
-
-	HRESULT Start(int nShowCmd) throw()
-	{
-		T* pT = static_cast<T*>(this);
-		
-		CRegKey keyAppID;
-		LONG lRes = keyAppID.Open((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), L"AppID", ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))));
-		if (lRes != 0L)
-		{
-			m_status.dwWin32ExitCode = lRes;
-			return m_status.dwWin32ExitCode;
-		}
-
-		CRegKey key;
-		lRes = key.Open(keyAppID, pT->GetAppIdT(), ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))));
-		if (lRes != 0L)
-		{
-			m_status.dwWin32ExitCode = lRes;
-			return m_status.dwWin32ExitCode;
-		}
-
-		TCHAR szValue[260];
-		DWORD dwLen = 260;
-		lRes = key.QueryStringValue(L"LocalService", szValue, &dwLen);
-
-		m_bService = 0;
-		if (lRes == 0L)
-			m_bService = 1;
-
-		if (m_bService)
-		{
-			SERVICE_TABLE_ENTRY st[] =
-			{
-				{ m_szServiceName, _ServiceMain },
-				{ 0, 0 }
-			};
-			if (::StartServiceCtrlDispatcherW(st) == 0)
-				m_status.dwWin32ExitCode = GetLastError();
-			return m_status.dwWin32ExitCode;
-		}
-		
-		
-		m_status.dwWin32ExitCode = pT->Run(nShowCmd);
-		return m_status.dwWin32ExitCode;
-	}
-
-	inline HRESULT RegisterAppId(bool bService = false) throw()
-	{
-		if (!Uninstall())
-			return ((HRESULT)0x80004005L);
-
-		HRESULT hr = T::UpdateRegistryAppId(1);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		CRegKey keyAppID;
-		LONG lRes = keyAppID.Open((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), L"AppID", ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-		if (lRes != 0L)
-			return AtlHresultFromWin32(lRes);
-
-		CRegKey key;
-
-		lRes = key.Create(keyAppID, T::GetAppIdT());
-		if (lRes != 0L)
-			return AtlHresultFromWin32(lRes);
-
-		key.DeleteValue(L"LocalService");
-
-		if (!bService)
-			return ((HRESULT)0x00000000L);
-
-		key.SetStringValue(L"LocalService", m_szServiceName);
-
-		
-		if (!Install())
-			return ((HRESULT)0x80004005L);
-		return ((HRESULT)0x00000000L);
-	}
-
-	HRESULT UnregisterAppId() throw()
-	{
-		if (!Uninstall())
-			return ((HRESULT)0x80004005L);
-		
-		CRegKey keyAppID;
-		LONG lRes = keyAppID.Open((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), L"AppID", ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-		if (lRes != 0L)
-			return AtlHresultFromWin32(lRes);
-
-		CRegKey key;
-		lRes = key.Open(keyAppID, T::GetAppIdT(), ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-		if (lRes != 0L)
-			return AtlHresultFromWin32(lRes);
-		key.DeleteValue(L"LocalService");
-
-		return T::UpdateRegistryAppId(0);
-	}
-
-	
-	bool ParseCommandLine(LPCTSTR lpCmdLine, HRESULT* pnRetCode) throw()
-	{
-		if (!CAtlExeModuleT<T>::ParseCommandLine(lpCmdLine, pnRetCode))
-			return false;
-
-		TCHAR szTokens[] = L"-/";
-		*pnRetCode = ((HRESULT)0x00000000L);
-
-		T* pT = static_cast<T*>(this);
-		LPCTSTR lpszToken = FindOneOf(lpCmdLine, szTokens);
-		while (lpszToken != 0)
-		{
-			if (WordCmpI(lpszToken, L"Service")==0)
-			{
-				*pnRetCode = pT->RegisterAppId(true);
-				if (((HRESULT)(*pnRetCode) >= 0))
-					*pnRetCode = pT->RegisterServer(1);
-				return false;
-			}
-			lpszToken = FindOneOf(lpszToken, szTokens);
-		}
-		return true;
-	}
-
-	void ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv) throw()
-	{
-		lpszArgv;
-		dwArgc;
-		
-		m_status.dwCurrentState = 0x00000002;
-		m_hServiceStatus = RegisterServiceCtrlHandlerW(m_szServiceName, _Handler);
-		if (m_hServiceStatus == 0)
-		{
-			LogEvent(L"Handler not installed");
-			return;
-		}
-		SetServiceStatus(0x00000002);
-
-		m_status.dwWin32ExitCode = ((HRESULT)0x00000000L);
-		m_status.dwCheckPoint = 0;
-		m_status.dwWaitHint = 0;
-
-		T* pT = static_cast<T*>(this);
-
-
-		HRESULT hr = ((HRESULT)0x80004005L);
-		hr = T::InitializeCom();
-		if (((HRESULT)(hr) < 0))
-		{
-			
-			
-			if (hr != ((HRESULT)0x80010106L) || GetModuleHandleW(L"Mscoree.dll") == 0)
-			{
-				return;
-			}
-		}
-		else
-		{
-			m_bComInitialized = true;
-		}
-
-		m_bDelayShutdown = false;
-
-		
-		m_status.dwWin32ExitCode = pT->Run(0);
-
-
-		if (m_bService && m_bComInitialized)
-			T::UninitializeCom();
-
-
-		SetServiceStatus(0x00000001);
-		LogEvent(L"Service stopped");
-	}
-
-	HRESULT Run(int nShowCmd = 0) throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		T* pT = static_cast<T*>(this);
-
-		hr = pT->PreMessageLoop(nShowCmd);
-
-		if (hr == ((HRESULT)0x00000000L))
-		{
-			if (m_bService)
-			{
-				LogEvent(L"Service started");
-				SetServiceStatus(0x00000004);
-			}
-
-			pT->RunMessageLoop();
-		}
-
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = pT->PostMessageLoop();
-		}
-
-		return hr;
-	}
-
-	HRESULT PreMessageLoop(int nShowCmd) throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (m_bService)
-		{
-			m_dwThreadID = GetCurrentThreadId();
-
-			T* pT = static_cast<T*>(this);
-			hr = pT->InitializeSecurity();
-
-			if (((HRESULT)(hr) < 0))
-				return hr;
-		}
-
-		hr = CAtlExeModuleT<T>::PreMessageLoop(nShowCmd);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		return hr;
-	}
-
-	void OnStop() throw()
-	{
-		SetServiceStatus(0x00000003);
-		PostThreadMessageW(m_dwThreadID, 0x0012, 0, 0);
-	}
-
-	void OnPause() throw()
-	{
-	}
-
-	void OnContinue() throw()
-	{
-	}
-
-	void OnInterrogate() throw()
-	{
-	}
-
-	void OnShutdown() throw()
-	{
-	}
-
-	void OnUnknownRequest(DWORD ) throw()
-	{
-		LogEvent(L"Bad service request");	
-	}
-
-	void Handler(DWORD dwOpcode) throw()
-	{
-		T* pT = static_cast<T*>(this);
-
-		switch (dwOpcode)
-		{
-		case 0x00000001:
-			pT->OnStop();
-			break;
-		case 0x00000002:
-			pT->OnPause();
-			break;
-		case 0x00000003:
-			pT->OnContinue();
-			break;
-		case 0x00000004:
-			pT->OnInterrogate();
-			break;
-		case 0x00000005:
-			pT->OnShutdown();
-			break;
-		default:
-			pT->OnUnknownRequest(dwOpcode);
-		}
-	}
-
-	BOOL IsInstalled() throw()
-	{
-		BOOL bResult = 0;
-
-		SC_HANDLE hSCM = ::OpenSCManagerW(0, 0, ((0x000F0000L) | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020));
-
-		if (hSCM != 0)
-		{
-			SC_HANDLE hService = ::OpenServiceW(hSCM, m_szServiceName, 0x0001);
-			if (hService != 0)
-			{
-				bResult = 1;
-				::CloseServiceHandle(hService);
-			}
-			::CloseServiceHandle(hSCM);
-		}
-		return bResult;
-	}
-	BOOL Install() throw()
-	{
-		if (IsInstalled())
-			return 1;
-
-		
-		TCHAR szFilePath[260 + 2];
-		DWORD dwFLen = ::GetModuleFileNameW(0, szFilePath + 1, 260);
-		if( dwFLen == 0 || dwFLen == 260 )
-			return 0;
-
-		
-		szFilePath[0] = L'\"';
-		szFilePath[dwFLen + 1] = L'\"';
-		szFilePath[dwFLen + 2] = 0;
-        
-		SC_HANDLE hSCM = ::OpenSCManagerW(0, 0, ((0x000F0000L) | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020));
-		if (hSCM == 0)
-		{
-			TCHAR szBuf[1024];
-			if (AtlLoadString((0xD800 + 10), szBuf, 1024) == 0)
-
-				Checked::wcscpy_s(szBuf, sizeof(*__countof_helper(szBuf)), L"Could not open Service Manager");
-
-
-
-			MessageBoxW(0, szBuf, m_szServiceName, 0x00000000L);
-			return 0;
-		}
-
-		SC_HANDLE hService = ::CreateServiceW(
-			hSCM, m_szServiceName, m_szServiceName,
-			((0x000F0000L) | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080 | 0x0100), 0x00000010,
-			0x00000003, 0x00000001,
-			szFilePath, 0, 0, L"RPCSS\0", 0, 0);
-
-		if (hService == 0)
-		{
-			::CloseServiceHandle(hSCM);
-			TCHAR szBuf[1024];
-			if (AtlLoadString((0xD800 + 11), szBuf, 1024) == 0)
-
-				Checked::wcscpy_s(szBuf, sizeof(*__countof_helper(szBuf)), L"Could not start service");
-
-
-
-			MessageBoxW(0, szBuf, m_szServiceName, 0x00000000L);
-			return 0;
-		}
-
-		::CloseServiceHandle(hService);
-		::CloseServiceHandle(hSCM);
-		return 1;
-	}
-
-	BOOL Uninstall() throw()
-	{
-		if (!IsInstalled())
-			return 1;
-
-		SC_HANDLE hSCM = ::OpenSCManagerW(0, 0, ((0x000F0000L) | 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020));
-
-		if (hSCM == 0)
-		{
-			TCHAR szBuf[1024];
-			if (AtlLoadString((0xD800 + 10), szBuf, 1024) == 0)
-
-				Checked::wcscpy_s(szBuf, sizeof(*__countof_helper(szBuf)), L"Could not open Service Manager");
-
-
-
-			MessageBoxW(0, szBuf, m_szServiceName, 0x00000000L);
-			return 0;
-		}
-
-		SC_HANDLE hService = ::OpenServiceW(hSCM, m_szServiceName, 0x0020 | (0x00010000L));
-
-		if (hService == 0)
-		{
-			::CloseServiceHandle(hSCM);
-			TCHAR szBuf[1024];
-			if (AtlLoadString((0xD800 + 12), szBuf, 1024) == 0)
-
-				Checked::wcscpy_s(szBuf, sizeof(*__countof_helper(szBuf)), L"Could not open service");
-
-
-
-			MessageBoxW(0, szBuf, m_szServiceName, 0x00000000L);
-			return 0;
-		}
-		SERVICE_STATUS status;
-		BOOL bRet = ::ControlService(hService, 0x00000001, &status);
-		if (!bRet)
-		{
-			DWORD dwError = GetLastError();
-			if (!((dwError == 1062L) ||  (dwError == 1061L && status.dwCurrentState == 0x00000003)))
-			{
-				TCHAR szBuf[1024];
-				if (AtlLoadString((0xD800 + 14), szBuf, 1024) == 0)
-
-					Checked::wcscpy_s(szBuf, sizeof(*__countof_helper(szBuf)), L"Could not stop service");
-
-
-
-				MessageBoxW(0, szBuf, m_szServiceName, 0x00000000L);
-			}
-		}
-
-
-		BOOL bDelete = ::DeleteService(hService);
-		::CloseServiceHandle(hService);
-		::CloseServiceHandle(hSCM);
-
-		if (bDelete)
-			return 1;
-
-		TCHAR szBuf[1024];
-		if (AtlLoadString((0xD800 + 13), szBuf, 1024) == 0)
-
-			Checked::wcscpy_s(szBuf, sizeof(*__countof_helper(szBuf)), L"Could not delete service");
-
-
-
-		MessageBoxW(0, szBuf, m_szServiceName, 0x00000000L);
-		return 0;
-	}
-
-	LONG Unlock() throw()
-	{
-		LONG lRet;
-		if (m_bService)
-		{
-			
-			
-			lRet = CAtlModuleT<T>::Unlock();
-		}
-		else
-		{
-			
-			lRet = CAtlExeModuleT<T>::Unlock();
-		}
-		return lRet;
-	}
-
-	void LogEventEx(int id, LPCTSTR pszMessage=0, WORD type = 0x0004) throw()
-	{
-		HANDLE hEventSource;
-		if (m_szServiceName)
-		{
-			
-			hEventSource = RegisterEventSourceW(0, m_szServiceName);
-			if (hEventSource != 0)
-			{
-				
-				ReportEventW(hEventSource, 
-							type,
-							(WORD)0,
-							id,
-							0,
-							(WORD)(pszMessage != 0 ? 1 : 0),
-							0,
-							pszMessage != 0 ? &pszMessage : 0,
-							0);
-				DeregisterEventSource(hEventSource);
-			}
-		}
-	}
-
-#pragma warning(push)
-#pragma warning(disable : 4793)
-	void __cdecl LogEvent(LPCTSTR pszFormat, ...) throw()
-	{
-		const int LOG_EVENT_MSG_SIZE = 256;
-		
-		TCHAR chMsg[LOG_EVENT_MSG_SIZE];
-		HANDLE hEventSource;
-		LPTSTR lpszStrings[1];
-		va_list pArg;
-		
-		( pArg = (va_list)( &reinterpret_cast<const char &>(pszFormat) ) + ( (sizeof(pszFormat) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) );
-
-		_vsnwprintf_s(chMsg, LOG_EVENT_MSG_SIZE, LOG_EVENT_MSG_SIZE-1, pszFormat, pArg);
-
-
-
-		( pArg = (va_list)0 );
-
-		chMsg[LOG_EVENT_MSG_SIZE - 1] = 0;
-		
-		lpszStrings[0] = chMsg;
-
-		if (!m_bService)
-		{
-			
-			
-			_putws(chMsg);
-		}
-
-		
-		hEventSource = RegisterEventSourceW(0, m_szServiceName);
-		if (hEventSource != 0)
-		{
-			
-			ReportEventW(hEventSource, 0x0004, 0, 0, 0, 1, 0, (LPCTSTR*) &lpszStrings[0], 0);
-			DeregisterEventSource(hEventSource);
-		}
-	}
-#pragma warning(pop)
-
-	void SetServiceStatus(DWORD dwState) throw()
-	{
-		m_status.dwCurrentState = dwState;
-		::SetServiceStatus(m_hServiceStatus, &m_status);
-	}
-
-
-protected:
-	static void __stdcall _ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv) throw()
-	{
-		((T*)_pAtlModule)->ServiceMain(dwArgc, lpszArgv);
-	}
-	static void __stdcall _Handler(DWORD dwOpcode) throw()
-	{
-		((T*)_pAtlModule)->Handler(dwOpcode); 
-	}
-
-
-public:
-	TCHAR m_szServiceName[256];
-	SERVICE_STATUS_HANDLE m_hServiceStatus;
-	SERVICE_STATUS m_status;
-	BOOL m_bService;
-	DWORD m_dwThreadID;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class CComModule;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-__declspec(selectany) CComModule* _pModule = 0;
-class CComModule : public CAtlModuleT<CComModule>
-{
-public :
-
-	CComModule()
-	{
-		
-		
-		(void) ((!!((_pModule == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4232, 0, L"_pModule == 0")) || (__debugbreak(), 0));
-		_pModule = this;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	}
-
-	~CComModule()
-	{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	}
-
-	__declspec(property(get = get_m_hInst)) HINSTANCE m_hInst;
-	HINSTANCE& get_m_hInst() const throw()
-	{
-		return _AtlBaseModule.m_hInst;
-	}
-
-	__declspec(property(get = get_m_hInstResource, put = put_m_hInstResource)) HINSTANCE m_hInstResource;
-	HINSTANCE& get_m_hInstResource() const throw()
-	{
-		return _AtlBaseModule.m_hInstResource;
-	}
-	void put_m_hInstResource(HINSTANCE h) throw()
-	{
-		_AtlBaseModule.SetResourceInstance(h);
-	}
-	HINSTANCE SetResourceInstance(HINSTANCE h) throw()
-	{
-		return _AtlBaseModule.SetResourceInstance(h);
-	}
-
-	HINSTANCE GetModuleInstance() throw()
-	{
-		return _AtlBaseModule.m_hInst;
-	}
-	HINSTANCE GetResourceInstance() throw()
-	{
-		return _AtlBaseModule.m_hInstResource;
-	}
-
-	__declspec(property(get = get_m_hInstTypeLib, put = put_m_hInstTypeLib)) HINSTANCE m_hInstTypeLib;
-	HINSTANCE& get_m_hInstTypeLib() const throw()
-	{
-		return _AtlComModule.m_hInstTypeLib;
-	}
-	void put_m_hInstTypeLib(HINSTANCE h) throw()
-	{
-		_AtlComModule.m_hInstTypeLib = h;
-	}
-
-	HINSTANCE GetTypeLibInstance() const throw()
-	{
-		return _AtlComModule.m_hInstTypeLib;
-	}
-
-	
-	_ATL_OBJMAP_ENTRY* m_pObjMap;
-
-	__declspec(property(get  = get_m_csWindowCreate)) CRITICAL_SECTION m_csWindowCreate;
-	CRITICAL_SECTION& get_m_csWindowCreate() throw();
-
-	__declspec(property(get  = get_m_csObjMap)) CRITICAL_SECTION m_csObjMap;
-	CRITICAL_SECTION& get_m_csObjMap() throw();
-
-	__declspec(property(get  = get_m_csStaticDataInit)) CRITICAL_SECTION m_csTypeInfoHolder;
-	__declspec(property(get  = get_m_csStaticDataInit)) CRITICAL_SECTION m_csStaticDataInit;
-	CRITICAL_SECTION& get_m_csStaticDataInit() throw();
-	void EnterStaticDataCriticalSection() throw()
-	{
-		EnterCriticalSection(&m_csStaticDataInit);
-	}
-
-	void LeaveStaticDataCriticalSection() throw()
-	{
-		LeaveCriticalSection(&m_csStaticDataInit);
-	}
-
-	__declspec(property(get  = get_dwAtlBuildVer)) DWORD dwAtlBuildVer;
-	DWORD& get_dwAtlBuildVer() throw()
-	{
-		return _AtlBaseModule.dwAtlBuildVer;
-	}
-
-	__declspec(property(get  = get_m_pCreateWndList, put = put_m_pCreateWndList)) _AtlCreateWndData* m_pCreateWndList;
-	_AtlCreateWndData*& get_m_pCreateWndList() throw();
-	void put_m_pCreateWndList(_AtlCreateWndData* p) throw();
-
-	__declspec(property(get  = get_pguidVer)) const GUID* pguidVer;
-	const GUID*& get_pguidVer() throw()
-	{
-		return _AtlBaseModule.pguidVer;
-	}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	HRESULT Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE h, const GUID* plibid = 0) throw();
-	void Term() throw();
-
-	HRESULT GetClassObject(const IID & rclsid, const IID & riid, LPVOID* ppv) throw();
-	
-	HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw();
-	HRESULT RevokeClassObjects() throw();
-	
-	HRESULT RegisterTypeLib() throw();
-	HRESULT RegisterTypeLib(LPCTSTR lpszIndex) throw();
-	HRESULT UnRegisterTypeLib() throw();
-	HRESULT UnRegisterTypeLib(LPCTSTR lpszIndex) throw();
-	HRESULT RegisterServer(BOOL bRegTypeLib = 0, const CLSID* pCLSID = 0) throw();
-	HRESULT UnregisterServer(BOOL bUnRegTypeLib, const CLSID* pCLSID = 0) throw();
-	HRESULT UnregisterServer(const CLSID* pCLSID = 0) throw();
-
-	void AddCreateWndData(_AtlCreateWndData* pData, void* pObject) throw()
-	{
-		_AtlWinModule.AddCreateWndData(pData, pObject);
-	}
-
-	void* ExtractCreateWndData() throw()
-	{
-		return _AtlWinModule.ExtractCreateWndData();
-	}
-
-	
-	HRESULT CreateInstance(void* , const IID & , void** ) throw()	
-	{
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4400, 0, L"0")) || (__debugbreak(), 0));
-		do { ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4401)(ATL::atlTraceNotImpl, 0, L"ATL: %s not implemented.\n", L"CComModule::CreateInstance"); return ((HRESULT)0x80004001L); } while(0);
-	}
-
-	HRESULT RegisterAppId(LPCTSTR pAppId);
-	HRESULT UnregisterAppId(LPCTSTR pAppId);
-
-	
-	virtual HRESULT __stdcall UpdateRegistryFromResourceD(LPCTSTR lpszRes, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-
-
-
-
-
-
-		return CAtlModuleT<CComModule>::UpdateRegistryFromResourceD(lpszRes, bRegister, pMapEntries);		
-
-	}
-	virtual HRESULT __stdcall UpdateRegistryFromResourceD(UINT nResID, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-
-
-
-
-
-
-		return CAtlModuleT<CComModule>::UpdateRegistryFromResourceD(nResID, bRegister, pMapEntries);
-
-	}
-
-
-	
-	virtual HRESULT __stdcall UpdateRegistryFromResourceS(LPCTSTR lpszRes, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-
-
-
-		(lpszRes);
-		(bRegister);
-		(pMapEntries);
-		return ((HRESULT)0x80004005L);
-
-	}
-	virtual HRESULT __stdcall UpdateRegistryFromResourceS(UINT nResID, BOOL bRegister,
-		struct _ATL_REGMAP_ENTRY* pMapEntries = 0) throw()
-	{
-
-
-
-		(nResID);
-		(bRegister);
-		(pMapEntries);
-		return ((HRESULT)0x80004005L);
-
-	}
-
-
-	
-
-	__declspec( deprecated("CComModule::RegisterProgID is no longer recommended. Instead, use an RGS file for registration.") )
-	static HRESULT RegisterProgID(LPCTSTR lpszCLSID, LPCTSTR lpszProgID, LPCTSTR lpszUserDesc);
-	
-	__declspec( deprecated("CComModule::UpdateRegistryClass is no longer recommended. Instead, use an RGS file for registration.") )
-	HRESULT __stdcall UpdateRegistryClass(const CLSID& clsid, LPCTSTR lpszProgID, LPCTSTR lpszVerIndProgID, UINT nDescID, DWORD dwFlags, BOOL bRegister);
-	__declspec( deprecated("CComModule::UpdateRegistryClass is no longer recommended. Instead, use an RGS file for registration.") )
-	HRESULT __stdcall UpdateRegistryClass(const CLSID& clsid, LPCTSTR lpszProgID, LPCTSTR lpszVerIndProgID, LPCTSTR szDesc, DWORD dwFlags, BOOL bRegister);
-	__declspec( deprecated("CComModule::RegisterClassHelper is no longer recommended. Instead, use an RGS file for registration.") )
-	HRESULT __stdcall RegisterClassHelper(const CLSID& clsid, LPCTSTR lpszProgID, LPCTSTR lpszVerIndProgID, LPCTSTR szDesc, DWORD dwFlags);
-	__declspec( deprecated("CComModule::UnregisterClassHelper is no longer recommended. Instead, use an RGS file for registration.") )
-	HRESULT __stdcall UnregisterClassHelper(const CLSID& clsid, LPCTSTR lpszProgID, LPCTSTR lpszVerIndProgID);
-
-    BOOL __stdcall DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID , _ATL_OBJMAP_ENTRY* pObjMap, const GUID* pLibID);
-
-	BOOL __stdcall _DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID , _ATL_OBJMAP_ENTRY* pObjMap, const GUID* pLibID)
-	{
-		if (dwReason == 1)
-		{
-			if (CAtlBaseModule::m_bInitFailed)
-			{
-				(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4483, 0, L"0")) || (__debugbreak(), 0));
-				return 0;
-			}
-
-			if (((HRESULT)(Init(pObjMap, hInstance, pLibID)) < 0))
-			{
-				Term();
-				return 0;
-			}
-
-
-
-		}
-		else if (dwReason == 0)
-			Term();
-		return 1;    
-	}
-
-	HRESULT DllCanUnloadNow()  throw()
-	{
-		return (GetLockCount()==0) ? ((HRESULT)0x00000000L) : ((HRESULT)0x00000001L);
-	}
-	HRESULT DllGetClassObject(const IID & rclsid, const IID & riid, LPVOID* ppv)  throw()
-	{
-		return GetClassObject(rclsid, riid, ppv);
-	}
-
-	HRESULT DllRegisterServer(BOOL bRegTypeLib = 1)  throw()
-	{
-		
-		return RegisterServer(bRegTypeLib);
-	}
-
-	HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = 1)  throw()
-	{
-		return UnregisterServer(bUnRegTypeLib);
-	}
-
-};
-
-#pragma managed(push, off)
-inline BOOL __stdcall CComModule::DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved, _ATL_OBJMAP_ENTRY* pObjMap, const GUID* pLibID)
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-    return _DllMain(hInstance, dwReason, lpReserved, pObjMap, pLibID);
-
-}
-#pragma managed(pop)
-
-
-
-
-
-
-
-
-
-
-
-class CRTThreadTraits
-{
-public:
-	static HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpsa, DWORD dwStackSize, LPTHREAD_START_ROUTINE pfnThreadProc, void *pvParam, DWORD dwCreationFlags, DWORD *pdwThreadId) throw()
-	{
-		(void) ((!!((sizeof(DWORD) == sizeof(unsigned int)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4559, 0, L"sizeof(DWORD) == sizeof(unsigned int)")) || (__debugbreak(), 0)); 
-
-		
-		return (HANDLE) _beginthreadex(lpsa, dwStackSize, (unsigned int (__stdcall *)(void *)) pfnThreadProc, pvParam, dwCreationFlags, (unsigned int *) pdwThreadId);
-	}
-};
-
-
-
-
-
-
-
-class Win32ThreadTraits
-{
-public:
-	static HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpsa, DWORD dwStackSize, LPTHREAD_START_ROUTINE pfnThreadProc, void *pvParam, DWORD dwCreationFlags, DWORD *pdwThreadId) throw()
-	{
-		return ::CreateThread(lpsa, dwStackSize, pfnThreadProc, pvParam, dwCreationFlags, pdwThreadId);
-	}
-};
-
-
-	typedef CRTThreadTraits DefaultThreadTraits;
-
-
-
-
-template <typename T>
-HANDLE CreateThreadT(LPSECURITY_ATTRIBUTES lpsa, DWORD dwStackSize, DWORD (__stdcall * pfn)(T *pparam), 
-					 T *pparam, DWORD dwCreationFlags, LPDWORD pdw)
-{
-	return DefaultThreadTraits::CreateThread(lpsa, 
-		dwStackSize, 
-		(LPTHREAD_START_ROUTINE)pfn, 
-		pparam, 
-		dwCreationFlags, 
-		pdw);
-}
-
-template <typename T>
-HANDLE AtlCreateThread(DWORD (__stdcall* pfn)(T *pparam), T *pparam)
-{
-	return CreateThreadT(0, 0, pfn, pparam, 0, 0);
-}
-
-
-
-
-class _AtlAptCreateObjData
-{
-public:
-	_ATL_CREATORFUNC* pfnCreateInstance;
-	const IID* piid;
-	HANDLE hEvent;
-	LPSTREAM pStream;
-	HRESULT hRes;
-};
-
-class CComApartment
-{
-public:
-	CComApartment()
-	{
-		m_nLockCnt = 0;
-		m_hThread = 0;
-	}
-	static UINT ATL_CREATE_OBJECT;
-	static DWORD __stdcall _Apartment(     void* pv)
-	{
-		do { int __atl_condVal=!!(pv != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4629, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		return ((CComApartment*)pv)->Apartment();
-	}
-	DWORD Apartment()
-	{
-		CoInitialize(0);
-		MSG msg;
-		while(GetMessageW(&msg, 0, 0, 0) > 0)
-		{
-			if (msg.message == ATL_CREATE_OBJECT)
-			{
-				_AtlAptCreateObjData* pdata = (_AtlAptCreateObjData*)msg.lParam;
-				IUnknown* pUnk = 0;
-				pdata->hRes = pdata->pfnCreateInstance(0, __uuidof(IUnknown), (void**)&pUnk);
-				if (((HRESULT)(pdata->hRes) >= 0))
-					pdata->hRes = CoMarshalInterThreadInterfaceInStream(*pdata->piid, pUnk, &pdata->pStream);
-				if (((HRESULT)(pdata->hRes) >= 0))
-				{
-					pUnk->Release();
-					ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4648)(atlTraceCOM, 2, L"Object created on thread = %d\n", GetCurrentThreadId());
-				}
-
-				else
-				{
-					ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4653)(atlTraceCOM, 2, L"Failed to create Object on thread = %d\n", GetCurrentThreadId());
-				}
-
-				SetEvent(pdata->hEvent);
-			}
-			DispatchMessageW(&msg);
-		}
-		CoUninitialize();
-
-		return 0;
-	}
-	LONG Lock() {return CComGlobalsThreadModel::Increment(&m_nLockCnt);}
-	LONG Unlock(){return CComGlobalsThreadModel::Decrement(&m_nLockCnt);
-	}
-	LONG GetLockCount() {return m_nLockCnt;}
-
-	DWORD m_dwThreadID;
-	HANDLE m_hThread;
-	LONG m_nLockCnt;
-};
-
-__declspec(selectany) UINT CComApartment::ATL_CREATE_OBJECT = 0;
-
-class CComSimpleThreadAllocator
-{
-public:
-	CComSimpleThreadAllocator()
-	{
-		m_nThread = 0;
-	}
-	int GetThread(CComApartment* , int nThreads)
-	{
-		if (++m_nThread == nThreads)
-			m_nThread = 0;
-		return m_nThread;
-	}
-	int m_nThread;
-};
-
-__interface IAtlAutoThreadModule
-{
-	virtual HRESULT CreateInstance(void* pfnCreateInstance, const IID & riid, void** ppvObj);
-};
-
-__declspec(selectany) IAtlAutoThreadModule* _pAtlAutoThreadModule;
-
-template <class T, class ThreadAllocator = CComSimpleThreadAllocator, DWORD dwWait = 0xFFFFFFFF>
-class __declspec(novtable) CAtlAutoThreadModuleT : public IAtlAutoThreadModule
-{
-
-
-
-public:
-	CAtlAutoThreadModuleT(int nThreads = T::GetDefaultThreads())
-	{
-		(void) ((!!((_pAtlAutoThreadModule == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4708, 0, L"_pAtlAutoThreadModule == 0")) || (__debugbreak(), 0));
-		_pAtlAutoThreadModule = this;
-		m_pApartments = 0;
-		m_nThreads= 0;
-
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{m_pApartments = new CComApartment[nThreads];} catch(...) {} __pragma(warning(pop));
-		(void) ((!!((m_pApartments != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4714, 0, L"m_pApartments != 0")) || (__debugbreak(), 0));
-		if(m_pApartments == 0)
-		{
-			CAtlBaseModule::m_bInitFailed = true;
-			do { int __atl_condVal=!!(0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4718, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		}
-
-		memset(m_pApartments, 0, sizeof(CComApartment) * nThreads);
-
-		m_nThreads = nThreads;
-		for (int i = 0; i < nThreads; i++)
-		{
-
-
-			typedef unsigned ( __stdcall *pfnThread )( void * );
-			errno_t save_errno = Checked::get_errno();
-			Checked::set_errno(0);
-			m_pApartments[i].m_hThread = (HANDLE)_beginthreadex(0, 0, (pfnThread)CComApartment::_Apartment, &m_pApartments[i], 0, (UINT*)&m_pApartments[i].m_dwThreadID);
-			if (m_pApartments[i].m_hThread == 0)
-			{
-				HRESULT hr = ((HRESULT)0x80004005L);
-				
-				switch (Checked::get_errno())
-				{
-				case 11:
-					hr = ((HRESULT)(155L) <= 0 ? ((HRESULT)(155L)) : ((HRESULT) (((155L) & 0x0000FFFF) | (7 << 16) | 0x80000000)));
-					break;
-				case 22:
-					hr = ((HRESULT)0x80070057L);
-					break;
-				}
-				(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4745, 0, L"0")) || (__debugbreak(), 0));
-				CAtlBaseModule::m_bInitFailed = true;
-				break;
-			}
-			Checked::set_errno(save_errno);
-
-
-
-
-
-
-
-
-
-
-
-
-
-		}
-		if (!CAtlBaseModule::m_bInitFailed)
-			CComApartment::ATL_CREATE_OBJECT = RegisterWindowMessageW(L"ATL_CREATE_OBJECT");
-	}
-
-	virtual ~CAtlAutoThreadModuleT()
-	{
-		if (m_pApartments == 0)
-			return;
-
-		DWORD dwCurrentThreadId = GetCurrentThreadId();
-		int nCurrentThread = -1;
-		for (int i=0; i < m_nThreads; i++)
-		{
-			if (m_pApartments[i].m_hThread == 0)
-				continue;
-			if (m_pApartments[i].m_dwThreadID == dwCurrentThreadId)
-			{
-				nCurrentThread = i;
-				continue;
-			}
-			while (::PostThreadMessageW(m_pApartments[i].m_dwThreadID, 0x0012, 0, 0) == 0)
-			{
-				if (GetLastError() == 1444L)
-				{
-					(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4788, 0, L"0")) || (__debugbreak(), 0));
-					break;
-				}
-				::Sleep(100);
-			}
-			::WaitForSingleObject(m_pApartments[i].m_hThread, dwWait);
-			CloseHandle(m_pApartments[i].m_hThread);
-		}
-		if (nCurrentThread != -1)
-			CloseHandle(m_pApartments[nCurrentThread].m_hThread);
-
-		delete [] m_pApartments;
-		m_pApartments = 0;
-	}
-
-	HRESULT CreateInstance(void* pfnCreateInstance, const IID & riid, void** ppvObj)
-	{
-		(void) ((!!((ppvObj != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4805, 0, L"ppvObj != 0")) || (__debugbreak(), 0));
-		if (ppvObj == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObj = 0;
-
-		_ATL_CREATORFUNC* pFunc = (_ATL_CREATORFUNC*) pfnCreateInstance;
-		_AtlAptCreateObjData data;
-		data.pfnCreateInstance = pFunc;
-		data.piid = &riid;
-		data.hEvent = CreateEventW(0, 0, 0, 0);
-		data.hRes = ((HRESULT)0x00000000L);
-		int nThread = m_Allocator.GetThread(m_pApartments, m_nThreads);
-		int nIterations = 0;
-		while(::PostThreadMessageW(m_pApartments[nThread].m_dwThreadID, CComApartment::ATL_CREATE_OBJECT, 0, (LPARAM)&data) == 0 && ++nIterations < 100)
-		{
-			Sleep(100);
-		}
-		if (nIterations < 100)
-		{
-			AtlWaitWithMessageLoop(data.hEvent);
-		}
-		else
-		{
-			data.hRes = AtlHresultFromLastError();
-		}
-		CloseHandle(data.hEvent);
-		if (((HRESULT)(data.hRes) >= 0))
-			data.hRes = CoGetInterfaceAndReleaseStream(data.pStream, riid, ppvObj);
-		return data.hRes;
-	}
-	DWORD dwThreadID;
-	int m_nThreads;
-	CComApartment* m_pApartments;
-	ThreadAllocator m_Allocator;
-	static int GetDefaultThreads()
-	{
-		SYSTEM_INFO si;
-		GetSystemInfo(&si);
-		return si.dwNumberOfProcessors * 4;
-	}
-};
-
-class CAtlAutoThreadModule : public CAtlAutoThreadModuleT<CAtlAutoThreadModule>
-{
-public :
-};
-
-
-
-template <class ThreadAllocator = CComSimpleThreadAllocator, DWORD dwWait = 0xFFFFFFFF>
-class CComAutoThreadModule : 
-	public CComModule,
-	public CAtlAutoThreadModuleT<CComAutoThreadModule<ThreadAllocator,dwWait>, ThreadAllocator, dwWait>
-{
-public:
-	CComAutoThreadModule(int nThreads = GetDefaultThreads()) :
-		CAtlAutoThreadModuleT<CComAutoThreadModule<ThreadAllocator,dwWait>, ThreadAllocator, dwWait>(nThreads)
-	{
-	}
-	HRESULT Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE h, const GUID* plibid = 0, int nThreads = GetDefaultThreads())
-	{
-		nThreads;
-		(void) ((!!((nThreads == GetDefaultThreads() && L"Set number of threads through the constructor"))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4867, 0, L"nThreads == GetDefaultThreads() && L\"Set number of threads through the constructor\"")) || (__debugbreak(), 0));
-		return CComModule::Init(p, h, plibid);
-	}
-};
-
-
-
-
-class Win32WaitTraits
-{
-public:
-	static DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwTimeout)
-	{
-		return ::WaitForSingleObject(hHandle, dwTimeout);
-	}
-};
-
-typedef Win32WaitTraits DefaultWaitTraits;
-
-
-
-
-template <class T>
-class CComGITPtr
-{
-public:
-	CComGITPtr() throw()
-	{
-		m_dwCookie = 0;
-	}
-	CComGITPtr(T* p)
-	{
-		m_dwCookie = 0;
-		HRESULT hr = Attach(p);
-
-		if (((HRESULT)(hr) < 0))
-			ATL::AtlThrowImpl(hr);
-	}
-	CComGITPtr(const CComGITPtr& git)
-	{
-		m_dwCookie = 0;
-		CComPtr<T> spT;
-
-		HRESULT hr = git.CopyTo(&spT);
-		if (((HRESULT)(hr) >= 0))
-			hr = Attach(spT);
-
-		if (((HRESULT)(hr) < 0))
-			ATL::AtlThrowImpl(hr);
-	}
-	explicit CComGITPtr(DWORD dwCookie) throw()
-	{
-		do { (void) ((!!((dwCookie != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4919, 0, L"dwCookie != 0")) || (__debugbreak(), 0)); ; } while(0);		
-		m_dwCookie = dwCookie;
-
-
-		CComPtr<T> spT;
-		HRESULT hr = CopyTo(&spT);
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4925, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-
-	}
-
-	~CComGITPtr() throw()
-	{
-		Revoke();
-	}
-	CComGITPtr<T>& operator=(const CComGITPtr<T>& git)
-	{
-        if(*this!=git)
-        {
-		    CComPtr<T> spT;
-
-		    HRESULT hr = git.CopyTo(&spT);
-		    if (((HRESULT)(hr) >= 0))
-            {
-			    hr = Attach(spT);
-            }
-
-		    if (((HRESULT)(hr) < 0))
-            {
-			    ATL::AtlThrowImpl(hr);
-            }
-        }
-		return *this;
-	}
-	CComGITPtr<T>& operator=(T* p)
-	{
-		HRESULT hr = Attach(p);
-		if (((HRESULT)(hr) < 0))
-			ATL::AtlThrowImpl(hr);
-		return *this;
-	}
-	CComGITPtr<T>& operator=(DWORD dwCookie)
-	{
-        if(*this!=dwCookie)
-        {
-		    HRESULT hr = Attach(dwCookie);
-		    if (((HRESULT)(hr) < 0))
-            {
-			    ATL::AtlThrowImpl(hr);
-            }
-
-		    m_dwCookie = dwCookie;
-
-
-		    CComPtr<T> spT;
-		    hr = CopyTo(&spT);
-		    (void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 4974, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-
-        }
-		return *this;
-	}
-
-    
-    bool operator!=(CComGITPtr<T>& git) const
-    {
-        return !operator==(git);
-    }
-
-    bool operator!=(DWORD dwCookie) const
-    {
-        return !operator==(dwCookie);
-    }
-
-    bool operator==(CComGITPtr<T>& git) const
-    {
-        return m_dwCookie==git.GetCookie();
-    }
-
-    bool operator==(DWORD dwCookie) const
-    {
-        return m_dwCookie==dwCookie;
-    }
-
-	
-	operator DWORD() const
-	{
-		return m_dwCookie;
-	}
-	
-	DWORD GetCookie() const
-	{
-		return m_dwCookie;
-	}
-	
-	HRESULT Attach(T* p) throw()
-	{
-		CComPtr<IGlobalInterfaceTable> spGIT;
-		HRESULT hr = ((HRESULT)0x80004005L);
-		hr = AtlGetGITPtr(&spGIT);
-		(void) ((!!((spGIT != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5017, 0, L"spGIT != 0")) || (__debugbreak(), 0));
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5018, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		if (m_dwCookie != 0)
-			hr = spGIT->RevokeInterfaceFromGlobal(m_dwCookie);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		return spGIT->RegisterInterfaceInGlobal(p, __uuidof(T), &m_dwCookie);
-	}
-
-	HRESULT Attach(DWORD dwCookie) throw()
-	{
-		(void) ((!!((dwCookie != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5032, 0, L"dwCookie != 0")) || (__debugbreak(), 0));
-		HRESULT hr = Revoke();
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		m_dwCookie = dwCookie;
-		return ((HRESULT)0x00000000L);
-	}
-
-	
-	DWORD Detach() throw()
-	{
-		DWORD dwCookie = m_dwCookie;
-		m_dwCookie = 0;
-		return dwCookie;
-	}
-
-	
-	HRESULT Revoke() throw()
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (m_dwCookie != 0)
-		{
-			CComPtr<IGlobalInterfaceTable> spGIT;
-			HRESULT hr = ((HRESULT)0x80004005L);
-			hr = AtlGetGITPtr(&spGIT);
-
-			(void) ((!!((spGIT != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5058, 0, L"spGIT != 0")) || (__debugbreak(), 0));
-			(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5059, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-			if (((HRESULT)(hr) < 0))
-				return hr;
-
-			hr = spGIT->RevokeInterfaceFromGlobal(m_dwCookie);
-			if (((HRESULT)(hr) >= 0))
-				m_dwCookie = 0;
-		}
-		return hr;
-	}
-	
-	
-	HRESULT CopyTo(T** pp) const throw()
-	{
-		CComPtr<IGlobalInterfaceTable> spGIT;
-		HRESULT hr = ((HRESULT)0x80004005L);
-		hr = AtlGetGITPtr(&spGIT);
-
-		(void) ((!!((spGIT != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5077, 0, L"spGIT != 0")) || (__debugbreak(), 0));
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5078, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-		if (((HRESULT)(hr) < 0))
-			return hr;
-
-		do { (void) ((!!((m_dwCookie!=0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5082, 0, L"m_dwCookie!=0")) || (__debugbreak(), 0)); ; } while(0);
-		return spGIT->GetInterfaceFromGlobal(m_dwCookie, __uuidof(T), (void**)pp);
-	}
-	DWORD m_dwCookie;
-};
-
-
-
-
-class CRegKey
-{
-public:
-	CRegKey() throw();
-	CRegKey( CRegKey& key ) throw();
-	explicit CRegKey(HKEY hKey) throw();
-	~CRegKey() throw();
-
-	CRegKey& operator=( CRegKey& key ) throw();
-
-
-public:
-	operator HKEY() const throw();
-	HKEY m_hKey;
-
-
-public:
-	__declspec( deprecated("CRegKey::SetValue(DWORD, TCHAR *valueName) has been superseded by CRegKey::SetDWORDValue") )
-	LONG SetValue(DWORD dwValue, LPCTSTR lpszValueName);
-	__declspec( deprecated("CRegKey::SetValue(TCHAR *value, TCHAR *valueName) has been superseded by CRegKey::SetStringValue and CRegKey::SetMultiStringValue") )
-	LONG SetValue(LPCTSTR lpszValue, LPCTSTR lpszValueName = 0, bool bMulti = false, int nValueLen = -1);
-	LONG SetValue(LPCTSTR pszValueName, DWORD dwType, const void* pValue, ULONG nBytes) throw();
-	LONG SetGUIDValue(LPCTSTR pszValueName, const GUID & guidValue) throw();
-	LONG SetBinaryValue(LPCTSTR pszValueName, const void* pValue, ULONG nBytes) throw();
-	LONG SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue) throw();
-	LONG SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue) throw();
-	LONG SetStringValue(LPCTSTR pszValueName, LPCTSTR pszValue, DWORD dwType = ( 1 )) throw();
-	LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw();
-
-	__declspec( deprecated("CRegKey::QueryValue(DWORD, TCHAR *valueName) has been superseded by CRegKey::QueryDWORDValue") )
-	LONG QueryValue(     DWORD& dwValue,          LPCTSTR lpszValueName);
-	__declspec( deprecated("CRegKey::QueryValue(TCHAR *value, TCHAR *valueName) has been superseded by CRegKey::QueryStringValue and CRegKey::QueryMultiStringValue") )
-	LONG QueryValue(           LPTSTR szValue,          LPCTSTR lpszValueName,      DWORD* pdwCount);
-	LONG QueryValue(         LPCTSTR pszValueName, DWORD* pdwType, void* pData, ULONG* pnBytes) throw();
-	LONG QueryGUIDValue(         LPCTSTR pszValueName, GUID& guidValue) throw();
-	LONG QueryBinaryValue(         LPCTSTR pszValueName, void* pValue, ULONG* pnBytes) throw();
-	LONG QueryDWORDValue(         LPCTSTR pszValueName, DWORD& dwValue) throw();
-	LONG QueryQWORDValue(         LPCTSTR pszValueName, ULONGLONG& qwValue) throw();
-	LONG QueryStringValue(         LPCTSTR pszValueName,                 LPTSTR pszValue,      ULONG* pnChars) throw();
-	LONG QueryMultiStringValue(         LPCTSTR pszValueName,                 LPTSTR pszValue,      ULONG* pnChars) throw();
-
-	
-	LONG GetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd, LPDWORD pnBytes) throw();
-	
-	LONG SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd) throw();
-
-	LONG SetKeyValue(LPCTSTR lpszKeyName, LPCTSTR lpszValue, LPCTSTR lpszValueName = 0) throw();
-	static LONG __stdcall SetValue(HKEY hKeyParent, LPCTSTR lpszKeyName,
-		LPCTSTR lpszValue, LPCTSTR lpszValueName = 0);
-
-	
-	LONG Create(     HKEY hKeyParent,        LPCTSTR lpszKeyName,
-		       LPTSTR lpszClass = ( 0 ),      DWORD dwOptions = (0x00000000L),
-		     REGSAM samDesired = ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))),
-		       LPSECURITY_ATTRIBUTES lpSecAttr = 0,
-		       LPDWORD lpdwDisposition = 0) throw();
-	
-	LONG Open(HKEY hKeyParent, LPCTSTR lpszKeyName,
-		REGSAM samDesired = ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L)))) throw();
-	
-	LONG Close() throw();
-	
-	LONG Flush() throw();
-
-	
-	HKEY Detach() throw();
-	
-	void Attach(HKEY hKey) throw();
-
-	
-	LONG EnumKey(     DWORD iIndex,          LPTSTR pszName,      LPDWORD pnNameLength,        FILETIME* pftLastWriteTime = 0) throw();
-	LONG NotifyChangeKeyValue(BOOL bWatchSubtree, DWORD dwNotifyFilter, HANDLE hEvent, BOOL bAsync = 1) throw();
-
-	LONG DeleteSubKey(LPCTSTR lpszSubKey) throw();
-	LONG RecurseDeleteKey(LPCTSTR lpszKey) throw();
-	LONG DeleteValue(LPCTSTR lpszValue) throw();
-};
-
-inline CRegKey::CRegKey() throw() : 
-	m_hKey( 0 )
-{
-}
-
-inline CRegKey::CRegKey( CRegKey& key ) throw() :
-	m_hKey( 0 )
-{
-	Attach( key.Detach() );
-}
-
-inline CRegKey::CRegKey(HKEY hKey) throw() :
-	m_hKey(hKey)
-{
-}
-
-inline CRegKey::~CRegKey() throw()
-{Close();}
-
-inline CRegKey& CRegKey::operator=( CRegKey& key ) throw()
-{
-    if(m_hKey!=key.m_hKey)
-    {
-	    Close();
-	    Attach( key.Detach() );
-    }
-	return( *this );
-}
-
-inline CRegKey::operator HKEY() const throw()
-{return m_hKey;}
-
-inline HKEY CRegKey::Detach() throw()
-{
-	HKEY hKey = m_hKey;
-	m_hKey = 0;
-	return hKey;
-}
-
-inline void CRegKey::Attach(HKEY hKey) throw()
-{
-	do { (void) ((!!((m_hKey == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5210, 0, L"m_hKey == 0")) || (__debugbreak(), 0)); ; } while(0);
-	m_hKey = hKey;
-}
-
-inline LONG CRegKey::DeleteSubKey(LPCTSTR lpszSubKey) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5216, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return RegDeleteKeyW(m_hKey, lpszSubKey);
-}
-
-inline LONG CRegKey::DeleteValue(LPCTSTR lpszValue) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5222, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return RegDeleteValueW(m_hKey, (LPTSTR)lpszValue);
-}
-
-inline LONG CRegKey::Close() throw()
-{
-	LONG lRes = 0L;
-	if (m_hKey != 0)
-	{
-		lRes = RegCloseKey(m_hKey);
-		m_hKey = 0;
-	}
-	return lRes;
-}
-
-inline LONG CRegKey::Flush() throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5239, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	return ::RegFlushKey(m_hKey);
-}
-
-inline LONG CRegKey::EnumKey(     DWORD iIndex,          LPTSTR pszName,      LPDWORD pnNameLength,        FILETIME* pftLastWriteTime) throw()
-{
-	FILETIME ftLastWriteTime;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5248, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	if (pftLastWriteTime == 0)
-	{
-		pftLastWriteTime = &ftLastWriteTime;
-	}
-
-	return ::RegEnumKeyExW(m_hKey, iIndex, pszName, pnNameLength, 0, 0, 0, pftLastWriteTime);
-}
-
-inline LONG CRegKey::NotifyChangeKeyValue(BOOL bWatchSubtree, DWORD dwNotifyFilter, HANDLE hEvent, BOOL bAsync) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5259, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	(void) ((!!(((hEvent != 0) || !bAsync))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5260, 0, L"(hEvent != 0) || !bAsync")) || (__debugbreak(), 0));
-
-	return ::RegNotifyChangeKeyValue(m_hKey, bWatchSubtree, dwNotifyFilter, hEvent, bAsync);
-}
-
-inline LONG CRegKey::Create(     HKEY hKeyParent,        LPCTSTR lpszKeyName,
-	       LPTSTR lpszClass,      DWORD dwOptions,      REGSAM samDesired,
-	       LPSECURITY_ATTRIBUTES lpSecAttr,        LPDWORD lpdwDisposition) throw()
-{
-	(void) ((!!((hKeyParent != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5269, 0, L"hKeyParent != 0")) || (__debugbreak(), 0));
-	DWORD dw;
-	HKEY hKey = 0;
-	LONG lRes = RegCreateKeyExW(hKeyParent, lpszKeyName, 0,
-		lpszClass, dwOptions, samDesired, lpSecAttr, &hKey, &dw);
-	if (lpdwDisposition != 0)
-		*lpdwDisposition = dw;
-	if (lRes == 0L)
-	{
-		lRes = Close();
-		m_hKey = hKey;
-	}
-	return lRes;
-}
-
-inline LONG CRegKey::Open(HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired) throw()
-{
-	(void) ((!!((hKeyParent != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5286, 0, L"hKeyParent != 0")) || (__debugbreak(), 0));
-	HKEY hKey = 0;
-	LONG lRes = RegOpenKeyExW(hKeyParent, lpszKeyName, 0, samDesired, &hKey);
-	if (lRes == 0L)
-	{
-		lRes = Close();
-		(void) ((!!((lRes == 0L))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5292, 0, L"lRes == 0L")) || (__debugbreak(), 0));
-		m_hKey = hKey;
-	}
-	return lRes;
-}
-
-#pragma warning(push)
-#pragma warning(disable: 4996)
-inline LONG CRegKey::QueryValue(DWORD& dwValue, LPCTSTR lpszValueName)
-{
-	DWORD dwType = 0;
-	DWORD dwCount = sizeof(DWORD);
-	LONG lRes = RegQueryValueExW(m_hKey, lpszValueName, 0, &dwType,
-		(LPBYTE)&dwValue, &dwCount);
-	(void) ((!!(((lRes!=0L) || (dwType == ( 4 ))))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5306, 0, L"(lRes!=0L) || (dwType == ( 4 ))")) || (__debugbreak(), 0));
-	(void) ((!!(((lRes!=0L) || (dwCount == sizeof(DWORD))))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5307, 0, L"(lRes!=0L) || (dwCount == sizeof(DWORD))")) || (__debugbreak(), 0));
-	if (dwType != ( 4 ))
-		return 13L;
-	return lRes;
-}
-
-#pragma warning(disable: 6053)
-inline LONG CRegKey::QueryValue(           LPTSTR pszValue,          LPCTSTR lpszValueName,      DWORD* pdwCount)
-{
-	do { int __atl_condVal=!!(pdwCount != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5316, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-	DWORD dwType = 0;
-	LONG lRes = RegQueryValueExW(m_hKey, lpszValueName, 0, &dwType, (LPBYTE)pszValue, pdwCount);
-	(void) ((!!(((lRes!=0L) || (dwType == ( 1 )) || (dwType == ( 7 )) || (dwType == ( 2 ))))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5320, 0, L"(lRes!=0L) || (dwType == ( 1 )) || (dwType == ( 7 )) || (dwType == ( 2 ))")) || (__debugbreak(), 0));
-	if (pszValue != 0)
-	{
-		if(*pdwCount>0)
-		{
-			switch(dwType)
-			{
-				case ( 1 ):
-				case ( 2 ):
-					if ((*pdwCount) % sizeof(TCHAR) != 0 || pszValue[(*pdwCount) / sizeof(TCHAR) - 1] != 0)
-					{
-						pszValue[0]=L'\0';
-		 				return 13L;
-					}
-					break;
-				case ( 7 ):
-					if ((*pdwCount) % sizeof(TCHAR) != 0 || (*pdwCount) / sizeof(TCHAR) < 1 || pszValue[(*pdwCount) / sizeof(TCHAR) -1] != 0 || (((*pdwCount) / sizeof(TCHAR))>1 && pszValue[(*pdwCount) / sizeof(TCHAR) - 2] != 0) )
-					{
-						pszValue[0]=L'\0';
-						return 13L;
-					}
-					break;
-				default:
-					
-					pszValue[0]=L'\0';
-					return 13L;
-			}
-		}
-		else
-		{
-			
-			
-			pszValue[0]=L'\0';
-		}
-	}
-	return lRes;
-}
-#pragma warning(pop)	
-
-inline LONG CRegKey::QueryValue(LPCTSTR pszValueName, DWORD* pdwType, void* pData, ULONG* pnBytes) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5361, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	return( ::RegQueryValueExW(m_hKey, pszValueName, 0, pdwType, static_cast< LPBYTE >( pData ), pnBytes) );
-}
-
-inline LONG CRegKey::QueryDWORDValue(LPCTSTR pszValueName, DWORD& dwValue) throw()
-{
-	LONG lRes;
-	ULONG nBytes;
-	DWORD dwType;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5372, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	nBytes = sizeof(DWORD);
-	lRes = ::RegQueryValueExW(m_hKey, pszValueName, 0, &dwType, reinterpret_cast<LPBYTE>(&dwValue),
-		&nBytes);
-	if (lRes != 0L)
-		return lRes;
-	if (dwType != ( 4 ))
-		return 13L;
-
-	return 0L;
-}
-inline LONG CRegKey::QueryQWORDValue(LPCTSTR pszValueName, ULONGLONG& qwValue) throw()
-{
-	LONG lRes;
-	ULONG nBytes;
-	DWORD dwType;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5390, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	nBytes = sizeof(ULONGLONG);
-	lRes = ::RegQueryValueExW(m_hKey, pszValueName, 0, &dwType, reinterpret_cast<LPBYTE>(&qwValue),
-		&nBytes);
-	if (lRes != 0L)
-		return lRes;
-	if (dwType != ( 11 ))
-		return 13L;
-
-	return 0L;
-}
-
-inline LONG CRegKey::QueryBinaryValue(LPCTSTR pszValueName, void* pValue, ULONG* pnBytes) throw()
-{
-	LONG lRes;
-	DWORD dwType;
-
-	(void) ((!!((pnBytes != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5408, 0, L"pnBytes != 0")) || (__debugbreak(), 0));
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5409, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	lRes = ::RegQueryValueExW(m_hKey, pszValueName, 0, &dwType, reinterpret_cast<LPBYTE>(pValue),
-		pnBytes);
-	if (lRes != 0L)
-		return lRes;
-	if (dwType != ( 3 ))
-		return 13L;
-
-	return 0L;
-}
-
-#pragma warning(push)
-#pragma warning(disable: 6053)
-
-inline LONG CRegKey::QueryStringValue(LPCTSTR pszValueName, LPTSTR pszValue, ULONG* pnChars) throw()
-{
-	LONG lRes;
-	DWORD dwType;
-	ULONG nBytes;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5430, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	(void) ((!!((pnChars != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5431, 0, L"pnChars != 0")) || (__debugbreak(), 0));
-
-	nBytes = (*pnChars)*sizeof(TCHAR);
-	*pnChars = 0;
-	lRes = ::RegQueryValueExW(m_hKey, pszValueName, 0, &dwType, reinterpret_cast<LPBYTE>(pszValue),
-		&nBytes);
-	
-	if (lRes != 0L)
-	{
-		return lRes;
-	}
-
-	if(dwType != ( 1 ) && dwType != ( 2 ))
-	{
-		return 13L;
-	}
-
-	if (pszValue != 0)
-	{
-		if(nBytes!=0)
-		{
-			if ((nBytes % sizeof(TCHAR) != 0) || (pszValue[nBytes / sizeof(TCHAR) -1] != 0))
-			{
- 				return 13L;
-            }
-        }
-        else
-        {
-            pszValue[0]=L'\0';
-        }
-    }
-
- 	*pnChars = nBytes/sizeof(TCHAR);
-	
-	return 0L;
-}
-#pragma warning(pop)
-
-#pragma warning(push)
-#pragma warning(disable: 6053)
-
-inline LONG CRegKey::QueryMultiStringValue(LPCTSTR pszValueName, LPTSTR pszValue, ULONG* pnChars) throw()
-{
-	LONG lRes;
-	DWORD dwType;
-	ULONG nBytes;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5478, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	(void) ((!!((pnChars != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5479, 0, L"pnChars != 0")) || (__debugbreak(), 0));
-
-	if (pszValue != 0 && *pnChars < 2)
-		return 122L;
-		
-	nBytes = (*pnChars)*sizeof(TCHAR);
-	*pnChars = 0;
-	
-	lRes = ::RegQueryValueExW(m_hKey, pszValueName, 0, &dwType, reinterpret_cast<LPBYTE>(pszValue),
-		&nBytes);
-	if (lRes != 0L)
-		return lRes;
-	if (dwType != ( 7 ))
-		return 13L;
-	if (pszValue != 0 && (nBytes % sizeof(TCHAR) != 0 || nBytes / sizeof(TCHAR) < 1 || pszValue[nBytes / sizeof(TCHAR) -1] != 0 || ((nBytes/sizeof(TCHAR))>1 && pszValue[nBytes / sizeof(TCHAR) - 2] != 0)))
-		return 13L;
-
-	*pnChars = nBytes/sizeof(TCHAR);
-
-	return 0L;
-}
-#pragma warning(pop)
-
-inline LONG CRegKey::QueryGUIDValue(LPCTSTR pszValueName, GUID& guidValue) throw()
-{
-	TCHAR szGUID[64];
-	LONG lRes;
-	ULONG nCount;
-	HRESULT hr;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5509, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	guidValue = GUID_NULL;
-
-	nCount = 64;
-	lRes = QueryStringValue(pszValueName, szGUID, &nCount);
-
-	if (lRes != 0L)
-		return lRes;
-
-	if(szGUID[0] != L'{')
-		return 13L;
-
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	LPOLESTR lpstr = T2OLE_EX(szGUID, 1024);
-
-
-
-
-		
-	hr = ::CLSIDFromString(lpstr, &guidValue);
-	if (((HRESULT)(hr) < 0))
-		return 13L;
-
-	return 0L;
-}
-
-inline LONG __stdcall CRegKey::SetValue(HKEY hKeyParent, LPCTSTR lpszKeyName, LPCTSTR lpszValue, LPCTSTR lpszValueName)
-{
-	(void) ((!!((lpszValue != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5538, 0, L"lpszValue != 0")) || (__debugbreak(), 0));
-	CRegKey key;
-	LONG lRes = key.Create(hKeyParent, lpszKeyName);
-	if (lRes == 0L)
-		lRes = key.SetStringValue(lpszValueName, lpszValue);
-	return lRes;
-}
-
-inline LONG CRegKey::SetKeyValue(LPCTSTR lpszKeyName, LPCTSTR lpszValue, LPCTSTR lpszValueName) throw()
-{
-	(void) ((!!((lpszValue != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5548, 0, L"lpszValue != 0")) || (__debugbreak(), 0));
-	CRegKey key;
-	LONG lRes = key.Create(m_hKey, lpszKeyName);
-	if (lRes == 0L)
-		lRes = key.SetStringValue(lpszValueName, lpszValue);
-	return lRes;
-}
-
-#pragma warning(push)
-#pragma warning(disable: 4996)
-inline LONG CRegKey::SetValue(DWORD dwValue, LPCTSTR pszValueName)
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5560, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return SetDWORDValue(pszValueName, dwValue);
-}
-
-inline LONG CRegKey::SetValue(LPCTSTR lpszValue, LPCTSTR lpszValueName, bool bMulti, int nValueLen)
-{
-	do { int __atl_condVal=!!(lpszValue != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5566, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5567, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	if (bMulti && nValueLen == -1)
-		return 87L;
-
-	if (nValueLen == -1)
-		nValueLen = lstrlenW(lpszValue) + 1;
-
-	DWORD dwType = bMulti ? ( 7 ) : ( 1 );
-
-	return ::RegSetValueExW(m_hKey, lpszValueName, 0, dwType,
-		reinterpret_cast<const BYTE*>(lpszValue), nValueLen*sizeof(TCHAR));
-}
-#pragma warning(pop)
-
-inline LONG CRegKey::SetValue(LPCTSTR pszValueName, DWORD dwType, const void* pValue, ULONG nBytes) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5584, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return ::RegSetValueExW(m_hKey, pszValueName, 0, dwType, static_cast<const BYTE*>(pValue), nBytes);
-}
-
-inline LONG CRegKey::SetBinaryValue(LPCTSTR pszValueName, const void* pData, ULONG nBytes) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5590, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return ::RegSetValueExW(m_hKey, pszValueName, 0, ( 3 ), reinterpret_cast<const BYTE*>(pData), nBytes);
-}
-
-inline LONG CRegKey::SetDWORDValue(LPCTSTR pszValueName, DWORD dwValue) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5596, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return ::RegSetValueExW(m_hKey, pszValueName, 0, ( 4 ), reinterpret_cast<const BYTE*>(&dwValue), sizeof(DWORD));
-}
-
-inline LONG CRegKey::SetQWORDValue(LPCTSTR pszValueName, ULONGLONG qwValue) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5602, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	return ::RegSetValueExW(m_hKey, pszValueName, 0, ( 11 ), reinterpret_cast<const BYTE*>(&qwValue), sizeof(ULONGLONG));
-}
-
-inline LONG CRegKey::SetStringValue(         LPCTSTR pszValueName,        LPCTSTR pszValue,      DWORD dwType) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5608, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	do { int __atl_condVal=!!(pszValue != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5609, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-	(void) ((!!(((dwType == ( 1 )) || (dwType == ( 2 ))))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5610, 0, L"(dwType == ( 1 )) || (dwType == ( 2 ))")) || (__debugbreak(), 0));
-
-	return ::RegSetValueExW(m_hKey, pszValueName, 0, dwType, reinterpret_cast<const BYTE*>(pszValue), (lstrlenW(pszValue)+1)*sizeof(TCHAR));
-}
-
-inline LONG CRegKey::SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw()
-{
-	LPCTSTR pszTemp;
-	ULONG nBytes;
-	ULONG nLength;
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5621, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	do { int __atl_condVal=!!(pszValue != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5622, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-
-	
-	
-	
-	nBytes = 0;
-	pszTemp = pszValue;
-	do
-	{
-		nLength = lstrlenW(pszTemp)+1;
-		pszTemp += nLength;
-		nBytes += nLength*sizeof(TCHAR);
-	} while (nLength != 1);
-
-	return ::RegSetValueExW(m_hKey, pszValueName, 0, ( 7 ), reinterpret_cast<const BYTE*>(pszValue),
-		nBytes);
-}
-
-inline LONG CRegKey::SetGUIDValue(LPCTSTR pszValueName, const GUID & guidValue) throw()
-{
-	OLECHAR szGUID[64];
-
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5644, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	::StringFromGUID2(guidValue, szGUID, 64);
-
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	LPCTSTR lpstr = OLE2CT_EX(szGUID, 1024);
-
-
-
-
-	return SetStringValue(pszValueName, lpstr);
-}
-
-inline LONG CRegKey::GetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd, LPDWORD pnBytes) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5659, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	(void) ((!!((pnBytes != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5660, 0, L"pnBytes != 0")) || (__debugbreak(), 0));
-
-	return ::RegGetKeySecurity(m_hKey, si, psd, pnBytes);
-}
-
-inline LONG CRegKey::SetKeySecurity(SECURITY_INFORMATION si, PSECURITY_DESCRIPTOR psd) throw()
-{
-	do { (void) ((!!((m_hKey != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5667, 0, L"m_hKey != 0")) || (__debugbreak(), 0)); ; } while(0);
-	(void) ((!!((psd != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5668, 0, L"psd != 0")) || (__debugbreak(), 0));
-
-	return ::RegSetKeySecurity(m_hKey, si, psd);
-}
-
-inline LONG CRegKey::RecurseDeleteKey(LPCTSTR lpszKey) throw()
-{
-	CRegKey key;
-	LONG lRes = key.Open(m_hKey, lpszKey, ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-	if (lRes != 0L)
-	{
-		if (lRes != 2L && lRes != 3L)
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5681)(atlTraceCOM, 0, L"CRegKey::RecurseDeleteKey : Failed to Open Key %s(Error = %d)\n", lpszKey, lRes);
-		}
-		return lRes;
-	}
-	FILETIME time;
-	DWORD dwSize = 256;
-	TCHAR szBuffer[256];
-	while (RegEnumKeyExW(key.m_hKey, 0, szBuffer, &dwSize, 0, 0, 0,
-		&time)==0L)
-	{
-		lRes = key.RecurseDeleteKey(szBuffer);
-		if (lRes != 0L)
-			return lRes;
-		dwSize = 256;
-	}
-	key.Close();
-	return DeleteSubKey(lpszKey);
-}
-
-
-
-inline HRESULT CComModule::RegisterProgID(LPCTSTR lpszCLSID, LPCTSTR lpszProgID, LPCTSTR lpszUserDesc)
-{
-	CRegKey keyProgID;
-	LONG lRes = keyProgID.Create((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), lpszProgID, ( 0 ), (0x00000000L), (0x0002));
-	if (lRes == 0L)
-	{
-		lRes = keyProgID.SetStringValue(0, lpszUserDesc);
-		if (lRes == 0L)
-		{
-			lRes = keyProgID.SetKeyValue(L"CLSID", lpszCLSID);
-			if (lRes == 0L)
-				return ((HRESULT)0x00000000L);
-		}
-	}
-	return AtlHresultFromWin32(lRes);
-}
-
-inline HRESULT CComModule::RegisterAppId(LPCTSTR pAppId)
-{
-	CRegKey keyAppID;
-	HRESULT hr = ((HRESULT)0x00000000L);
-	LONG lRet;
-
-	if ( (lRet = keyAppID.Open((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), L"AppID", ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))))) == 0L)
-	{
-		TCHAR szModule1[260];
-		TCHAR szModule2[260];
-		TCHAR* pszFileName;
-
-		DWORD dwFLen = ::GetModuleFileNameW(GetModuleInstance(), szModule1, 260);
-		if ( dwFLen != 0 && dwFLen != 260 )
-		{
-			if (::GetFullPathNameW(szModule1, 260, szModule2, &pszFileName) != 0)
-			{
-				CRegKey keyAppIDEXE;
-				if ( (lRet = keyAppIDEXE.Create(keyAppID, pszFileName, ( 0 ), (0x00000000L), ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))))) == 0L)
-				{
-					lRet = keyAppIDEXE.SetStringValue(L"AppID", pAppId);
-					if (lRet != 0L) 
-					{
-						ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5742)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to set app id string value\n");
-						hr = AtlHresultFromWin32(lRet);
-						return hr;
-					}
-				}
-				else
-				{
-					ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5749)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to create file name key\n");
-					hr = AtlHresultFromWin32(lRet);
-					return hr;
-				}
-				if ( (lRet = keyAppIDEXE.Create(keyAppID, pAppId, ( 0 ), (0x00000000L), ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))))) == 0L)
-				{	
-					lRet = keyAppIDEXE.SetStringValue(0, pszFileName);
-					if (lRet != 0L)
-					{
-						ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5758)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to set file name string value\n");
-						hr = AtlHresultFromWin32(lRet);
-						return hr;
-					}
-				}
-				else
-				{
-					ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5765)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to create app id key\n");
-					hr = AtlHresultFromWin32(lRet);
-					return hr;
-				}
-			}
-			else
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5772)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to get full path name for file %s\n", szModule1);
-				hr = AtlHresultFromLastError();
-			}
-		}
-		else
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5778)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to get module name\n");
-			if( dwFLen == 0 )
-				hr = AtlHresultFromLastError();
-			else if( dwFLen == 260 )
-				hr =  ((HRESULT)(122L) <= 0 ? ((HRESULT)(122L)) : ((HRESULT) (((122L) & 0x0000FFFF) | (7 << 16) | 0x80000000)));
-		}
-	}
-	else
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5787)(atlTraceCOM, 0, L"CComModule::RegisterAppId : Failed to open registry key\n");
-		hr = AtlHresultFromWin32(lRet);
-	}
-	return hr;
-}
-
-inline HRESULT CComModule::UnregisterAppId(LPCTSTR pAppId)
-{
-	CRegKey keyAppID;
-	HRESULT hr = ((HRESULT)0x00000000L);
-	LONG lRet = keyAppID.Open((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), L"AppID", ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-
-	if (lRet == 0L)
-	{
-		TCHAR szModule1[260];
-		TCHAR szModule2[260];
-		TCHAR* pszFileName;
-
-		DWORD dwFLen = ::GetModuleFileNameW(GetModuleInstance(), szModule1, 260);
-		if ( dwFLen != 0 && dwFLen != 260 )
-		{
-			if (::GetFullPathNameW(szModule1, 260, szModule2, &pszFileName) != 0)
-			{
-				if ((lRet = keyAppID.RecurseDeleteKey(pAppId)) != 0L)
-				{
-					if (lRet != 2L) 
-						hr = AtlHresultFromWin32(lRet);
-				}
-				if ((lRet = keyAppID.RecurseDeleteKey(pszFileName)) != 0L)
-				{
-					if (lRet != 2L) 
-						hr = AtlHresultFromWin32(lRet);
-				}
-			}
-			else
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5823)(atlTraceCOM, 0, L"CComModule::UnregisterAppId : Failed to get full path name for file %s\n", szModule1);
-				hr = AtlHresultFromLastError();
-			}
-		}
-		else
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5829)(atlTraceCOM, 0, L"CComModule::UnregisterAppId : Failed to get module name\n");
-			if( dwFLen == 0 )
-				hr = AtlHresultFromLastError();
-			else if( dwFLen == 260 )
-				hr = ((HRESULT)(122L) <= 0 ? ((HRESULT)(122L)) : ((HRESULT) (((122L) & 0x0000FFFF) | (7 << 16) | 0x80000000)));
-		}
-	}
-	else
-	{
-		if (lRet != 2L && lRet != 3L)
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 5840)(atlTraceCOM, 0, L"CComModule::UnregisterAppId : Failed to open registry key\n");
-			hr = AtlHresultFromWin32(lRet);
-		}
-	}
-	return hr;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma warning( push )
-#pragma warning( disable: 4996 )  
-
-inline HRESULT __stdcall CComModule::UpdateRegistryClass(const CLSID& clsid, LPCTSTR lpszProgID,
-	LPCTSTR lpszVerIndProgID, UINT nDescID, DWORD dwFlags, BOOL bRegister)
-{
-	if (bRegister)
-	{
-		TCHAR szDesc[256];
-		LoadStringW(m_hInst, nDescID, szDesc, 256);
-		return RegisterClassHelper(clsid, lpszProgID, lpszVerIndProgID, szDesc, dwFlags);
-	}
-	return UnregisterClassHelper(clsid, lpszProgID, lpszVerIndProgID);
-}
-
-inline HRESULT __stdcall CComModule::UpdateRegistryClass(const CLSID& clsid, LPCTSTR lpszProgID,
-	LPCTSTR lpszVerIndProgID, LPCTSTR szDesc, DWORD dwFlags, BOOL bRegister)
-{
-	if (bRegister)
-		return RegisterClassHelper(clsid, lpszProgID, lpszVerIndProgID, szDesc, dwFlags);
-	return UnregisterClassHelper(clsid, lpszProgID, lpszVerIndProgID);
-}
-
-inline HRESULT __stdcall CComModule::RegisterClassHelper(const CLSID& clsid, LPCTSTR lpszProgID,
-	LPCTSTR lpszVerIndProgID, LPCTSTR szDesc, DWORD dwFlags)
-{
-	static const TCHAR szProgID[] = L"ProgID";
-	static const TCHAR szVIProgID[] = L"VersionIndependentProgID";
-	static const TCHAR szLS32[] = L"LocalServer32";
-	static const TCHAR szIPS32[] = L"InprocServer32";
-	static const TCHAR szThreadingModel[] = L"ThreadingModel";
-	static const TCHAR szAUTPRX32[] = L"AUTPRX32.DLL";
-	static const TCHAR szApartment[] = L"Apartment";
-	static const TCHAR szBoth[] = L"both";
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	TCHAR szModule[260 + 2];
-
-	do { int __atl_condVal=!!(lpszProgID && lpszVerIndProgID || !lpszProgID && !lpszVerIndProgID); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6062, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-
-	if (!szDesc)
-	{
-		szDesc = L"";
-	}
-
-	
-	
-	
-	
-	
-	
-	
-	DWORD dwLen = GetModuleFileNameW(m_hInst, szModule + 1, 260);
-	if (dwLen == 0)
-	{
-		return AtlHresultFromLastError();
-	}
-	else if( dwLen == 260 )
-	{
-		return ((HRESULT)(122L) <= 0 ? ((HRESULT)(122L)) : ((HRESULT) (((122L) & 0x0000FFFF) | (7 << 16) | 0x80000000)));
-	}
-
-	LPOLESTR lpOleStr;
-	HRESULT hRes = StringFromCLSID(clsid, &lpOleStr);
-	if (((HRESULT)(hRes) < 0))
-		return hRes;
-
-	LPTSTR lpszCLSID = OLE2T_EX(lpOleStr, 1024);
-
-
-
-
-
-
-
-
-	hRes = lpszProgID ? RegisterProgID(lpszCLSID, lpszProgID, szDesc) : ((HRESULT)0x00000000L);
-	if (hRes == ((HRESULT)0x00000000L))
-		hRes = lpszVerIndProgID ? RegisterProgID(lpszCLSID, lpszVerIndProgID, szDesc) : ((HRESULT)0x00000000L);
-	LONG lRes = 0L;
-	if (hRes == ((HRESULT)0x00000000L))
-	{
-		CRegKey key;
-		lRes = key.Open((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ), L"CLSID", ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-		if (lRes == 0L)
-		{
-			lRes = key.Create(key, lpszCLSID, ( 0 ), (0x00000000L), ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-			if (lRes == 0L)
-			{
-				lRes = key.SetStringValue(0, szDesc);
-				if (lRes == 0L)
-				{
-					lRes = lpszProgID ? key.SetKeyValue(szProgID, lpszProgID) : 0L;
-					if (lRes == 0L)
-					{
-						lRes = lpszVerIndProgID ? key.SetKeyValue(szVIProgID, lpszVerIndProgID) : 0L;
-						if (lRes == 0L)
-						{
-							if ((m_hInst == 0) || (m_hInst == GetModuleHandleW(0))) 
-							{
-								
-								
-								
-								szModule[0] = L'\"';
-								szModule[dwLen + 1] = L'\"';
-								szModule[dwLen + 2] = 0;
-
-								lRes = key.SetKeyValue(szLS32, szModule);
-							}
-							else
-							{
-								lRes = key.SetKeyValue(szIPS32, (dwFlags & 0x4) ? szAUTPRX32 : szModule + 1);
-								if (lRes == 0L)
-								{
-									LPCTSTR lpszModel = (dwFlags & 0x2) ? szBoth :
-										(dwFlags & 0x1) ? szApartment : 0;
-									if (lpszModel != 0)
-										lRes = key.SetKeyValue(szIPS32, lpszModel, szThreadingModel);
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-	CoTaskMemFree(lpOleStr);
-	if (lRes != 0L)
-		hRes = AtlHresultFromWin32(lRes);
-	return hRes;
-}
-
-inline HRESULT __stdcall CComModule::UnregisterClassHelper(const CLSID& clsid, LPCTSTR lpszProgID,
-	LPCTSTR lpszVerIndProgID)
-{
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	CRegKey key;
-	LONG lRet;
-
-	key.Attach((( HKEY ) (ULONG_PTR)((LONG)0x80000000) ));
-	if (lpszProgID != 0 && lpszProgID[0]!=L'\0')
-	{
-		lRet = key.RecurseDeleteKey(lpszProgID);
-		if (lRet != 0L && lRet != 2L && lRet != 3L)
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6169)(atlTraceCOM, 0, L"Failed to Unregister ProgID : %s\n", lpszProgID);
-			key.Detach();
-			return AtlHresultFromWin32(lRet);
-		}
-	}
-	if (lpszVerIndProgID != 0 && lpszVerIndProgID[0]!=L'\0')
-	{
-		lRet = key.RecurseDeleteKey(lpszVerIndProgID);
-		if (lRet != 0L && lRet != 2L && lRet != 3L)
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6179)(atlTraceCOM, 0, L"Failed to Unregister Version Independent ProgID : %s\n", lpszVerIndProgID);
-			key.Detach();
-			return AtlHresultFromWin32(lRet);
-		}
-	}
-	LPOLESTR lpOleStr;
-	HRESULT hr = StringFromCLSID(clsid, &lpOleStr);
-	if (((HRESULT)(hr) >= 0))
-	{
-		LPTSTR lpsz = OLE2T_EX(lpOleStr, 1024);
-
-
-
-
-
-
-
-
-		lRet = key.Open(key, L"CLSID", ((((0x00020000L)) | (0x0001) | (0x0008) | (0x0010)) & (~(0x00100000L))) | ((((0x00020000L)) | (0x0002) | (0x0004)) & (~(0x00100000L))));
-		if (lRet == 0L)
-			lRet = key.RecurseDeleteKey(lpsz);
-		if (lRet != 0L && lRet != 2L && lRet != 3L)
-		{
-			ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6202)(atlTraceCOM, 0, L"Failed to delete CLSID : %s\n", lpsz);
-			hr = AtlHresultFromWin32(lRet);
-		}
-		CoTaskMemFree(lpOleStr);
-	}
-	else
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6209)(atlTraceCOM, 0, L"Failed to delete CLSID : {%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x}",
-			clsid.Data1, 
-			clsid.Data2, 
-			clsid.Data3, 
-			clsid.Data4[0],
-			clsid.Data4[1],
-			clsid.Data4[2],
-			clsid.Data4[3],
-			clsid.Data4[4],
-			clsid.Data4[5],
-			clsid.Data4[6],
-			clsid.Data4[7]
-			);
-	}
-	key.Detach();
-	return hr;
-}
-
-#pragma warning( pop ) 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-
-
-
-
-
-}; 
- 
- 
-
-
-
-
-
-
-
-
-
- 
-namespace ATL
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- extern "C" inline HRESULT __stdcall
-AtlWinModuleTerm(_ATL_WIN_MODULE* pWinModule, HINSTANCE hInst)
-{
-	if (pWinModule == 0)
-		return ((HRESULT)0x80070057L);
-	if (pWinModule->cbSize == 0)
-		return ((HRESULT)0x00000000L);
-	if (pWinModule->cbSize != sizeof(_ATL_WIN_MODULE))
-		return ((HRESULT)0x80070057L);
-
-	for (int i = 0; i < pWinModule->m_rgWindowClassAtoms.GetSize(); i++)
-		UnregisterClassW((LPCTSTR)pWinModule->m_rgWindowClassAtoms[i], hInst);
-	pWinModule->m_rgWindowClassAtoms.RemoveAll();
-	pWinModule->m_csWindowCreate.Term();
-	pWinModule->cbSize = 0;
-	return ((HRESULT)0x00000000L);
-}
-
-
-
-
-
-
-#pragma warning(push)
-#pragma warning(disable : 4191)	
-
-inline HRESULT AtlGetDllVersion(HINSTANCE hInstDLL, DLLVERSIONINFO* pDllVersionInfo)
-{
-	do { int __atl_condVal=!!(pDllVersionInfo != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6761, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-
-	
-	DLLGETVERSIONPROC pfnDllGetVersion = (DLLGETVERSIONPROC)::GetProcAddress(hInstDLL, "DllGetVersion");
-
-	if(pfnDllGetVersion == 0)
-	{
-		return ((HRESULT)0x80004001L);
-	}
-
-	return (*pfnDllGetVersion)(pDllVersionInfo);
-}
-
-#pragma warning(pop)
-
-inline HRESULT AtlGetDllVersion(LPCTSTR lpstrDllName, DLLVERSIONINFO* pDllVersionInfo)
-{
-	HINSTANCE hInstDLL = ::LoadLibraryW(lpstrDllName);
-	if(hInstDLL == 0)
-	{
-		return AtlHresultFromLastError();
-	}
-	HRESULT hRet = AtlGetDllVersion(hInstDLL, pDllVersionInfo);
-	::FreeLibrary(hInstDLL);
-	return hRet;
-}
-
-
-
-
-
-
-
-inline HRESULT AtlGetCommCtrlVersion(LPDWORD pdwMajor, LPDWORD pdwMinor)
-{
-	do { int __atl_condVal=!!(( pdwMajor != 0 ) && ( pdwMinor != 0 )); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6796, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-
-	DLLVERSIONINFO dvi;
-	memset(&dvi, 0, sizeof(dvi));
-	dvi.cbSize = sizeof(dvi);
-
-	HRESULT hRet = AtlGetDllVersion(L"comctl32.dll", &dvi);
-
-	if(((HRESULT)(hRet) >= 0))
-	{
-		*pdwMajor = dvi.dwMajorVersion;
-		*pdwMinor = dvi.dwMinorVersion;
-	}
-	else if(hRet == ((HRESULT)0x80004001L))
-	{
-		
-		
-		*pdwMajor = 4;
-		*pdwMinor = 0;
-		hRet = ((HRESULT)0x00000000L);
-	}
-
-	return hRet;
-}
-
-
-
-
-
-
-
-inline HRESULT AtlGetShellVersion(LPDWORD pdwMajor, LPDWORD pdwMinor)
-{
-	do { int __atl_condVal=!!(( pdwMajor != 0) && ( pdwMinor != 0 )); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6829, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-
-	DLLVERSIONINFO dvi;
-	memset(&dvi, 0, sizeof(dvi));
-	dvi.cbSize = sizeof(dvi);
-	HRESULT hRet = AtlGetDllVersion(L"shell32.dll", &dvi);
-
-	if(((HRESULT)(hRet) >= 0))
-	{
-		*pdwMajor = dvi.dwMajorVersion;
-		*pdwMinor = dvi.dwMinorVersion;
-	}
-	else if(hRet == ((HRESULT)0x80004001L))
-	{
-		
-		
-		*pdwMajor = 4;
-		*pdwMinor = 0;
-		hRet = ((HRESULT)0x00000000L);
-	}
-
-	return hRet;
-}
-
-inline __declspec( deprecated("AtlModuleRegisterClassObjects has been replaced by AtlComModuleRegisterClassObjects") )
-HRESULT AtlModuleRegisterClassObjects(_ATL_MODULE* , DWORD dwClsContext, DWORD dwFlags)
-{
-	return AtlComModuleRegisterClassObjects(&_AtlComModule, dwClsContext, dwFlags);
-}
-
-inline __declspec( deprecated("AtlModuleRevokeClassObjects has been replaced by AtlComModuleRevokeClassObjects") ) 
-HRESULT AtlModuleRevokeClassObjects(_ATL_MODULE* )
-{
-	return AtlComModuleRevokeClassObjects(&_AtlComModule);
-}
-
-inline __declspec( deprecated("AtlModuleGetClassObject has been replaced by AtlComModuleGetClassObject") ) 
-HRESULT AtlModuleGetClassObject(_ATL_MODULE* , const IID & rclsid, const IID & riid, LPVOID* ppv)
-{
-
-	(void) ((!!((ppv != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 6869, 0, L"ppv != 0")) || (__debugbreak(), 0));
-
-
-	return AtlComModuleGetClassObject(&_AtlComModule, rclsid, riid, ppv);
-}
-
-inline __declspec( deprecated("AtlModuleRegisterServer has been replaced by AtlComModuleRegisterServer") ) 
-HRESULT AtlModuleRegisterServer(_ATL_MODULE* , BOOL bRegTypeLib, const CLSID* pCLSID = 0)
-{
-	return AtlComModuleRegisterServer(&_AtlComModule, bRegTypeLib, pCLSID);
-}
-
-inline __declspec( deprecated("AtlModuleUnregisterServer has been replaced by AtlComModuleUnregisterServer") ) 
-HRESULT AtlModuleUnregisterServer(_ATL_MODULE* , const CLSID* pCLSID = 0)
-{
-	return AtlComModuleUnregisterServer(&_AtlComModule, 0, pCLSID);
-}
-
-inline __declspec( deprecated("AtlModuleUnregisterServerEx has been replaced by AtlComModuleUnregisterServer") ) 
-HRESULT AtlModuleUnregisterServerEx(_ATL_MODULE* , BOOL bUnRegTypeLib, const CLSID* pCLSID = 0)
-{
-	return AtlComModuleUnregisterServer(&_AtlComModule, bUnRegTypeLib, pCLSID);
-}
-
-inline __declspec( deprecated("AtlModuleUpdateRegistryFromResourceD has been replaced by AtlUpdateRegistryFromResourceD") ) 
-HRESULT AtlModuleUpdateRegistryFromResourceD(_ATL_MODULE* , LPCOLESTR lpszRes,
-	BOOL bRegister, struct _ATL_REGMAP_ENTRY* pMapEntries, IRegistrar* pReg = 0)
-{
-	return AtlUpdateRegistryFromResourceD(_AtlBaseModule.GetModuleInstance(), lpszRes, bRegister, pMapEntries, pReg);
-}
-
-inline __declspec( deprecated("AtlModuleRegisterTypeLib has been replaced by AtlRegisterTypeLib") ) 
-HRESULT AtlModuleRegisterTypeLib(_ATL_MODULE* , LPCOLESTR lpszIndex)
-{
-	return AtlRegisterTypeLib(_AtlComModule.m_hInstTypeLib, lpszIndex);
-}
-
-inline __declspec( deprecated("AtlModuleUnRegisterTypeLib has been replaced by AtlUnRegisterTypeLib") ) 
-HRESULT AtlModuleUnRegisterTypeLib(_ATL_MODULE* , LPCOLESTR lpszIndex)
-{
-	return AtlUnRegisterTypeLib(_AtlComModule.m_hInstTypeLib, lpszIndex);
-}
-
-inline __declspec( deprecated("AtlModuleLoadTypeLib has been replaced by AtlLoadTypeLib") ) 
-HRESULT AtlModuleLoadTypeLib(_ATL_MODULE* , LPCOLESTR lpszIndex, BSTR* pbstrPath, ITypeLib** ppTypeLib)
-{
-	return AtlLoadTypeLib(_AtlComModule.m_hInstTypeLib, lpszIndex, pbstrPath, ppTypeLib);
-}
-
-inline __declspec( deprecated("AtlModuleInit is no longer required") ) 
-HRESULT AtlModuleInit(_ATL_MODULE* , _ATL_OBJMAP_ENTRY* , HINSTANCE )
-{
-	return ((HRESULT)0x00000000L);
-}
-
-inline __declspec( deprecated("AtlModuleTerm is no longer required") ) 
-HRESULT AtlModuleTerm(_ATL_MODULE* )
-{
-	return ((HRESULT)0x00000000L);
-}
-
-inline __declspec( deprecated("AtlModuleAddCreateWndData has been replaced by AtlWinModuleAddCreateWndData") ) 
-void AtlModuleAddCreateWndData(_ATL_MODULE* , _AtlCreateWndData* pData, void* pObject)
-{
-	AtlWinModuleAddCreateWndData(&_AtlWinModule, pData, pObject);
-}
-
-inline __declspec( deprecated("AtlModuleExtractCreateWndData has been replaced by AtlWinModuleExtractCreateWndData") ) 
-void* AtlModuleExtractCreateWndData(_ATL_MODULE* )
-{
-	return AtlWinModuleExtractCreateWndData(&_AtlWinModule);
-}
-
-
-
-inline CRITICAL_SECTION& CComModule::get_m_csWindowCreate() throw()
-{
-	return _AtlWinModule.m_csWindowCreate.m_sec;
-}
-
-inline CRITICAL_SECTION& CComModule::get_m_csObjMap() throw()
-{
-	return _AtlComModule.m_csObjMap.m_sec;
-}
-
-inline CRITICAL_SECTION& CComModule::get_m_csStaticDataInit() throw()
-{
-	return m_csStaticDataInitAndTypeInfo.m_sec;
-}
-
-inline _AtlCreateWndData*& CComModule::get_m_pCreateWndList()  throw()
-{
-	return _AtlWinModule.m_pCreateWndList;
-}
-inline void CComModule::put_m_pCreateWndList(_AtlCreateWndData* p) throw()
-{
-	_AtlWinModule.m_pCreateWndList = p;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline HRESULT CComModule::Init(_ATL_OBJMAP_ENTRY* p, HINSTANCE , const GUID* plibid) throw()
-{
-	if (plibid != 0)
-		m_libid = *plibid;
-
-	_ATL_OBJMAP_ENTRY* pEntry;
-	if (p != (_ATL_OBJMAP_ENTRY*)-1)
-	{
-		m_pObjMap = p;
-		if (m_pObjMap != 0)
-		{
-			pEntry = m_pObjMap;
-			while (pEntry->pclsid != 0)
-			{
-				pEntry->pfnObjectMain(true); 
-				pEntry++;
-			}
-		}
-	}
-	for (_ATL_OBJMAP_ENTRY** ppEntry = _AtlComModule.m_ppAutoObjMapFirst; ppEntry < _AtlComModule.m_ppAutoObjMapLast; ppEntry++)
-	{
-		if (*ppEntry != 0)
-			(*ppEntry)->pfnObjectMain(true); 
-	}
-	return ((HRESULT)0x00000000L);
-}
-
-inline void CComModule::Term() throw()
-{
-	_ATL_OBJMAP_ENTRY* pEntry;
-	if (m_pObjMap != 0)
-	{
-		pEntry = m_pObjMap;
-		while (pEntry->pclsid != 0)
-		{
-			if (pEntry->pCF != 0)
-				pEntry->pCF->Release();
-			pEntry->pCF = 0;
-			pEntry->pfnObjectMain(false); 
-			pEntry++;
-		}
-	}
-
-	for (_ATL_OBJMAP_ENTRY** ppEntry = _AtlComModule.m_ppAutoObjMapFirst; ppEntry < _AtlComModule.m_ppAutoObjMapLast; ppEntry++)
-	{
-		if (*ppEntry != 0)
-			(*ppEntry)->pfnObjectMain(false); 
-	}
-
-	
-	_AtlWinModule.Term();		
-
-
-	CAtlModuleT<CComModule>::Term();
-}
-
-inline HRESULT CComModule::GetClassObject(const IID & rclsid, const IID & riid, LPVOID* ppv) throw()
-{
-	if (ppv == 0)
-		return ((HRESULT)0x80004003L);
-	HRESULT hr = ((HRESULT)0x00000000L);
-	_ATL_OBJMAP_ENTRY* pEntry;
-	if (m_pObjMap != 0)
-	{
-		pEntry = m_pObjMap;
-		while (pEntry->pclsid != 0)
-		{
-			if ((pEntry->pfnGetClassObject != 0) && InlineIsEqualGUID(rclsid, *pEntry->pclsid))
-			{
-				if (pEntry->pCF == 0)
-				{
-					CComCritSecLock<CComCriticalSection> lock(_AtlComModule.m_csObjMap, false);
-					hr = lock.Lock();
-					if (((HRESULT)(hr) < 0))
-					{
-						ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 7088)(atlTraceCOM, 0, L"ERROR : Unable to lock critical section in CComModule::GetClassObject\n");
-						(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlbase.h", 7089, 0, L"0")) || (__debugbreak(), 0));
-						break;
-					}
-					if (pEntry->pCF == 0)
-						hr = pEntry->pfnGetClassObject(pEntry->pfnCreateInstance, __uuidof(IUnknown), (LPVOID*)&pEntry->pCF);
-				}
-				if (pEntry->pCF != 0)
-					hr = pEntry->pCF->QueryInterface(riid, ppv);
-				break;
-			}
-			pEntry++;
-		}
-	}
-	if (*ppv == 0 && hr == ((HRESULT)0x00000000L))
-		hr = AtlComModuleGetClassObject(&_AtlComModule, rclsid, riid, ppv);
-	return hr;
-}
-
-
-inline HRESULT CComModule::RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw()
-{
-	HRESULT hr = ((HRESULT)0x00000000L);
-	_ATL_OBJMAP_ENTRY* pEntry;
-	if (m_pObjMap != 0)
-	{
-		pEntry = m_pObjMap;
-		while (pEntry->pclsid != 0 && hr == ((HRESULT)0x00000000L))
-		{
-			hr = pEntry->RegisterClassObject(dwClsContext, dwFlags);
-			pEntry++;
-		}
-	}
-	if (hr == ((HRESULT)0x00000000L))
-		hr = AtlComModuleRegisterClassObjects(&_AtlComModule, dwClsContext, dwFlags);
-	return hr;
-}
-inline HRESULT CComModule::RevokeClassObjects() throw()
-{
-	HRESULT hr = ((HRESULT)0x00000000L);
-	_ATL_OBJMAP_ENTRY* pEntry;
-	if (m_pObjMap != 0)
-	{
-		pEntry = m_pObjMap;
-		while (pEntry->pclsid != 0 && hr == ((HRESULT)0x00000000L))
-		{
-			hr = pEntry->RevokeClassObject();
-			pEntry++;
-		}
-	}
-	if (hr == ((HRESULT)0x00000000L))
-		hr = AtlComModuleRevokeClassObjects(&_AtlComModule);
-	return hr;
-}
-
-
-inline HRESULT CComModule::RegisterTypeLib() throw()
-{
-	return _AtlComModule.RegisterTypeLib();
-}
-inline HRESULT CComModule::RegisterTypeLib(LPCTSTR lpszIndex) throw()
-{
-	return _AtlComModule.RegisterTypeLib(lpszIndex);
-}
-inline HRESULT CComModule::UnRegisterTypeLib() throw()
-{
-	return _AtlComModule.UnRegisterTypeLib();
-}
-inline HRESULT CComModule::UnRegisterTypeLib(LPCTSTR lpszIndex) throw()
-{
-	return _AtlComModule.UnRegisterTypeLib(lpszIndex);
-}
-
-inline HRESULT CComModule::RegisterServer(BOOL bRegTypeLib , const CLSID* pCLSID ) throw()
-{
-	HRESULT hr = ((HRESULT)0x00000000L);
-	_ATL_OBJMAP_ENTRY* pEntry = m_pObjMap;
-	if (pEntry != 0)
-	{
-		for (;pEntry->pclsid != 0; pEntry++)
-		{
-			if (pCLSID != 0)
-			{
-				if (!IsEqualGUID(*pCLSID, *pEntry->pclsid))
-					continue;
-			}
-			hr = pEntry->pfnUpdateRegistry(1);
-			if (((HRESULT)(hr) < 0))
-				break;
-			hr = AtlRegisterClassCategoriesHelper( *pEntry->pclsid,
-				pEntry->pfnGetCategoryMap(), 1 );
-			if (((HRESULT)(hr) < 0))
-				break;
-		}
-	}
-	if (((HRESULT)(hr) >= 0))
-		hr = CAtlModuleT<CComModule>::RegisterServer(bRegTypeLib, pCLSID);
-	return hr;
-}
-
-inline HRESULT CComModule::UnregisterServer(BOOL bUnRegTypeLib, const CLSID* pCLSID ) throw()
-{
-	HRESULT hr = ((HRESULT)0x00000000L);	
-	_ATL_OBJMAP_ENTRY* pEntry = m_pObjMap;
-	if (pEntry != 0)
-	{
-		for (;pEntry->pclsid != 0; pEntry++)
-		{
-			if (pCLSID != 0)
-			{
-				if (!IsEqualGUID(*pCLSID, *pEntry->pclsid))
-					continue;
-			}
-			hr = AtlRegisterClassCategoriesHelper( *pEntry->pclsid,
-				pEntry->pfnGetCategoryMap(), 0 );
-			if (((HRESULT)(hr) < 0))
-				break;
-			hr = pEntry->pfnUpdateRegistry(0); 
-			if (((HRESULT)(hr) < 0))
-				break;
-		}
-	}
-	if (((HRESULT)(hr) >= 0))
-		hr = CAtlModuleT<CComModule>::UnregisterServer(bUnRegTypeLib, pCLSID);
-	return hr;
-}
-
-inline HRESULT CComModule::UnregisterServer(const CLSID* pCLSID ) throw()
-{
-	return UnregisterServer(0, pCLSID);
-}
-
-
-
-}	
- 
-
-#pragma warning( pop )
-
-
-
-
-
-
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-#pragma warning (push)
-#pragma warning(disable: 4702) 
-#pragma warning(disable: 4355) 
-#pragma warning(disable: 4511) 
-#pragma warning(disable: 4512) 
-#pragma warning(disable : 4668)	
-#pragma warning(disable : 4820)	
-#pragma warning(disable : 4571) 
-
-
-
-
-
-#pragma warning(disable: 4127) 
-#pragma warning(disable: 4786) 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma once
-
-
-
-
-
-
- 
-
- 
-namespace ATL
-{
-
-
-
-
-
-PVOID __stdcall __AllocStdCallThunk(void);
-void  __stdcall __FreeStdCallThunk(PVOID);
-
-#pragma pack(push,1)
-struct _stdcallthunk
-{
-	DWORD   m_mov;          
-	DWORD   m_this;         
-	BYTE    m_jmp;          
-	DWORD   m_relproc;      
-	BOOL Init(DWORD_PTR proc, void* pThis)
-	{
-		m_mov = 0x042444C7;  
-		m_this = ((ULONG)(ULONG_PTR) (pThis) );
-		m_jmp = 0xe9;
-		m_relproc = DWORD((INT_PTR)proc - ((INT_PTR)this+sizeof(_stdcallthunk)));
-		
-		
-		FlushInstructionCache(GetCurrentProcess(), this, sizeof(_stdcallthunk));
-		return 1;
-	}
-	
-	void* GetCodeAddress()
-	{
-		return this;
-	}
-	void* operator new(size_t)
-	{
-        return __AllocStdCallThunk();
-    }
-    void operator delete(void* pThunk)
-    {
-        __FreeStdCallThunk(pThunk);
-    }
-};
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-#pragma pack(push,8)
-class CDynamicStdCallThunk
-{
-public:
-	_stdcallthunk *pThunk;
-
-	CDynamicStdCallThunk()
-	{
-		pThunk = 0;
-	}
-
-	~CDynamicStdCallThunk()
-	{
-		if (pThunk)
-		{
-			delete pThunk;
-		}
-	}
-
-	BOOL Init(DWORD_PTR proc, void *pThis)
-	{
-		if (pThunk == 0) 
-		{
-			pThunk = new _stdcallthunk;
-			if (pThunk == 0)
-			{
-				return 0;
-			}
-		}
-		return pThunk->Init(proc, pThis);
-	}
-	
-
-	void* GetCodeAddress()
-	{
-		return pThunk->GetCodeAddress();
-	}
-};
-
-#pragma pack(pop)
-typedef CDynamicStdCallThunk CStdCallThunk;
-
-
-
-
-}   
- 
-
-
-
-
-
-#pragma pack(push, 8)
-
-extern "C" const IID IID_ITargetFrame;
-
-
-
-#pragma pack(push, 8)
-namespace ATL
-{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-inline HRESULT __stdcall AtlReportError(const CLSID& clsid, UINT nID, const IID& iid = GUID_NULL,
-	HRESULT hRes = 0, HINSTANCE hInst = _AtlBaseModule.GetResourceInstance())
-{
-	return AtlSetErrorInfo(clsid, (LPCOLESTR)((LPWSTR)((ULONG_PTR)((WORD)(nID)))), 0, 0, iid, hRes, hInst);
-}
-
-inline HRESULT __stdcall AtlReportError(const CLSID& clsid, UINT nID, DWORD dwHelpID,
-	LPCOLESTR lpszHelpFile, const IID& iid = GUID_NULL, HRESULT hRes = 0, 
-	HINSTANCE hInst = _AtlBaseModule.GetResourceInstance())
-{
-	return AtlSetErrorInfo(clsid, (LPCOLESTR)((LPWSTR)((ULONG_PTR)((WORD)(nID)))), dwHelpID,
-		lpszHelpFile, iid, hRes, hInst);
-}
-
-inline HRESULT __stdcall AtlReportError(const CLSID& clsid, LPCSTR lpszDesc,
-	DWORD dwHelpID, LPCSTR lpszHelpFile, const IID& iid = GUID_NULL, HRESULT hRes = 0)
-{
-	(void) ((!!((lpszDesc != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 93, 0, L"lpszDesc != 0")) || (__debugbreak(), 0));
-	if (lpszDesc == 0)
-		return ((HRESULT)0x80004003L);
-	int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-	LPCOLESTR pwszDesc = ((LPCWSTR)( ((_lpa_ex = lpszDesc) == 0) ? 0 : ( _convert_ex = (lstrlenA(_lpa_ex)+1), ((HRESULT)(::ATL::AtlMultiply(&_convert_ex, _convert_ex, static_cast<int>(sizeof(WCHAR)))) < 0) ? 0 : AtlA2WHelper( (LPWSTR)__pragma(warning(push)) __pragma(warning(disable:4616)) __pragma(warning(disable:6255)) ((_convert_ex <= 1024 && ATL::_ATL_SAFE_ALLOCA_IMPL::_AtlVerifyStackAvailable(_convert_ex) ) ? _alloca(_convert_ex) : _AtlSafeAllocaManager.Allocate(_convert_ex)) __pragma(warning(pop)), _lpa_ex, _convert_ex / sizeof(WCHAR), _acp_ex))));
-	if(pwszDesc == 0)
-		return ((HRESULT)0x8007000EL);
-	
-	LPCWSTR pwzHelpFile = 0;
-	if(lpszHelpFile != 0)
-	{
-		pwzHelpFile = ((LPCWSTR)( ((_lpa_ex = lpszHelpFile) == 0) ? 0 : ( _convert_ex = (lstrlenA(_lpa_ex)+1), ((HRESULT)(::ATL::AtlMultiply(&_convert_ex, _convert_ex, static_cast<int>(sizeof(WCHAR)))) < 0) ? 0 : AtlA2WHelper( (LPWSTR)__pragma(warning(push)) __pragma(warning(disable:4616)) __pragma(warning(disable:6255)) ((_convert_ex <= 1024 && ATL::_ATL_SAFE_ALLOCA_IMPL::_AtlVerifyStackAvailable(_convert_ex) ) ? _alloca(_convert_ex) : _AtlSafeAllocaManager.Allocate(_convert_ex)) __pragma(warning(pop)), _lpa_ex, _convert_ex / sizeof(WCHAR), _acp_ex))));
-		if(pwzHelpFile == 0)
-			return ((HRESULT)0x8007000EL);
-	}
-		
-	return AtlSetErrorInfo(clsid, pwszDesc, dwHelpID, pwzHelpFile, iid, hRes, 0);
-}
-
-inline HRESULT __stdcall AtlReportError(const CLSID& clsid, LPCSTR lpszDesc,
-	const IID& iid = GUID_NULL, HRESULT hRes = 0)
-{
-	return AtlReportError(clsid, lpszDesc, 0, 0, iid, hRes);
-}
-
-inline HRESULT __stdcall AtlReportError(const CLSID& clsid, LPCOLESTR lpszDesc,
-	const IID& iid = GUID_NULL, HRESULT hRes = 0)
-{
-	return AtlSetErrorInfo(clsid, lpszDesc, 0, 0, iid, hRes, 0);
-}
-
-inline HRESULT __stdcall AtlReportError(const CLSID& clsid, LPCOLESTR lpszDesc, DWORD dwHelpID,
-	LPCOLESTR lpszHelpFile, const IID& iid = GUID_NULL, HRESULT hRes = 0)
-{
-	return AtlSetErrorInfo(clsid, lpszDesc, dwHelpID, lpszHelpFile, iid, hRes, 0);
-}
-
-
-
-inline bool AtlGetApartmentType(DWORD* pApartmentType)
-{
-	HRESULT hr = CoInitialize(0);
- 	if (((HRESULT)(hr) >= 0))
-		CoUninitialize();
-
-	if (hr == ((HRESULT)0x00000001L))
-	{
-		*pApartmentType = COINIT_APARTMENTTHREADED;
-		return true;
-	}
-
-	else
-	if (hr == ((HRESULT)0x80010106L))
-	{	
-		*pApartmentType = COINIT_MULTITHREADED;
-		return true;
-	}
-
-	return false;
-}
-
-
-
-
-class CComTypeAttr
-{
-
-public:
-   CComTypeAttr( ITypeInfo* pTypeInfo ) throw() :
-	  m_pTypeAttr( 0 ),
-	  m_pTypeInfo( pTypeInfo )
-   {
-   }
-   ~CComTypeAttr() throw()
-   {
-	  Release();
-   }
-
-
-public:
-   TYPEATTR* operator->() throw()
-   {
-	  do { (void) ((!!((m_pTypeAttr != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 175, 0, L"m_pTypeAttr != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	  return m_pTypeAttr;
-   }
-   TYPEATTR** operator&() throw()
-   {
-	  do { (void) ((!!((m_pTypeAttr == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 181, 0, L"m_pTypeAttr == 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	  return &m_pTypeAttr;
-   }
-
-   operator const TYPEATTR*() const throw()
-   {
-	  return m_pTypeAttr;
-   }
-
-
-public:
-   void Release() throw()
-   {
-	  if( m_pTypeAttr != 0 )
-	  {
-		 do { (void) ((!!((m_pTypeInfo != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 197, 0, L"m_pTypeInfo != 0")) || (__debugbreak(), 0)); ; } while(0);
-		 m_pTypeInfo->ReleaseTypeAttr( m_pTypeAttr );
-		 m_pTypeAttr = 0;
-	  }
-   }
-
-public:
-   TYPEATTR* m_pTypeAttr;
-   CComPtr< ITypeInfo > m_pTypeInfo;
-};
-
-
-
-
-
-class CComVarDesc
-{
-
-public:
-   CComVarDesc( ITypeInfo* pTypeInfo ) throw() :
-	  m_pVarDesc( 0 ),
-	  m_pTypeInfo( pTypeInfo )
-   {
-   }
-   ~CComVarDesc() throw()
-   {
-	  Release();
-   }
-
-
-public:
-   VARDESC* operator->() throw()
-   {
-	  do { (void) ((!!((m_pVarDesc != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 230, 0, L"m_pVarDesc != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	  return m_pVarDesc;
-   }
-   VARDESC** operator&() throw()
-   {
-	  do { (void) ((!!((m_pVarDesc == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 236, 0, L"m_pVarDesc == 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	  return &m_pVarDesc;
-   }
-
-   operator const VARDESC*() const throw()
-   {
-	  return m_pVarDesc;
-   }
-
-
-public:
-   void Release() throw()
-   {
-	  if( m_pVarDesc != 0 )
-	  {
-		 do { (void) ((!!((m_pTypeInfo != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 252, 0, L"m_pTypeInfo != 0")) || (__debugbreak(), 0)); ; } while(0);
-		 m_pTypeInfo->ReleaseVarDesc( m_pVarDesc );
-		 m_pVarDesc = 0;
-	  }
-   }
-
-public:
-   VARDESC* m_pVarDesc;
-   CComPtr< ITypeInfo > m_pTypeInfo;
-};
-
-
-
-
-
-class CComFuncDesc
-{
-
-public:
-   CComFuncDesc( ITypeInfo* pTypeInfo ) throw() :
-	  m_pFuncDesc( 0 ),
-	  m_pTypeInfo( pTypeInfo )
-   {
-   }
-   ~CComFuncDesc() throw()
-   {
-	  Release();
-   }
-
-
-public:
-   FUNCDESC* operator->() throw()
-   {
-	  do { (void) ((!!((m_pFuncDesc != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 285, 0, L"m_pFuncDesc != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	  return m_pFuncDesc;
-   }
-   FUNCDESC** operator&() throw()
-   {
-	  do { (void) ((!!((m_pFuncDesc == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 291, 0, L"m_pFuncDesc == 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	  return &m_pFuncDesc;
-   }
-
-   operator const FUNCDESC*() const throw()
-   {
-	  return m_pFuncDesc;
-   }
-
-
-public:
-   void Release() throw()
-   {
-	  if( m_pFuncDesc != 0 )
-	  {
-		 do { (void) ((!!((m_pTypeInfo != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 307, 0, L"m_pTypeInfo != 0")) || (__debugbreak(), 0)); ; } while(0);
-		 m_pTypeInfo->ReleaseFuncDesc( m_pFuncDesc );
-		 m_pFuncDesc = 0;
-	  }
-   }
-
-public:
-   FUNCDESC* m_pFuncDesc;
-   CComPtr< ITypeInfo > m_pTypeInfo;
-};
-
-
-
-
-
-class CComExcepInfo :
-   public EXCEPINFO
-{
-
-public:
-   CComExcepInfo()
-   {
-	  memset( this, 0, sizeof( *this ) );
-   }
-   ~CComExcepInfo()
-   {
-	  Clear();
-   }
-
-
-public:
-   void Clear()
-   {
-      ::SysFreeString(bstrSource);
-      ::SysFreeString(bstrDescription);
-      ::SysFreeString(bstrHelpFile);
-
-	  memset(this, 0, sizeof(*this));
-   }
-};
-
-
-
-
-template <class T>
-class __declspec(novtable) IPersistImpl : public IPersist
-{
-public:
-	virtual HRESULT __stdcall GetClassID(CLSID *pClassID)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 357)(atlTraceCOM, 2, L"IPersistImpl::GetClassID\n");
-		if (pClassID == 0)
-			return ((HRESULT)0x80004005L);
-		*pClassID = T::GetObjectCLSID();
-		return ((HRESULT)0x00000000L);
-	}
-};
-
-
-
-class CFakeFirePropNotifyEvent
-{
-public:
-	static HRESULT FireOnRequestEdit(IUnknown* , DISPID )
-	{
-		return ((HRESULT)0x00000000L);
-	}
-	static HRESULT FireOnChanged(IUnknown* , DISPID )
-	{
-		return ((HRESULT)0x00000000L);
-	}
-};
-typedef CFakeFirePropNotifyEvent _ATL_PROP_NOTIFY_EVENT_CLASS;
-
-
-
-
-
-struct ATL_PROPVALMAP_ENTRY
-{
-	DISPID dispid;
-	VARIANT val;
-	LPCOLESTR szDesc;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-struct ATL_PROPMAP_ENTRY
-{
-	LPCOLESTR szDesc;
-	DISPID dispid;
-	const CLSID* pclsidPropPage;
-	const IID* piidDispatch;
-	DWORD dwOffsetData;
-	DWORD dwSizeData;
-	VARTYPE vt;
-
-
-
-
-};
-
-
-template<VARTYPE V>
-struct AtlExpectedDispatchOrUnknown 
-{
-	
-	typedef int _assert[V == VT_DISPATCH || V == VT_UNKNOWN ? 1 : -1];
-
-	static const VARTYPE value = V;	
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#pragma deprecated(PROP_ENTRY, PROP_ENTRY_EX)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlIPersistStreamInit_Load(LPSTREAM pStm, ATL_PROPMAP_ENTRY* pMap, void* pThis, IUnknown* pUnk);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlIPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, ATL_PROPMAP_ENTRY* pMap, void* pThis, IUnknown* pUnk);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlIPersistPropertyBag_Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErrorLog, ATL_PROPMAP_ENTRY* pMap, void* pThis, IUnknown* pUnk);
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlIPersistPropertyBag_Save(LPPROPERTYBAG pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties, ATL_PROPMAP_ENTRY* pMap, void* pThis, IUnknown* pUnk);
-
-
-
-template <class T>
-class __declspec(novtable) IPersistStreamInitImpl : public IPersistStreamInit
-{
-public:
-	
-	virtual HRESULT __stdcall GetClassID(CLSID *pClassID)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 576)(atlTraceCOM, 2, L"IPersistStreamInitImpl::GetClassID\n");
-		if (pClassID == 0)
-			return ((HRESULT)0x80004003L);
-		*pClassID = T::GetObjectCLSID();
-		return ((HRESULT)0x00000000L);
-	}
-
-	
-	virtual HRESULT __stdcall IsDirty()
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 586)(atlTraceCOM, 2, L"IPersistStreamInitImpl::IsDirty\n");
-		T* pT = static_cast<T*>(this);
-		return (pT->m_bRequiresSave) ? ((HRESULT)0x00000000L) : ((HRESULT)0x00000001L);
-	}
-	virtual HRESULT __stdcall Load(LPSTREAM pStm)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 592)(atlTraceCOM, 2, L"IPersistStreamInitImpl::Load\n");
-
-		T* pT = static_cast<T*>(this);
-		return pT->IPersistStreamInit_Load(pStm, T::GetPropertyMap());
-	}
-	virtual HRESULT __stdcall Save(LPSTREAM pStm, BOOL fClearDirty)
-	{
-		T* pT = static_cast<T*>(this);
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 600)(atlTraceCOM, 2, L"IPersistStreamInitImpl::Save\n");
-		return pT->IPersistStreamInit_Save(pStm, fClearDirty, T::GetPropertyMap());
-	}
-	virtual HRESULT __stdcall GetSizeMax(ULARGE_INTEGER* pcbSize)
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		T* pT = static_cast<T*>(this);
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 607)(atlTraceCOM, 2, L"IPersistStreamInitImpl::GetSizeMax\n");
-
-		if (pcbSize == 0)
-			return ((HRESULT)0x80004003L);
-
-		ATL_PROPMAP_ENTRY* pMap = T::GetPropertyMap();
-		do { int __atl_condVal=!!(pMap != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 613, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) return ((HRESULT)0x80004005L); } while (0);
-
-		
-		ULARGE_INTEGER nSize;
-		nSize.HighPart = 0;
-		nSize.LowPart = sizeof(DWORD);
-
-		CComPtr<IDispatch> pDispatch;
-		const IID* piidOld = 0;
-		for (int i = 0; pMap[i].pclsidPropPage != 0; i++)
-		{
-			if (pMap[i].szDesc == 0)
-				continue;
-
-			
-			if (pMap[i].dwSizeData != 0)
-			{
-				ULONG ulSize=0;				
-				
-				if (pMap[i].vt == VT_BSTR)
-				{
-					void* pData = (void*) (pMap[i].dwOffsetData + (DWORD_PTR)pT);
-					do { int __atl_condVal=!!(pData >= (void*)(DWORD_PTR)pMap[i].dwOffsetData && pData >= (void*)(DWORD_PTR)pT); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 636, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) return ((HRESULT)0x80004005L); } while (0);
-					BSTR bstr=*reinterpret_cast<BSTR*>(pData);
-					ulSize=CComBSTR::GetStreamSize(bstr);
-				} else
-				{
-					ulSize = pMap[i].dwSizeData;
-				}
-				nSize.QuadPart += ulSize;
-				continue;
-			}
-
-			CComVariant var;
-			if (pMap[i].piidDispatch != piidOld)
-			{
-				pDispatch.Release();
-				do { int __atl_condVal=!!(pMap[i].piidDispatch); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 651, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) return ((HRESULT)0x80004005L); } while (0);
-				if (((HRESULT)(pT->GetUnknown()->QueryInterface(*pMap[i].piidDispatch, (void**)&pDispatch)) < 0))
-				{
-					ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 654)(atlTraceCOM, 0, L"Failed to get a dispatch pointer for property #%i\n", i);
-					hr = ((HRESULT)0x80004005L);
-					break;
-				}
-				piidOld = pMap[i].piidDispatch;
-			}
-
-			if (((HRESULT)(pDispatch.GetProperty(pMap[i].dispid, &var)) < 0))
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 663)(atlTraceCOM, 0, L"Invoked failed on DISPID %x\n", pMap[i].dispid);
-				hr = ((HRESULT)0x80004005L);
-				break;
-			}
-			nSize.QuadPart += var.GetSize();
-		}
-		*pcbSize = nSize;
-		return hr;
-	}
-
-	
-	virtual HRESULT __stdcall InitNew()
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 676)(atlTraceCOM, 2, L"IPersistStreamInitImpl::InitNew\n");
-		T* pT = static_cast<T*>(this);
-		pT->m_bRequiresSave = 1;
-		return ((HRESULT)0x00000000L);
-	}
-
-	HRESULT IPersistStreamInit_Load(LPSTREAM pStm, ATL_PROPMAP_ENTRY* pMap)
-	{
-		T* pT = static_cast<T*>(this);
-		HRESULT hr = AtlIPersistStreamInit_Load(pStm, pMap, pT, pT->GetUnknown());
-		if (((HRESULT)(hr) >= 0))
-			pT->m_bRequiresSave = 0;
-		return hr;
-
-	}
-	HRESULT IPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, ATL_PROPMAP_ENTRY* pMap)
-	{
-		T* pT = static_cast<T*>(this);
-		HRESULT hr;
-		hr = AtlIPersistStreamInit_Save(pStm, fClearDirty, pMap, pT, pT->GetUnknown());
-		if (fClearDirty && ((HRESULT)(hr) >= 0))
-		{
-			pT->m_bRequiresSave=0;
-		}
-		return hr;
-
-	}
-};
-
-
-
-template <class T>
-class __declspec(novtable) IPersistStorageImpl : public IPersistStorage
-{
-public:
-	
-	virtual HRESULT __stdcall GetClassID(CLSID *pClassID)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 714)(atlTraceCOM, 2, L"IPersistStorageImpl::GetClassID\n");
-		if (pClassID == 0)
-			return ((HRESULT)0x80004003L);
-		*pClassID = T::GetObjectCLSID();
-		return ((HRESULT)0x00000000L);
-	}
-
-	
-	virtual HRESULT __stdcall IsDirty(void)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 724)(atlTraceCOM, 2, L"IPersistStorageImpl::IsDirty\n");
-		CComPtr<IPersistStreamInit> p;
-		p.p = IPSI_GetIPersistStreamInit();
-		return (p != 0) ? p->IsDirty() : ((HRESULT)0x80004005L);
-	}
-	virtual HRESULT __stdcall InitNew(IStorage*)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 731)(atlTraceCOM, 2, L"IPersistStorageImpl::InitNew\n");
-		CComPtr<IPersistStreamInit> p;
-		p.p = IPSI_GetIPersistStreamInit();
-		return (p != 0) ? p->InitNew() : ((HRESULT)0x80004005L);
-	}
-	virtual HRESULT __stdcall Load(IStorage* pStorage)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 738)(atlTraceCOM, 2, L"IPersistStorageImpl::Load\n");
-		if (pStorage == 0)
-			return ((HRESULT)0x80070057L);
-		CComPtr<IPersistStreamInit> p;
-		p.p = IPSI_GetIPersistStreamInit();
-		HRESULT hr = ((HRESULT)0x80004005L);
-		if (p != 0)
-		{
-			CComPtr<IStream> spStream;
-			hr = pStorage->OpenStream(L"Contents", 0,
-				0x00000000L | 0x00000010L, 0, &spStream);
-			if (((HRESULT)(hr) >= 0))
-				hr = p->Load(spStream);
-		}
-		return hr;
-	}
-	virtual HRESULT __stdcall Save(IStorage* pStorage, BOOL fSameAsLoad)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 756)(atlTraceCOM, 2, L"IPersistStorageImpl::Save\n");
-		if (pStorage == 0)
-			return ((HRESULT)0x80070057L);
-		CComPtr<IPersistStreamInit> p;
-		p.p = IPSI_GetIPersistStreamInit();
-		HRESULT hr = ((HRESULT)0x80004005L);
-		if (p != 0)
-		{
-			CComPtr<IStream> spStream;
-			static LPCOLESTR vszContents = L"Contents";
-			hr = pStorage->CreateStream(vszContents,
-				0x00000002L | 0x00000010L | 0x00001000L,
-				0, 0, &spStream);
-			if (((HRESULT)(hr) >= 0))
-				hr = p->Save(spStream, fSameAsLoad);
-		}
-		return hr;
-	}
-	virtual HRESULT __stdcall SaveCompleted(IStorage* )
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 776)(atlTraceCOM, 2, L"IPersistStorageImpl::SaveCompleted\n");
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall HandsOffStorage(void)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 781)(atlTraceCOM, 2, L"IPersistStorageImpl::HandsOffStorage\n");
-		return ((HRESULT)0x00000000L);
-	}
-private:
-	IPersistStreamInit* IPSI_GetIPersistStreamInit();
-};
-
-template <class T>
-IPersistStreamInit* IPersistStorageImpl<T>::IPSI_GetIPersistStreamInit()
-{
-	T* pT = static_cast<T*>(this);
-	IPersistStreamInit* p;
-	if (((HRESULT)(pT->GetUnknown()->QueryInterface(__uuidof(IPersistStreamInit), (void**)&p)) < 0))
-		pT->_InternalQueryInterface(__uuidof(IPersistStreamInit), (void**)&p);
-	return p;
-}
-
-
-
-
-template <class T>
-class __declspec(novtable) IPersistPropertyBagImpl : public IPersistPropertyBag
-{
-public:
-	
-	virtual HRESULT __stdcall GetClassID(CLSID *pClassID)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 808)(atlTraceCOM, 2, L"IPersistPropertyBagImpl::GetClassID\n");
-		if (pClassID == 0)
-			return ((HRESULT)0x80004003L);
-		*pClassID = T::GetObjectCLSID();
-		return ((HRESULT)0x00000000L);
-	}
-
-	
-	
-	virtual HRESULT __stdcall InitNew()
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 819)(atlTraceCOM, 2, L"IPersistPropertyBagImpl::InitNew\n");
-		T* pT = static_cast<T*>(this);
-		pT->m_bRequiresSave = 1;
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErrorLog)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 826)(atlTraceCOM, 2, L"IPersistPropertyBagImpl::Load\n");
-		T* pT = static_cast<T*>(this);
-		ATL_PROPMAP_ENTRY* pMap = T::GetPropertyMap();
-		(void) ((!!((pMap != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 829, 0, L"pMap != 0")) || (__debugbreak(), 0));
-		return pT->IPersistPropertyBag_Load(pPropBag, pErrorLog, pMap);
-	}
-	virtual HRESULT __stdcall Save(LPPROPERTYBAG pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 834)(atlTraceCOM, 2, L"IPersistPropertyBagImpl::Save\n");
-		T* pT = static_cast<T*>(this);
-		ATL_PROPMAP_ENTRY* pMap = T::GetPropertyMap();
-		(void) ((!!((pMap != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 837, 0, L"pMap != 0")) || (__debugbreak(), 0));
-		return pT->IPersistPropertyBag_Save(pPropBag, fClearDirty, fSaveAllProperties, pMap);
-	}
-	HRESULT IPersistPropertyBag_Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErrorLog, ATL_PROPMAP_ENTRY* pMap)
-	{
-		T* pT = static_cast<T*>(this);
-		HRESULT hr = AtlIPersistPropertyBag_Load(pPropBag, pErrorLog, pMap, pT, pT->GetUnknown());
-		if (((HRESULT)(hr) >= 0))
-			pT->m_bRequiresSave = 0;
-		return hr;
-	}
-	HRESULT IPersistPropertyBag_Save(LPPROPERTYBAG pPropBag, BOOL fClearDirty, BOOL fSaveAllProperties, ATL_PROPMAP_ENTRY* pMap)
-	{
-		T* pT = static_cast<T*>(this);
-		HRESULT hr;
-		hr = AtlIPersistPropertyBag_Save(pPropBag, fClearDirty, fSaveAllProperties, pMap, pT, pT->GetUnknown());
-		if (fClearDirty && ((HRESULT)(hr) >= 0))
-		{
-			pT->m_bRequiresSave=0;
-		}
-		return hr;
-
-	}
-};
-
-
-
-__declspec( deprecated("CSecurityDescriptor has been replaced by CSID") ) class CSecurityDescriptor
-{
-public:
-	CSecurityDescriptor();
-	~CSecurityDescriptor();
-
-public:
-	HRESULT Attach(PSECURITY_DESCRIPTOR pSelfRelativeSD);
-	HRESULT AttachObject(HANDLE hObject);
-	HRESULT Initialize();
-	HRESULT InitializeFromProcessToken(BOOL bDefaulted = 0);
-	HRESULT InitializeFromThreadToken(BOOL bDefaulted = 0, BOOL bRevertToProcessToken = 1);
-	HRESULT SetOwner(PSID pOwnerSid, BOOL bDefaulted = 0);
-	HRESULT SetGroup(PSID pGroupSid, BOOL bDefaulted = 0);
-	HRESULT Allow(LPCTSTR pszPrincipal, DWORD dwAccessMask);
-	HRESULT Deny(LPCTSTR pszPrincipal, DWORD dwAccessMask);
-	HRESULT Revoke(LPCTSTR pszPrincipal);
-	HRESULT Allow(PSID pSid, DWORD dwAccessMask);
-	HRESULT Deny(PSID pSid, DWORD dwAccessMask);
-	HRESULT Revoke(PSID pSid);
-
-	
-	
-	static HRESULT SetPrivilege(LPCTSTR Privilege, BOOL bEnable = 1, HANDLE hToken = 0);
-	static HRESULT GetTokenSids(HANDLE hToken, PSID* ppUserSid, PSID* ppGroupSid);
-	static HRESULT GetProcessSids(PSID* ppUserSid, PSID* ppGroupSid = 0);
-	static HRESULT GetThreadSids(PSID* ppUserSid, PSID* ppGroupSid = 0, BOOL bOpenAsSelf = 0);
-	static HRESULT CopyACL(PACL pDest, PACL pSrc);
-	static HRESULT GetCurrentUserSID(PSID *ppSid);
-	static HRESULT GetPrincipalSID(LPCTSTR pszPrincipal, PSID *ppSid);
-	static HRESULT AddAccessAllowedACEToACL(PACL *Acl, PSID pSid, DWORD dwAccessMask);
-	static HRESULT AddAccessDeniedACEToACL(PACL *Acl, PSID pSid, DWORD dwAccessMask);
-	static HRESULT RemovePrincipalFromACL(PACL Acl, PSID pSid);
-	static HRESULT CloneSID(PSID *ppSIDDest, PSID pSIDSrc)
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (ppSIDDest == 0)
-			return ((HRESULT)0x80004003L);
-
-		if (*ppSIDDest != 0)
-			return ((HRESULT)0x80070057L);
-		*ppSIDDest = 0;
-			
-		if (!IsValidSid(pSIDSrc))
-			return ((HRESULT)0x80070057L);
-
-		DWORD dwSize = GetLengthSid(pSIDSrc);
-
-		*ppSIDDest = (PSID) malloc(dwSize);
-		if (*ppSIDDest == 0)
-			return ((HRESULT)0x8007000EL);
-		if (!CopySid(dwSize, *ppSIDDest, pSIDSrc))
-		{
-			hr = AtlHresultFromLastError();
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 918, 0, L"0")) || (__debugbreak(), 0));
-			free(*ppSIDDest);
-			*ppSIDDest = 0;
-		}
-		return hr;
-	}
-	operator PSECURITY_DESCRIPTOR()
-	{
-		return m_pSD;
-	}
-
-public:
-	PSECURITY_DESCRIPTOR m_pSD;
-	PSID m_pOwner;
-	PSID m_pGroup;
-	PACL m_pDACL;
-	PACL m_pSACL;
-};
-
-inline CSecurityDescriptor::CSecurityDescriptor()
-{
-	m_pSD = 0;
-	m_pOwner = 0;
-	m_pGroup = 0;
-	m_pDACL = 0;
-	m_pSACL= 0;
-}
-
-inline CSecurityDescriptor::~CSecurityDescriptor()
-{
-	delete m_pSD;
-	free(m_pOwner);
-	free(m_pGroup);
-	free(m_pDACL);
-	free(m_pSACL);
-}
-
-inline HRESULT CSecurityDescriptor::Initialize()
-{
-	delete m_pSD;
-	m_pSD = 0;
-
-	free(m_pOwner);
-	m_pOwner = 0;
-
-	free(m_pGroup);
-	m_pGroup = 0;
-
-	free(m_pDACL);
-	m_pDACL = 0;
-
-	free(m_pSACL);
-	m_pSACL = 0;
-
-	__pragma(warning(push)) __pragma(warning(disable: 4571)) try{m_pSD = new SECURITY_DESCRIPTOR;} catch(...) {} __pragma(warning(pop));
-	if (m_pSD != 0)
-	{
-		if (InitializeSecurityDescriptor(m_pSD, (1)))
-			return ((HRESULT)0x00000000L);
-
-		HRESULT hr = AtlHresultFromLastError();
-		delete m_pSD;
-		m_pSD = 0;
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 981, 0, L"0")) || (__debugbreak(), 0));
-		return hr;
-	}
-
-	return ((HRESULT)0x8007000EL);
-}
-
-inline HRESULT CSecurityDescriptor::InitializeFromProcessToken(BOOL bDefaulted)
-{
-	HRESULT hr = Initialize();
-	if (((HRESULT)(hr) >= 0))
-	{
-		PSID pUserSid = 0;
-		PSID pGroupSid = 0;
-		hr = GetProcessSids(&pUserSid, &pGroupSid);
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = SetOwner(pUserSid, bDefaulted);
-			if (((HRESULT)(hr) >= 0))
-			{
-				hr = SetGroup(pGroupSid, bDefaulted);
-			}			
-			free(pUserSid);
-			free(pGroupSid);
-			
-			if (((HRESULT)(hr) < 0))
-				Initialize();
-		}
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::InitializeFromThreadToken(BOOL bDefaulted, BOOL bRevertToProcessToken)
-{
-	HRESULT hr = Initialize();
-	if (((HRESULT)(hr) >= 0))
-	{
-		PSID pUserSid = 0;
-		PSID pGroupSid = 0;
-	
-		hr = GetThreadSids(&pUserSid, &pGroupSid);
-		if (((hr) & 0xFFFF) == 1008L && bRevertToProcessToken)
-			hr = GetProcessSids(&pUserSid, &pGroupSid);
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = SetOwner(pUserSid, bDefaulted);
-			if (((HRESULT)(hr) >= 0))
-				hr = SetGroup(pGroupSid, bDefaulted);
-			free(pUserSid);
-			free(pGroupSid);
-			
-			if (((HRESULT)(hr) < 0))
-				Initialize();
-		}
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::SetOwner(PSID pOwnerSid, BOOL bDefaulted)
-{
-	do { (void) ((!!((m_pSD))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1041, 0, L"m_pSD")) || (__debugbreak(), 0)); ; } while(0);
-	HRESULT hr = ((HRESULT)0x00000000L);
-
-	
-	if (SetSecurityDescriptorOwner(m_pSD, 0, bDefaulted))
-	{
-		free(m_pOwner);
-		m_pOwner = 0;
-
-		
-		if (pOwnerSid == 0)
-			return ((HRESULT)0x00000000L);
-
-		
-		hr = CloneSID(&m_pOwner, pOwnerSid);
-		if (((HRESULT)(hr) >= 0))
-		{
-			(void) ((!!((IsValidSid(m_pOwner)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1058, 0, L"IsValidSid(m_pOwner)")) || (__debugbreak(), 0));
-
-			if (!SetSecurityDescriptorOwner(m_pSD, m_pOwner, bDefaulted))
-			{
-				hr = AtlHresultFromLastError();
-				(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1063, 0, L"0")) || (__debugbreak(), 0));
-				free(m_pOwner);
-				m_pOwner = 0;
-			}
-		}
-	}
-	else
-	{
-		hr = AtlHresultFromLastError();
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1072, 0, L"0")) || (__debugbreak(), 0));
-	}
-
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::SetGroup(PSID pGroupSid, BOOL bDefaulted)
-{
-	do { (void) ((!!((m_pSD))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1080, 0, L"m_pSD")) || (__debugbreak(), 0)); ; } while(0);
-	HRESULT hr = ((HRESULT)0x00000000L);
-
-	
-	if (SetSecurityDescriptorGroup(m_pSD, 0, bDefaulted))
-	{
-		free(m_pGroup);
-		m_pGroup = 0;
-
-		
-		if (pGroupSid == 0)
-			return ((HRESULT)0x00000000L);
-
-		
-		hr = CloneSID(&m_pGroup, pGroupSid);
-		if (((HRESULT)(hr) >= 0))
-		{
-			(void) ((!!((IsValidSid(m_pGroup)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1097, 0, L"IsValidSid(m_pGroup)")) || (__debugbreak(), 0));
-
-			if (!SetSecurityDescriptorGroup(m_pSD, m_pGroup, bDefaulted))
-			{
-				hr = AtlHresultFromLastError();
-				(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1102, 0, L"0")) || (__debugbreak(), 0));
-				free(m_pGroup);
-				m_pGroup = 0;
-			}
-		}
-	}
-	else
-	{
-		hr = AtlHresultFromLastError();
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1111, 0, L"0")) || (__debugbreak(), 0));
-	}
-
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Allow(LPCTSTR pszPrincipal, DWORD dwAccessMask)
-{
-	PSID pSid;
-	HRESULT hr = GetPrincipalSID(pszPrincipal, &pSid);
-	if (((HRESULT)(hr) >= 0))
-	{
-		hr = Allow(pSid, dwAccessMask);
-		free(pSid);
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Deny(LPCTSTR pszPrincipal, DWORD dwAccessMask)
-{
-	PSID pSid;
-	HRESULT hr = GetPrincipalSID(pszPrincipal, &pSid);
-	if (((HRESULT)(hr) >= 0))
-	{
-		hr = Deny(pSid, dwAccessMask);
-		free(pSid);
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Revoke(LPCTSTR pszPrincipal)
-{
-	PSID pSid;
-	HRESULT hr = GetPrincipalSID(pszPrincipal, &pSid);
-	if (((HRESULT)(hr) >= 0))
-	{
-		hr = Revoke(pSid);
-		free(pSid);
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Allow(PSID pSid, DWORD dwAccessMask)
-{
-	HRESULT hr = AddAccessAllowedACEToACL(&m_pDACL, pSid, dwAccessMask);
-	if (((HRESULT)(hr) >= 0))
-	{
-		if (!SetSecurityDescriptorDacl(m_pSD, 1, m_pDACL, 0))
-			hr = AtlHresultFromLastError();
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Deny(PSID pSid, DWORD dwAccessMask)
-{
-	HRESULT hr = AddAccessDeniedACEToACL(&m_pDACL, pSid, dwAccessMask);
-	if (((HRESULT)(hr) >= 0))
-	{
-		if (!SetSecurityDescriptorDacl(m_pSD, 1, m_pDACL, 0))
-			hr = AtlHresultFromLastError();
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Revoke(PSID pSid)
-{
-	HRESULT hr = RemovePrincipalFromACL(m_pDACL, pSid);
-	if (((HRESULT)(hr) >= 0))
-	{
-		if (!SetSecurityDescriptorDacl(m_pSD, 1, m_pDACL, 0))
-			hr = AtlHresultFromLastError();
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::GetProcessSids(PSID* ppUserSid, PSID* ppGroupSid)
-{
-	HRESULT hr = ((HRESULT)0x00000000L);
-	HANDLE hToken = 0;
-	if (ppUserSid)
-		*ppUserSid = 0;
-	if (ppGroupSid)
-		*ppGroupSid = 0;
-	if (OpenProcessToken(GetCurrentProcess(), (0x0008), &hToken))
-	{
-		hr = GetTokenSids(hToken, ppUserSid, ppGroupSid);
-		CloseHandle(hToken);
-	}
-	else
-	{
-		
-		hr = AtlHresultFromLastError();
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1203, 0, L"0")) || (__debugbreak(), 0));
-	}
-
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::GetThreadSids(PSID* ppUserSid, PSID* ppGroupSid, BOOL bOpenAsSelf)
-{
-	HRESULT hr = ((HRESULT)0x00000000L);
-	HANDLE hToken = 0;
-	if (ppUserSid)
-		*ppUserSid = 0;
-	if (ppGroupSid)
-		*ppGroupSid = 0;
-	if(OpenThreadToken(GetCurrentThread(), (0x0008), bOpenAsSelf, &hToken))
-	{
-		hr = GetTokenSids(hToken, ppUserSid, ppGroupSid);
-		CloseHandle(hToken);
-	} 
-	else
-		
-		hr = AtlHresultFromLastError();
-
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::GetTokenSids(HANDLE hToken, PSID* ppUserSid, PSID* ppGroupSid)
-{
-	DWORD dwSize = 0;
-	HRESULT hr = ((HRESULT)0x00000000L);
-	if (ppUserSid != 0)
-		*ppUserSid = 0;
-	if (ppGroupSid != 0)
-		*ppGroupSid = 0;
-
-	if (ppUserSid != 0)
-	{
-		PTOKEN_USER ptkUser = 0;
-
-		
-		GetTokenInformation(hToken, TokenUser, 0, 0, &dwSize);
-		
-		DWORD dwError = GetLastError();
-		if (dwError == 122L)
-		{
-			ptkUser = (TOKEN_USER*) malloc(dwSize);
-			if (ptkUser != 0)
-			{
-				
-				if (GetTokenInformation(hToken, TokenUser, ptkUser, dwSize, &dwSize))
-				{
-					
-					hr = CloneSID(ppUserSid, ptkUser->User.Sid);
-
-
-					if (((HRESULT)(hr) >= 0))
-					{
-						(void) ((!!((IsValidSid(*ppUserSid)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1260, 0, L"IsValidSid(*ppUserSid)")) || (__debugbreak(), 0));
-					}
-
-				}
-				else
-					
-					hr = AtlHresultFromLastError();
-
-				free(ptkUser);
-				ptkUser = 0;
-			}
-			else
-				hr = ((HRESULT)0x8007000EL);
-		}
-		else
-		{
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1276, 0, L"0")) || (__debugbreak(), 0));
-			hr = AtlHresultFromWin32(dwError);
-		}
-	}
-	if (((HRESULT)(hr) >= 0) && ppGroupSid != 0)
-	{
-		PTOKEN_PRIMARY_GROUP ptkGroup = 0;
-
-		
-		GetTokenInformation(hToken, TokenPrimaryGroup, 0, 0, &dwSize);
-		DWORD dwError = GetLastError();
-		
-		if (dwError == 122L)
-		{
-			ptkGroup = (TOKEN_PRIMARY_GROUP*) malloc(dwSize);
-			if (ptkGroup != 0)
-			{
-				
-				if (GetTokenInformation(hToken, TokenPrimaryGroup, ptkGroup, dwSize, &dwSize))
-				{
-					
-					hr = CloneSID(ppGroupSid, ptkGroup->PrimaryGroup);
-
-
-					if (((HRESULT)(hr) >= 0))
-					{
-						(void) ((!!((IsValidSid(*ppGroupSid)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1302, 0, L"IsValidSid(*ppGroupSid)")) || (__debugbreak(), 0));
-					}
-
-				}
-				else
-					
-					hr = AtlHresultFromLastError();
-
-				free(ptkGroup);
-				ptkGroup = 0;
-			}
-			else
-				hr = ((HRESULT)0x8007000EL);
-		}
-		else
-			hr = AtlHresultFromWin32(dwError);
-	}
-	if (((HRESULT)(hr) < 0))
-	{
-		if (ppUserSid != 0)
-		{
-			free (*ppUserSid);
-			*ppUserSid = 0;
-		}
-		if (ppGroupSid != 0)
-		{
-			free (*ppGroupSid);
-			*ppGroupSid = 0;
-		}
-	}
-
-	return hr;
-}
-
-
-inline HRESULT CSecurityDescriptor::GetCurrentUserSID(PSID *ppSid)
-{
-	if (ppSid == 0)
-		return ((HRESULT)0x80004003L);
-	*ppSid = 0;
-
-	HANDLE tkHandle;
-	HRESULT hr = ((HRESULT)0x00000000L);
-
-	if (OpenProcessToken(GetCurrentProcess(), (0x0008), &tkHandle))
-	{
-		TOKEN_USER *tkUser = 0;
-		DWORD tkSize;
-
-		
-		GetTokenInformation(tkHandle, TokenUser, 0, 0, &tkSize);
-		DWORD dwError = GetLastError();
-		
-		if (dwError == 122L)
-		{
-			tkUser = (TOKEN_USER *) malloc(tkSize);
-			if (tkUser != 0)
-			{
-				
-				if (GetTokenInformation(tkHandle, TokenUser, tkUser, tkSize, &tkSize))
-				{
-					hr = CloneSID(ppSid, tkUser->User.Sid);
-
-
-					if (((HRESULT)(hr) >= 0))
-					{
-						(void) ((!!((IsValidSid(*ppSid)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1368, 0, L"IsValidSid(*ppSid)")) || (__debugbreak(), 0));
-					}
-
-				}
-				else
-					hr = AtlHresultFromLastError();
-
-				free (tkUser);
-				tkUser = 0;
-			}
-			else
-				hr = ((HRESULT)0x8007000EL);
-		}
-		else
-		{
-			hr = AtlHresultFromWin32(dwError);
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1384, 0, L"0")) || (__debugbreak(), 0));
-		}
-		CloseHandle(tkHandle);
-	}
-	else
-		hr = AtlHresultFromLastError();
-
-	return hr;
-}
-
-
-inline HRESULT CSecurityDescriptor::GetPrincipalSID(LPCTSTR pszPrincipal, PSID *ppSid)
-{
-	if (ppSid == 0)
-		return ((HRESULT)0x80004003L);
-	if (pszPrincipal == 0)
-		return ((HRESULT)0x80070057L);
-	*ppSid = 0;
-
-	HRESULT hr;
-	LPTSTR pszRefDomain = 0;
-	DWORD dwDomainSize = 0;
-	DWORD dwSidSize = 0;
-	SID_NAME_USE snu;
-	DWORD dwError;
-
-	
-	LookupAccountNameW(0, pszPrincipal, 0, &dwSidSize, 0, &dwDomainSize, &snu);
-
-	dwError = GetLastError();
-	if (dwError == 122L)
-	{
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{pszRefDomain = new TCHAR[dwDomainSize];} catch(...) {} __pragma(warning(pop));
-		if (pszRefDomain != 0)
-		{
-			*ppSid = (PSID) malloc(dwSidSize);
-			if (*ppSid != 0)
-			{
-				if (LookupAccountNameW(0, pszPrincipal, *ppSid, &dwSidSize, pszRefDomain, &dwDomainSize, &snu))
-				{
-					hr = ((HRESULT)0x00000000L);
-				}
-				else
-				{
-					hr = AtlHresultFromLastError();
-					free(*ppSid);
-					*ppSid = 0;
-				}
-			}
-			else
-				hr = ((HRESULT)0x8007000EL);
-			delete[] pszRefDomain;
-		}
-		else
-			hr = ((HRESULT)0x8007000EL);
-	}
-	else
-		hr = AtlHresultFromWin32(dwError);
-
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::Attach(PSECURITY_DESCRIPTOR pSelfRelativeSD)
-{
-	PACL    pDACL = 0;
-	PACL    pSACL = 0;
-	BOOL    bDACLPresent, bSACLPresent;
-	BOOL    bDefaulted;
-	HRESULT hr;
-	PSID    pUserSid;
-	PSID    pGroupSid;
-	
-	if (pSelfRelativeSD == 0 || !IsValidSecurityDescriptor(pSelfRelativeSD))
-		return ((HRESULT)0x80070057L);
-	
-	hr = Initialize();
-	if(((HRESULT)(hr) < 0))
-		return hr;
-
-	
-	if (GetSecurityDescriptorDacl(pSelfRelativeSD, &bDACLPresent, &pDACL, &bDefaulted))
-	{
-		if (bDACLPresent)
-		{
-			
-			do { int __atl_condVal=!!(pDACL != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1469, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) return ((HRESULT)0x80004005L); } while (0);
-			
-			m_pDACL = (PACL) malloc(pDACL->AclSize);
-			if (m_pDACL != 0)
-			{
-				
-				if (InitializeAcl(m_pDACL, pDACL->AclSize, (2)))
-				{
-					
-					hr = CopyACL(m_pDACL, pDACL);
-					if (((HRESULT)(hr) >= 0) && !IsValidAcl(m_pDACL))
-						hr = ((HRESULT)0x80004005L);
-				}
-				else
-					hr = AtlHresultFromLastError();
-			}
-			else
-				hr = ((HRESULT)0x8007000EL);
-		}
-		
-		if (((HRESULT)(hr) >= 0) && !SetSecurityDescriptorDacl(m_pSD, bDACLPresent, m_pDACL, bDefaulted))
-			hr = AtlHresultFromLastError();
-	}
-	else
-		hr = AtlHresultFromLastError();
-
-	
-	if (((HRESULT)(hr) >= 0) && GetSecurityDescriptorSacl(pSelfRelativeSD, &bSACLPresent, &pSACL, &bDefaulted))
-	{
-		if (bSACLPresent)
-		{
-			
-			do { int __atl_condVal=!!(pSACL != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1501, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) return ((HRESULT)0x80004005L); } while (0);
-			
-			m_pSACL = (PACL) malloc(pSACL->AclSize);
-			if (m_pSACL != 0)
-			{
-				
-				if (InitializeAcl(m_pSACL, pSACL->AclSize, (2)))
-				{
-					
-					hr = CopyACL(m_pSACL, pSACL);
-					if (((HRESULT)(hr) >= 0) && !IsValidAcl(m_pSACL))
-						hr = ((HRESULT)0x80004005L);
-				}
-				else
-					hr = AtlHresultFromLastError();
-			}
-			else
-				hr = ((HRESULT)0x8007000EL);
-		}
-		
-		if (((HRESULT)(hr) >= 0) && !SetSecurityDescriptorSacl(m_pSD, bSACLPresent, m_pSACL, bDefaulted))
-			hr = AtlHresultFromLastError();
-	}
-	else if (((HRESULT)(hr) >= 0))
-		hr = AtlHresultFromLastError();
-	
-	if (((HRESULT)(hr) >= 0))
-	{
-		if (GetSecurityDescriptorOwner(pSelfRelativeSD, &pUserSid, &bDefaulted))
-		{
-			if (((HRESULT)(hr = SetOwner(pUserSid, bDefaulted)) >= 0))
-			{
-				if (GetSecurityDescriptorGroup(pSelfRelativeSD, &pGroupSid, &bDefaulted))
-				{
-					if (((HRESULT)(hr = SetGroup(pGroupSid, bDefaulted)) >= 0))
-					{
-						if (!IsValidSecurityDescriptor(m_pSD))
-							hr = ((HRESULT)0x80004005L);
-					}
-				}
-				else
-					hr = AtlHresultFromLastError();
-			}
-		}
-		else
-			hr = AtlHresultFromLastError();
-	}
-
-	if (((HRESULT)(hr) < 0))
-	{
-		free(m_pDACL);
-		m_pDACL = 0;
-
-		free(m_pSACL);
-		m_pSACL = 0;
-
-		delete m_pSD;
-	 	m_pSD = 0;
-	}
-
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::AttachObject(HANDLE hObject)
-{
-	HRESULT hr;
-	DWORD dwError;
-	DWORD dwSize = 0;
-	PSECURITY_DESCRIPTOR pSD = 0;
-
-#pragma warning(push)
-#pragma warning(disable: 6309 6387)
-	
-	GetKernelObjectSecurity(hObject, (0x00000001L) | (0x00000002L) | (0x00000004L), 0, 0, &dwSize);
-#pragma warning(pop)
-
-	dwError = GetLastError();
-	if (dwError != 122L)
-		return AtlHresultFromWin32(dwError);
-
-	pSD = (PSECURITY_DESCRIPTOR) malloc(dwSize);
-	if (pSD != 0)
-	{
-		if (GetKernelObjectSecurity(hObject, (0x00000001L) | (0x00000002L) |
-			(0x00000004L), pSD, dwSize, &dwSize))
-
-			hr = Attach(pSD);
-		else
-			hr = AtlHresultFromLastError();
-		free(pSD);
-	}
-	else
-		hr = ((HRESULT)0x8007000EL);
-
-	return hr;
-}
-
-
-inline HRESULT CSecurityDescriptor::CopyACL(PACL pDest, PACL pSrc)
-{
-	ACL_SIZE_INFORMATION aclSizeInfo;
-	LPVOID pAce;
-	ACE_HEADER *aceHeader;
-
-	if (pDest == 0)
-		return ((HRESULT)0x80004003L);
-
-	if (pSrc == 0)
-		return ((HRESULT)0x00000000L);
-
-	if (!GetAclInformation(pSrc, (LPVOID) &aclSizeInfo, sizeof(ACL_SIZE_INFORMATION), AclSizeInformation))
-		return AtlHresultFromLastError();
-
-	
-	for (UINT i = 0; i < aclSizeInfo.AceCount; i++)
-	{
-		if (!GetAce(pSrc, i, &pAce))
-			return AtlHresultFromLastError();
-
-		aceHeader = (ACE_HEADER *) pAce;
-
-		if (!AddAce(pDest, (2), 0xffffffff, pAce, aceHeader->AceSize))
-			return AtlHresultFromLastError();
-	}
-
-	return ((HRESULT)0x00000000L);
-}
-
-inline HRESULT CSecurityDescriptor::AddAccessDeniedACEToACL(PACL *ppAcl, PSID pSid, DWORD dwAccessMask)
-{
-	ACL_SIZE_INFORMATION aclSizeInfo;
-	int aclSize;
-	PACL oldACL, newACL = 0;
-	HRESULT hr = ((HRESULT)0x00000000L);
-
-	if (ppAcl == 0)
-		return ((HRESULT)0x80004003L);
-
-	oldACL = *ppAcl;
-	
-	if (pSid == 0 || !IsValidSid(pSid))
-		return ((HRESULT)0x80070057L);
-
-	aclSizeInfo.AclBytesInUse = 0;
-	if (*ppAcl != 0 && !GetAclInformation(oldACL, (LPVOID) &aclSizeInfo, sizeof(ACL_SIZE_INFORMATION), AclSizeInformation))
-		hr = AtlHresultFromLastError();
-
-	if (((HRESULT)(hr) >= 0))
-	{
-		aclSize = aclSizeInfo.AclBytesInUse + sizeof(ACL) + sizeof(ACCESS_DENIED_ACE) + GetLengthSid(pSid) - sizeof(DWORD);
-		newACL = (PACL) malloc(aclSize);
-		if (newACL != 0)
-		{
-			if (InitializeAcl(newACL, aclSize, (2)))
-			{
-				
-				if (AddAccessDeniedAce(newACL, (2), dwAccessMask, pSid))
-				{
-					
-					hr = CopyACL(newACL, oldACL);
-					if (((HRESULT)(hr) >= 0))
-					{
-						*ppAcl = newACL;
-						free(oldACL);
-					}
-				}
-				else
-					hr = AtlHresultFromLastError();
-			}
-			else
-				hr = AtlHresultFromLastError();
-
-			if (((HRESULT)(hr) < 0))
-				free(newACL);
-		}
-		else
-			hr = ((HRESULT)0x8007000EL);
-	}
-	return hr;
-}
-
-
-inline HRESULT CSecurityDescriptor::AddAccessAllowedACEToACL(PACL *ppAcl, PSID pSid, DWORD dwAccessMask)
-{
-	ACL_SIZE_INFORMATION aclSizeInfo;
-	int aclSize;
-	HRESULT hr = ((HRESULT)0x00000000L);
-	PACL oldACL, newACL = 0;
-
-	if (ppAcl == 0)
-		return ((HRESULT)0x80004003L);
-
-	oldACL = *ppAcl;
-	
-	if (pSid == 0 || !IsValidSid(pSid))
-		return ((HRESULT)0x80070057L);
-
-	aclSizeInfo.AclBytesInUse = 0;
-	if (*ppAcl != 0 && !GetAclInformation(oldACL, (LPVOID) &aclSizeInfo, (DWORD) sizeof(ACL_SIZE_INFORMATION), AclSizeInformation))
-		hr = AtlHresultFromLastError();
-
-	if (((HRESULT)(hr) >= 0))
-	{
-		aclSize = aclSizeInfo.AclBytesInUse + sizeof(ACL) + sizeof(ACCESS_ALLOWED_ACE) + GetLengthSid(pSid) - sizeof(DWORD);
-		newACL = (PACL) malloc(aclSize);
-		if (newACL != 0)
-		{
-			if (InitializeAcl(newACL, aclSize, (2)))
-			{
-				
-				hr = CopyACL(newACL, oldACL);
-				if (((HRESULT)(hr) >= 0))
-				{
-					
-					if (AddAccessAllowedAce(newACL, (2), dwAccessMask, pSid))
-					{
-						*ppAcl = newACL;
-						free(oldACL);
-					}
-					else
-						hr = AtlHresultFromLastError();
-				}
-			}
-			else
-				hr = AtlHresultFromLastError();
-
-			if (((HRESULT)(hr) < 0))
-				free(newACL);
-		}
-		else
-			hr = ((HRESULT)0x8007000EL);
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::RemovePrincipalFromACL(PACL pAcl, PSID principalSID)
-{
-	if (pAcl == 0 || principalSID == 0 || !IsValidSid(principalSID))
-		return ((HRESULT)0x80070057L);
-
-	HRESULT hr = ((HRESULT)0x00000000L);
-	ACL_SIZE_INFORMATION aclSizeInfo;
-	if (!GetAclInformation(pAcl, (LPVOID) &aclSizeInfo, (DWORD) sizeof(ACL_SIZE_INFORMATION), AclSizeInformation))
-	{
-		hr = AtlHresultFromLastError();
-		aclSizeInfo.AceCount = 0;
-	}
-		
-	for (ULONG i = aclSizeInfo.AceCount; i > 0; i--)
-	{
-		ULONG uIndex = i - 1;
-		LPVOID ace;	
-		if (!GetAce(pAcl, uIndex, &ace))
-		{
-			hr = AtlHresultFromLastError();
-			break;
-		}
-
-		ACE_HEADER *aceHeader = (ACE_HEADER *) ace;
-
-		if (aceHeader->AceType == (0x0))
-		{
-			ACCESS_ALLOWED_ACE *accessAllowedAce = (ACCESS_ALLOWED_ACE *) ace;
-			if (EqualSid(principalSID, (PSID) &accessAllowedAce->SidStart))
-			{
-				DeleteAce(pAcl, uIndex);
-			}
-		} 
-		else if (aceHeader->AceType == (0x1))
-		{
-			ACCESS_DENIED_ACE *accessDeniedAce = (ACCESS_DENIED_ACE *) ace;
-			if (EqualSid(principalSID, (PSID) &accessDeniedAce->SidStart))
-			{
-				DeleteAce(pAcl, uIndex);
-			}
-		} 
-		else if (aceHeader->AceType == (0x2))
-		{
-			SYSTEM_AUDIT_ACE *systemAuditAce = (SYSTEM_AUDIT_ACE *) ace;
-			if (EqualSid(principalSID, (PSID) &systemAuditAce->SidStart))
-			{
-				DeleteAce(pAcl, uIndex);
-			}
-		}
-	}
-	return hr;
-}
-
-inline HRESULT CSecurityDescriptor::SetPrivilege(LPCTSTR privilege, BOOL bEnable, HANDLE hToken)
-{
-	TOKEN_PRIVILEGES tpPrevious;
-	TOKEN_PRIVILEGES tp;
-	DWORD  cbPrevious = sizeof(TOKEN_PRIVILEGES);
-	LUID   luid;
-	HANDLE hTokenUsed;
-
-	if (!LookupPrivilegeValueW(0, privilege, &luid ))
-		goto _Error;
-
-	
-	if (hToken != 0)
-		hTokenUsed = hToken;
-	else
-		if (!OpenProcessToken(GetCurrentProcess(), (0x0020) | (0x0008), &hTokenUsed))
-			goto _Error;
-
-	tp.PrivilegeCount = 1;
-	tp.Privileges[0].Luid = luid;
-	tp.Privileges[0].Attributes = 0;
-
-	memset(&tpPrevious, 0, sizeof(tpPrevious));
-
-	if (!AdjustTokenPrivileges(hTokenUsed, 0, &tp, sizeof(TOKEN_PRIVILEGES), &tpPrevious, &cbPrevious))
-		goto _Error_CloseHandle;
-
-	tpPrevious.PrivilegeCount = 1;
-	tpPrevious.Privileges[0].Luid = luid;
-
-	if (bEnable)
-		tpPrevious.Privileges[0].Attributes |= (0x00000002L);
-	else
-		tpPrevious.Privileges[0].Attributes &= ~(0x00000002L);
-
-	if (!AdjustTokenPrivileges(hTokenUsed, 0, &tpPrevious, cbPrevious, 0, 0))
-		goto _Error_CloseHandle;
-
-	if(hToken == 0)
-		CloseHandle(hTokenUsed);
-
-	return ((HRESULT)0x00000000L);
-
-	HRESULT hr;
-
-_Error:
-	hr = AtlHresultFromLastError();
-	return hr;
-
-_Error_CloseHandle:
-	hr = AtlHresultFromLastError();
-	if (hToken == 0)
-		CloseHandle(hTokenUsed);
-	return hr;
-}
-
-
-
-
-
-
-
-
-template <class T1>
-class CComCreator
-{
-public:
-	static HRESULT __stdcall CreateInstance(void* pv, const IID & riid, LPVOID* ppv)
-	{
-		(void) ((!!((ppv != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1858, 0, L"ppv != 0")) || (__debugbreak(), 0));
-		if (ppv == 0)
-			return ((HRESULT)0x80004003L);
-		*ppv = 0;
-
-		HRESULT hRes = ((HRESULT)0x8007000EL);
-		T1* p = 0;
-#pragma warning(push)
-#pragma warning(disable: 6014)
-		
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{p = new T1(pv);} catch(...) {} __pragma(warning(pop))
-#pragma warning(pop)
-		if (p != 0)
-		{
-			p->SetVoid(pv);
-			p->InternalFinalConstructAddRef();
-			hRes = p->_AtlInitialConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->FinalConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->_AtlFinalConstruct();
-			p->InternalFinalConstructRelease();
-			if (hRes == ((HRESULT)0x00000000L))
-				hRes = p->QueryInterface(riid, ppv);
-			if (hRes != ((HRESULT)0x00000000L))
-				delete p;
-		}
-		return hRes;
-	}
-};
-
-template <class T1>
-class CComInternalCreator
-{
-public:
-	static HRESULT __stdcall CreateInstance(void* pv, const IID & riid, LPVOID* ppv)
-	{
-		(void) ((!!((ppv != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1895, 0, L"ppv != 0")) || (__debugbreak(), 0));
-		if (ppv == 0)
-			return ((HRESULT)0x80004003L);
-		*ppv = 0;
-
-		HRESULT hRes = ((HRESULT)0x8007000EL);
-		T1* p = 0;
-#pragma warning(push)
-#pragma warning(disable: 6014)
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{p = new T1(pv);} catch(...) {} __pragma(warning(pop))
-#pragma warning(pop)
-		if (p != 0)
-		{
-			p->SetVoid(pv);
-			p->InternalFinalConstructAddRef();
-			hRes = p->_AtlInitialConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->FinalConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->_AtlFinalConstruct();
-			p->InternalFinalConstructRelease();
-			if (hRes == ((HRESULT)0x00000000L))
-				hRes = p->_InternalQueryInterface(riid, ppv);
-			if (hRes != ((HRESULT)0x00000000L))
-				delete p;
-		}
-		return hRes;
-	}
-};
-
-template <HRESULT hr>
-class CComFailCreator
-{
-public:
-	static HRESULT __stdcall CreateInstance(void*, const IID &, LPVOID* ppv)
-	{
-		if (ppv == 0)
-			return ((HRESULT)0x80004003L);
-		*ppv = 0;
-
-		return hr;
-	}
-};
-
-template <class T1, class T2>
-class CComCreator2
-{
-public:
-	static HRESULT __stdcall CreateInstance(void* pv, const IID & riid, LPVOID* ppv)
-	{
-		(void) ((!!((ppv != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 1945, 0, L"ppv != 0")) || (__debugbreak(), 0));
-
-		return (pv == 0) ? 
-			T1::CreateInstance(0, riid, ppv) : 
-			T2::CreateInstance(pv, riid, ppv);
-	}
-};
-
-
-
-
-
-
-
-
-
-
-struct _ATL_CREATORDATA
-{
-	_ATL_CREATORFUNC* pFunc;
-};
-
-template <class Creator>
-class _CComCreatorData
-{
-public:
-	static _ATL_CREATORDATA data;
-};
-
-template <class Creator>
-_ATL_CREATORDATA _CComCreatorData<Creator>::data = {Creator::CreateInstance};
-
-struct _ATL_CACHEDATA
-{
-	DWORD dwOffsetVar;
-	_ATL_CREATORFUNC* pFunc;
-};
-
-template <class Creator, DWORD dwVar>
-class _CComCacheData
-{
-public:
-	static _ATL_CACHEDATA data;
-};
-
-template <class Creator, DWORD dwVar>
-_ATL_CACHEDATA _CComCacheData<Creator, dwVar>::data = {dwVar, Creator::CreateInstance};
-
-struct _ATL_CHAINDATA
-{
-	DWORD_PTR dwOffset;
-	const _ATL_INTMAP_ENTRY* (__stdcall *pFunc)();
-};
-
-template <class base, class derived>
-class _CComChainData
-{
-public:
-	static _ATL_CHAINDATA data;
-};
-
-template <class base, class derived>
-_ATL_CHAINDATA _CComChainData<base, derived>::data =
-	{((DWORD_PTR)(static_cast<base*>((derived*)8))-8), base::_GetEntries};
-
-template <class T, const CLSID* pclsid>
-class CComAggregateCreator
-{
-public:
-	static HRESULT __stdcall CreateInstance(void* pv, const IID &, LPVOID* ppv) throw()
-	{
-		
-		(void) ((!!((ppv != 0 && *ppv == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2017, 0, L"ppv != 0 && *ppv == 0")) || (__debugbreak(), 0));
-
-		(void) ((!!((pv != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2019, 0, L"pv != 0")) || (__debugbreak(), 0));
-		if (pv == 0)
-			return ((HRESULT)0x80070057L);
-
-		T* p = (T*) pv;
-		
-		
-		
-		return CoCreateInstance(*pclsid, p->GetControllingUnknown(), (CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER), __uuidof(IUnknown), ppv);
-	}
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-class CComObjectRootBase
-{
-public:
-	CComObjectRootBase()
-	{
-		m_dwRef = 0L;
-	}
-	~CComObjectRootBase()
-	{
-	}
-	HRESULT FinalConstruct()
-	{
-		return ((HRESULT)0x00000000L);
-	}
-	
-	HRESULT _AtlFinalConstruct()
-	{
-		return ((HRESULT)0x00000000L);
-	}
-	void FinalRelease() {}
-	void _AtlFinalRelease() {}		
-
-	void _HRPass(HRESULT hr)		
-	{
-		(hr);
-	}
-
-	void _HRFail(HRESULT hr)		
-	{
-		(hr);
-	}
-
-
-	
-	static void __stdcall ObjectMain(bool );
-
-	static const struct _ATL_CATMAP_ENTRY* GetCategoryMap() {return 0;};
-	static HRESULT __stdcall InternalQueryInterface(void* pThis,
-		const _ATL_INTMAP_ENTRY* pEntries, const IID & iid, void** ppvObject)
-	{
-		
-
-		(void) ((!!((ppvObject != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2286, 0, L"ppvObject != 0")) || (__debugbreak(), 0));
-
-		(void) ((!!((pThis != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2288, 0, L"pThis != 0")) || (__debugbreak(), 0));
-		
-		(void) ((!!((pEntries->pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2290, 0, L"pEntries->pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)")) || (__debugbreak(), 0));
-	
-
-
-		HRESULT hRes = AtlInternalQueryInterface(pThis, pEntries, iid, ppvObject);
-	
-
-
-		return hRes;
-	}
-
-
-	ULONG OuterAddRef()
-	{
-		return m_pOuterUnknown->AddRef();
-	}
-	ULONG OuterRelease()
-	{
-		return m_pOuterUnknown->Release();
-	}
-	HRESULT OuterQueryInterface(const IID & iid, void ** ppvObject)
-	{
-		return m_pOuterUnknown->QueryInterface(iid, ppvObject);
-	}
-
-	void SetVoid(void*) {}
-	void InternalFinalConstructAddRef() {}
-	void InternalFinalConstructRelease()
-	{
-		do { (void) ((!!((m_dwRef == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2319, 0, L"m_dwRef == 0")) || (__debugbreak(), 0)); ; } while(0);
-	}
-	
-	
-
-
-	static HRESULT __stdcall _Break(void* , const IID & iid, void** , DWORD_PTR )
-	{
-		(iid);
-		((HRESULT)0x00000000L);
-		DebugBreak();
-		return ((HRESULT)0x00000001L);
-	}
-	static HRESULT __stdcall _NoInterface(void* , const IID & , void** , DWORD_PTR )
-	{
-		return ((HRESULT)0x80004002L);
-	}
-	static HRESULT __stdcall _Creator(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw)
-	{
-		_ATL_CREATORDATA* pcd = (_ATL_CREATORDATA*)dw;
-		return pcd->pFunc(pv, iid, ppvObject);
-	}
-	static HRESULT __stdcall _Delegate(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw)
-	{
-		HRESULT hRes = ((HRESULT)0x80004002L);
-		IUnknown* p = *(IUnknown**)((DWORD_PTR)pv + dw);
-		if (p != 0)
-			hRes = p->QueryInterface(iid, ppvObject);
-		return hRes;
-	}
-	static HRESULT __stdcall _Chain(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw)
-	{
-		_ATL_CHAINDATA* pcd = (_ATL_CHAINDATA*)dw;
-		void* p = (void*)((DWORD_PTR)pv + pcd->dwOffset);
-		return InternalQueryInterface(p, pcd->pFunc(), iid, ppvObject);
-	}
-	static HRESULT __stdcall _ChainAttr(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw)
-	{
-		const _ATL_INTMAP_ENTRY* (__stdcall *pFunc)() = (const _ATL_INTMAP_ENTRY* (__stdcall *)())dw;
-		const _ATL_INTMAP_ENTRY *pEntries = pFunc();
-		if (pEntries == 0)
-			return ((HRESULT)0x00000000L);
-		return InternalQueryInterface(pv, pEntries, iid, ppvObject);
-	}
-	static HRESULT __stdcall _Cache(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw)
-	{
-		HRESULT hRes = ((HRESULT)0x80004002L);
-		_ATL_CACHEDATA* pcd = (_ATL_CACHEDATA*)dw;
-		IUnknown** pp = (IUnknown**)((DWORD_PTR)pv + pcd->dwOffsetVar);
-		if (*pp == 0)
-			hRes = pcd->pFunc(pv, __uuidof(IUnknown), (void**)pp);
-		if (*pp != 0)
-			hRes = (*pp)->QueryInterface(iid, ppvObject);
-		return hRes;
-	}
-
-	union
-	{
-		long m_dwRef;
-		IUnknown* m_pOuterUnknown;
-	};
-};
-
-#pragma managed(push, off)
-inline void __stdcall CComObjectRootBase::ObjectMain(bool )
-{
-}
-#pragma managed(pop)
-
-
-
-template <class ThreadModel>
-class CComObjectRootEx;
-
-template <class ThreadModel>
-class CComObjectLockT
-{
-public:
-	CComObjectLockT(CComObjectRootEx<ThreadModel>* p)
-	{
-		if (p)
-			p->Lock();
-		m_p = p;
-	}
-
-	~CComObjectLockT()
-	{
-		if (m_p)
-			m_p->Unlock();
-	}
-	CComObjectRootEx<ThreadModel>* m_p;
-};
-
-template <> class CComObjectLockT<CComSingleThreadModel>;
-
-template <class ThreadModel>
-class CComObjectRootEx : public CComObjectRootBase
-{
-public:
-	typedef ThreadModel _ThreadModel;
-	typedef typename _ThreadModel::AutoCriticalSection _CritSec;
-	typedef typename _ThreadModel::AutoDeleteCriticalSection _AutoDelCritSec;
-	typedef CComObjectLockT<_ThreadModel> ObjectLock;
-
-	~CComObjectRootEx() {}
-
-	ULONG InternalAddRef()
-	{
-		do { (void) ((!!((m_dwRef != -1L))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2427, 0, L"m_dwRef != -1L")) || (__debugbreak(), 0)); ; } while(0);
-		return _ThreadModel::Increment(&m_dwRef);
-	}
-	ULONG InternalRelease()
-	{
-
-		LONG nRef = _ThreadModel::Decrement(&m_dwRef);
-		if (nRef < -(2147483647L / 2))
-		{
-			(void) ((!!((0 && L"Release called on a pointer that has already been released"))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2436, 0, L"0 && L\"Release called on a pointer that has already been released\"")) || (__debugbreak(), 0));
-		}
-		return nRef;
-
-
-
-	}
-
-	HRESULT _AtlInitialConstruct()
-	{
-		return m_critsec.Init();
-	}
-	void Lock() {m_critsec.Lock();}
-	void Unlock() {m_critsec.Unlock();}
-private:
-	_AutoDelCritSec m_critsec;
-};
-
-template <>
-class CComObjectRootEx<CComSingleThreadModel> : public CComObjectRootBase
-{
-public:
-	typedef CComSingleThreadModel _ThreadModel;
-	typedef _ThreadModel::AutoCriticalSection _CritSec;
-	typedef _ThreadModel::AutoDeleteCriticalSection _AutoDelCritSec;
-	typedef CComObjectLockT<_ThreadModel> ObjectLock;
-
-	~CComObjectRootEx() {}
-
-	ULONG InternalAddRef()
-	{
-		do { (void) ((!!((m_dwRef != -1L))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2467, 0, L"m_dwRef != -1L")) || (__debugbreak(), 0)); ; } while(0);
-		return _ThreadModel::Increment(&m_dwRef);
-	}
-	ULONG InternalRelease()
-	{
-
-		long nRef = _ThreadModel::Decrement(&m_dwRef);
-		if (nRef < -(2147483647L / 2))
-		{
-			(void) ((!!((0 && L"Release called on a pointer that has already been released"))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2476, 0, L"0 && L\"Release called on a pointer that has already been released\"")) || (__debugbreak(), 0));
-		}
-		return nRef;
-
-
-
-	}
-
-	HRESULT _AtlInitialConstruct()
-	{
-		return ((HRESULT)0x00000000L);
-	}
-
-	void Lock() {}
-	void Unlock() {}
-};
-
-template <>
-class CComObjectLockT<CComSingleThreadModel>
-{
-public:
-	CComObjectLockT(CComObjectRootEx<CComSingleThreadModel>*) {}
-	~CComObjectLockT() {}
-};
-
-typedef CComObjectRootEx<CComObjectThreadModel> CComObjectRoot;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template<class Base> class CComObject; 
-
-template <class Owner, class ThreadModel = CComObjectThreadModel>
-class CComTearOffObjectBase : public CComObjectRootEx<ThreadModel>
-{
-public:
-	typedef Owner _OwnerClass;
-	Owner* m_pOwner;
-	CComTearOffObjectBase() {m_pOwner = 0;}
-};
-
-
-
-template <class Base>
-class CComObject : public Base
-{
-public:
-	typedef Base _BaseClass;
-	CComObject(void* = 0) throw()
-	{
-		_pAtlModule->Lock();
-	}
-	
-	
-	virtual ~CComObject() throw()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-		_pAtlModule->Unlock();
-	}
-	
-	
-	virtual ULONG __stdcall AddRef() {return InternalAddRef();}
-	virtual ULONG __stdcall Release()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		return l;
-	}
-	
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{return _InternalQueryInterface(iid, ppvObject);}
-	template <class Q>
-	HRESULT __stdcall QueryInterface(Q** pp) throw()
-	{
-		return QueryInterface(__uuidof(Q), (void**)pp);
-	}
-
-	static HRESULT __stdcall CreateInstance(CComObject<Base>** pp) throw();
-};
-
-template <class Base>
-HRESULT __stdcall CComObject<Base>::CreateInstance(CComObject<Base>** pp) throw()
-{
-	(void) ((!!((pp != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2674, 0, L"pp != 0")) || (__debugbreak(), 0));
-	if (pp == 0)
-		return ((HRESULT)0x80004003L);
-	*pp = 0;
-
-	HRESULT hRes = ((HRESULT)0x8007000EL);
-	CComObject<Base>* p = 0;
-	__pragma(warning(push)) __pragma(warning(disable: 4571)) try{p = new CComObject<Base>();} catch(...) {} __pragma(warning(pop))
-	if (p != 0)
-	{
-		p->SetVoid(0);
-		p->InternalFinalConstructAddRef();
-		hRes = p->_AtlInitialConstruct();
-		if (((HRESULT)(hRes) >= 0))
-			hRes = p->FinalConstruct();
-		if (((HRESULT)(hRes) >= 0))
-			hRes = p->_AtlFinalConstruct();
-		p->InternalFinalConstructRelease();
-		if (hRes != ((HRESULT)0x00000000L))
-		{
-			delete p;
-			p = 0;
-		}
-	}
-	*pp = p;
-	return hRes;
-}
-
-
-
-
-
-template <class Base>
-class CComObjectCached : public Base
-{
-public:
-	typedef Base _BaseClass;
-	CComObjectCached(void* = 0){}
-	
-	
-	
-	 ~CComObjectCached()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-	}
-	
-	
-	virtual ULONG __stdcall AddRef() throw()
-	{
-		ULONG l = InternalAddRef();
-		if (l == 2)
-			_pAtlModule->Lock();
-		return l;
-	}
-	virtual ULONG __stdcall Release() throw()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		else if (l == 1)
-			_pAtlModule->Unlock();
-		return l;
-	}
-	
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{return _InternalQueryInterface(iid, ppvObject);}
-	static HRESULT __stdcall CreateInstance(CComObjectCached<Base>** pp) throw();
-};
-
-template <class Base>
-HRESULT __stdcall CComObjectCached<Base>::CreateInstance(CComObjectCached<Base>** pp) throw()
-{
-	(void) ((!!((pp != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2750, 0, L"pp != 0")) || (__debugbreak(), 0));
-	if (pp == 0)
-		return ((HRESULT)0x80004003L);
-	*pp = 0;
-
-	HRESULT hRes = ((HRESULT)0x8007000EL);
-	CComObjectCached<Base>* p = 0;
-	__pragma(warning(push)) __pragma(warning(disable: 4571)) try{p = new CComObjectCached<Base>();} catch(...) {} __pragma(warning(pop))
-	if (p != 0)
-	{
-		p->SetVoid(0);
-		p->InternalFinalConstructAddRef();
-		hRes = p->_AtlInitialConstruct();
-		if (((HRESULT)(hRes) >= 0))
-			hRes = p->FinalConstruct();
-		if (((HRESULT)(hRes) >= 0))
-			hRes = p->_AtlFinalConstruct();
-		p->InternalFinalConstructRelease();
-		if (hRes != ((HRESULT)0x00000000L))
-		{
-			delete p;
-			p = 0;
-		}
-	}
-	*pp = p;
-	return hRes;
-}
-
-
-
-
-template <class Base>
-class CComObjectNoLock : public Base
-{
-public:
-	typedef Base _BaseClass;
-	CComObjectNoLock(void* = 0){}
-	
-	
-
-	
-	 ~CComObjectNoLock()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-	}
-
-	
-	
-	virtual ULONG __stdcall AddRef() throw() {return InternalAddRef();}
-	virtual ULONG __stdcall Release() throw()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		return l;
-	}
-	
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{return _InternalQueryInterface(iid, ppvObject);}
-};
-
-
-
-
-template <class Base>
-class CComObjectGlobal : public Base
-{
-public:
-	typedef Base _BaseClass;
-	CComObjectGlobal(void* = 0)
-	{
-		m_hResFinalConstruct = ((HRESULT)0x00000000L);
-		__if_exists(FinalConstruct)
-		{
-			__if_exists(InternalFinalConstructAddRef)
-			{
-				InternalFinalConstructAddRef();
-			}
-			m_hResFinalConstruct = _AtlInitialConstruct();
-			if (((HRESULT)(m_hResFinalConstruct) >= 0))
-				m_hResFinalConstruct = FinalConstruct();
-			__if_exists(InternalFinalConstructRelease)
-			{
-				InternalFinalConstructRelease();
-			}
-		}
-	}
-	virtual ~CComObjectGlobal()
-	{
-		__if_exists(FinalRelease)
-		{
-			FinalRelease();
-		}
-
-
-
-	}
-
-	virtual ULONG __stdcall AddRef() throw()
-	{
-		return _pAtlModule->Lock();
-	}
-	virtual ULONG __stdcall Release() throw()
-	{
-		return _pAtlModule->Unlock();
-	}
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{
-		return _InternalQueryInterface(iid, ppvObject);
-	}
-	HRESULT m_hResFinalConstruct;
-};
-
-
-
-template <class Base>
-class CComObjectStack : public Base
-{
-public:
-	typedef Base _BaseClass;
-	CComObjectStack(void* = 0)
-	{
-		m_hResFinalConstruct = _AtlInitialConstruct();
-		if (((HRESULT)(m_hResFinalConstruct) >= 0))
-			m_hResFinalConstruct = FinalConstruct();
-	}
-	virtual ~CComObjectStack()
-	{
-		FinalRelease();
-
-
-
-	}
-
-
-	virtual ULONG __stdcall AddRef() throw() {(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2889, 0, L"0")) || (__debugbreak(), 0));return 0;}
-	virtual ULONG __stdcall Release() throw() {(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2890, 0, L"0")) || (__debugbreak(), 0));return 0;}
-	virtual HRESULT __stdcall QueryInterface(const IID &, void**) throw()
-	{(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2892, 0, L"0")) || (__debugbreak(), 0));return ((HRESULT)0x80004002L);}
-	HRESULT m_hResFinalConstruct;
-};
-
-
-template <class Base>
-class CComObjectStackEx : public Base
-{
-public:
-	typedef Base _BaseClass;
-
-	CComObjectStackEx(void* = 0) 
-	{ 
-
-		m_dwRef = 0;
-
-		m_hResFinalConstruct = _AtlInitialConstruct();
-		if (((HRESULT)(m_hResFinalConstruct) >= 0))
-			m_hResFinalConstruct = FinalConstruct(); 
-	}
-
-	virtual ~CComObjectStackEx()
-	{
-		
-		
-		
-		
-		
-		
-		do { (void) ((!!((m_dwRef == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 2921, 0, L"m_dwRef == 0")) || (__debugbreak(), 0)); ; } while(0);
-		FinalRelease();
-
-
-
-	}
-
-	virtual ULONG __stdcall AddRef() throw()
-	{
-
-		return InternalAddRef();
-
-
-
-	}
-
-	virtual ULONG __stdcall Release() throw()
-	{
-
-		return InternalRelease();
-
-
-
-	}
-
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{
-		return _InternalQueryInterface(iid, ppvObject);
-	}
-
-	HRESULT m_hResFinalConstruct;
-};
-
-template <class Base> 
-class CComContainedObject : public Base
-{
-public:
-	typedef Base _BaseClass;
-	CComContainedObject(void* pv) {m_pOuterUnknown = (IUnknown*)pv;}
-
-
-
-
-
-
-
-
-	virtual ULONG __stdcall AddRef() throw() {return OuterAddRef();}
-	virtual ULONG __stdcall Release() throw() {return OuterRelease();}
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{
-		return OuterQueryInterface(iid, ppvObject);
-	}
-	template <class Q>
-	HRESULT __stdcall QueryInterface(Q** pp)
-	{
-		return QueryInterface(__uuidof(Q), (void**)pp);
-	}
-	
-	
-	IUnknown* GetControllingUnknown() throw()
-	{
-
-
-
-
-
-		return m_pOuterUnknown;
-
-	}
-};
-
-
-
-template <class contained>
-class CComAggObject :
-	public IUnknown,
-	public CComObjectRootEx< typename contained::_ThreadModel::ThreadModelNoCS >
-{
-public:
-	typedef contained _BaseClass;
-	CComAggObject(void* pv) : m_contained(pv)
-	{
-		_pAtlModule->Lock();
-	}
-	HRESULT _AtlInitialConstruct()
-	{
-		HRESULT hr = m_contained._AtlInitialConstruct();
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = CComObjectRootEx< typename contained::_ThreadModel::ThreadModelNoCS >::_AtlInitialConstruct();
-		}
-		return hr;
-	}
-	
-	
-	HRESULT FinalConstruct()
-	{
-		CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
-		return m_contained.FinalConstruct();
-	}
-	void FinalRelease()
-	{
-		CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
-		m_contained.FinalRelease();
-	}
-	
-	
-	virtual ~CComAggObject()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-		_pAtlModule->Unlock();
-	}
-
-	virtual ULONG __stdcall AddRef() {return InternalAddRef();}
-	virtual ULONG __stdcall Release()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		return l;
-	}
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject)
-	{
-		(void) ((!!((ppvObject != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3049, 0, L"ppvObject != 0")) || (__debugbreak(), 0));
-		if (ppvObject == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObject = 0;
-
-		HRESULT hRes = ((HRESULT)0x00000000L);
-		if (InlineIsEqualUnknown(iid))
-		{
-			*ppvObject = (void*)(IUnknown*)this;
-			AddRef();
-
-
-
-		}
-		else
-			hRes = m_contained._InternalQueryInterface(iid, ppvObject);
-		return hRes;
-	}
-	template <class Q>
-	HRESULT __stdcall QueryInterface(Q** pp)
-	{
-		return QueryInterface(__uuidof(Q), (void**)pp);
-	}
-	static HRESULT __stdcall CreateInstance(LPUNKNOWN pUnkOuter, CComAggObject<contained>** pp)
-	{
-		(void) ((!!((pp != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3074, 0, L"pp != 0")) || (__debugbreak(), 0));
-		if (pp == 0)
-			return ((HRESULT)0x80004003L);
-		*pp = 0;
-
-		HRESULT hRes = ((HRESULT)0x8007000EL);
-		CComAggObject<contained>* p = 0;
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{p = new CComAggObject<contained>(pUnkOuter);} catch(...) {} __pragma(warning(pop))
-		if (p != 0)
-		{
-			p->SetVoid(0);
-			p->InternalFinalConstructAddRef();
-			hRes = p->_AtlInitialConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->FinalConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->_AtlFinalConstruct();
-			p->InternalFinalConstructRelease();
-			if (hRes != ((HRESULT)0x00000000L))
-			{
-				delete p;
-				p = 0;
-			}
-		}
-		*pp = p;
-		return hRes;
-	}
-
-	CComContainedObject<contained> m_contained;
-};
-
-
-
-
-template <class contained>
-class CComPolyObject :
-	public IUnknown,
-	public CComObjectRootEx< typename contained::_ThreadModel::ThreadModelNoCS >
-{
-public:
-	typedef contained _BaseClass;
-	CComPolyObject(void* pv) : m_contained(pv ? pv : this)
-	{
-		_pAtlModule->Lock();
-	}
-	HRESULT _AtlInitialConstruct()
-	{
-		HRESULT hr = m_contained._AtlInitialConstruct();
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = CComObjectRootEx< typename contained::_ThreadModel::ThreadModelNoCS >::_AtlInitialConstruct();
-		}
-		return hr;
-	}
-	
-	
-	HRESULT FinalConstruct()
-	{
-		InternalAddRef();
-		CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
-		HRESULT hr = m_contained.FinalConstruct();
-		InternalRelease();
-		return hr;
-	}
-	void FinalRelease()
-	{
-		CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
-		m_contained.FinalRelease();
-	}
-	
-	
-	virtual ~CComPolyObject()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-		_pAtlModule->Unlock();
-	}
-
-	virtual ULONG __stdcall AddRef() {return InternalAddRef();}
-	virtual ULONG __stdcall Release()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		return l;
-	}
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject)
-	{
-
-		(void) ((!!((ppvObject != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3166, 0, L"ppvObject != 0")) || (__debugbreak(), 0));
-
-		if (ppvObject == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObject = 0;
-
-		HRESULT hRes = ((HRESULT)0x00000000L);
-		if (InlineIsEqualUnknown(iid))
-		{
-			*ppvObject = (void*)(IUnknown*)this;
-			AddRef();
-
-
-
-		}
-		else
-			hRes = m_contained._InternalQueryInterface(iid, ppvObject);
-		return hRes;
-	}
-	template <class Q>
-	HRESULT __stdcall QueryInterface(Q** pp)
-	{
-		return QueryInterface(__uuidof(Q), (void**)pp);
-	}
-	static HRESULT __stdcall CreateInstance(LPUNKNOWN pUnkOuter, CComPolyObject<contained>** pp)
-	{
-		(void) ((!!((pp != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3192, 0, L"pp != 0")) || (__debugbreak(), 0));
-		if (pp == 0)
-			return ((HRESULT)0x80004003L);
-		*pp = 0;
-
-
-		HRESULT hRes = ((HRESULT)0x8007000EL);
-		CComPolyObject<contained>* p = 0;
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{p = new CComPolyObject<contained>(pUnkOuter);} catch(...) {} __pragma(warning(pop))
-		if (p != 0)
-		{
-			p->SetVoid(0);
-			p->InternalFinalConstructAddRef();
-			hRes = p->_AtlInitialConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->FinalConstruct();
-			if (((HRESULT)(hRes) >= 0))
-				hRes = p->_AtlFinalConstruct();
-			p->InternalFinalConstructRelease();
-			if (hRes != ((HRESULT)0x00000000L))
-			{
-				delete p;
-				p = 0;
-			}
-		}
-		*pp = p;
-		return hRes;
-	}
-
-	CComContainedObject<contained> m_contained;
-};
-
-template <class Base>
-class CComTearOffObject : public Base
-{
-public:
-	CComTearOffObject(void* pv)
-	{
-		do { (void) ((!!((m_pOwner == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3230, 0, L"m_pOwner == 0")) || (__debugbreak(), 0)); ; } while(0);
-		m_pOwner = reinterpret_cast<Base::_OwnerClass*>(pv);
-		m_pOwner->AddRef();
-	}
-	
-	
-	~CComTearOffObject()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-		m_pOwner->Release();
-	}
-
-	virtual ULONG __stdcall AddRef() throw() {return InternalAddRef();}
-	virtual ULONG __stdcall Release() throw()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		return l;
-	}
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject) throw()
-	{
-		return m_pOwner->QueryInterface(iid, ppvObject);
-	}
-};
-
-template <class contained>
-class CComCachedTearOffObject :
-	public IUnknown,
-	public CComObjectRootEx<typename contained::_ThreadModel::ThreadModelNoCS>
-{
-public:
-	typedef contained _BaseClass;
-	CComCachedTearOffObject(void* pv) :
-		m_contained(((contained::_OwnerClass*)pv)->GetControllingUnknown())
-	{
-		do { (void) ((!!((m_contained.m_pOwner == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3270, 0, L"m_contained.m_pOwner == 0")) || (__debugbreak(), 0)); ; } while(0);
-		m_contained.m_pOwner = reinterpret_cast<contained::_OwnerClass*>(pv);
-	}
-	HRESULT _AtlInitialConstruct()
-	{
-		HRESULT hr = m_contained._AtlInitialConstruct();
-		if (((HRESULT)(hr) >= 0))
-		{
-			hr = CComObjectRootEx< typename contained::_ThreadModel::ThreadModelNoCS >::_AtlInitialConstruct();
-		}
-		return hr;
-	}
-	
-	
-	HRESULT FinalConstruct()
-	{
-		CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalConstruct();
-		return m_contained.FinalConstruct();
-	}
-	void FinalRelease()
-	{
-		CComObjectRootEx<contained::_ThreadModel::ThreadModelNoCS>::FinalRelease();
-		m_contained.FinalRelease();
-	}
-	
-	
-	~CComCachedTearOffObject()
-	{
-		m_dwRef = -(2147483647L/2);
-		FinalRelease();
-
-
-
-	}
-
-
-	virtual ULONG __stdcall AddRef() {return InternalAddRef();}
-	virtual ULONG __stdcall Release()
-	{
-		ULONG l = InternalRelease();
-		if (l == 0)
-			delete this;
-		return l;
-	}
-	virtual HRESULT __stdcall QueryInterface(const IID & iid, void ** ppvObject)
-	{
-		(void) ((!!((ppvObject != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3316, 0, L"ppvObject != 0")) || (__debugbreak(), 0));
-		if (ppvObject == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObject = 0;
-
-		HRESULT hRes = ((HRESULT)0x00000000L);
-		if (InlineIsEqualUnknown(iid))
-		{
-			*ppvObject = (void*)(IUnknown*)this;
-			AddRef();
-
-
-
-		}
-		else
-			hRes = m_contained._InternalQueryInterface(iid, ppvObject);
-		return hRes;
-	}
-	CComContainedObject<contained> m_contained;
-};
-
-
-class CComClassFactory :
-	public IClassFactory,
-	public CComObjectRootEx<CComGlobalsThreadModel>
-{
-public:
-	public: typedef CComClassFactory _ComMapClass; static HRESULT __stdcall _Cache(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw) throw() { _ComMapClass* p = (_ComMapClass*)pv; p->Lock(); HRESULT hRes = ((HRESULT)0x80004005L); __try { hRes = ATL::CComObjectRootBase::_Cache(pv, iid, ppvObject, dw); } __finally { p->Unlock(); } return hRes; } IUnknown* _GetRawUnknown() throw() { (void) ((!!((_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3343, 0, L"_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)")) || (__debugbreak(), 0)); return (IUnknown*)((INT_PTR)this+_GetEntries()->dw); } IUnknown* GetUnknown() throw() {return _GetRawUnknown();} HRESULT _InternalQueryInterface(const IID & iid, void** ppvObject) throw() { return InternalQueryInterface(this, _GetEntries(), iid, ppvObject); } const static ATL::_ATL_INTMAP_ENTRY* __stdcall _GetEntries() throw() { static const ATL::_ATL_INTMAP_ENTRY _entries[] = { {0, (DWORD_PTR)L"CComClassFactory", (ATL::_ATL_CREATORARGFUNC*)0},
-		{&__uuidof(IClassFactory), ((DWORD_PTR)(static_cast<IClassFactory*>((_ComMapClass*)8))-8), ((ATL::_ATL_CREATORARGFUNC*)1)},
-	__if_exists(_GetAttrEntries) {{0, (DWORD_PTR)_GetAttrEntries, _ChainAttr }, } {0, 0, 0}}; return &_entries[1];} virtual ULONG __stdcall AddRef( void) throw() = 0; virtual ULONG __stdcall Release( void) throw() = 0; virtual HRESULT __stdcall QueryInterface(const IID &, void**) throw() = 0;
-
-	
-	 ~CComClassFactory()
-	{
-	}
-	
-	
-	virtual HRESULT __stdcall CreateInstance(LPUNKNOWN pUnkOuter, const IID & riid, void** ppvObj)
-	{
-		do { (void) ((!!((m_pfnCreateInstance != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3355, 0, L"m_pfnCreateInstance != 0")) || (__debugbreak(), 0)); ; } while(0);
-		HRESULT hRes = ((HRESULT)0x80004003L);
-		if (ppvObj != 0)
-		{
-			*ppvObj = 0;
-			
-
-			if ((pUnkOuter != 0) && !InlineIsEqualUnknown(riid))
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3364)(atlTraceCOM, 0, L"CComClassFactory: asked for non IUnknown interface while creating an aggregated object");
-				hRes = ((HRESULT)0x80040110L);
-			}
-			else
-				hRes = m_pfnCreateInstance(pUnkOuter, riid, ppvObj);
-		}
-		return hRes;
-	}
-
-	virtual HRESULT __stdcall LockServer(BOOL fLock)
-	{
-		if (fLock)
-			_pAtlModule->Lock();
-		else
-			_pAtlModule->Unlock();
-		return ((HRESULT)0x00000000L);
-	}
-	
-	void SetVoid(void* pv)
-	{
-		m_pfnCreateInstance = (_ATL_CREATORFUNC*)pv;
-	}
-	_ATL_CREATORFUNC* m_pfnCreateInstance;
-};
-
-template <class license>
-class CComClassFactory2 : 
-	public IClassFactory2,
-	public CComObjectRootEx<CComGlobalsThreadModel>,
-	public license
-{
-public:
-	typedef license _LicenseClass;
-	typedef CComClassFactory2<license> _ComMapClass;
-public: typedef CComClassFactory2<license> _ComMapClass; static HRESULT __stdcall _Cache(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw) throw() { _ComMapClass* p = (_ComMapClass*)pv; p->Lock(); HRESULT hRes = ((HRESULT)0x80004005L); __try { hRes = ATL::CComObjectRootBase::_Cache(pv, iid, ppvObject, dw); } __finally { p->Unlock(); } return hRes; } IUnknown* _GetRawUnknown() throw() { (void) ((!!((_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3398, 0, L"_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)")) || (__debugbreak(), 0)); return (IUnknown*)((INT_PTR)this+_GetEntries()->dw); } IUnknown* GetUnknown() throw() {return _GetRawUnknown();} HRESULT _InternalQueryInterface(const IID & iid, void** ppvObject) throw() { return InternalQueryInterface(this, _GetEntries(), iid, ppvObject); } const static ATL::_ATL_INTMAP_ENTRY* __stdcall _GetEntries() throw() { static const ATL::_ATL_INTMAP_ENTRY _entries[] = { {0, (DWORD_PTR)L"CComClassFactory2<license>", (ATL::_ATL_CREATORARGFUNC*)0},
-	{&__uuidof(IClassFactory), ((DWORD_PTR)(static_cast<IClassFactory*>((_ComMapClass*)8))-8), ((ATL::_ATL_CREATORARGFUNC*)1)},
-	{&__uuidof(IClassFactory2), ((DWORD_PTR)(static_cast<IClassFactory2*>((_ComMapClass*)8))-8), ((ATL::_ATL_CREATORARGFUNC*)1)},
-__if_exists(_GetAttrEntries) {{0, (DWORD_PTR)_GetAttrEntries, _ChainAttr }, } {0, 0, 0}}; return &_entries[1];} virtual ULONG __stdcall AddRef( void) throw() = 0; virtual ULONG __stdcall Release( void) throw() = 0; virtual HRESULT __stdcall QueryInterface(const IID &, void**) throw() = 0;
-	
-	virtual HRESULT __stdcall LockServer(BOOL fLock)
-	{
-		if (fLock)
-			_pAtlModule->Lock();
-		else
-			_pAtlModule->Unlock();
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall CreateInstance(LPUNKNOWN pUnkOuter,
-		const IID & riid, void** ppvObj)
-	{
-		do { (void) ((!!((m_pfnCreateInstance != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3414, 0, L"m_pfnCreateInstance != 0")) || (__debugbreak(), 0)); ; } while(0);
-		if (ppvObj == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObj = 0;
-		if (!IsLicenseValid())
-			return ((HRESULT)0x80040112L);
-
-		if ((pUnkOuter != 0) && !InlineIsEqualUnknown(riid))
-			return ((HRESULT)0x80040110L);
-		else
-			return m_pfnCreateInstance(pUnkOuter, riid, ppvObj);
-	}
-	
-	virtual HRESULT __stdcall CreateInstanceLic(IUnknown* pUnkOuter, 
-	  IUnknown* , const IID & riid, BSTR bstrKey, 
-	  void** ppvObject)
-	{
-		do { (void) ((!!((m_pfnCreateInstance != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3431, 0, L"m_pfnCreateInstance != 0")) || (__debugbreak(), 0)); ; } while(0);
-		if (ppvObject == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObject = 0;
-		if ( ((bstrKey != 0) && !VerifyLicenseKey(bstrKey)) ||
-			 ((bstrKey == 0) && !IsLicenseValid()) )
-			return ((HRESULT)0x80040112L);
-		if ((pUnkOuter != 0) && !InlineIsEqualUnknown(riid))
-			return ((HRESULT)0x80040110L);
-		else
-			return m_pfnCreateInstance(pUnkOuter, riid, ppvObject);
-	}
-	virtual HRESULT __stdcall RequestLicKey(DWORD dwReserved, BSTR* pbstrKey)
-	{
-		if (pbstrKey == 0)
-			return ((HRESULT)0x80004003L);
-		*pbstrKey = 0;
-
-		if (!IsLicenseValid())
-			return ((HRESULT)0x80040112L);
-		return GetLicenseKey(dwReserved,pbstrKey) ? ((HRESULT)0x00000000L) : ((HRESULT)0x80004005L);
-	}
-	virtual HRESULT __stdcall GetLicInfo(LICINFO* pLicInfo)
-	{
-		if (pLicInfo == 0)
-			return ((HRESULT)0x80004003L);
-		pLicInfo->cbLicInfo = sizeof(LICINFO);
-		pLicInfo->fLicVerified = IsLicenseValid();
-		BSTR bstr = 0;
-		pLicInfo->fRuntimeKeyAvail = GetLicenseKey(0,&bstr);
-		::SysFreeString(bstr);
-		return ((HRESULT)0x00000000L);
-	}
-	void SetVoid(void* pv)
-	{
-		m_pfnCreateInstance = (_ATL_CREATORFUNC*)pv;
-	}
-	_ATL_CREATORFUNC* m_pfnCreateInstance;
-};
-
-
-
-class CComClassFactoryAutoThread :
-	public IClassFactory,
-	public CComObjectRootEx<CComGlobalsThreadModel>
-{
-public:
-	public: typedef CComClassFactoryAutoThread _ComMapClass; static HRESULT __stdcall _Cache(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw) throw() { _ComMapClass* p = (_ComMapClass*)pv; p->Lock(); HRESULT hRes = ((HRESULT)0x80004005L); __try { hRes = ATL::CComObjectRootBase::_Cache(pv, iid, ppvObject, dw); } __finally { p->Unlock(); } return hRes; } IUnknown* _GetRawUnknown() throw() { (void) ((!!((_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3478, 0, L"_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)")) || (__debugbreak(), 0)); return (IUnknown*)((INT_PTR)this+_GetEntries()->dw); } IUnknown* GetUnknown() throw() {return _GetRawUnknown();} HRESULT _InternalQueryInterface(const IID & iid, void** ppvObject) throw() { return InternalQueryInterface(this, _GetEntries(), iid, ppvObject); } const static ATL::_ATL_INTMAP_ENTRY* __stdcall _GetEntries() throw() { static const ATL::_ATL_INTMAP_ENTRY _entries[] = { {0, (DWORD_PTR)L"CComClassFactoryAutoThread", (ATL::_ATL_CREATORARGFUNC*)0},
-		{&__uuidof(IClassFactory), ((DWORD_PTR)(static_cast<IClassFactory*>((_ComMapClass*)8))-8), ((ATL::_ATL_CREATORARGFUNC*)1)},
-	__if_exists(_GetAttrEntries) {{0, (DWORD_PTR)_GetAttrEntries, _ChainAttr }, } {0, 0, 0}}; return &_entries[1];} virtual ULONG __stdcall AddRef( void) throw() = 0; virtual ULONG __stdcall Release( void) throw() = 0; virtual HRESULT __stdcall QueryInterface(const IID &, void**) throw() = 0;
-
-	
-	 ~CComClassFactoryAutoThread()
-	{
-	}
-	
-	
-	void SetVoid(void* pv)
-	{
-		m_pfnCreateInstance = (_ATL_CREATORFUNC*)pv;
-	}
-	HRESULT __stdcall CreateInstance(LPUNKNOWN pUnkOuter,
-		const IID & riid, void** ppvObj)
-	{
-		do { (void) ((!!((m_pfnCreateInstance != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3495, 0, L"m_pfnCreateInstance != 0")) || (__debugbreak(), 0)); ; } while(0);
-		HRESULT hRes = ((HRESULT)0x80004003L);
-		if (ppvObj != 0)
-		{
-			*ppvObj = 0;
-			
-			(void) ((!!((pUnkOuter == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3501, 0, L"pUnkOuter == 0")) || (__debugbreak(), 0));
-			if (pUnkOuter != 0)
-				hRes = ((HRESULT)0x80040110L);
-			else
-			{
-				(void) ((!!((_pAtlAutoThreadModule && L"Global instance of CAtlAutoThreadModule not declared"))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3506, 0, L"_pAtlAutoThreadModule && L\"Global instance of CAtlAutoThreadModule not declared\"")) || (__debugbreak(), 0));
-				if (_pAtlAutoThreadModule == 0)
-					return ((HRESULT)0x80004005L);
-
-				hRes = _pAtlAutoThreadModule->CreateInstance(m_pfnCreateInstance, riid, ppvObj);
-			}
-		}
-		return hRes;
-	}
-	HRESULT __stdcall LockServer(BOOL fLock)
-	{
-		if (fLock)
-			_pAtlModule->Lock();
-		else
-			_pAtlModule->Unlock();
-		return ((HRESULT)0x00000000L);
-	}
-	_ATL_CREATORFUNC* m_pfnCreateInstance;
-};
-
-
-
-
-template <class T>
-class CComClassFactorySingleton : public CComClassFactory
-{
-public:
-	CComClassFactorySingleton() : m_hrCreate(((HRESULT)0x00000000L))
-	{
-	}
-	
-	 ~CComClassFactorySingleton()
-	{
-	}
-	
-	virtual HRESULT __stdcall CreateInstance(LPUNKNOWN pUnkOuter, const IID & riid, void** ppvObj)
-	{
-		HRESULT hRes = ((HRESULT)0x80004003L);
-		if (ppvObj != 0)
-		{
-			*ppvObj = 0;
-			
-			(void) ((!!((pUnkOuter == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3548, 0, L"pUnkOuter == 0")) || (__debugbreak(), 0));
-			if (pUnkOuter != 0)
-				hRes = ((HRESULT)0x80040110L);
-			else
-			{
-				if (m_hrCreate == ((HRESULT)0x00000000L) && m_spObj == 0)
-				{
-					__try
-					{
-						Lock();
-						
-						if (m_hrCreate == ((HRESULT)0x00000000L) && m_spObj == 0)
-						{
-							CComObjectCached<T> *p;
-							m_hrCreate = CComObjectCached<T>::CreateInstance(&p);
-							if (((HRESULT)(m_hrCreate) >= 0))
-							{
-								m_hrCreate = p->QueryInterface(IID_IUnknown, (void**)&m_spObj);
-								if (((HRESULT)(m_hrCreate) < 0))
-								{
-									delete p;
-								}
-							}
-						}
-					}
-					__finally
-					{
-						Unlock();
-					}
-				}
-				if (m_hrCreate == ((HRESULT)0x00000000L))
-				{
-					hRes = m_spObj->QueryInterface(riid, ppvObj);
-				}
-				else
-				{
-					hRes = m_hrCreate;
-				}
-			}
-		}
-		return hRes;
-	}
-	HRESULT m_hrCreate;
-	CComPtr<IUnknown> m_spObj;
-};
-
-
-template <class T, const CLSID* pclsid = &GUID_NULL>
-class CComCoClass
-{
-public:
-	typedef ATL::CComCreator< ATL::CComObjectCached< ATL::CComClassFactory > > _ClassFactoryCreatorClass;
-	public: typedef ATL::CComCreator2< ATL::CComCreator< ATL::CComObject< T > >, ATL::CComCreator< ATL::CComAggObject< T > > > _CreatorClass;
-	typedef T _CoClass;
-	static const CLSID& __stdcall GetObjectCLSID() {return *pclsid;}
-	static LPCTSTR __stdcall GetObjectDescription() {return 0;}
-	static HRESULT __stdcall Error(LPCOLESTR lpszDesc,
-		const IID& iid = GUID_NULL, HRESULT hRes = 0)
-	{
-		return AtlReportError(GetObjectCLSID(), lpszDesc, iid, hRes);
-	}
-	static HRESULT __stdcall Error(LPCOLESTR lpszDesc, DWORD dwHelpID,
-		LPCOLESTR lpszHelpFile, const IID& iid = GUID_NULL, HRESULT hRes = 0)
-	{
-		return AtlReportError(GetObjectCLSID(), lpszDesc, dwHelpID, lpszHelpFile,
-			iid, hRes);
-	}
-	static HRESULT __stdcall Error(UINT nID, const IID& iid = GUID_NULL,
-		HRESULT hRes = 0, HINSTANCE hInst = _AtlBaseModule.GetResourceInstance())
-	{
-		return AtlReportError(GetObjectCLSID(), nID, iid, hRes, hInst);
-	}
-	static HRESULT __stdcall Error(UINT nID, DWORD dwHelpID,
-		LPCOLESTR lpszHelpFile, const IID& iid = GUID_NULL,
-		HRESULT hRes = 0, HINSTANCE hInst = _AtlBaseModule.GetResourceInstance())
-	{
-		return AtlReportError(GetObjectCLSID(), nID, dwHelpID, lpszHelpFile,
-			iid, hRes, hInst);
-	}
-	static HRESULT __stdcall Error(LPCSTR lpszDesc,
-		const IID& iid = GUID_NULL, HRESULT hRes = 0)
-	{
-		return AtlReportError(GetObjectCLSID(), lpszDesc, iid, hRes);
-	}
-	static HRESULT __stdcall Error(LPCSTR lpszDesc, DWORD dwHelpID,
-		LPCSTR lpszHelpFile, const IID& iid = GUID_NULL, HRESULT hRes = 0)
-	{
-		return AtlReportError(GetObjectCLSID(), lpszDesc, dwHelpID,
-			lpszHelpFile, iid, hRes);
-	}
-	template <class Q>
-	static HRESULT CreateInstance(IUnknown* punkOuter, Q** pp)
-	{
-		return T::_CreatorClass::CreateInstance(punkOuter, __uuidof(Q), (void**) pp);
-	}
-	template <class Q>
-	static HRESULT CreateInstance(Q** pp)
-	{
-		return T::_CreatorClass::CreateInstance(0, __uuidof(Q), (void**) pp);
-	}
-};
-
-
-
-class CComTypeInfoHolder
-{
-
-public:
-	const GUID* m_pguid;
-	const GUID* m_plibid;
-	WORD m_wMajor;
-	WORD m_wMinor;
-
-	ITypeInfo* m_pInfo;
-	long m_dwRef;
-	struct stringdispid
-	{
-		CComBSTR bstr;
-		int nLen;
-		DISPID id;
-		stringdispid() : nLen(0), id(( -1 )){}
-	};
-	stringdispid* m_pMap;
-	int m_nCount;
-
-public:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-	HRESULT GetTI(LCID lcid, ITypeInfo** ppInfo)
-	{
-		(void) ((!!((ppInfo != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3694, 0, L"ppInfo != 0")) || (__debugbreak(), 0));
-		if (ppInfo == 0)
-			return ((HRESULT)0x80004003L);
-
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (m_pInfo == 0)
-			hr = GetTI(lcid);
-		*ppInfo = m_pInfo;
-		if (m_pInfo != 0)
-		{
-			m_pInfo->AddRef();
-			hr = ((HRESULT)0x00000000L);
-		}
-		return hr;
-	}
-	HRESULT GetTI(LCID lcid);
-	HRESULT EnsureTI(LCID lcid)
-	{
-		HRESULT hr = ((HRESULT)0x00000000L);
-		if (m_pInfo == 0 || m_pMap == 0)
-			hr = GetTI(lcid);
-		return hr;
-	}
-
-	
-	
-	static void __stdcall Cleanup(DWORD_PTR dw);
-
-	HRESULT GetTypeInfo(UINT , LCID lcid, ITypeInfo** pptinfo)
-	{
-		return GetTI(lcid, pptinfo);
-	}
-	HRESULT GetIDsOfNames(const IID & , LPOLESTR* rgszNames, UINT cNames,
-		LCID lcid, DISPID* rgdispid)
-	{
-		HRESULT hRes = EnsureTI(lcid);
-		if (m_pInfo != 0)
-		{
-			hRes = ((HRESULT)0x80004005L);
-			
-			
-			
-			if (m_pMap != 0 && cNames == 1)
-			{
-				int n = int( ocslen(rgszNames[0]) );
-				for (int j=m_nCount-1; j>=0; j--)
-				{
-					if ((n == m_pMap[j].nLen) &&
-						(memcmp(m_pMap[j].bstr, rgszNames[0], m_pMap[j].nLen * sizeof(OLECHAR)) == 0))
-					{
-						rgdispid[0] = m_pMap[j].id;
-						hRes = ((HRESULT)0x00000000L);
-						break;
-					}
-				}
-			}
-			
-			
-			if (((HRESULT)(hRes) < 0))
-			{
-				hRes = m_pInfo->GetIDsOfNames(rgszNames, cNames, rgdispid);
-			}
-		}
-		return hRes;
-	}
-
-	HRESULT Invoke(IDispatch* p, DISPID dispidMember, const IID & ,
-		LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult,
-		EXCEPINFO* pexcepinfo, UINT* puArgErr)
-	{
-		HRESULT hRes = EnsureTI(lcid);
-		if (m_pInfo != 0)
-			hRes = m_pInfo->Invoke(p, dispidMember, wFlags, pdispparams, pvarResult, pexcepinfo, puArgErr);
-		return hRes;
-	}
-	 HRESULT LoadNameCache(ITypeInfo* pTypeInfo)
-	{
-		TYPEATTR* pta;
-		HRESULT hr = pTypeInfo->GetTypeAttr(&pta);
-		if (((HRESULT)(hr) >= 0))
-		{
-			stringdispid* pMap = 0;
-			m_nCount = pta->cFuncs;
-			m_pMap = 0;
-			if (m_nCount != 0)
-			{
-				__pragma(warning(push)) __pragma(warning(disable: 4571)) try{pMap = new stringdispid[m_nCount];} catch(...) {} __pragma(warning(pop));
-				if (pMap == 0)
-				{
-					pTypeInfo->ReleaseTypeAttr(pta);
-					return ((HRESULT)0x8007000EL);
-				}
-			}
-			for (int i=0; i<m_nCount; i++)
-			{
-				FUNCDESC* pfd;
-				if (((HRESULT)(pTypeInfo->GetFuncDesc(i, &pfd)) >= 0))
-				{
-					CComBSTR bstrName;
-					if (((HRESULT)(pTypeInfo->GetDocumentation(pfd->memid, &bstrName, 0, 0, 0)) >= 0))
-					{
-						pMap[i].bstr.Attach(bstrName.Detach());
-						pMap[i].nLen = SysStringLen(pMap[i].bstr);
-						pMap[i].id = pfd->memid;
-					}
-					pTypeInfo->ReleaseFuncDesc(pfd);
-				}
-			}
-			m_pMap = pMap;
-			pTypeInfo->ReleaseTypeAttr(pta);
-		}
-		return ((HRESULT)0x00000000L);
-	}
-};
-
-    inline void __stdcall CComTypeInfoHolder::Cleanup(DWORD_PTR dw)
-	{
-		(void) ((!!((dw != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3811, 0, L"dw != 0")) || (__debugbreak(), 0));
-		if (dw == 0)
-			return;
-			
-		CComTypeInfoHolder* p = (CComTypeInfoHolder*) dw;
-		if (p->m_pInfo != 0)
-			p->m_pInfo->Release();
-		p->m_pInfo = 0;
-		delete [] p->m_pMap;
-		p->m_pMap = 0;
-	}
-
-inline HRESULT CComTypeInfoHolder::GetTI(LCID lcid)
-{
-	
-	do { (void) ((!!((m_plibid != 0 && m_pguid != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3826, 0, L"m_plibid != 0 && m_pguid != 0")) || (__debugbreak(), 0)); ; } while(0);
-
-	if (m_pInfo != 0 && m_pMap != 0)
-		return ((HRESULT)0x00000000L);
-
-	CComCritSecLock<CComCriticalSection> lock(_pAtlModule->m_csStaticDataInitAndTypeInfo, false);
-	HRESULT hRes = lock.Lock();
-	if (((HRESULT)(hRes) < 0))
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3835)(atlTraceCOM, 0, L"ERROR : Unable to lock critical section in CComTypeInfoHolder::GetTI\n");
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3836, 0, L"0")) || (__debugbreak(), 0));
-		return hRes;
-	}
-	hRes = ((HRESULT)0x80004005L);
-	if (m_pInfo == 0)
-	{
-		ITypeLib* pTypeLib = 0;
-		if (InlineIsEqualGUID(CAtlModule::m_libid, *m_plibid) && m_wMajor == 0xFFFF && m_wMinor == 0xFFFF)
-		{
-			TCHAR szFilePath[260];
-			DWORD dwFLen = ::GetModuleFileNameW(_AtlBaseModule.GetModuleInstance(), szFilePath, 260);
-			if( dwFLen != 0 && dwFLen != 260 )
-			{
-				int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-				LPOLESTR pszFile = T2OLE_EX(szFilePath, 1024);
-
-
-
-
-				hRes = LoadTypeLib(pszFile, &pTypeLib);
-			}
-		}
-		else
-		{
-			do { (void) ((!!((!InlineIsEqualGUID(*m_plibid, GUID_NULL) && "Module LIBID not initialized. See DECLARE_LIBID documentation."))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3860, 0, L"!InlineIsEqualGUID(*m_plibid, GUID_NULL) && \"Module LIBID not initialized. See DECLARE_LIBID documentation.\"")) || (__debugbreak(), 0)); ; } while(0);
-			hRes = LoadRegTypeLib(*m_plibid, m_wMajor, m_wMinor, lcid, &pTypeLib);
-
-			if (((HRESULT)(hRes) >= 0))
-			{
-				
-				
-				
-				
-				
-				
-				
-				
-				
-				TCHAR szFilePath[260];
-				DWORD dwFLen = ::GetModuleFileNameW(_AtlBaseModule.GetModuleInstance(), szFilePath, 260);
-				if( dwFLen != 0 && dwFLen != 260 )
-				{
-					int _convert_ex = 0; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex = 0; (_lpw_ex); LPCSTR _lpa_ex = 0; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-					CComPtr<ITypeLib> spTypeLibModule;
-					HRESULT hRes2 = ((HRESULT)0x00000000L);
-					LPOLESTR pszFile = T2OLE_EX(szFilePath, 1024);
-					if (pszFile == 0)
-						hRes2 = ((HRESULT)0x8007000EL);
-					else
-						hRes2 = LoadTypeLib(pszFile, &spTypeLibModule);
-					if (((HRESULT)(hRes2) >= 0))
-					{
-						TLIBATTR* pLibAttr;
-						hRes2 = spTypeLibModule->GetLibAttr(&pLibAttr);
-						if (((HRESULT)(hRes2) >= 0))
-						{
-							if (InlineIsEqualGUID(pLibAttr->guid, *m_plibid) &&
-								(pLibAttr->wMajorVerNum != m_wMajor ||
-								pLibAttr->wMinorVerNum != m_wMinor))
-							{
-								ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3896)(atlTraceCOM, 0, L"Warning : CComTypeInfoHolder::GetTI : Loaded typelib does not match the typelib in the module : %s\n", szFilePath);
-								ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3897)(atlTraceCOM, 0, L"\tSee IDispatchImpl overview help topic for more information\n", szFilePath);							
-							}
-							spTypeLibModule->ReleaseTLibAttr(pLibAttr);
-						}
-					}
-				}
-			}
-			else
-			{
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3906)(atlTraceCOM, 0, L"ERROR : Unable to load Typelibrary. (HRESULT = 0x%x)\n", hRes);
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3907)(atlTraceCOM, 0, L"\tVerify TypelibID and major version specified with\n");
-				ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3908)(atlTraceCOM, 0, L"\tIDispatchImpl, CStockPropImpl, IProvideClassInfoImpl or IProvideCLassInfo2Impl\n");
-			}
-
-		}
-		if (((HRESULT)(hRes) >= 0))
-		{
-			CComPtr<ITypeInfo> spTypeInfo;
-			hRes = pTypeLib->GetTypeInfoOfGuid(*m_pguid, &spTypeInfo);
-			if (((HRESULT)(hRes) >= 0))
-			{
-				CComPtr<ITypeInfo> spInfo(spTypeInfo);
-				CComPtr<ITypeInfo2> spTypeInfo2;
-				if (((HRESULT)(spTypeInfo->QueryInterface(&spTypeInfo2)) >= 0))
-					spInfo = spTypeInfo2;
-
-				m_pInfo = spInfo.Detach();
-
-				_pAtlModule->AddTermFunc(Cleanup, (DWORD_PTR)this);
-
-			}
-			pTypeLib->Release();
-		}
-	}
-	else
-	{
-		
-		hRes = ((HRESULT)0x00000000L);
-	}
-
-	if (m_pInfo != 0 && m_pMap == 0)
-	{
-		hRes=LoadNameCache(m_pInfo);
-	}
-
-	return hRes;
-}
-
-
-
-
-
-template <class T>
-class __declspec(novtable) IObjectWithSiteImpl : public IObjectWithSite
-{
-public:
-	virtual ~IObjectWithSiteImpl()
-	{
-	}
-	
-	virtual HRESULT __stdcall SetSite(IUnknown *pUnkSite)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3959)(atlTraceCOM, 2, L"IObjectWithSiteImpl::SetSite\n");
-		T* pT = static_cast<T*>(this);
-		pT->m_spUnkSite = pUnkSite;
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall GetSite(const IID & riid, void **ppvSite)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3966)(atlTraceCOM, 2, L"IObjectWithSiteImpl::GetSite\n");
-		T* pT = static_cast<T*>(this);
-		(void) ((!!((ppvSite))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 3968, 0, L"ppvSite")) || (__debugbreak(), 0));
-		HRESULT hRes = ((HRESULT)0x80004003L);
-		if (ppvSite != 0)
-		{
-			if (pT->m_spUnkSite)
-				hRes = pT->m_spUnkSite->QueryInterface(riid, ppvSite);
-			else
-			{
-				*ppvSite = 0;
-				hRes = ((HRESULT)0x80004005L);
-			}
-		}
-		return hRes;
-	}
-
-	HRESULT SetChildSite(IUnknown* punkChild)
-	{
-		if (punkChild == 0)
-			return ((HRESULT)0x80004003L);
-
-		HRESULT hr;
-		CComPtr<IObjectWithSite> spChildSite;
-		hr = punkChild->QueryInterface(__uuidof(IObjectWithSite), (void**)&spChildSite);
-		if (((HRESULT)(hr) >= 0))
-			hr = spChildSite->SetSite((IUnknown*)this);
-
-		return hr;
-	}
-
-	static HRESULT SetChildSite(IUnknown* punkChild, IUnknown* punkParent)
-	{
-		return AtlSetChildSite(punkChild, punkParent);
-	}
-
-	CComPtr<IUnknown> m_spUnkSite;
-};
-
-
-
-
-template <class T>
-class __declspec(novtable) IServiceProviderImpl : public IServiceProvider
-{
-public:
-	virtual HRESULT __stdcall QueryService(const GUID & guidService, const IID & riid, void** ppvObject)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4014)(atlTraceCOM, 2, L"IServiceProviderImpl::QueryService\n");
-
-		T* pT = static_cast<T*>(this);
-		return pT->_InternalQueryService(guidService, riid, ppvObject);
-	}
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C" HRESULT __declspec(dllimport) __stdcall AtlGetObjectSourceInterface(IUnknown* punkObj, GUID* plibid, IID* piid, unsigned short* pdwMajor, unsigned short* pdwMinor);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-extern "C"
-{
-void __stdcall CComStdCallThunkHelper();
-}
-
-template <class T>
-class CComStdCallThunk
-{
-public:
-	typedef void (__stdcall T::*TMFP)();
-	void *pVTable;								
-	void *pThis;								
-	TMFP pfn;									
-	void (__stdcall *pfnHelper)();				
-												
-
-	void Init(TMFP pf, void *p)
-	{
-		pfnHelper = CComStdCallThunkHelper;
-		pVTable = &pfnHelper;
-		pThis = p;
-		pfn = pf;
-	}
-};
-
-
-
-
-
-
-
-
-struct _ATL_FUNC_INFO
-{
-	CALLCONV cc;
-	VARTYPE vtReturn;
-	SHORT nParams;
-	VARTYPE pVarTypes[8];
-};
-
-class __declspec(novtable) _IDispEvent
-{
-public:
-	_IDispEvent() : m_libid(GUID_NULL), m_iid(GUID_NULL), m_wMajorVerNum(0), m_wMinorVerNum(0), m_dwEventCookie(0xFEFEFEFE) { }
-	
-	virtual HRESULT __stdcall _LocDEQueryInterface(const IID & riid, void ** ppvObject) = 0;
-	virtual ULONG __stdcall AddRef(void) = 0;
-	virtual ULONG __stdcall Release(void) = 0;
-	GUID m_libid; 
-	IID m_iid; 
-	unsigned short m_wMajorVerNum;    
-	unsigned short m_wMinorVerNum;    
-	DWORD m_dwEventCookie;
-	HRESULT DispEventAdvise(IUnknown* pUnk, const IID* piid)
-	{
-		do { int __atl_condVal=!!(m_dwEventCookie == 0xFEFEFEFE); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4127, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		return AtlAdvise(pUnk, (IUnknown*)this, *piid, &m_dwEventCookie);
-	}
-	HRESULT DispEventUnadvise(IUnknown* pUnk, const IID* piid)
-	{
-		HRESULT hr = AtlUnadvise(pUnk, *piid, m_dwEventCookie);
-		m_dwEventCookie = 0xFEFEFEFE;
-		return hr;
-	}
-	
-	HRESULT Advise(IUnknown *punk) 
-	{ 
-		HRESULT hr = AtlGetObjectSourceInterface(punk, &m_libid, &m_iid, &m_wMajorVerNum, &m_wMinorVerNum);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		return DispEventAdvise(punk, &m_iid);
-	}
-	HRESULT Unadvise(IUnknown *punk) 
-	{ 
-		HRESULT hr = AtlGetObjectSourceInterface(punk, &m_libid, &m_iid, &m_wMajorVerNum, &m_wMinorVerNum);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		return DispEventUnadvise(punk, &m_iid);
-	}
-};
-
-template <UINT nID, const IID* piid>
-class __declspec(novtable) _IDispEventLocator : public _IDispEvent
-{
-public:
-};
-
-template <UINT nID, class T, const IID* pdiid>
-class __declspec(novtable) IDispEventSimpleImpl : public _IDispEventLocator<nID, pdiid>
-{
-public:
-	virtual HRESULT __stdcall _LocDEQueryInterface(const IID & riid, void ** ppvObject)
-	{
-		(void) ((!!((ppvObject != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4165, 0, L"ppvObject != 0")) || (__debugbreak(), 0));
-		if (ppvObject == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObject = 0;
-
-		if (InlineIsEqualGUID(riid, GUID_NULL))
-			return ((HRESULT)0x80004002L);
-
-		if (InlineIsEqualGUID(riid, *pdiid) || 
-			InlineIsEqualUnknown(riid) ||
-			InlineIsEqualGUID(riid, __uuidof(IDispatch)) ||
-			InlineIsEqualGUID(riid, m_iid))
-		{
-			*ppvObject = this;
-			AddRef();
-
-
-
-			return ((HRESULT)0x00000000L);
-		}
-		else
-			return ((HRESULT)0x80004002L);
-	}
-
-	
-	virtual ULONG __stdcall AddRef()
-	{
-		return 1;
-	}
-	virtual ULONG __stdcall Release()
-	{
-		return 1;
-	}
-
-	virtual HRESULT __stdcall GetTypeInfoCount(UINT* )
-	{do { ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4200)(ATL::atlTraceNotImpl, 0, L"ATL: %s not implemented.\n", L"IDispEventSimpleImpl::GetTypeInfoCount"); return ((HRESULT)0x80004001L); } while(0);}
-
-	virtual HRESULT __stdcall GetTypeInfo(UINT , LCID , ITypeInfo** )
-	{do { ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4203)(ATL::atlTraceNotImpl, 0, L"ATL: %s not implemented.\n", L"IDispEventSimpleImpl::GetTypeInfo"); return ((HRESULT)0x80004001L); } while(0);}
-
-	virtual HRESULT __stdcall GetIDsOfNames(const IID & , LPOLESTR* , UINT ,
-		LCID , DISPID* )
-	{do { ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4207)(ATL::atlTraceNotImpl, 0, L"ATL: %s not implemented.\n", L"IDispEventSimpleImpl::GetIDsOfNames"); return ((HRESULT)0x80004001L); } while(0);}
-
-	virtual HRESULT __stdcall Invoke(DISPID dispidMember, const IID & ,
-		LCID lcid, WORD , DISPPARAMS* pdispparams, VARIANT* pvarResult,
-		EXCEPINFO* , UINT* )
-	{
-		const _ATL_EVENT_ENTRY<T>* pMap = T::_GetSinkMap();
-		const _ATL_EVENT_ENTRY<T>* pFound = 0;
-		while (pMap->piid != 0)
-		{
-			if ((pMap->nControlID == nID) && (pMap->dispid == dispidMember) && 
-				(IsEqualGUID(*(pMap->piid), *pdiid)))
-			{
-				pFound = pMap;
-				break;
-			}
-			pMap++;
-		}
-		if (pFound == 0)
-			return ((HRESULT)0x00000000L);
-
-
-		_ATL_FUNC_INFO info;
-		_ATL_FUNC_INFO* pInfo;
-		if (pFound->pInfo != 0)
-			pInfo = pFound->pInfo;
-		else
-		{
-			pInfo = &info;
-			HRESULT hr = GetFuncInfoFromId(*pdiid, dispidMember, lcid, info);
-			if (((HRESULT)(hr) < 0))
-				return ((HRESULT)0x00000000L);
-		}
-		return InvokeFromFuncInfo(pFound->pfn, *pInfo, pdispparams, pvarResult);
-	}
-
-	
-	HRESULT InvokeFromFuncInfo(void (__stdcall T::*pEvent)(), _ATL_FUNC_INFO& info, DISPPARAMS* pdispparams, VARIANT* pvarResult)
-	{
-		(void) ((!!((pdispparams->cArgs == (UINT)info.nParams))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4246, 0, L"pdispparams->cArgs == (UINT)info.nParams")) || (__debugbreak(), 0));
-
-		T* pT = static_cast<T*>(this);
-
-		
-		
-		
-		(void) ((!!((info.nParams <= 8))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4253, 0, L"info.nParams <= 8")) || (__debugbreak(), 0));
-		if (info.nParams > 8)
-		{
-			return ((HRESULT)0x80004005L);
-		}
-		VARIANTARG* rgVarArgs[8];
-		VARIANTARG** pVarArgs = info.nParams ? rgVarArgs : 0;
-
-		UINT nIndex = 0;
-
-
-		for (nIndex; nIndex < pdispparams->cNamedArgs; nIndex++)
-			pVarArgs[pdispparams->rgdispidNamedArgs[nIndex]] = &pdispparams->rgvarg[nIndex];
-
-
-		for (; nIndex < pdispparams->cArgs; nIndex++)
-			pVarArgs[info.nParams-nIndex-1] = &pdispparams->rgvarg[nIndex];
-
-		CComStdCallThunk<T> thunk;
-		thunk.Init(pEvent, pT);
-
-		CComVariant tmpResult;
-		if (pvarResult == 0)
-			pvarResult = &tmpResult;
-
-		HRESULT hr = DispCallFunc(
-			&thunk,
-			0,
-			info.cc,
-			info.vtReturn,
-			info.nParams,
-			info.pVarTypes,
-			pVarArgs,
-			pvarResult);
-		(void) ((!!((((HRESULT)(hr) >= 0)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4287, 0, L"((HRESULT)(hr) >= 0)")) || (__debugbreak(), 0));
-		return hr;
-	}
-
-	
-	virtual HRESULT GetFuncInfoFromId(const IID& , DISPID , LCID , _ATL_FUNC_INFO& )
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4294)(L"TODO: Classes using IDispEventSimpleImpl should override this method\n");
-		(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4295, 0, L"0")) || (__debugbreak(), 0));
-		do { ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4296)(ATL::atlTraceNotImpl, 0, L"ATL: %s not implemented.\n", L"IDispEventSimpleImpl::GetFuncInfoFromId"); return ((HRESULT)0x80004001L); } while(0);
-	}
-	
-	HRESULT DispEventAdvise(IUnknown* pUnk, const IID* piid)
-	{
-		do { int __atl_condVal=!!(m_dwEventCookie == 0xFEFEFEFE); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4301, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);		
-		return AtlAdvise(pUnk, (IUnknown*)this, *piid, &m_dwEventCookie);
-	}
-	HRESULT DispEventUnadvise(IUnknown* pUnk, const IID* piid)
-	{
-		HRESULT hr = AtlUnadvise(pUnk, *piid, m_dwEventCookie);
-		m_dwEventCookie = 0xFEFEFEFE;
-		return hr;
-	}
-	HRESULT DispEventAdvise(IUnknown* pUnk)
-	{
-		return _IDispEvent::DispEventAdvise(pUnk, pdiid);
-	}
-	HRESULT DispEventUnadvise(IUnknown* pUnk)
-	{
-		return _IDispEvent::DispEventUnadvise(pUnk, pdiid);
-	}
-};
-
-
-template <class T>
-inline HRESULT AtlAdviseSinkMap(T* pT, bool bAdvise)
-{
-	(void) ((!!((::IsWindow(pT->m_hWnd)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4324, 0, L"::IsWindow(pT->m_hWnd)")) || (__debugbreak(), 0));
-	const _ATL_EVENT_ENTRY<T>* pEntries = T::_GetSinkMap();
-	if (pEntries == 0)
-		return ((HRESULT)0x00000000L);
-	HRESULT hr = ((HRESULT)0x00000000L);
-	while (pEntries->piid != 0)
-	{
-		_IDispEvent* pDE = (_IDispEvent*)((DWORD_PTR)pT+pEntries->nOffset);
-		bool bNotAdvised = pDE->m_dwEventCookie == 0xFEFEFEFE;
-		if (bAdvise ^ bNotAdvised)
-		{
-			pEntries++;
-			continue;
-		}
-		hr = ((HRESULT)0x80004005L);
-		HWND h = pT->GetDlgItem(pEntries->nControlID);
-		(void) ((!!((h != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4340, 0, L"h != 0")) || (__debugbreak(), 0));
-		if (h != 0)
-		{
-			CComPtr<IUnknown> spUnk;
-			AtlAxGetControl(h, &spUnk);
-			(void) ((!!((spUnk != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4345, 0, L"spUnk != 0")) || (__debugbreak(), 0));
-			if (spUnk != 0)
-			{
-				if (bAdvise)
-				{
-					if (!InlineIsEqualGUID(GUID_NULL, *pEntries->piid))
-						hr = pDE->DispEventAdvise(spUnk, pEntries->piid);
-					else
-					{
-						hr = AtlGetObjectSourceInterface(spUnk, &pDE->m_libid, &pDE->m_iid, &pDE->m_wMajorVerNum, &pDE->m_wMinorVerNum);
-						if (((HRESULT)(hr) < 0))
-							return hr;
-						hr = pDE->DispEventAdvise(spUnk, &pDE->m_iid);
-					}
-				}
-				else
-				{
-					if (!InlineIsEqualGUID(GUID_NULL, *pEntries->piid))
-						hr = pDE->DispEventUnadvise(spUnk, pEntries->piid);
-					else
-						hr = pDE->DispEventUnadvise(spUnk, &pDE->m_iid);
-				}
-				(void) ((!!((hr == ((HRESULT)0x00000000L)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4367, 0, L"hr == ((HRESULT)0x00000000L)")) || (__debugbreak(), 0));
-			}
-		}
-		if (((HRESULT)(hr) < 0))
-			break;
-		pEntries++;
-	}
-	return hr;
-}
-
-#pragma warning(push)
-#pragma warning(disable: 4061) 
-inline VARTYPE AtlGetUserDefinedType(ITypeInfo *pTI, HREFTYPE hrt)
-{
-	do { int __atl_condVal=!!(pTI != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4381, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } while (0);
-
-	CComPtr<ITypeInfo> spTypeInfo;
-	VARTYPE vt = VT_USERDEFINED;
-	HRESULT hr = ((HRESULT)0x80004005L);
-	hr = pTI->GetRefTypeInfo(hrt, &spTypeInfo);
-	if(((HRESULT)(hr) < 0))
-		return vt;
-	TYPEATTR *pta = 0;
-
-	hr = spTypeInfo->GetTypeAttr(&pta);
-	if(((HRESULT)(hr) >= 0) && pta && (pta->typekind == TKIND_ALIAS || pta->typekind == TKIND_ENUM))
-	{
-		if (pta->tdescAlias.vt == VT_USERDEFINED)
-			vt = AtlGetUserDefinedType(spTypeInfo, pta->tdescAlias.hreftype);
-		else
-		{
-			switch (pta->typekind)
-			{
-			case TKIND_ENUM :
-				vt = VT_I4;
-				break;
-			case TKIND_INTERFACE :
-				vt = VT_UNKNOWN;
-				break;
-			case TKIND_DISPATCH :
-				vt = VT_DISPATCH;
-				break;
-			default:
-				vt = pta->tdescAlias.vt;
-			}
-		}				
-	}
-
-	if(pta)
-		spTypeInfo->ReleaseTypeAttr(pta);
-	return vt;
-
-}
-#pragma warning(pop)
-
-inline HRESULT AtlGetFuncInfoFromId(ITypeInfo* pTypeInfo, const IID& , DISPID dispidMember, LCID , _ATL_FUNC_INFO& info)
-{
-	if (pTypeInfo == 0)
-		return ((HRESULT)0x80070057L);
-
-	HRESULT hr = ((HRESULT)0x00000000L);
-	FUNCDESC* pFuncDesc = 0;
-	TYPEATTR* pAttr;
-	hr = pTypeInfo->GetTypeAttr(&pAttr);
-	if (((HRESULT)(hr) < 0))
-		return hr;
-	int i;
-	for (i=0;i<pAttr->cFuncs;i++)
-	{
-		hr = pTypeInfo->GetFuncDesc(i, &pFuncDesc);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		if (pFuncDesc->memid == dispidMember)
-			break;
-		pTypeInfo->ReleaseFuncDesc(pFuncDesc);
-		pFuncDesc = 0;
-	}
-	pTypeInfo->ReleaseTypeAttr(pAttr);
-	if (pFuncDesc == 0)
-		return ((HRESULT)0x80004005L);
-
-	
-	
-	(void) ((!!((pFuncDesc->cParams <= 8))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4450, 0, L"pFuncDesc->cParams <= 8")) || (__debugbreak(), 0));
-	if (pFuncDesc->cParams > 8)
-		return ((HRESULT)0x80004005L);
-
-	for (i = 0; i < pFuncDesc->cParams; i++)
-	{
-		info.pVarTypes[i] = pFuncDesc->lprgelemdescParam[i].tdesc.vt;
-		if (info.pVarTypes[i] == VT_PTR)
-			info.pVarTypes[i] = (VARTYPE)(pFuncDesc->lprgelemdescParam[i].tdesc.lptdesc->vt | VT_BYREF);
-		if (info.pVarTypes[i] == VT_USERDEFINED)
-			info.pVarTypes[i] = AtlGetUserDefinedType(pTypeInfo, pFuncDesc->lprgelemdescParam[i].tdesc.hreftype);
-	}
-
-	VARTYPE vtReturn = pFuncDesc->elemdescFunc.tdesc.vt;
-	switch(vtReturn)
-	{
-	case VT_INT:
-		vtReturn = VT_I4;
-		break;
-	case VT_UINT:
-		vtReturn = VT_UI4;
-		break;
-	case VT_VOID:
-		vtReturn = VT_EMPTY; 
-		break;
-	case VT_HRESULT:
-		vtReturn = VT_ERROR;
-		break;
-	}
-	info.vtReturn = vtReturn;
-	info.cc = pFuncDesc->callconv;
-	info.nParams = pFuncDesc->cParams;
-	pTypeInfo->ReleaseFuncDesc(pFuncDesc);
-	return ((HRESULT)0x00000000L);
-}
-
-template <UINT nID, class T, const IID* pdiid = &GUID_NULL, const GUID* plibid = &GUID_NULL, 
-	WORD wMajor = 0, WORD wMinor = 0, class tihclass = CComTypeInfoHolder>
-class __declspec(novtable) IDispEventImpl : public IDispEventSimpleImpl<nID, T, pdiid>
-{
-public:
-	typedef tihclass _tihclass;
-
-	IDispEventImpl()
-	{
-		m_libid = *plibid;
-		m_iid = *pdiid;
-		m_wMajorVerNum = wMajor;
-		m_wMinorVerNum = wMinor;
-	}
-
-	virtual HRESULT __stdcall GetTypeInfoCount(UINT* pctinfo)
-	{ 
-		if (pctinfo == 0) 
-			return ((HRESULT)0x80004003L); 
-		*pctinfo = 1; 
-		return ((HRESULT)0x00000000L);
-	}
-
-	virtual HRESULT __stdcall GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo** pptinfo)
-	{return _tih.GetTypeInfo(itinfo, lcid, pptinfo);}
-
-	virtual HRESULT __stdcall GetIDsOfNames(const IID & riid, LPOLESTR* rgszNames, UINT cNames,
-		LCID lcid, DISPID* rgdispid)
-	{return _tih.GetIDsOfNames(riid, rgszNames, cNames, lcid, rgdispid);}
-
-	
-		HRESULT GetFuncInfoFromId(const IID& iid, DISPID dispidMember, LCID lcid, _ATL_FUNC_INFO& info)
-	{
-		CComPtr<ITypeInfo> spTypeInfo;
-	 
-		if (InlineIsEqualGUID(*_tih.m_plibid, GUID_NULL))
-		{
-			m_InnerLibid = m_libid; 
-			m_InnerIid = m_iid;
-			_tih.m_plibid = &m_InnerLibid;
-			_tih.m_pguid = &m_InnerIid;
-			_tih.m_wMajor = m_wMajorVerNum;
-			_tih.m_wMinor = m_wMinorVerNum;
-
-		}
-		HRESULT hr = _tih.GetTI(lcid, &spTypeInfo);
-		if (((HRESULT)(hr) < 0))
-			return hr;
-		return AtlGetFuncInfoFromId(spTypeInfo, iid, dispidMember, lcid, info);
-	}
-	VARTYPE GetUserDefinedType(ITypeInfo *pTI, HREFTYPE hrt)
-	{
-		return AtlGetUserDefinedType(pTI, hrt);
-	}
-protected:
-	static _tihclass _tih;
-	static GUID	m_InnerLibid; 
-	static IID m_InnerIid; 
-	static HRESULT GetTI(LCID lcid, ITypeInfo** ppInfo)
-	{return _tih.GetTI(lcid, ppInfo);}
-};
- 
-template <UINT nID, class T, const IID* piid, const GUID* plibid, WORD wMajor, WORD wMinor, class tihclass>
-typename IDispEventImpl<nID, T, piid, plibid, wMajor, wMinor, tihclass>::_tihclass
-IDispEventImpl<nID, T, piid, plibid, wMajor, wMinor, tihclass>::_tih =
-	{piid, plibid, wMajor, wMinor, 0, 0, 0, 0};
- 
-template <UINT nID, class T, const IID* piid, const GUID* plibid, WORD wMajor, WORD wMinor, class tihclass>
-GUID  IDispEventImpl<nID, T, piid, plibid, wMajor, wMinor, tihclass>::m_InnerLibid=GUID_NULL; 
-
-template <UINT nID, class T, const IID* piid, const GUID* plibid, WORD wMajor, WORD wMinor, class tihclass>
-IID  IDispEventImpl<nID, T, piid, plibid, wMajor, wMinor, tihclass>::m_InnerIid=GUID_NULL;
-
-template <class T>
-struct _ATL_EVENT_ENTRY
-{
-	UINT nControlID;			
-	const IID* piid;			
-	int nOffset;				
-	DISPID dispid;				
-	void (__stdcall T::*pfn)();	
-	_ATL_FUNC_INFO* pInfo;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template <class T, const IID* piid = &__uuidof(T), const GUID* plibid = &CAtlModule::m_libid, WORD wMajor = 1,
-WORD wMinor = 0, class tihclass = CComTypeInfoHolder>
-class __declspec(novtable) IDispatchImpl : public T
-{
-public:
-	typedef tihclass _tihclass;
-
-	virtual HRESULT __stdcall GetTypeInfoCount(UINT* pctinfo)
-	{
-		if (pctinfo == 0) 
-			return ((HRESULT)0x80004003L); 
-		*pctinfo = 1;
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo** pptinfo)
-	{
-		return _tih.GetTypeInfo(itinfo, lcid, pptinfo);
-	}
-	virtual HRESULT __stdcall GetIDsOfNames(const IID & riid, LPOLESTR* rgszNames, UINT cNames,
-		LCID lcid, DISPID* rgdispid)
-	{
-		return _tih.GetIDsOfNames(riid, rgszNames, cNames, lcid, rgdispid);
-	}
-	virtual HRESULT __stdcall Invoke(DISPID dispidMember, const IID & riid,
-		LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult,
-		EXCEPINFO* pexcepinfo, UINT* puArgErr)
-	{
-		return _tih.Invoke((IDispatch*)this, dispidMember, riid, lcid,
-		wFlags, pdispparams, pvarResult, pexcepinfo, puArgErr);
-	}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-protected:
-	static _tihclass _tih;
-	static HRESULT GetTI(LCID lcid, ITypeInfo** ppInfo)
-	{
-		return _tih.GetTI(lcid, ppInfo);
-	}
-
-
-
-};
-
-
-
-template <class T, const IID* piid, const GUID* plibid, WORD wMajor, WORD wMinor, class tihclass>
-typename IDispatchImpl<T, piid, plibid, wMajor, wMinor, tihclass>::_tihclass
-IDispatchImpl<T, piid, plibid, wMajor, wMinor, tihclass>::_tih =
-{piid, plibid, wMajor, wMinor, 0, 0, 0, 0};
-
-
-
-
-
-template <const CLSID* pcoclsid, const GUID* plibid = &CAtlModule::m_libid,
-WORD wMajor = 1, WORD wMinor = 0, class tihclass = CComTypeInfoHolder>
-class __declspec(novtable) IProvideClassInfoImpl : public IProvideClassInfo
-{
-public:
-	typedef tihclass _tihclass;
-
-	virtual HRESULT __stdcall GetClassInfoW(ITypeInfo** pptinfo)
-	{
-		return _tih.GetTypeInfo(0, 0x00, pptinfo);
-	}
-
-protected:
-	static _tihclass _tih;
-};
-
-template <const CLSID* pcoclsid, const GUID* plibid, WORD wMajor, WORD wMinor, class tihclass>
-typename IProvideClassInfoImpl<pcoclsid, plibid, wMajor, wMinor, tihclass>::_tihclass
-IProvideClassInfoImpl<pcoclsid, plibid, wMajor, wMinor, tihclass>::_tih =
-{pcoclsid,plibid, wMajor, wMinor, 0, 0, 0, 0};
-
-
-
-template <const CLSID* pcoclsid, const IID* psrcid, const GUID* plibid = &CAtlModule::m_libid,
-WORD wMajor = 1, WORD wMinor = 0, class tihclass = CComTypeInfoHolder>
-class __declspec(novtable) IProvideClassInfo2Impl : public IProvideClassInfo2
-{
-public:
-	typedef tihclass _tihclass;
-
-	virtual HRESULT __stdcall GetClassInfoW(ITypeInfo** pptinfo)
-	{
-		return _tih.GetTypeInfo(0, 0x00, pptinfo);
-	}
-	virtual HRESULT __stdcall GetGUID(DWORD dwGuidKind, GUID* pGUID)
-	{
-		if (pGUID == 0)
-		{
-			return ((HRESULT)0x80004003L);
-		}
-		*pGUID = GUID_NULL;
-		if(dwGuidKind!=GUIDKIND_DEFAULT_SOURCE_DISP_IID)
-		{
-			return ((HRESULT)0x80070057L);
-		}
-		if (psrcid != 0)
-		{
-			*pGUID = *psrcid;
-			return ((HRESULT)0x00000000L);
-		}
-		return ((HRESULT)0x80004005L);
-	}
-
-protected:
-	static _tihclass _tih;
-};
-
-
-template <const CLSID* pcoclsid, const IID* psrcid, const GUID* plibid, WORD wMajor, WORD wMinor, class tihclass>
-typename IProvideClassInfo2Impl<pcoclsid, psrcid, plibid, wMajor, wMinor, tihclass>::_tihclass
-IProvideClassInfo2Impl<pcoclsid, psrcid, plibid, wMajor, wMinor, tihclass>::_tih =
-{pcoclsid,plibid, wMajor, wMinor, 0, 0, 0, 0};
-
-
-
-
-
-template <const IID* piid>
-class __declspec(novtable) ISupportErrorInfoImpl : public ISupportErrorInfo
-{
-public:
-	virtual HRESULT __stdcall InterfaceSupportsErrorInfo(const IID & riid)
-	{
-		return (InlineIsEqualGUID(riid,*piid)) ? ((HRESULT)0x00000000L) : ((HRESULT)0x00000001L);
-	}
-};
-
-
-
-
-
-
-
-
-
-template <class T>
-class _Copy
-{
-public:
-	static HRESULT copy(T* p1, const T* p2) { Checked::memcpy_s(p1, sizeof(T), p2, sizeof(T)); return ((HRESULT)0x00000000L);}
-	static void init(T*) {}
-	static void destroy(T*) {}
-};
-
-template<>
-class _Copy<VARIANT>
-{
-public:
-	static HRESULT copy(VARIANT* p1, const VARIANT* p2) {p1->vt = VT_EMPTY; return VariantCopy(p1, const_cast<VARIANT*>(p2));}
-	static void init(VARIANT* p) {p->vt = VT_EMPTY;}
-	static void destroy(VARIANT* p) {VariantClear(p);}
-};
-
-template<>
-class _Copy<LPOLESTR>
-{
-public:
-	static HRESULT copy(LPOLESTR* p1, const LPOLESTR* p2)
-	{
-		do { int __atl_condVal=!!(p1 != 0 && p2 != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4775, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		HRESULT hr = ((HRESULT)0x00000000L);
-		ULONG len = ocslen(*p2)+1;
-		(*p1) = (LPOLESTR)::ATL::AtlCoTaskMemCAlloc(len, static_cast<ULONG>(sizeof(OLECHAR)));
-		if (*p1 == 0)
-		{
-			hr = ((HRESULT)0x8007000EL);
-		}
-		else
-		{
-			if(!ocscpy_s(*p1, len, *p2))
-			{
-				hr = ((HRESULT)0x80004005L);
-			}
-		}
-		return hr;
-	}
-	static void init(LPOLESTR* p) {*p = 0;}
-	static void destroy(LPOLESTR* p) { CoTaskMemFree(*p);}
-};
-
-template<>
-class _Copy<OLEVERB>
-{
-public:
-	static HRESULT copy(OLEVERB* p1, const OLEVERB* p2)
-	{
-		do { int __atl_condVal=!!(p1 != 0 && p2 != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4802, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		HRESULT hr = ((HRESULT)0x00000000L);
-		*p1 = *p2;
-		if (p2->lpszVerbName == 0)
-		{
-			return ((HRESULT)0x00000000L);
-		}
-
-		ULONG len = ocslen(p2->lpszVerbName)+1;
-		p1->lpszVerbName = (LPOLESTR)::ATL::AtlCoTaskMemCAlloc(len, static_cast<ULONG>(sizeof(OLECHAR)));
-		if (p1->lpszVerbName == 0)
-		{
-			hr = ((HRESULT)0x8007000EL);
-		}
-		else
-		{
-			if(!ocscpy_s(p1->lpszVerbName, len, p2->lpszVerbName))
-			{
-				hr = ((HRESULT)0x80004005L);
-			}
-		}
-		return hr;
-	}
-	static void init(OLEVERB* p) { p->lpszVerbName = 0;}
-	static void destroy(OLEVERB* p) { if (p->lpszVerbName) CoTaskMemFree(p->lpszVerbName);}
-};
-
-template<>
-class _Copy<CONNECTDATA>
-{
-public:
-	static HRESULT copy(CONNECTDATA* p1, const CONNECTDATA* p2)
-	{
-		do { int __atl_condVal=!!(p1 != 0 && p2 != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4835, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		*p1 = *p2;
-		if (p1->pUnk)
-			p1->pUnk->AddRef();
-		return ((HRESULT)0x00000000L);
-	}
-	static void init(CONNECTDATA* ) {}
-	static void destroy(CONNECTDATA* p) {if (p->pUnk) p->pUnk->Release();}
-};
-
-template <class T>
-class _CopyInterface
-{
-public:
-	static HRESULT copy(T* * p1, T * const * p2)
-	{
-		do { int __atl_condVal=!!(p1 != 0 && p2 != 0); (void) ((!!((__atl_condVal))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4851, 0, L"__atl_condVal")) || (__debugbreak(), 0)); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } while (0);
-		*p1 = *p2;
-		if (*p1)
-			(*p1)->AddRef();
-		return ((HRESULT)0x00000000L);
-	}
-	static void init(T** ) {}
-	static void destroy(T** p) {if (*p) (*p)->Release();}
-};
-
-template<class T>
-class __declspec(novtable) CComIEnum : public IUnknown
-{
-public:
-	virtual HRESULT __stdcall Next(ULONG celt, T* rgelt, ULONG* pceltFetched) = 0;
-	virtual HRESULT __stdcall Skip(ULONG celt) = 0;
-	virtual HRESULT __stdcall Reset(void) = 0;
-	virtual HRESULT __stdcall Clone(CComIEnum<T>** ppEnum) = 0;
-};
-
-
-enum CComEnumFlags
-{
-	
-	AtlFlagNoCopy = 0,
-	AtlFlagTakeOwnership = 2,
-	AtlFlagCopy = 3 
-};
-
-template <class Base, const IID* piid, class T, class Copy>
-class __declspec(novtable) CComEnumImpl : public Base
-{
-public:
-	CComEnumImpl() {m_begin = m_end = m_iter = 0; m_dwFlags = 0;}
-	virtual ~CComEnumImpl();
-	virtual HRESULT __stdcall Next(ULONG celt, T* rgelt, ULONG* pceltFetched);
-	virtual HRESULT __stdcall Skip(ULONG celt);
-	virtual HRESULT __stdcall Reset(void){m_iter = m_begin;return ((HRESULT)0x00000000L);}
-	virtual HRESULT __stdcall Clone(Base** ppEnum);
-	HRESULT Init(T* begin, T* end, IUnknown* pUnk,
-		CComEnumFlags flags = AtlFlagNoCopy);
-	CComPtr<IUnknown> m_spUnk;
-	T* m_begin;
-	T* m_end;
-	T* m_iter;
-	DWORD m_dwFlags;
-protected:
-	enum FlagBits
-	{
-		BitCopy=1,
-		BitOwn=2
-	};
-};
-
-template <class Base, const IID* piid, class T, class Copy>
-CComEnumImpl<Base, piid, T, Copy>::~CComEnumImpl()
-{
-	if (m_dwFlags & BitOwn)
-	{
-		for (T* p = m_begin; p != m_end; p++)
-			Copy::destroy(p);
-		delete [] m_begin;
-	}
-}
-
-template <class Base, const IID* piid, class T, class Copy>
-HRESULT __stdcall CComEnumImpl<Base, piid, T, Copy>::Next(ULONG celt, T* rgelt,
-	ULONG* pceltFetched)
-{
-	if (pceltFetched != 0)
-		*pceltFetched = 0;
-	if (celt == 0)
-		return ((HRESULT)0x80070057L);
-	if (rgelt == 0 || (celt != 1 && pceltFetched == 0))
-		return ((HRESULT)0x80004003L);
-	if (m_begin == 0 || m_end == 0 || m_iter == 0)
-		return ((HRESULT)0x80004005L);
-	ULONG nRem = (ULONG)(m_end - m_iter);
-	HRESULT hRes = ((HRESULT)0x00000000L);
-	if (nRem < celt)
-		hRes = ((HRESULT)0x00000001L);
-	ULONG nMin = celt < nRem ? celt : nRem ;
-	if (pceltFetched != 0)
-		*pceltFetched = nMin;
-	T* pelt = rgelt;
-	while(nMin--)
-	{
-		HRESULT hr = Copy::copy(pelt, m_iter);
-		if (((HRESULT)(hr) < 0))
-		{
-			while (rgelt < pelt)
-				Copy::destroy(rgelt++);
-			if (pceltFetched != 0)
-				*pceltFetched = 0;
-			return hr;
-		}
-		pelt++;
-		m_iter++;
-	}
-	return hRes;
-}
-
-template <class Base, const IID* piid, class T, class Copy>
-HRESULT __stdcall CComEnumImpl<Base, piid, T, Copy>::Skip(ULONG celt)
-{
-	if (celt == 0)
-		return ((HRESULT)0x80070057L);
-
-	ULONG nRem = ULONG(m_end - m_iter);
-	ULONG nSkip = (celt > nRem) ? nRem : celt;
-	m_iter += nSkip;
-	return (celt == nSkip) ? ((HRESULT)0x00000000L) : ((HRESULT)0x00000001L);
-}
-
-template <class Base, const IID* piid, class T, class Copy>
-HRESULT __stdcall CComEnumImpl<Base, piid, T, Copy>::Clone(Base** ppEnum)
-{
-	typedef CComObject<CComEnum<Base, piid, T, Copy> > _class;
-	HRESULT hRes = ((HRESULT)0x80004003L);
-	if (ppEnum != 0)
-	{
-		*ppEnum = 0;
-		_class* p;
-		hRes = _class::CreateInstance(&p);
-		if (((HRESULT)(hRes) >= 0))
-		{
-			
-			hRes = p->Init(m_begin, m_end, (m_dwFlags & BitOwn) ? this : m_spUnk);
-			if (((HRESULT)(hRes) >= 0))
-			{
-				p->m_iter = m_iter;
-				hRes = p->_InternalQueryInterface(*piid, (void**)ppEnum);
-			}
-			if (((HRESULT)(hRes) < 0))
-				delete p;
-		}
-	}
-	return hRes;
-}
-
-template <class Base, const IID* piid, class T, class Copy>
-HRESULT CComEnumImpl<Base, piid, T, Copy>::Init(T* begin, T* end, IUnknown* pUnk,
-	CComEnumFlags flags)
-{
-	if (flags == AtlFlagCopy)
-	{
-		do { (void) ((!!((m_begin == 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 4997, 0, L"m_begin == 0")) || (__debugbreak(), 0)); ; } while(0); 
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{m_begin = new T[end-begin];} catch(...) {} __pragma(warning(pop))
-		m_iter = m_begin;
-		if (m_begin == 0)
-			return ((HRESULT)0x8007000EL);
-		for (T* i=begin; i != end; i++)
-		{
-			Copy::init(m_iter);
-			HRESULT hr = Copy::copy(m_iter, i);
-			if (((HRESULT)(hr) < 0))
-			{
-				T* p = m_begin;
-				while (p < m_iter)
-					Copy::destroy(p++);
-				delete [] m_begin;
-				m_begin = m_end = m_iter = 0;
-				return hr;
-			}
-			m_iter++;
-		}
-		m_end = m_begin + (end-begin);
-	}
-	else
-	{
-		m_begin = begin;
-		m_end = end;
-	}
-	m_spUnk = pUnk;
-	m_iter = m_begin;
-	m_dwFlags = flags;
-	return ((HRESULT)0x00000000L);
-}
-
-template <class Base, const IID* piid, class T, class Copy, class ThreadModel = CComObjectThreadModel>
-class __declspec(novtable) CComEnum :
-	public CComEnumImpl<Base, piid, T, Copy>,
-	public CComObjectRootEx< ThreadModel >
-{
-public:
-	typedef CComEnum<Base, piid, T, Copy > _CComEnum;
-	typedef CComEnumImpl<Base, piid, T, Copy > _CComEnumBase;
-	public: typedef _CComEnum _ComMapClass; static HRESULT __stdcall _Cache(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw) throw() { _ComMapClass* p = (_ComMapClass*)pv; p->Lock(); HRESULT hRes = ((HRESULT)0x80004005L); __try { hRes = ATL::CComObjectRootBase::_Cache(pv, iid, ppvObject, dw); } __finally { p->Unlock(); } return hRes; } IUnknown* _GetRawUnknown() throw() { (void) ((!!((_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5038, 0, L"_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)")) || (__debugbreak(), 0)); return (IUnknown*)((INT_PTR)this+_GetEntries()->dw); } IUnknown* GetUnknown() throw() {return _GetRawUnknown();} HRESULT _InternalQueryInterface(const IID & iid, void** ppvObject) throw() { return InternalQueryInterface(this, _GetEntries(), iid, ppvObject); } const static ATL::_ATL_INTMAP_ENTRY* __stdcall _GetEntries() throw() { static const ATL::_ATL_INTMAP_ENTRY _entries[] = { {0, (DWORD_PTR)L"_CComEnum", (ATL::_ATL_CREATORARGFUNC*)0},
-		{&*piid, ((DWORD_PTR)(static_cast<_CComEnumBase*>((_ComMapClass*)8))-8), ((ATL::_ATL_CREATORARGFUNC*)1)},
-	__if_exists(_GetAttrEntries) {{0, (DWORD_PTR)_GetAttrEntries, _ChainAttr }, } {0, 0, 0}}; return &_entries[1];} virtual ULONG __stdcall AddRef( void) throw() = 0; virtual ULONG __stdcall Release( void) throw() = 0; virtual HRESULT __stdcall QueryInterface(const IID &, void**) throw() = 0;
-};
-
-template <class Base, const IID* piid, class T, class Copy, class CollType>
-class __declspec(novtable) IEnumOnSTLImpl : public Base
-{
-public:
-	HRESULT Init(IUnknown *pUnkForRelease, CollType& collection)
-	{
-		m_spUnk = pUnkForRelease;
-		m_pcollection = &collection;
-		m_iter = m_pcollection->begin();
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall Next(ULONG celt, T* rgelt, ULONG* pceltFetched);
-	virtual HRESULT __stdcall Skip(ULONG celt);
-	virtual HRESULT __stdcall Reset(void)
-	{
-		if (m_pcollection == 0)
-			return ((HRESULT)0x80004005L);
-		m_iter = m_pcollection->begin();
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall Clone(Base** ppEnum);
-
-	CComPtr<IUnknown> m_spUnk;
-	CollType* m_pcollection;
-	typename CollType::const_iterator m_iter;
-};
-
-template <class Base, const IID* piid, class T, class Copy, class CollType>
-HRESULT __stdcall IEnumOnSTLImpl<Base, piid, T, Copy, CollType>::Next(ULONG celt, T* rgelt,
-	ULONG* pceltFetched)
-{
-	if (rgelt == 0 || (celt != 1 && pceltFetched == 0))
-		return ((HRESULT)0x80004003L);
-	if (pceltFetched != 0)
-		*pceltFetched = 0;
-	if (m_pcollection == 0)
-		return ((HRESULT)0x80004005L);
-
-	ULONG nActual = 0;
-	HRESULT hr = ((HRESULT)0x00000000L);
-	T* pelt = rgelt;
-	while (((HRESULT)(hr) >= 0) && m_iter != m_pcollection->end() && nActual < celt)
-	{
-		hr = Copy::copy(pelt, &*m_iter);
-		if (((HRESULT)(hr) < 0))
-		{
-			while (rgelt < pelt)
-				Copy::destroy(rgelt++);
-			nActual = 0;
-		}
-		else
-		{
-			pelt++;
-			m_iter++;
-			nActual++;
-		}
-	}
-	if (((HRESULT)(hr) >= 0))
-	{
-		if (pceltFetched)
-			*pceltFetched = nActual;
-		if (nActual < celt)
-			hr = ((HRESULT)0x00000001L);
-	}
-	return hr;
-}
-
-template <class Base, const IID* piid, class T, class Copy, class CollType>
-HRESULT __stdcall IEnumOnSTLImpl<Base, piid, T, Copy, CollType>::Skip(ULONG celt)
-{
-	HRESULT hr = ((HRESULT)0x00000000L);
-	while (celt--)
-	{
-		if (m_iter != m_pcollection->end())
-			m_iter++;
-		else
-		{
-			hr = ((HRESULT)0x00000001L);
-			break;
-		}
-	}
-	return hr;
-}
-
-template <class Base, const IID* piid, class T, class Copy, class CollType>
-HRESULT __stdcall IEnumOnSTLImpl<Base, piid, T, Copy, CollType>::Clone(Base** ppEnum)
-{
-	typedef CComObject<CComEnumOnSTL<Base, piid, T, Copy, CollType> > _class;
-	HRESULT hRes = ((HRESULT)0x80004003L);
-	if (ppEnum != 0)
-	{
-		*ppEnum = 0;
-		_class* p;
-		hRes = _class::CreateInstance(&p);
-		if (((HRESULT)(hRes) >= 0))
-		{
-			hRes = p->Init(m_spUnk, *m_pcollection);
-			if (((HRESULT)(hRes) >= 0))
-			{
-				p->m_iter = m_iter;
-				hRes = p->_InternalQueryInterface(*piid, (void**)ppEnum);
-			}
-			if (((HRESULT)(hRes) < 0))
-				delete p;
-		}
-	}
-	return hRes;
-}
-
-template <class Base, const IID* piid, class T, class Copy, class CollType, class ThreadModel = CComObjectThreadModel>
-class __declspec(novtable) CComEnumOnSTL :
-	public IEnumOnSTLImpl<Base, piid, T, Copy, CollType>,
-	public CComObjectRootEx< ThreadModel >
-{
-public:
-	typedef CComEnumOnSTL<Base, piid, T, Copy, CollType, ThreadModel > _CComEnum;
-	typedef IEnumOnSTLImpl<Base, piid, T, Copy, CollType > _CComEnumBase;
-	public: typedef _CComEnum _ComMapClass; static HRESULT __stdcall _Cache(void* pv, const IID & iid, void** ppvObject, DWORD_PTR dw) throw() { _ComMapClass* p = (_ComMapClass*)pv; p->Lock(); HRESULT hRes = ((HRESULT)0x80004005L); __try { hRes = ATL::CComObjectRootBase::_Cache(pv, iid, ppvObject, dw); } __finally { p->Unlock(); } return hRes; } IUnknown* _GetRawUnknown() throw() { (void) ((!!((_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5160, 0, L"_GetEntries()[0].pFunc == ((ATL::_ATL_CREATORARGFUNC*)1)")) || (__debugbreak(), 0)); return (IUnknown*)((INT_PTR)this+_GetEntries()->dw); } IUnknown* GetUnknown() throw() {return _GetRawUnknown();} HRESULT _InternalQueryInterface(const IID & iid, void** ppvObject) throw() { return InternalQueryInterface(this, _GetEntries(), iid, ppvObject); } const static ATL::_ATL_INTMAP_ENTRY* __stdcall _GetEntries() throw() { static const ATL::_ATL_INTMAP_ENTRY _entries[] = { {0, (DWORD_PTR)L"_CComEnum", (ATL::_ATL_CREATORARGFUNC*)0},
-		{&*piid, ((DWORD_PTR)(static_cast<_CComEnumBase*>((_ComMapClass*)8))-8), ((ATL::_ATL_CREATORARGFUNC*)1)},
-	__if_exists(_GetAttrEntries) {{0, (DWORD_PTR)_GetAttrEntries, _ChainAttr }, } {0, 0, 0}}; return &_entries[1];} virtual ULONG __stdcall AddRef( void) throw() = 0; virtual ULONG __stdcall Release( void) throw() = 0; virtual HRESULT __stdcall QueryInterface(const IID &, void**) throw() = 0;
-};
-
-template <class T, class CollType, class ItemType, class CopyItem, class EnumType>
-class ICollectionOnSTLImpl : public T
-{
-public:
-	virtual HRESULT __stdcall get_Count(long* pcount)
-	{
-		if (pcount == 0)
-			return ((HRESULT)0x80004003L);
-		do { (void) ((!!((m_coll.size()<=2147483647L))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5173, 0, L"m_coll.size()<=2147483647L")) || (__debugbreak(), 0)); ; } while(0);
-
-		*pcount = (long)m_coll.size();
-
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall get_Item(long Index, ItemType* pvar)
-	{
-		
-		if (pvar == 0)
-			return ((HRESULT)0x80004003L);
-		if (Index < 1)
-			return ((HRESULT)0x80070057L);
-		HRESULT hr = ((HRESULT)0x80004005L);
-		Index--;
-		CollType::const_iterator iter = m_coll.begin();
-		while (iter != m_coll.end() && Index > 0)
-		{
-			iter++;
-			Index--;
-		}
-		if (iter != m_coll.end())
-			hr = CopyItem::copy(pvar, &*iter);
-		return hr;
-	}
-	virtual HRESULT __stdcall get__NewEnum(IUnknown** ppUnk)
-	{
-		if (ppUnk == 0)
-			return ((HRESULT)0x80004003L);
-		*ppUnk = 0;
-		HRESULT hRes = ((HRESULT)0x00000000L);
-		CComObject<EnumType>* p;
-		hRes = CComObject<EnumType>::CreateInstance(&p);
-		if (((HRESULT)(hRes) >= 0))
-		{
-			hRes = p->Init(this, m_coll);
-			if (hRes == ((HRESULT)0x00000000L))
-				hRes = p->QueryInterface(__uuidof(IUnknown), (void**)ppUnk);
-		}
-		if (hRes != ((HRESULT)0x00000000L))
-			delete p;
-		return hRes;
-	}
-	CollType m_coll;
-};
-
-
-
-template <class T>
-class __declspec(novtable) ISpecifyPropertyPagesImpl : public ISpecifyPropertyPages
-{
-public:
-	
-	
-	virtual HRESULT __stdcall GetPages(CAUUID* pPages)
-	{
-		ATL::CTraceFileAndLineInfo("c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5229)(atlTraceCOM, 2, L"ISpecifyPropertyPagesImpl::GetPages\n");
-		ATL_PROPMAP_ENTRY* pMap = T::GetPropertyMap();
-		return GetPagesHelper(pPages, pMap);
-	}
-protected:
-	HRESULT GetPagesHelper(CAUUID* pPages, ATL_PROPMAP_ENTRY* pMap)
-	{
-		if (pPages == 0)
-			return ((HRESULT)0x80004003L);
-		(void) ((!!((pMap != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5238, 0, L"pMap != 0")) || (__debugbreak(), 0));
-		if (pMap == 0)
-			return ((HRESULT)0x80004003L);
-
-		int nCnt = 0;
-		int i;
-		
-		for (i = 0; pMap[i].pclsidPropPage != 0; i++)
-		{
-			
-			if (pMap[i].vt == 0)
-			{
-				
-				if (!InlineIsEqualGUID(*pMap[i].pclsidPropPage, GUID_NULL))
-					nCnt++;
-			}
-		}
-		pPages->pElems = (GUID*) ::ATL::AtlCoTaskMemCAlloc(nCnt, static_cast<ULONG>(sizeof(CLSID)));
-		if (pPages->pElems == 0)
-			return ((HRESULT)0x8007000EL);
-		
-		nCnt = 0;
-		for (i = 0; pMap[i].pclsidPropPage != 0; i++)
-		{
-			
-			if (pMap[i].vt == 0)
-			{
-				
-				if (!InlineIsEqualGUID(*pMap[i].pclsidPropPage, GUID_NULL))
-				{
-					BOOL bFound = 0;
-					
-					
-					for (int j=0; j<nCnt; j++)
-					{
-						if (InlineIsEqualGUID(*(pMap[i].pclsidPropPage), pPages->pElems[j]))
-						{
-							
-							bFound = 1;
-							break;
-						}
-					}
-					
-					if (!bFound)
-						pPages->pElems[nCnt++] = *pMap[i].pclsidPropPage;
-				}
-			}
-		}
-		pPages->cElems = nCnt;
-		return ((HRESULT)0x00000000L);
-	}
-
-};
-
-
-
-
-
-struct _ATL_CONNMAP_ENTRY
-{
-	DWORD_PTR dwOffset;
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-template <unsigned int nMaxSize>
-class CComUnkArray
-{
-public:
-	CComUnkArray()
-	{
-		memset(m_arr, 0, sizeof(IUnknown*)*nMaxSize);
-	}
-	DWORD Add(IUnknown* pUnk);
-	BOOL Remove(DWORD dwCookie);
-	
-	
-	DWORD __stdcall GetCookie(IUnknown** ppFind)
-	{
-		(void) ((!!((ppFind && *ppFind))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5370, 0, L"ppFind && *ppFind")) || (__debugbreak(), 0));
-		if (ppFind && *ppFind)
-		{
-			
-			for (DWORD dwCookie = 0; dwCookie < nMaxSize; dwCookie++)
-			{
-				if (m_arr[dwCookie] == *ppFind)
-					return dwCookie+1; 
-			}
-		}
-		return 0;
-	}
-	IUnknown* __stdcall GetUnknown(DWORD dwCookie)
-	{
-		(void) ((!!((dwCookie != 0 && dwCookie <= nMaxSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5384, 0, L"dwCookie != 0 && dwCookie <= nMaxSize")) || (__debugbreak(), 0));
-		if (dwCookie != 0 && dwCookie <= nMaxSize)
-			return m_arr[dwCookie-1]; 
-		else
-			return 0;
-	}
-	IUnknown** begin()
-	{
-		return &m_arr[0];
-	}
-	IUnknown** end()
-	{
-		return &m_arr[nMaxSize];
-	}
-protected:
-	IUnknown* m_arr[nMaxSize];
-};
-
-template <unsigned int nMaxSize>
-inline DWORD CComUnkArray<nMaxSize>::Add(IUnknown* pUnk)
-{
-	DWORD dwCookie = 1;
-	for (IUnknown** pp = begin(); pp < end(); pp++)
-	{
-		if (*pp == 0)
-		{
-			*pp = pUnk;
-			return dwCookie;
-		}
-		dwCookie++;
-	}
-	
-	(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5416, 0, L"0")) || (__debugbreak(), 0));
-	return 0;
-}
-
-template <unsigned int nMaxSize>
-inline BOOL CComUnkArray<nMaxSize>::Remove(DWORD dwCookie)
-{
-	(void) ((!!((dwCookie != 0 && dwCookie <= nMaxSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5423, 0, L"dwCookie != 0 && dwCookie <= nMaxSize")) || (__debugbreak(), 0));
-	if (dwCookie != 0 && dwCookie <= nMaxSize && m_arr[dwCookie-1] != 0)
-	{
-		m_arr[dwCookie-1] = 0;
-		return 1;
-	}
-	else
-		return 0;
-}
-
-template<>
-class CComUnkArray<1>
-{
-public:
-	CComUnkArray()
-	{
-		m_arr[0] = 0;
-	}
-	DWORD Add(IUnknown* pUnk)
-	{
-		if (m_arr[0] != 0)
-		{
-			
-			(void) ((!!((0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5446, 0, L"0")) || (__debugbreak(), 0));
-			return 0;
-		}
-		m_arr[0] = pUnk;
-		return 1;
-	}
-	BOOL Remove(DWORD dwCookie)
-	{
-		(void) ((!!((dwCookie == 1))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5454, 0, L"dwCookie == 1")) || (__debugbreak(), 0));
-		if (dwCookie == 1 && m_arr[0] != 0)
-		{
-			m_arr[0] = 0;
-			return 1;
-		}
-		else
-			return 0;
-	}
-	DWORD __stdcall GetCookie(IUnknown** )
-	{
-		return 1;
-	}
-	IUnknown* __stdcall GetUnknown(DWORD dwCookie)
-	{
-		(void) ((!!((dwCookie == 1))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5469, 0, L"dwCookie == 1")) || (__debugbreak(), 0));
-		if (dwCookie == 1)
-			return m_arr[0];
-		else 
-			return 0;
-	}
-	IUnknown** begin()
-	{
-		return &m_arr[0];
-	}
-	IUnknown** end()
-	{
-		return (&m_arr[0])+1;
-	}
-protected:
-	IUnknown* m_arr[1];
-};
-
-class CComDynamicUnkArray
-{
-public:
-	CComDynamicUnkArray()
-	{
-		m_nSize = 0;
-		m_ppUnk = 0;
-	}
-
-	~CComDynamicUnkArray()
-	{
-		if (m_nSize > 0)
-			free(m_ppUnk);
-	}
-	DWORD Add(IUnknown* pUnk);
-	BOOL Remove(DWORD dwCookie);
-	
-	
-	DWORD __stdcall GetCookie(IUnknown** ppFind)
-	{
-		(void) ((!!((ppFind && *ppFind))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5507, 0, L"ppFind && *ppFind")) || (__debugbreak(), 0));
-		if (ppFind && *ppFind)
-		{
-			IUnknown** ppUnk = 0;
-			DWORD dwCookie = 1;
-			
-			for (ppUnk = begin(); ppUnk < end(); ppUnk++)
-			{
-				if (*ppUnk == *ppFind)
-					return dwCookie; 
-				dwCookie++;
-			}
-		}
-		return 0;
-	}
-	IUnknown* __stdcall GetUnknown(DWORD dwCookie)
-	{
-
-		(void) ((!!((dwCookie != 0 && dwCookie <= (DWORD)m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5525, 0, L"dwCookie != 0 && dwCookie <= (DWORD)m_nSize")) || (__debugbreak(), 0));
-
-		if (dwCookie != 0 && dwCookie <= (DWORD)m_nSize)
-			return GetAt(dwCookie-1); 
-		else
-			return 0;
-	}
-	IUnknown** begin()
-	{
-		return m_ppUnk;
-	}
-	IUnknown** end()
-	{
-		return &m_ppUnk[m_nSize];
-	}
-
-	IUnknown* GetAt(int nIndex)
-	{
-		(void) ((!!((nIndex >= 0 && nIndex < m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5543, 0, L"nIndex >= 0 && nIndex < m_nSize")) || (__debugbreak(), 0));
-		if (nIndex >= 0 && nIndex < m_nSize)
-			return m_ppUnk[nIndex];
-		else
-			return 0;
-
-	}
-	int GetSize() const
-	{
-		return m_nSize;
-	}
-	void clear()
-	{
-		if (m_nSize > 0)
-		{
-			free(m_ppUnk);
-			m_ppUnk = 0;
-		}
-		m_nSize = 0;
-	}
-protected:
-	IUnknown** m_ppUnk;
-	int m_nSize;
-};
-
-inline DWORD CComDynamicUnkArray::Add(IUnknown* pUnk)
-{
-	IUnknown** pp = 0;
-	if (m_nSize == 0)
-	{
-		
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{pp = (IUnknown**)calloc(sizeof(IUnknown*),4);} catch(...) {} __pragma(warning(pop));
-		if (pp == 0)
-			return 0;
-		memset(pp, 0, sizeof(IUnknown*)*4);
-		m_ppUnk = pp;
-		m_nSize = 4;
-	}
-	
-	DWORD dwCookie = 1;
-	for (pp = begin(); pp < end(); pp++)
-	{
-		if (*pp == 0)
-		{
-			*pp = pUnk;
-			return dwCookie; 
-		}
-		dwCookie++;
-	}
-	
-	
-	int nAlloc = m_nSize*2;
-	pp = (IUnknown**)_recalloc(m_ppUnk, sizeof(IUnknown*),nAlloc);
-	if (pp == 0)
-		return 0;
-	m_ppUnk = pp;
-	memset(&m_ppUnk[m_nSize], 0, sizeof(IUnknown*)*m_nSize);
-	m_ppUnk[m_nSize] = pUnk;
-	dwCookie = m_nSize+1;
-	m_nSize = nAlloc;
-	return dwCookie; 
-}
-
-inline BOOL CComDynamicUnkArray::Remove(DWORD dwCookie)
-{
-	DWORD idx = dwCookie -1;
-
-	(void) ((!!((idx < dwCookie && idx < (DWORD)m_nSize))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5610, 0, L"idx < dwCookie && idx < (DWORD)m_nSize")) || (__debugbreak(), 0));
-
-	if (idx < dwCookie && idx < (DWORD)m_nSize)
-	{
-		
-		if (m_ppUnk[idx] == 0)
-			return 0;
-		m_ppUnk[idx] = 0;
-		return 1;
-	}
-	else
-		return 0;
-}
-
-template <const IID* piid>
-class __declspec(novtable) _ICPLocator
-{
-public:
-	
-	virtual HRESULT __stdcall _LocCPQueryInterface(const IID & riid, void ** ppvObject) = 0;
-	virtual ULONG __stdcall AddRef(void) = 0;
-	virtual ULONG __stdcall Release(void) = 0;
-};
-
-template <class T, const IID* piid, class CDV = CComDynamicUnkArray >
-class __declspec(novtable) IConnectionPointImpl : public _ICPLocator<piid>
-{
-	typedef CComEnum<IEnumConnections, &__uuidof(IEnumConnections), CONNECTDATA,
-		_Copy<CONNECTDATA> > CComEnumConnections;
-	typedef CDV _CDV;
-public:
-	~IConnectionPointImpl();
-	virtual HRESULT __stdcall _LocCPQueryInterface(const IID & riid, void ** ppvObject)
-	{
-
-		(void) ((!!((ppvObject != 0))) || (1 != _CrtDbgReportW(2, L"c:\\program files (x86)\\microsoft visual studio 8\\vc\\atlmfc\\include\\atlcom.h", 5645, 0, L"ppvObject != 0")) || (__debugbreak(), 0));
-
-		if (ppvObject == 0)
-			return ((HRESULT)0x80004003L);
-		*ppvObject = 0;
-
-		if (InlineIsEqualGUID(riid, __uuidof(IConnectionPoint)) || InlineIsEqualUnknown(riid))
-		{
-			*ppvObject = this;
-			AddRef();
-
-
-
-			return ((HRESULT)0x00000000L);
-		}
-		else
-			return ((HRESULT)0x80004002L);
-	}
-
-	virtual HRESULT __stdcall GetConnectionInterface(IID* piid2)
-	{
-		if (piid2 == 0)
-			return ((HRESULT)0x80004003L);
-		*piid2 = *piid;
-		return ((HRESULT)0x00000000L);
-	}
-	virtual HRESULT __stdcall GetConnectionPointContainer(IConnectionPointContainer** ppCPC)
-	{
-		T* pT = static_cast<T*>(this);
-		
-		return pT->QueryInterface(__uuidof(IConnectionPointContainer), (void**)ppCPC);
-	}
-	virtual HRESULT __stdcall Advise(IUnknown* pUnkSink, DWORD* pdwCookie);
-	virtual HRESULT __stdcall Unadvise(DWORD dwCookie);
-	virtual HRESULT __stdcall EnumConnections(IEnumConnections** ppEnum);
-	CDV m_vec;
-};
-
-template <class T, const IID* piid, class CDV>
-IConnectionPointImpl<T, piid, CDV>::~IConnectionPointImpl()
-{
-	IUnknown** pp = m_vec.begin();
-	while (pp < m_vec.end())
-	{
-		if (*pp != 0)
-			(*pp)->Release();
-		pp++;
-	}
-}
-
-template <class T, const IID* piid, class CDV>
-HRESULT __stdcall IConnectionPointImpl<T, piid, CDV>::Advise(IUnknown* pUnkSink,
-	DWORD* pdwCookie)
-{
-	T* pT = static_cast<T*>(this);
-	IUnknown* p;
-	HRESULT hRes = ((HRESULT)0x00000000L);
-	if (pdwCookie != 0)
-		*pdwCookie = 0;
-	if (pUnkSink == 0 || pdwCookie == 0)
-		return ((HRESULT)0x80004003L);
-	IID iid;
-	GetConnectionInterface(&iid);
-	hRes = pUnkSink->QueryInterface(iid, (void**)&p);
-	if (((HRESULT)(hRes) >= 0))
-	{
-		pT->Lock();
-		*pdwCookie = m_vec.Add(p);
-		hRes = (*pdwCookie != 0) ? ((HRESULT)0x00000000L) : (((SCODE) (((unsigned long)(1)<<31) | ((unsigned long)(4)<<16) | ((unsigned long)(0x0200))) )+1);
-		pT->Unlock();
-		if (hRes != ((HRESULT)0x00000000L))
-			p->Release();
-	}
-	else if (hRes == ((HRESULT)0x80004002L))
-		hRes = (((SCODE) (((unsigned long)(1)<<31) | ((unsigned long)(4)<<16) | ((unsigned long)(0x0200))) )+2);
-	if (((HRESULT)(hRes) < 0))
-		*pdwCookie = 0;
-	return hRes;
-}
-
-template <class T, const IID* piid, class CDV>
-HRESULT __stdcall IConnectionPointImpl<T, piid, CDV>::Unadvise(DWORD dwCookie)
-{
-	T* pT = static_cast<T*>(this);
-	pT->Lock();
-	IUnknown* p = m_vec.GetUnknown(dwCookie);
-	HRESULT hRes = m_vec.Remove(dwCookie) ? ((HRESULT)0x00000000L) : (((SCODE) (((unsigned long)(1)<<31) | ((unsigned long)(4)<<16) | ((unsigned long)(0x0200))) )+0);
-	pT->Unlock();
-	if (hRes == ((HRESULT)0x00000000L) && p != 0)
-		p->Release();
-	return hRes;
-}
-
-#pragma warning(push)
-#pragma warning(disable: 6014 6211)
-template <class T, const IID* piid, class CDV>
-HRESULT __stdcall IConnectionPointImpl<T, piid, CDV>::EnumConnections(
-	IEnumConnections** ppEnum)
-{
-	if (ppEnum == 0)
-		return ((HRESULT)0x80004003L);
-	*ppEnum = 0;
-	CComObject<CComEnumConnections>* pEnum = 0;
-	__pragma(warning(push)) __pragma(warning(disable: 4571)) try{pEnum = new CComObject<CComEnumConnections>;} catch(...) {} __pragma(warning(pop))
-	if (pEnum == 0)
-		return ((HRESULT)0x8007000EL);
-	T* pT = static_cast<T*>(this);
-	pT->Lock();
-	CONNECTDATA* pcd = 0;
-	__pragma(warning(push)) __pragma(warning(disable: 4571)) try{pcd = new CONNECTDATA[m_vec.end()-m_vec.begin()];} catch(...) {} __pragma(warning(pop))
-	if (pcd == 0)
-	{
-		delete pEnum;
-		pT->Unlock();
-		return ((HRESULT)0x8007000EL);
-	}
-	CONNECTDATA* pend = pcd;
-	
-	for (IUnknown** pp = m_vec.begin();pp<m_vec.end();pp++)
-	{
-		if (*pp != 0)
-		{
-			(*pp)->AddRef();
-			pend->pUnk = *pp;
-			pend->dwCookie = m_vec.GetCookie(pp);
-			pend++;
-		}
-	}
-	
-	pEnum->Init(pcd, pend, 0, AtlFlagTakeOwnership);
-	pT->Unlock();
-	HRESULT hRes = pEnum->_InternalQueryInterface(__uuidof(IEnumConnections), (void**)ppEnum);
-	if (((HRESULT)(hRes) < 0))
-		delete pEnum;
-	return hRes;
-}
-#pragma warning(pop)
-
-
-
-
-template <class T>
-class __declspec(novtable) IConnectionPointContainerImpl : public IConnectionPointContainer
-{
-	typedef CComEnum<IEnumConnectionPoints,
-		&__uuidof(IEnumConnectionPoints), IConnectionPoint*,
-		_CopyInterface<IConnectionPoint> >
-		CComEnumConnectionPoints;
-public:
-#pragma warning(push)
-#pragma warning(disable: 6014 6211)
-	virtual HRESULT __stdcall EnumConnectionPoints(IEnumConnectionPoints** ppEnum)
-	{
-		if (ppEnum == 0)
-			return ((HRESULT)0x80004003L);
-		*ppEnum = 0;
-		CComEnumConnectionPoints* pEnum = 0;
-		__pragma(warning(push)) __pragma(warning(disable: 4571)) try{pEnum = new CComObject<CComEnumConnectionPoints>;} catch(...) {} __pragma(warning(pop))
-		if (pEnum == 0)
-			return ((HRESULT)0x8007000EL);
-
-		int nCPCount;
-		const _ATL_CONNMAP_ENTRY* pEntry = T::GetConnMap(&nCPCount);
-
-		
-		ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager<ATL::CCRTAllocator> _AtlSafeAllocaManager;
-		if ((nCPCount < 0) || (nCPCount > (2147483647 / sizeof(IConnectionPoint*))))
-			return ((HRESULT)0x8007000EL);
-		size_t nBytes=0;
-		HRESULT hr=((HRESULT)0x00000000L);
-		if( ((HRESULT)(hr=::ATL::AtlMultiply(&nBytes, sizeof(IConnectionPoint*), static_cast<size_t>(nCPCount))) < 0))
-		{
-			return hr;
-		}
-		IConnectionPoint** ppCP = (IConnectionPoint**)__pragma(warning(push)) __pragma(warning(disable:4616)) __pragma(warning(disable:6255)) ((nBytes <= 1024 && ATL::_ATL_SAFE_ALLOCA_IMPL::_AtlVerifyStackAvailable(nBytes) ) ? _alloca(nBytes) : _AtlSafeAllocaManager.Allocate(nBytes)) __pragma(warning(pop));
-		if (ppCP == 0)
-		{
-			delete pEnum;
-			return ((HRESULT)0x8007000EL);
-		}
-
-		int i = 0;
-		while (pEntry->dwOffset != (DWORD_PTR)-1)
-		{
-			if (pEntry->dwOffset == (DWORD_PTR)-2)
-			{
-				pEntry++;
-				const _ATL_CONNMAP_ENTRY* (*pFunc)(int*) =  (const _ATL_CONNMAP_ENTRY* (*)(int*))(pEntry->dwOffset);
-				pEntry = pFunc(0);
-				continue;
-			}
-			ppCP[i++] = (IConnectionPoint*)((INT_PTR)this+pEntry->dwOffset);
-			pEntry++;
-		}
-
-		
-		HRESULT hRes = pEnum->Init((IConnectionPoint**)&ppCP[0],
-			(IConnectionPoint**)&ppCP[nCPCount],
-			reinterpret_cast<IConnectionPointContainer*>(this), AtlFlagCopy);
-		if (((HRESULT)(hRes) < 0))
-		{
-			delete pEnum;
-			return hRes;
-		}
-		hRes = pEnum->QueryInterface(__uuidof(IEnumConnectionPoints), (void**)ppEnum);
-		if (((HRESULT)(hRes) < 0))
-			delete pEnum;
-		return hRes;
-	}
-#pragma warning(pop)
-
-	virtual HRESULT __stdcall FindConnectionPoint(const IID & riid, IConnectionPoint** ppCP)
-	{
-		if (ppCP == 0)
-			return ((HRESULT)0x80004003L);
-		*ppCP = 0;
-		HRESULT hRes = (((SCODE) (((unsigned long)(1)<<31) | ((unsigned long)(4)<<16) | ((unsigned long)(0x0200))) )+0);
-		const _ATL_CONNMAP_ENTRY* pEntry = T::GetConnMap(0);
-		IID iid;
-		while (pEntry->dwOffset != (DWORD_PTR)-1)
-		{
-			if (pEntry->dwOffset == (DWORD_PTR)-2)
-			{
-				pEntry++;
-				const _ATL_CONNMAP_ENTRY* (*pFunc)(int*) =  (const _ATL_CONNMAP_ENTRY* (*)(int*))(pEntry->dwOffset);
-				pEntry = pFunc(0);
-				continue;
-			}
-			IConnectionPoint* pCP =
-				(IConnectionPoint*)((INT_PTR)this+pEntry->dwOffset);
-			if (((HRESULT)(pCP->GetConnectionInterface(&iid)) >= 0) &&
-				InlineIsEqualGUID(riid, iid))
-			{
-				*ppCP = pCP;
-				pCP->AddRef();
-				hRes = ((HRESULT)0x00000000L);
-				break;
-			}
-			pEntry++;
-		}
-		return hRes;
-	}
-};
-
-
-
-
-
-
-
-
-
-
-
-template <class T> 
-class IExternalConnectionImpl : public IExternalConnection
-{
-public:
-	IExternalConnectionImpl(void) : m_nStrongLocks(0) {}
-	DWORD __stdcall AddConnection(DWORD extconn, DWORD )
-	{
-		DWORD dw = 0;
-		if (extconn & EXTCONN_STRONG)
-		{
-			dw = T::_ThreadModel::Increment(&m_nStrongLocks);
-			static_cast<T*>(this)->OnAddConnection(dw == 1);
-		}
-		return dw;
-	}
-	DWORD __stdcall ReleaseConnection(DWORD extconn, DWORD , BOOL bLastUnlockReleases)
-	{
-		DWORD dw = 0;
-		if (extconn & EXTCONN_STRONG)
-		{
-			dw = T::_ThreadModel::Decrement(&m_nStrongLocks);
-			static_cast<T*>(this)->OnReleaseConnection(dw == 0, !!bLastUnlockReleases);
-		}
-		return dw;
-	}
-
-	
-	bool DoIHaveAStub() { return m_nStrongLocks != 0; }
-	LONG GetStrongConnectionCount() { return m_nStrongLocks; }
-	
-	void OnAddConnection(bool bThisIsFirstLock) {}
-	void OnReleaseConnection(bool bThisIsLastUnlock, bool bLastUnlockReleases)
-	{
-		if (bThisIsLastUnlock && bLastUnlockReleases)
-			CoDisconnectObject(static_cast<T*>(this)->GetUnknown(), 0);
-	}
-	
-	LONG m_nStrongLocks;
-};
-
-#pragma pack(pop)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}	
-#pragma pack(pop)
-
-
-
-
-
-
-#pragma warning (pop)
-
-
-
-
-
-
-
-
-using namespace ATL;
-
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireInstaller.vdproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireInstaller.vdproj
deleted file mode 100644
index f17453a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireInstaller.vdproj
+++ /dev/null
@@ -1,4019 +0,0 @@
-"DeployProject"
-{
-"VSVersion" = "3:800"
-"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
-"IsWebType" = "8:FALSE"
-"ProjectName" = "8:IECrossfireInstaller"
-"LanguageId" = "3:1033"
-"CodePage" = "3:1252"
-"UILanguageId" = "3:1033"
-"SccProjectName" = "8:"
-"SccLocalPath" = "8:"
-"SccAuxPath" = "8:"
-"SccProvider" = "8:"
-    "Hierarchy"
-    {
-        "Entry"
-        {
-        "MsmKey" = "8:_08B68589E44940F8B6D40CA08C892114"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_0F2BD160D0CD47E9ACD9EB10FEED1697"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_68B2C602B4B448ADBFC58961A342D06B"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_95865189E786418BB687E36D639FCC3E"
-        "OwnerKey" = "8:_0F2BD160D0CD47E9ACD9EB10FEED1697"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_95865189E786418BB687E36D639FCC3E"
-        "OwnerKey" = "8:_F5BF6CB0B9984A0F91602DCB4DF8EC1C"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_95865189E786418BB687E36D639FCC3E"
-        "OwnerKey" = "8:_A558BCE26AC6426C9ABA48959A6EB3C6"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_95865189E786418BB687E36D639FCC3E"
-        "OwnerKey" = "8:_68B2C602B4B448ADBFC58961A342D06B"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_A558BCE26AC6426C9ABA48959A6EB3C6"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_C3E67FD0862F4535B94CCB13D4B57844"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_D3A03D18E59D4182AA06050CD174CB83"
-        "OwnerKey" = "8:_68B2C602B4B448ADBFC58961A342D06B"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_D3A03D18E59D4182AA06050CD174CB83"
-        "OwnerKey" = "8:_A558BCE26AC6426C9ABA48959A6EB3C6"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_DA5949DF914B536D3A767BD24027BD81"
-        "OwnerKey" = "8:_0F2BD160D0CD47E9ACD9EB10FEED1697"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_DA5949DF914B536D3A767BD24027BD81"
-        "OwnerKey" = "8:_F5BF6CB0B9984A0F91602DCB4DF8EC1C"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-        "Entry"
-        {
-        "MsmKey" = "8:_F5BF6CB0B9984A0F91602DCB4DF8EC1C"
-        "OwnerKey" = "8:_UNDEFINED"
-        "MsmSig" = "8:_UNDEFINED"
-        }
-    }
-    "Configurations"
-    {
-        "Debug"
-        {
-        "DisplayName" = "8:Debug"
-        "IsDebugOnly" = "11:TRUE"
-        "IsReleaseOnly" = "11:FALSE"
-        "OutputFilename" = "8:Debug\\IECrossfireInstaller.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:2"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
-                    {
-                    "Name" = "8:Microsoft .NET Framework 2.0"
-                    "ProductCode" = "8:Microsoft.Net.Framework.2.0"
-                    }
-                }
-            }
-        }
-        "Release"
-        {
-        "DisplayName" = "8:Release"
-        "IsDebugOnly" = "11:FALSE"
-        "IsReleaseOnly" = "11:TRUE"
-        "OutputFilename" = "8:Release\\IECrossfireInstaller.msi"
-        "PackageFilesAs" = "3:2"
-        "PackageFileSize" = "3:-2147483648"
-        "CabType" = "3:1"
-        "Compression" = "3:2"
-        "SignOutput" = "11:FALSE"
-        "CertificateFile" = "8:"
-        "PrivateKeyFile" = "8:"
-        "TimeStampServer" = "8:"
-        "InstallerBootstrapper" = "3:2"
-            "BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
-            {
-            "Enabled" = "11:TRUE"
-            "PromptEnabled" = "11:TRUE"
-            "PrerequisitesLocation" = "2:1"
-            "Url" = "8:"
-            "ComponentsUrl" = "8:"
-                "Items"
-                {
-                    "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.2.0"
-                    {
-                    "Name" = "8:Microsoft .NET Framework 2.0"
-                    "ProductCode" = "8:Microsoft.Net.Framework.2.0"
-                    }
-                }
-            }
-        }
-    }
-    "Deployable"
-    {
-        "CustomAction"
-        {
-        }
-        "DefaultFeature"
-        {
-        "Name" = "8:DefaultFeature"
-        "Title" = "8:"
-        "Description" = "8:"
-        }
-        "ExternalPersistence"
-        {
-            "LaunchCondition"
-            {
-            }
-        }
-        "File"
-        {
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_08B68589E44940F8B6D40CA08C892114"
-            {
-            "SourcePath" = "8:IECrossfireServerGray.ico"
-            "TargetName" = "8:IECrossfireServerGray.ico"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_C3E67FD0862F4535B94CCB13D4B57844"
-            {
-            "SourcePath" = "8:IECrossfireServer.ico"
-            "TargetName" = "8:IECrossfireServer.ico"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            }
-            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_DA5949DF914B536D3A767BD24027BD81"
-            {
-            "SourcePath" = "8:RPCRT4.dll"
-            "TargetName" = "8:RPCRT4.dll"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "IsolateTo" = "8:"
-            }
-        }
-        "FileType"
-        {
-        }
-        "Folder"
-        {
-            "{1525181F-901A-416C-8A58-119130FE478E}:_2B99896331BC47A2B7D2ED9E4C943C77"
-            {
-            "Name" = "8:#1919"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:ProgramMenuFolder"
-                "Folders"
-                {
-                }
-            }
-            "{1525181F-901A-416C-8A58-119130FE478E}:_542E65342D844830AF64585A006FF418"
-            {
-            "Name" = "8:#1916"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:DesktopFolder"
-                "Folders"
-                {
-                }
-            }
-            "{3C67513D-01DD-4637-8A68-80971EB9504F}:_F79B3187A2A440AF924ED0481F6F9DA5"
-            {
-            "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\[ProductName]"
-            "Name" = "8:#1925"
-            "AlwaysCreate" = "11:FALSE"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Property" = "8:TARGETDIR"
-                "Folders"
-                {
-                }
-            }
-        }
-        "LaunchCondition"
-        {
-        }
-        "Locator"
-        {
-        }
-        "MsiBootstrapper"
-        {
-        "LangId" = "3:1033"
-        "RequiresElevation" = "11:FALSE"
-        }
-        "Product"
-        {
-        "Name" = "8:Microsoft Visual Studio"
-        "ProductName" = "8:IE Crossfire Server"
-        "ProductCode" = "8:{8454AEA7-EC58-4709-BFED-85CCB406E206}"
-        "PackageCode" = "8:{86D437BD-6123-43C0-8019-D7668A0937CB}"
-        "UpgradeCode" = "8:{DC2603D4-1885-4F24-B9B6-5EB74FF9D579}"
-        "AspNetVersion" = "8:4.0.30319.0"
-        "RestartWWWService" = "11:FALSE"
-        "RemovePreviousVersions" = "11:TRUE"
-        "DetectNewerInstalledVersion" = "11:TRUE"
-        "InstallAllUsers" = "11:FALSE"
-        "ProductVersion" = "8:1.0.0"
-        "Manufacturer" = "8:IBM"
-        "ARPHELPTELEPHONE" = "8:"
-        "ARPHELPLINK" = "8:"
-        "Title" = "8:IECrossfireInstaller"
-        "Subject" = "8:"
-        "ARPCONTACT" = "8:"
-        "Keywords" = "8:"
-        "ARPCOMMENTS" = "8:"
-        "ARPURLINFOABOUT" = "8:"
-        "ARPPRODUCTICON" = "8:"
-        "ARPIconIndex" = "3:0"
-        "SearchPath" = "8:"
-        "UseSystemSearchPath" = "11:TRUE"
-        "TargetPlatform" = "3:0"
-        "PreBuildEvent" = "8:"
-        "PostBuildEvent" = "8:"
-        "RunPostBuildEvent" = "3:0"
-        }
-        "Registry"
-        {
-            "HKLM"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DAD57E19B4D94837BEC24C47E0780FE2"
-                    {
-                    "Name" = "8:Software"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E015CE8158BC49CA9EEC2877191F8823"
-                            {
-                            "Name" = "8:Microsoft"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_315AD8477CBB4333BCBC6888B9382F9D"
-                                    {
-                                    "Name" = "8:Windows"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8D04DC5B33BA47BAA5F0C652EEDB18BC"
-                                            {
-                                            "Name" = "8:CurrentVersion"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:FALSE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_49C46435279940B089A85048E755107F"
-                                                    {
-                                                    "Name" = "8:Explorer"
-                                                    "Condition" = "8:"
-                                                    "AlwaysCreate" = "11:FALSE"
-                                                    "DeleteAtUninstall" = "11:FALSE"
-                                                    "Transitive" = "11:FALSE"
-                                                        "Keys"
-                                                        {
-                                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E61E30E047AF477EA9831CF56DF514D1"
-                                                            {
-                                                            "Name" = "8:Browser Helper Objects"
-                                                            "Condition" = "8:"
-                                                            "AlwaysCreate" = "11:FALSE"
-                                                            "DeleteAtUninstall" = "11:FALSE"
-                                                            "Transitive" = "11:FALSE"
-                                                                "Keys"
-                                                                {
-                                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F5061C6500A04536B95A16845C74CEF2"
-                                                                    {
-                                                                    "Name" = "8:{E8779887-5AF1-4071-B4D4-6135157F142C}"
-                                                                    "Condition" = "8:"
-                                                                    "AlwaysCreate" = "11:TRUE"
-                                                                    "DeleteAtUninstall" = "11:TRUE"
-                                                                    "Transitive" = "11:FALSE"
-                                                                        "Keys"
-                                                                        {
-                                                                        }
-                                                                        "Values"
-                                                                        {
-                                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5DD16C450E4347F591BA8D691DCED3B8"
-                                                                            {
-                                                                            "Name" = "8:NoExplorer"
-                                                                            "Condition" = "8:"
-                                                                            "Transitive" = "11:FALSE"
-                                                                            "ValueTypes" = "3:3"
-                                                                            "Value" = "3:1"
-                                                                            }
-                                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_AAA485390EAB4AA8A48ACA6BC11222ED"
-                                                                            {
-                                                                            "Name" = "8:"
-                                                                            "Condition" = "8:"
-                                                                            "Transitive" = "11:FALSE"
-                                                                            "ValueTypes" = "3:1"
-                                                                            "Value" = "8:IECrossfireBHO Class"
-                                                                            }
-                                                                        }
-                                                                    }
-                                                                }
-                                                                "Values"
-                                                                {
-                                                                }
-                                                            }
-                                                        }
-                                                        "Values"
-                                                        {
-                                                        }
-                                                    }
-                                                }
-                                                "Values"
-                                                {
-                                                }
-                                            }
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D7792EB7943E479BB2CEC1FDAF5BC775"
-                                    {
-                                    "Name" = "8:Internet Explorer"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EFBD8933842748E8B8571446AFE1750E"
-                                            {
-                                            "Name" = "8:Extensions"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:FALSE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_029DE52FFF634B2D8AA598218D378247"
-                                                    {
-                                                    "Name" = "8:{E29302FD-539F-44a8-B457-D2DE7C65C7AE}"
-                                                    "Condition" = "8:"
-                                                    "AlwaysCreate" = "11:TRUE"
-                                                    "DeleteAtUninstall" = "11:TRUE"
-                                                    "Transitive" = "11:FALSE"
-                                                        "Keys"
-                                                        {
-                                                        }
-                                                        "Values"
-                                                        {
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3150B8E0C8C342A9B7E270418F1FD2E4"
-                                                            {
-                                                            "Name" = "8:BandCLSID"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:{34EF57F8-9295-483E-B656-4EE154B0B3A5}"
-                                                            }
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_32B490DE03604FAD8E73FD83DE696F3F"
-                                                            {
-                                                            "Name" = "8:HotIcon"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.ico\""
-                                                            }
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3E4A829B157C4BF28F7E1C16C92E48EA"
-                                                            {
-                                                            "Name" = "8:Icon"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:\"[TARGETDIR]IECrossfireServerGray.ico\""
-                                                            }
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_8CE8ADBA6DB64E569C66886024E48551"
-                                                            {
-                                                            "Name" = "8:ButtonText"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:Show/Hide Crossfire Server Panel"
-                                                            }
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C6512E4667BD4EC7BB9B9E266B1F1361"
-                                                            {
-                                                            "Name" = "8:CLSID"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:{E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16}"
-                                                            }
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_F6B91120C40D44D799EE40A98968F240"
-                                                            {
-                                                            "Name" = "8:Default Visible"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:Yes"
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                                "Values"
-                                                {
-                                                }
-                                            }
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                }
-            }
-            "HKCU"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E858098B1B9147569EDBB0F4EC74444D"
-                    {
-                    "Name" = "8:Software"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2F3AEF3F794C4C67A61D12DF97E1759A"
-                            {
-                            "Name" = "8:Microsoft"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AE9DEA889E9F4AE195EB5294AE73D097"
-                                    {
-                                    "Name" = "8:Windows"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_50B7C19E6D834C378F963ED202DA1131"
-                                            {
-                                            "Name" = "8:CurrentVersion"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:FALSE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_97190513B53C4B7AAB9E49FB208835BE"
-                                                    {
-                                                    "Name" = "8:Explorer"
-                                                    "Condition" = "8:"
-                                                    "AlwaysCreate" = "11:FALSE"
-                                                    "DeleteAtUninstall" = "11:FALSE"
-                                                    "Transitive" = "11:FALSE"
-                                                        "Keys"
-                                                        {
-                                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0D55B0F7937A49488B230E65E9FD5E07"
-                                                            {
-                                                            "Name" = "8:Discardable"
-                                                            "Condition" = "8:"
-                                                            "AlwaysCreate" = "11:FALSE"
-                                                            "DeleteAtUninstall" = "11:FALSE"
-                                                            "Transitive" = "11:FALSE"
-                                                                "Keys"
-                                                                {
-                                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E6E1AAF4D20544D6847892A15C4E00CC"
-                                                                    {
-                                                                    "Name" = "8:PostSetup"
-                                                                    "Condition" = "8:"
-                                                                    "AlwaysCreate" = "11:FALSE"
-                                                                    "DeleteAtUninstall" = "11:FALSE"
-                                                                    "Transitive" = "11:FALSE"
-                                                                        "Keys"
-                                                                        {
-                                                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1DB1B6C8A6364AD48CC5AC68F8D7E25F"
-                                                                            {
-                                                                            "Name" = "8:Component Categories"
-                                                                            "Condition" = "8:"
-                                                                            "AlwaysCreate" = "11:FALSE"
-                                                                            "DeleteAtUninstall" = "11:FALSE"
-                                                                            "Transitive" = "11:FALSE"
-                                                                                "Keys"
-                                                                                {
-                                                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C4F0A50511CD4E92AC51E713136DBB2E"
-                                                                                    {
-                                                                                    "Name" = "8:{00021494-0000-0000-C000-000000000046}"
-                                                                                    "Condition" = "8:"
-                                                                                    "AlwaysCreate" = "11:TRUE"
-                                                                                    "DeleteAtUninstall" = "11:FALSE"
-                                                                                    "Transitive" = "11:FALSE"
-                                                                                        "Keys"
-                                                                                        {
-                                                                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EFFC1C1D1D3C4B4ABB1121E2223C91F4"
-                                                                                            {
-                                                                                            "Name" = "8:Enum"
-                                                                                            "Condition" = "8:"
-                                                                                            "AlwaysCreate" = "11:TRUE"
-                                                                                            "DeleteAtUninstall" = "11:TRUE"
-                                                                                            "Transitive" = "11:FALSE"
-                                                                                                "Keys"
-                                                                                                {
-                                                                                                }
-                                                                                                "Values"
-                                                                                                {
-                                                                                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2ADC357EAEF840E688E8CBD2E558E426"
-                                                                                                    {
-                                                                                                    "Name" = "8:Implementing"
-                                                                                                    "Condition" = "8:"
-                                                                                                    "Transitive" = "11:FALSE"
-                                                                                                    "ValueTypes" = "3:1"
-                                                                                                    "Value" = "8:"
-                                                                                                    }
-                                                                                                }
-                                                                                            }
-                                                                                        }
-                                                                                        "Values"
-                                                                                        {
-                                                                                        }
-                                                                                    }
-                                                                                }
-                                                                                "Values"
-                                                                                {
-                                                                                }
-                                                                            }
-                                                                        }
-                                                                        "Values"
-                                                                        {
-                                                                        }
-                                                                    }
-                                                                }
-                                                                "Values"
-                                                                {
-                                                                }
-                                                            }
-                                                        }
-                                                        "Values"
-                                                        {
-                                                        }
-                                                    }
-                                                }
-                                                "Values"
-                                                {
-                                                }
-                                            }
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                }
-            }
-            "HKCR"
-            {
-                "Keys"
-                {
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_032C027743C84BD1AD96D8A81D6FCA8D"
-                    {
-                    "Name" = "8:IECrossfireServer.IEDebugger.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F6923631966F48B9AC2A9AFA67469371"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3642AA9787644AE49E976F940F0E3C1D"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{B63BD92F-6C66-4AB2-A243-D5AFCCF4B587}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_16380981ACEA46229F522133AB0EE67C"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:IEDebugger Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_1B40BB5E02124FF9B6F955FBB96A8D50"
-                    {
-                    "Name" = "8:IECrossfireExtension.IECrossfireBHO.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_18F7A680CA16491A8064827E25FB02C9"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_677A45EB24774D4BB4CB205925DFB276"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{E8779887-5AF1-4071-B4D4-6135157F142C}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7867E4C0E8194250B1C5A36E252C1B33"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:IECrossfireBHO Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_201BA65CA2D04E84BBA80B1AB07918D4"
-                    {
-                    "Name" = "8:Interface"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_586ACAD3A1594C87ACD7416296E90DFC"
-                            {
-                            "Name" = "8:{201244D7-94C6-4FB0-9948-2634523A475B}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3F942CAFDD9D4A888FCBE34387368FF5"
-                                    {
-                                    "Name" = "8:ProxyStubClsid"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2223B9C734BB4A36BEF4CB186A2A3591"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8F3B48039E53497A92F246F8F1179CFB"
-                                    {
-                                    "Name" = "8:ProxyStubClsid32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_AB2F40363E024BEC983CCCB32D7567FA"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E8A1825CB55B427E84178B6B120C0806"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_9E8314CF080A4BF3AD160772324366CC"
-                                            {
-                                            "Name" = "8:Version"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:1.0"
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D7ECCF6A14A944C58FAA444DED9B87A2"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7CB92D303947478EABBF9D8E073A84ED"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IIECrossfireBHO"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_69F8C77F401D4CF58256BE7BD57F3741"
-                            {
-                            "Name" = "8:{031DB015-B1BE-4D39-84D2-D7F96D2ACBFE}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_14A187CB0EF34A30AAABEC3814BC45E7"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_666E886651754ABEAD71A6678A677CFF"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_F455E0ABAC8542CD8969ED4D3A95E39B"
-                                            {
-                                            "Name" = "8:Version"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:1.0"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C316A5011DAA408BB57E52E288127322"
-                                    {
-                                    "Name" = "8:ProxyStubClsid32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_E690399F120A48B3872778A8E04DF89A"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F42FE6E4046A4226823CF1AF1E833CD3"
-                                    {
-                                    "Name" = "8:ProxyStubClsid"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4F7BE565007D4FC6920C17E8188830B0"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_82736A1D9B7C4091B96DA58692F3A215"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:ICrossfireServer"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_89543F6C86D5492D9131A7300AB39A4C"
-                            {
-                            "Name" = "8:{E4121804-5350-4DDD-BE57-9C5B2A13EA29}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_910A4618535145FFA865DC6F399E7914"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7434CB194D544D45BA1B9239D2245670"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7E8A48C0CE254FFF920922FB38B78966"
-                                            {
-                                            "Name" = "8:Version"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:1.0"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B7170CC5D76143F69030E4D91BD7BAF2"
-                                    {
-                                    "Name" = "8:ProxyStubClsid"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_826C8BEEE3864EC9A9A5BE4F92C82C27"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FF825DF4C75A465F9C545783FF320D6D"
-                                    {
-                                    "Name" = "8:ProxyStubClsid32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D1ECEA64B21649698E8E25890FB24842"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7FE5E781251E419AA5B9BFB7F4401263"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IBrowserContext"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_CB5D4686903A45D599D3B00F95A695BC"
-                            {
-                            "Name" = "8:{F48260BB-C061-4410-9CE1-4C5C7602690E}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_21BBEDAE31E943E698C8C45DA043ACF7"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_58B3B11A66DD47929A68B223F6B26217"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_6D4D7E96CF374E618A3F0F087BAF1869"
-                                            {
-                                            "Name" = "8:Version"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:1.0"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3C40A9300C924465A845622F699B9323"
-                                    {
-                                    "Name" = "8:ProxyStubClsid32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2D06E6FDB72C4C0B998046E21BB0388F"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_58B8704566E541F49CDAD7753EE275FF"
-                                    {
-                                    "Name" = "8:ProxyStubClsid"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_558F2CA7E27B4E75A7D97578534E5303"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_41DC2F33923E43BC8EC6F1D28CA5DE1A"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:ICrossfireServerClass"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F7E064D187904527A1ABDB34EF0AEBD1"
-                            {
-                            "Name" = "8:{31DC44C3-7C98-4737-8D62-0E78FCCC503D}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2D3F710A45A1434F93A92412A702472A"
-                                    {
-                                    "Name" = "8:ProxyStubClsid32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_340155EB426647BD98AA10A123DC345E"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_556A0DE2229E473699BE51B5745373F2"
-                                    {
-                                    "Name" = "8:ProxyStubClsid"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_0C6C99C3E52849CB9A64E0B2B4964173"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{00020424-0000-0000-C000-000000000046}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9285E9BFC18F4622B37D37EA44AFAD0D"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_57BF5E56729C4ABDAF9927D8314D1661"
-                                            {
-                                            "Name" = "8:Version"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:1.0"
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_B55872EF6DF54498B908ED6C6CAF878D"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_40E1972E828F460A85C2A7C390B9B354"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IJSEvalCallback2"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2D25E30548D542F4B33AE6F44BABCBD1"
-                    {
-                    "Name" = "8:IECrossfireServer.BrowserContext.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A4755051F9B94879AD6361D3A1308374"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5F293AAD63564BCBBC9DA0535905DD42"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{2FA65B09-5063-45FA-91F9-50EB7F4AF2C6}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_6EECB0140A9A4EA2B47F3FD58857401D"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:BrowserContext Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_38003254C8CB4ED4AE5E87F366DE40CC"
-                    {
-                    "Name" = "8:IECrossfireServer.JSEvalCallback.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_45BB10C8BC1B4D50A875CE0651226460"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A6DA5E07BBE645098CEFA45FBDE68330"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_AF3B2A5FB2F84F30B14A80A13B09D155"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:JSEvalCallback Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3A0001E14F77457785324A1075F632C9"
-                    {
-                    "Name" = "8:AppID"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8C597E49BD764B57871896D532789B4F"
-                            {
-                            "Name" = "8:IECrossfireServer.EXE"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C5D5F21E1A0B40BD917C309BA53D4C17"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9D815AE40851488D933CAB2C97552870"
-                            {
-                            "Name" = "8:IECrossfireExtension.DLL"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_DBD499F663D54BCBBF87F0574AB49082"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{95F1ADFB-5440-462c-BAA3-9C068F1B1450}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B738DD8B0C3C463B81F1406E380A4F59"
-                            {
-                            "Name" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_97E56B48558E427F96BC5D3CA6EBCF89"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DAB88FE1790C498BAFDF54934FC0D426"
-                            {
-                            "Name" = "8:{95F1ADFB-5440-462c-BAA3-9C068F1B1450}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A5AB7052E33F4D9E80E1A965AB105BF8"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireExtension"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_435131B7C7864453A3B2156B121EBF44"
-                    {
-                    "Name" = "8:IECrossfireServer.CrossfireServerClass"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_ACA905BC774247AB9B28A80AB2BB829A"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4E073EBBC6DA431AA0196B77663A839C"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FCDF0E884414407A804EA28A1D8DDE8F"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_387AC8239F894A439A928F48C48F1A9A"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer.CrossfireServerClass.1"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_1B2CEEFA6D2C4ED48E43882AB863032D"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:CrossfireServerClass Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4DBD5710896B42C6AD40813839348AA9"
-                    {
-                    "Name" = "8:TypeLib"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E1E9244ED8E248A7B646818FD25DAFE1"
-                            {
-                            "Name" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:FALSE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_10E18DDC7BDA4F0EB8B3AF65D13FD904"
-                                    {
-                                    "Name" = "8:1.0"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:FALSE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_01A2D6B4825E455EB6C299D147D16760"
-                                            {
-                                            "Name" = "8:0"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:FALSE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8E23A73E574A4BC9B41F095BBD84FEB8"
-                                                    {
-                                                    "Name" = "8:win32"
-                                                    "Condition" = "8:"
-                                                    "AlwaysCreate" = "11:FALSE"
-                                                    "DeleteAtUninstall" = "11:FALSE"
-                                                    "Transitive" = "11:FALSE"
-                                                        "Keys"
-                                                        {
-                                                        }
-                                                        "Values"
-                                                        {
-                                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_56F3CC3492694A6DACED48A48384BF8E"
-                                                            {
-                                                            "Name" = "8:"
-                                                            "Condition" = "8:"
-                                                            "Transitive" = "11:FALSE"
-                                                            "ValueTypes" = "3:1"
-                                                            "Value" = "8:[TARGETDIR]IECrossfireExtension.dll"
-                                                            }
-                                                        }
-                                                    }
-                                                }
-                                                "Values"
-                                                {
-                                                }
-                                            }
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_944452F0FE714EB880EDBA6C65CD412C"
-                                            {
-                                            "Name" = "8:HELPDIR"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:FALSE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                }
-                                                "Values"
-                                                {
-                                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_E03A865A7DF14A0F80574FC790ABB677"
-                                                    {
-                                                    "Name" = "8:"
-                                                    "Condition" = "8:"
-                                                    "Transitive" = "11:FALSE"
-                                                    "ValueTypes" = "3:1"
-                                                    "Value" = "8:"
-                                                    }
-                                                }
-                                            }
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BCF40615466D466D8EE618167D64ACAA"
-                                            {
-                                            "Name" = "8:FLAGS"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:FALSE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                }
-                                                "Values"
-                                                {
-                                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4DC6FB535C764BE8826AD1B03A51CFB6"
-                                                    {
-                                                    "Name" = "8:"
-                                                    "Condition" = "8:"
-                                                    "Transitive" = "11:FALSE"
-                                                    "ValueTypes" = "3:1"
-                                                    "Value" = "8:0"
-                                                    }
-                                                }
-                                            }
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_191A3CC7B04C4FF3ADC9AD697DAF205A"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireExtension 1.0 Type Library"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_529DF02296EB412E999A4FF767FA88D7"
-                    {
-                    "Name" = "8:IECrossfireServer.CrossfireServer"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4D6C36184DB440DCA6DEE15F79103F06"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7FBC4B2CE01C4DB3A25F58344A0A82A4"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer.CrossfireServer.1"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DADD0BAFEB3046B694230EBEEADE32F9"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_757265130B374C9488D84CE3772B0D11"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{47836AF4-3E0C-4995-8029-FF931C5A43FC}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5531174EBB4D4E2A8035BEB2361EBFA9"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:CrossfireServer Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_83ACD655F8154369B627E99E631C0A4D"
-                    {
-                    "Name" = "8:IECrossfireServer.JSEvalCallback"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_74B4BD3F62174A3C8A13E1A839EF4CC7"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2750135FD2284B178177C21EFDB90375"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer.JSEvalCallback.1"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D7BFC80626BE44E2BA0655DE1CA9EBBB"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3F8F6D5A101841AC92FE28CBD1FE23D4"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_06E13A0FF629482888AC5C70A9776BA6"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:JSEvalCallback Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_86C56E9F48C04E8BB4DF5D08AABF908E"
-                    {
-                    "Name" = "8:IECrossfireServer.PendingBreakpoint"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9DC841FA63A74F71BF1BF15EC5BFDB4D"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_DAB080C6ECBA446BBF6101639A8CFCB4"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer.PendingBreakpoint.1"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F8D91A61C79649C5B5CFA1EC7AB27D53"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A57BA27E0EE44032BFB4AB3C4526E27F"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{88E7C480-7B7A-47C5-8329-CE1FDF415527}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A7B4878C249541E58FD74135F2052A8E"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:PendingBreakpoint Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8960DC4205BE4176AFDF0FC8C925A61F"
-                    {
-                    "Name" = "8:IECrossfireExtension.ExplorerBar.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_78AC67DBD4E74F26AB8C0AD3BBE438F6"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_561C7A44927E4210ABF83AFBBDDA66C2"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{34EF57F8-9295-483E-B656-4EE154B0B3A5}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_8E01A0423B694523BB58138B59E6A8AD"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:ExplorerBar Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A05AF1F3CE414E8EB045203FD6083127"
-                    {
-                    "Name" = "8:IECrossfireExtension.IECrossfireBHO"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9FA71E4D5DE34DAD9F570EAF455ED0DB"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_0C2CBA7ABE8D45A3B066973B117FC480"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireExtension.IECrossfireBHO.1"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D336456A386240B9A9C7DEA8D1599F08"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_E07F0A58052247F48DD3376D0C722A9E"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{E8779887-5AF1-4071-B4D4-6135157F142C}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3B62D1B47E014B258923D69092C54D7C"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:IECrossfireBHO Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AC1D202289004B97AD0C60F99AB421F0"
-                    {
-                    "Name" = "8:IECrossfireServer.CrossfireServer.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2E3DED797B0540E9AA2C0C0992FFE8B5"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5087D77413B445CD9A0B9C88C179D86B"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{47836AF4-3E0C-4995-8029-FF931C5A43FC}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C8F7BAD6F92A4F7080E5EE05FF2113D2"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:CrossfireServer Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C4C8A656186E4FF09119160B0E7F558A"
-                    {
-                    "Name" = "8:CLSID"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:FALSE"
-                    "DeleteAtUninstall" = "11:FALSE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_148973BAFDA646AD978B7F48BC23F076"
-                            {
-                            "Name" = "8:{34EF57F8-9295-483E-B656-4EE154B0B3A5}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_674E61BFA8224C96AF11A77291ECD44F"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2C1CEA400BA9465896B06541C124C6F0"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireExtension.ExplorerBar"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_CDA3869C920848A99A73F553EE97043B"
-                                    {
-                                    "Name" = "8:InProcServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5DBF7243F6B340FB80BA132FF92BBDD7"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireExtension.dll\""
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_8D0049393DD84C69B3AED852B6A6888C"
-                                            {
-                                            "Name" = "8:ThreadingModel"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:Apartment"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D0BE4C6074704E7AAAEBB3BD424F6B35"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_47A95C86274B4480B4292893B1FAE346"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireExtension.ExplorerBar.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E65FEDA5DFEA48E1A69FB87F2D6F1D31"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_CA571F541C8A48D9ABEF8552D19AF384"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EA4C8E2970E246A4816B023EFE4A8CE9"
-                                    {
-                                    "Name" = "8:Implemented Categories"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_34578DA9CB174A679F04813CFFB3BB4F"
-                                            {
-                                            "Name" = "8:{00021494-0000-0000-C000-000000000046}"
-                                            "Condition" = "8:"
-                                            "AlwaysCreate" = "11:TRUE"
-                                            "DeleteAtUninstall" = "11:FALSE"
-                                            "Transitive" = "11:FALSE"
-                                                "Keys"
-                                                {
-                                                }
-                                                "Values"
-                                                {
-                                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_1BCB524A0FC046FB8B12AD4AB4849B40"
-                                                    {
-                                                    "Name" = "8:"
-                                                    "Condition" = "8:"
-                                                    "Transitive" = "11:FALSE"
-                                                    "ValueTypes" = "3:1"
-                                                    "Value" = "8:"
-                                                    }
-                                                }
-                                            }
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A5953A6E3B914DF38BDF3080C5E7EB70"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_6213E46F1B914A1E95F1CFA63FA1B495"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:Crossfire Server Panel"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A0FFC2D61F2D46ED9BEB77E61BC510A3"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{95F1ADFB-5440-462c-BAA3-9C068F1B1450}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2189685375BB4906B9EDD07522F45C93"
-                            {
-                            "Name" = "8:{E8779887-5AF1-4071-B4D4-6135157F142C}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_29D2515DF67F4AAEB9B625A996D1BBF5"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5D7424E813B246ABB975203C59AAE93E"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireExtension.IECrossfireBHO.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3E29680E7B1F4D13879221993539367F"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_93E6B19383134D2D8BE8A5667D49C3D4"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireExtension.IECrossfireBHO"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_98E1EBDD2DF34A3DB17242CC264940E2"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_17F246F05C8246208876894BD173E40E"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{3FE86E35-0025-45C7-A841-E10AFE660A7F}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E871087D818A40BEA65E10E886555449"
-                                    {
-                                    "Name" = "8:InprocServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_ABB5045D832E4DF1BAE3C399CD87EE7A"
-                                            {
-                                            "Name" = "8:ThreadingModel"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:Apartment"
-                                            }
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_CD4CF6476714454E826CFF89017924C9"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireExtension.dll\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EE4B1D30809140E5A880B836B6F55E35"
-                                    {
-                                    "Name" = "8:Programmable"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_ADF6497B9A2547CBBD130083FF18EDA4"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2CBA68ED52344E278012A8639D2FA855"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_F063353B630D41D799D694138C168263"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireBHO Class"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_31FE7680CCAD496880BA404E46BC9342"
-                            {
-                            "Name" = "8:{2FA65B09-5063-45FA-91F9-50EB7F4AF2C6}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_197AD18B2A564CD6A8ECB3E268B0E963"
-                                    {
-                                    "Name" = "8:LocalServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5ABF12C6BE6C4EB2AEAA812956621F09"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.exe\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_45BC9F0647A64FB8A3F2E14880C1541E"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_60FF0374CD404B9280D596038401FE03"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_78D0DCE7F1C042A5A0E9AB4E61D9C69A"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_FC3EAF39D5B44ACAA9502C5774C52B20"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.BrowserContext"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D6F8F18B650241BDB24C1F70C6C10C54"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_199676408CE241C1AA90E264D359BE87"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.BrowserContext.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E5259319E3E74B829935D115549B31CD"
-                                    {
-                                    "Name" = "8:Programmable"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_1210728149C24013ABF07FD109B51E00"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5ACB84076E6241F08A14BEFE091D1D63"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:BrowserContext Class"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5447D14FBC01477CBF32404CB6285437"
-                            {
-                            "Name" = "8:{88E7C480-7B7A-47C5-8329-CE1FDF415527}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_117E8AFCE9E34F9A95174EA7AE803064"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A40708D46C3142968865DFB012646256"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_18D7DC3C4D314539A34548AE6D0003D9"
-                                    {
-                                    "Name" = "8:LocalServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_F895170364C849E3BE709AA237576985"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.exe\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_31A4D968065D43F9B0A0C7B79129FED5"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_493D147B7E0E4F6D9752290B1547D846"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.PendingBreakpoint.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6B41532634F14B0E84F5C0B424AA792B"
-                                    {
-                                    "Name" = "8:Programmable"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AFBD8B5BE39E4CE4BAF02AA05AF7CD33"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_36D87C6857A94E12B4B81813B9FCA56C"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.PendingBreakpoint"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_9947B5CC790D4F16AAF2DB140EEDA4F1"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:PendingBreakpoint Class"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_FA3FDC633E034249BF0AB4E9823A325F"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8493B1EC5C4A436CBFD65942FB5102E7"
-                            {
-                            "Name" = "8:{7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0CCC8CFA6FB44629A2C37F772CCABB47"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3A04ECDEE1FB4036BE36713B81911FD7"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_69A60A49A87E493BBDFE42D51BCB1F1A"
-                                    {
-                                    "Name" = "8:LocalServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_8B0DF96E2EFC4BB19DC738049C902C24"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.exe\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_98C20FCBD4C24FB6B5C846EDE3741708"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D2B52805930048C183B3CADEF6DCA1D3"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.CrossfireServer.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B80CDE0101CF436B9B198FC5FF241AE4"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_786796B507774648B281563B5A0B8E2F"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.CrossfireServer"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FA9701837CB04BB7943D855A9A5CCF03"
-                                    {
-                                    "Name" = "8:Programmable"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_ACDC8F134FDE4142BD25F0A7AE0BB7EE"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:CrossfireServerClass Class"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_FF96B7E67B1744E4BD6E1E70716FF87A"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BD043FDE5D2A42979AAF59672F48E60E"
-                            {
-                            "Name" = "8:{4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_00D241A240234703890E7A841E572210"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_B86A5208CF7A478AACC5D1DAEB5845C2"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.JSEvalCallback"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4712AC4E83904A7BA927E6338F16A36B"
-                                    {
-                                    "Name" = "8:LocalServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_34F2240F979846DEB84DE7B25FF8EF87"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.exe\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_538132D821DE498FAC092D7B615529B9"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4E6C9E5861B64D1FA7BAE98A2C239256"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_921FA0CC8E63402C8996E79C819D3ABF"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_AF5C5A2649C74F079D826795879CDD62"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.JSEvalCallback.1"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5D327EBF408E42B5B1F6C93BD8513DF8"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:JSEvalCallback Class"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A6DD64D21B91424B901C9D8A9BF5BCA2"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DFCF0F4E58914515BEB6C55DA50484B9"
-                            {
-                            "Name" = "8:{47836AF4-3E0C-4995-8029-FF931C5A43FC}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AF4E813CA86E436CB889952393707738"
-                                    {
-                                    "Name" = "8:LocalServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_809B9CA8B38840859F207535B9B76746"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.exe\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BA03A9916DBE4CBAA4343D5657B686A4"
-                                    {
-                                    "Name" = "8:Programmable"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_BA8FE23FFD2F4EDD898196521266F8CB"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_05DB65BE480C41418D76B744CE130902"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.CrossfireServer.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E6C80DC2868E468A9366A450E5C84E64"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_4DA8B5F4EDCC429F8AA3F9AE2FECA5F2"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F9B06D0FC3E64D749B438E271E15B364"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_296BEEA7DB5447C5AA3FF9C5D4F5C5A6"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.CrossfireServer"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_2FB7D3E090994B0BA8A016984A40C750"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:CrossfireServer Class"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_6AA994D634F94D26BDF118B1D44D32A7"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_E0B108A6542C40D0988D5C05CCEEEA26"
-                            {
-                            "Name" = "8:{B63BD92F-6C66-4AB2-A243-D5AFCCF4B587}"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:TRUE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_294F1D32FB6147B4A66051FAD175694B"
-                                    {
-                                    "Name" = "8:ProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_9A695589D9CE4F87B925FA00F4101A42"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.IEDebugger.1"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6303304E0B6D4111A87820A954FDBEAE"
-                                    {
-                                    "Name" = "8:LocalServer32"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A83BD51883884469AC761DB66289590C"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:\"[TARGETDIR]IECrossfireServer.exe\""
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_67A637C1B5574692A66B8248FD9D1CE4"
-                                    {
-                                    "Name" = "8:VersionIndependentProgID"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_BE5E78C8B51C466FB7D4ACF45E34E0EE"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:IECrossfireServer.IEDebugger"
-                                            }
-                                        }
-                                    }
-                                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DA68A690366F419A8A26888C7414B145"
-                                    {
-                                    "Name" = "8:TypeLib"
-                                    "Condition" = "8:"
-                                    "AlwaysCreate" = "11:TRUE"
-                                    "DeleteAtUninstall" = "11:FALSE"
-                                    "Transitive" = "11:FALSE"
-                                        "Keys"
-                                        {
-                                        }
-                                        "Values"
-                                        {
-                                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_10A75B126CE640558A00C40361240B97"
-                                            {
-                                            "Name" = "8:"
-                                            "Condition" = "8:"
-                                            "Transitive" = "11:FALSE"
-                                            "ValueTypes" = "3:1"
-                                            "Value" = "8:{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}"
-                                            }
-                                        }
-                                    }
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_5CDC11CDB2FB46FE8B2ABD1733474AEC"
-                                    {
-                                    "Name" = "8:AppID"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}"
-                                    }
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_B1FF2180AFDE42D7BC534F06FE0EB03F"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IEDebugger Class"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_C9BBCB11A5F6451E81946BC374538D1A"
-                    {
-                    "Name" = "8:IECrossfireServer.PendingBreakpoint.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6B7C8F9FBF484209A8F72D3827C6EB3A"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_E22C07399B164639970B05D97A00CBD6"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{88E7C480-7B7A-47C5-8329-CE1FDF415527}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_EC0BFBC59FD74795B16CA8AA9FBFD8C0"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:PendingBreakpoint Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_CFB1227E060E4123B7A056491E8A13AC"
-                    {
-                    "Name" = "8:IECrossfireExtension.ExplorerBar"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D7C3E2CC05624B2B854D0399CEF5FF9D"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_84ED5A18D4EB4E1BA8F1AA552DBA429A"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{34EF57F8-9295-483E-B656-4EE154B0B3A5}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_FFFB345DD32A43C59DC80B495EAF70F2"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_47631623514341C2A3B829890F4B45CB"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireExtension.ExplorerBar.1"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7A179D2A9ED84F678B4CDDCE674DC813"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:ExplorerBar Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D5D43D7527814005AF04D5123AE1DADC"
-                    {
-                    "Name" = "8:IECrossfireServer.CrossfireServerClass.1"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_AB8139DF46764224A4B27B4FB3772902"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_02BD6CF55FBA451697FE25910785FF7F"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_21710665B9254B099F4D45AB8F0044FA"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:CrossfireServerClass Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_D6B79D15D35C4F6B8E85A1BE0CE099D9"
-                    {
-                    "Name" = "8:IECrossfireServer.BrowserContext"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_2F787B1D9DFD40A3AD84C50BEE9DA734"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_C68E68F33B4E4355A233450B7BDABD19"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer.IBrowserContext.1"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_5B6862B0D817480A9BF9D232525B3BBD"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_B9BD386B695A4F5AB8D855D111CE4398"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{2FA65B09-5063-45FA-91F9-50EB7F4AF2C6}"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_13994CAB3E484AB79A7D86033662E28F"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:BrowserContext Class"
-                            }
-                        }
-                    }
-                    "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_DDE8E336BE8745C393882C835283FD46"
-                    {
-                    "Name" = "8:IECrossfireServer.IEDebugger"
-                    "Condition" = "8:"
-                    "AlwaysCreate" = "11:TRUE"
-                    "DeleteAtUninstall" = "11:TRUE"
-                    "Transitive" = "11:FALSE"
-                        "Keys"
-                        {
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_49C42D3E92F04AF5840CC4EDEF35F12D"
-                            {
-                            "Name" = "8:CLSID"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_673777D75211427FA3801998CD5FD772"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:{B63BD92F-6C66-4AB2-A243-D5AFCCF4B587}"
-                                    }
-                                }
-                            }
-                            "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_A8BDC4165EA9482AAB1C952DB1C02DE5"
-                            {
-                            "Name" = "8:CurVer"
-                            "Condition" = "8:"
-                            "AlwaysCreate" = "11:TRUE"
-                            "DeleteAtUninstall" = "11:FALSE"
-                            "Transitive" = "11:FALSE"
-                                "Keys"
-                                {
-                                }
-                                "Values"
-                                {
-                                    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_484B701FC98D4977A99F0DAF3FE75F2F"
-                                    {
-                                    "Name" = "8:"
-                                    "Condition" = "8:"
-                                    "Transitive" = "11:FALSE"
-                                    "ValueTypes" = "3:1"
-                                    "Value" = "8:IECrossfireServer.IEDebugger.1"
-                                    }
-                                }
-                            }
-                        }
-                        "Values"
-                        {
-                            "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_CD761FA04CBD44BCADF8C8AD3625D690"
-                            {
-                            "Name" = "8:"
-                            "Condition" = "8:"
-                            "Transitive" = "11:FALSE"
-                            "ValueTypes" = "3:1"
-                            "Value" = "8:IEDebugger Class"
-                            }
-                        }
-                    }
-                }
-            }
-            "HKU"
-            {
-                "Keys"
-                {
-                }
-            }
-            "HKPU"
-            {
-                "Keys"
-                {
-                }
-            }
-        }
-        "Sequences"
-        {
-        }
-        "Shortcut"
-        {
-        }
-        "UserInterface"
-        {
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_141F29B7D3194AD58D4FE853AF7B3FE6"
-            {
-            "Name" = "8:#1902"
-            "Sequence" = "3:2"
-            "Attributes" = "3:3"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_05C032DEA994412DA349D66CCEEFF116"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Finished"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_467DA7C5045B4D0F9879613BDBDA2EB4"
-            {
-            "Name" = "8:#1902"
-            "Sequence" = "3:1"
-            "Attributes" = "3:3"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_5DD72B82A55A4F6D9DDB6E2984AAABE3"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Finished"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "UpdateText"
-                            {
-                            "Name" = "8:UpdateText"
-                            "DisplayName" = "8:#1058"
-                            "Description" = "8:#1158"
-                            "Type" = "3:15"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1258"
-                            "DefaultValue" = "8:#1258"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5681E9F1FE4C4C43AEA755A81B3B9E7C"
-            {
-            "Name" = "8:#1900"
-            "Sequence" = "3:2"
-            "Attributes" = "3:1"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3738443BB8D64900810C574693BB6BBF"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Welcome"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "CopyrightWarning"
-                            {
-                            "Name" = "8:CopyrightWarning"
-                            "DisplayName" = "8:#1002"
-                            "Description" = "8:#1102"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1202"
-                            "DefaultValue" = "8:#1202"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Welcome"
-                            {
-                            "Name" = "8:Welcome"
-                            "DisplayName" = "8:#1003"
-                            "Description" = "8:#1103"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1203"
-                            "DefaultValue" = "8:#1203"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_E3135651702942C19F60B823A2F3E308"
-                    {
-                    "Sequence" = "3:300"
-                    "DisplayName" = "8:Confirm Installation"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_FECC155F4BEC4D4E8A58D25F7EB40A34"
-                    {
-                    "Sequence" = "3:200"
-                    "DisplayName" = "8:Installation Folder"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_855DFCB9ED424E1AB299D900E829858A"
-            {
-            "Name" = "8:#1900"
-            "Sequence" = "3:1"
-            "Attributes" = "3:1"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_68352804719046BB8792DBF3748067E5"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Welcome"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "CopyrightWarning"
-                            {
-                            "Name" = "8:CopyrightWarning"
-                            "DisplayName" = "8:#1002"
-                            "Description" = "8:#1102"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1202"
-                            "DefaultValue" = "8:#1202"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "Welcome"
-                            {
-                            "Name" = "8:Welcome"
-                            "DisplayName" = "8:#1003"
-                            "Description" = "8:#1103"
-                            "Type" = "3:3"
-                            "ContextData" = "8:"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:1"
-                            "Value" = "8:#1203"
-                            "DefaultValue" = "8:#1203"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EB0547A750B948FFB622DA67A20BFCC0"
-                    {
-                    "Sequence" = "3:300"
-                    "DisplayName" = "8:Confirm Installation"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_EE2AF07CF21E42A59E4C0C834C8F12E8"
-                    {
-                    "Sequence" = "3:200"
-                    "DisplayName" = "8:Installation Folder"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "InstallAllUsersVisible"
-                            {
-                            "Name" = "8:InstallAllUsersVisible"
-                            "DisplayName" = "8:#1059"
-                            "Description" = "8:#1159"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_B8CA9A4581ED49FA9AB65AF682B73E84"
-            {
-            "UseDynamicProperties" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_BF98141759964ECE9D4455465F90995E"
-            {
-            "Name" = "8:#1901"
-            "Sequence" = "3:1"
-            "Attributes" = "3:2"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_B29833B9E6604479B045E19D92964B44"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Progress"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ShowProgress"
-                            {
-                            "Name" = "8:ShowProgress"
-                            "DisplayName" = "8:#1009"
-                            "Description" = "8:#1109"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-            "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_C663B24DF9944D95B7303B0209C0BA01"
-            {
-            "UseDynamicProperties" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
-            }
-            "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F6A3BC8A25314E15A8F9D1CD084AE407"
-            {
-            "Name" = "8:#1901"
-            "Sequence" = "3:2"
-            "Attributes" = "3:2"
-                "Dialogs"
-                {
-                    "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6E55C6AE6F544E5591EB64DD13882CEC"
-                    {
-                    "Sequence" = "3:100"
-                    "DisplayName" = "8:Progress"
-                    "UseDynamicProperties" = "11:TRUE"
-                    "IsDependency" = "11:FALSE"
-                    "SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
-                        "Properties"
-                        {
-                            "BannerBitmap"
-                            {
-                            "Name" = "8:BannerBitmap"
-                            "DisplayName" = "8:#1001"
-                            "Description" = "8:#1101"
-                            "Type" = "3:8"
-                            "ContextData" = "8:Bitmap"
-                            "Attributes" = "3:4"
-                            "Setting" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                            "ShowProgress"
-                            {
-                            "Name" = "8:ShowProgress"
-                            "DisplayName" = "8:#1009"
-                            "Description" = "8:#1109"
-                            "Type" = "3:5"
-                            "ContextData" = "8:1;True=1;False=0"
-                            "Attributes" = "3:0"
-                            "Setting" = "3:0"
-                            "Value" = "3:1"
-                            "DefaultValue" = "3:1"
-                            "UsePlugInResources" = "11:TRUE"
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        "MergeModule"
-        {
-            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_95865189E786418BB687E36D639FCC3E"
-            {
-            "UseDynamicProperties" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "SourcePath" = "8:Microsoft_VC100_CRT_x86.msm"
-                "Properties"
-                {
-                }
-            "LanguageId" = "3:0"
-            "Exclude" = "11:FALSE"
-            "Folder" = "8:"
-            "Feature" = "8:"
-            "IsolateTo" = "8:"
-            }
-            "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_D3A03D18E59D4182AA06050CD174CB83"
-            {
-            "UseDynamicProperties" = "11:TRUE"
-            "IsDependency" = "11:TRUE"
-            "SourcePath" = "8:Microsoft_VC100_ATL_x86.msm"
-                "Properties"
-                {
-                }
-            "LanguageId" = "3:0"
-            "Exclude" = "11:FALSE"
-            "Folder" = "8:"
-            "Feature" = "8:"
-            "IsolateTo" = "8:"
-            }
-        }
-        "ProjectOutput"
-        {
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_0F2BD160D0CD47E9ACD9EB10FEED1697"
-            {
-            "SourcePath" = "8:..\\IECrossfireServer\\ReleasePS\\IECrossfireServerPS.dll"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{668D1F72-89E4-47B7-AB3C-6851CDD0073D}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_15F66E823EB84B5497A9F369FE54E6DA"
-            {
-            "SourcePath" = "8:"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Symbols"
-            "OutputProjectGuid" = "8:{2B73B89A-A1B4-479B-8751-A25B9036A9AF}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_68B2C602B4B448ADBFC58961A342D06B"
-            {
-            "SourcePath" = "8:..\\IECrossfireServer\\Release\\IECrossfireServer.exe"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{2B73B89A-A1B4-479B-8751-A25B9036A9AF}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A558BCE26AC6426C9ABA48959A6EB3C6"
-            {
-            "SourcePath" = "8:..\\IECrossfireExtension\\Release\\IECrossfireExtension.dll"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_AA4375A840F54EC4A247CB698ADBA7FC"
-            {
-            "SourcePath" = "8:"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Symbols"
-            "OutputProjectGuid" = "8:{EFAC86C6-2F6E-4657-A971-632DE21EFF9F}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
-            "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F5BF6CB0B9984A0F91602DCB4DF8EC1C"
-            {
-            "SourcePath" = "8:..\\IECrossfireExtension\\ReleasePS\\IECrossfireExtensionPS.dll"
-            "TargetName" = "8:"
-            "Tag" = "8:"
-            "Folder" = "8:_F79B3187A2A440AF924ED0481F6F9DA5"
-            "Condition" = "8:"
-            "Transitive" = "11:FALSE"
-            "Vital" = "11:TRUE"
-            "ReadOnly" = "11:FALSE"
-            "Hidden" = "11:FALSE"
-            "System" = "11:FALSE"
-            "Permanent" = "11:FALSE"
-            "SharedLegacy" = "11:FALSE"
-            "PackageAs" = "3:1"
-            "Register" = "3:1"
-            "Exclude" = "11:FALSE"
-            "IsDependency" = "11:FALSE"
-            "IsolateTo" = "8:"
-            "ProjectOutputGroupRegister" = "3:1"
-            "OutputConfiguration" = "8:"
-            "OutputGroupCanonicalName" = "8:Built"
-            "OutputProjectGuid" = "8:{0B6A6526-C6C0-4619-A938-E3D90A16A9B7}"
-            "ShowKeyOutput" = "11:TRUE"
-                "ExcludeFilters"
-                {
-                }
-            }
-        }
-    }
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireServer.ico b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireServer.ico
deleted file mode 100644
index 2801d6e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireServer.ico
+++ /dev/null
Binary files differ
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireServerGray.ico b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireServerGray.ico
deleted file mode 100644
index 2801d6e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/IECrossfireServerGray.ico
+++ /dev/null
Binary files differ
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/Release/IECrossfireInstaller.msi b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/Release/IECrossfireInstaller.msi
deleted file mode 100644
index c157be8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/Release/IECrossfireInstaller.msi
+++ /dev/null
Binary files differ
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/Release/setup.exe b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/Release/setup.exe
deleted file mode 100644
index 1719547..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireInstaller/Release/setup.exe
+++ /dev/null
Binary files differ
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/BrowserContext.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/BrowserContext.rgs
deleted file mode 100644
index b03c213..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/BrowserContext.rgs
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR {
-	IECrossfireServer.BrowserContext.1 = s 'BrowserContext Class' {
-		CLSID = s '{2FA65B09-5063-45FA-91F9-50EB7F4AF2C6}'
-	}
-	IECrossfireServer.BrowserContext = s 'BrowserContext Class' {
-		CLSID = s '{2FA65B09-5063-45FA-91F9-50EB7F4AF2C6}'
-		CurVer = s 'IECrossfireServer.IBrowserContext.1'
-	}
-	NoRemove CLSID {
-		ForceRemove {2FA65B09-5063-45FA-91F9-50EB7F4AF2C6} = s 'BrowserContext Class' {
-			ProgID = s 'IECrossfireServer.BrowserContext.1'
-			VersionIndependentProgID = s 'IECrossfireServer.BrowserContext'
-			ForceRemove 'Programmable'
-			LocalServer32 = s '%MODULE%'
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBPManager.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBPManager.cpp
deleted file mode 100644
index 309c7f1..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBPManager.cpp
+++ /dev/null
@@ -1,411 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "CrossfireBPManager.h"
-
-const wchar_t* CrossfireBPManager::KEY_BREAKPOINTS = L"breakpoints";
-
-CrossfireBPManager::CrossfireBPManager() {
-	m_breakpoints = new std::map<unsigned int, CrossfireBreakpoint*>;
-}
-
-CrossfireBPManager::~CrossfireBPManager() {
-	std::map<unsigned int,CrossfireBreakpoint*>::iterator iterator = m_breakpoints->begin();
-	while (iterator != m_breakpoints->end()) {
-		delete iterator->second;
-		iterator++;
-	}
-	delete m_breakpoints;
-}
-
-/* IBreakpointTarget */
-
-bool CrossfireBPManager::breakpointAttributeChanged(unsigned int handle, wchar_t* name, Value* value) {
-	/* no further action required since this object just stores the breakpoint data */
-	return true;
-}
-
-bool CrossfireBPManager::deleteBreakpoint(unsigned int handle) {
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-	if (iterator == m_breakpoints->end()) {
-		return false;
-	}
-
-	delete iterator->second;
-	m_breakpoints->erase(iterator);
-	return true;
-}
-
-CrossfireBreakpoint* CrossfireBPManager::getBreakpoint(unsigned int handle) {
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-	if (iterator == m_breakpoints->end()) {
-		Logger::error("CrossfireBPManager.getBreakpoint(): unknown breakpoint handle", handle);
-		return NULL;
-	}
-
-	return iterator->second;
-}
-
-void CrossfireBPManager::getBreakpoints(CrossfireBreakpoint*** ___values) {
-	size_t size = m_breakpoints->size();
-	CrossfireBreakpoint** breakpoints = new CrossfireBreakpoint*[size + 1];
-
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator it = m_breakpoints->begin();
-	int index = 0;
-	while (it != m_breakpoints->end()) {
-		it->second->clone(&breakpoints[index++]);
-		it++;
-	}
-	breakpoints[index] = NULL;
-
-	*___values = breakpoints;
-}
-
-bool CrossfireBPManager::setBreakpoint(CrossfireBreakpoint *breakpoint, bool isRetry) {
-	CrossfireLineBreakpoint* lineBp = (CrossfireLineBreakpoint*)breakpoint;
-	CrossfireLineBreakpoint* copy = NULL;
-	lineBp->clone((CrossfireBreakpoint**)&copy);
-	m_breakpoints->insert(std::pair<unsigned int, CrossfireBreakpoint*>(lineBp->getHandle(), copy));
-	return true;
-}
-
-/* CrossfireBPManager */
-
-int CrossfireBPManager::commandChangeBreakpoints(Value* arguments, IBreakpointTarget** targets, Value** _responseBody, wchar_t** _message) {
-	*_responseBody = NULL;
-
-	Value* value_handles = arguments->getObjectValue(CrossfireBreakpoint::KEY_HANDLES);
-	if (!value_handles || value_handles->getType() != TYPE_ARRAY) {
-		*_message = _wcsdup(L"'changeBreakpoints' command does not have a valid 'handles' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	Value* value_attributes = arguments->getObjectValue(CrossfireBreakpoint::KEY_ATTRIBUTES);
-	if (!value_attributes || value_attributes->getType() != TYPE_OBJECT) {
-		*_message = _wcsdup(L"'changeBreakpoints' command does not have a valid 'attributes' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	int code = CODE_OK;
-	Value** handles = NULL;
-	value_handles->getArrayValues(&handles);
-	int handlesIndex = 0;
-	Value* value_handle = handles[handlesIndex++];
-	while (value_handle) {
-		if (value_handle->getType() != TYPE_NUMBER || value_handle->getNumberValue() < 1) {
-			*_message = _wcsdup(L"'changeBreakpoints' command specifies an invalid handle value");
-			code = CODE_INVALID_ARGUMENT;
-			break;
-		}
-
-		/* ensure that the handle is valid */
-		unsigned int handle = (unsigned int)value_handle->getNumberValue();
-		CrossfireBreakpoint* breakpoint = getBreakpoint(handle);
-		if (!breakpoint) {
-			*_message = _wcsdup(L"'changeBreakpoints' command specifies an unknown breakpoint handle");
-			code = CODE_COMMAND_FAILED;
-			break;
-		}
-
-		/* ensure that all attributes can be applied to the current breakpoint */
-		if (!breakpoint->attributesValueIsValid(value_attributes)) {
-			*_message = _wcsdup(L"'changeBreakpoints' command specifies an invalid breakpoint attribute");
-			code = CODE_COMMAND_FAILED;
-			break;
-		}
-
-		value_handle = handles[handlesIndex++];
-	}
-
-	if (code != CODE_OK) {
-		delete[] handles;
-		return code;
-	}
-
-	/* the request is valid, so now perform the changes */
-
-	handlesIndex = 0;
-	value_handle = handles[handlesIndex++];
-	while (value_handle) {
-		unsigned int handle = (unsigned int)value_handle->getNumberValue();
-		CrossfireBreakpoint* breakpoint = getBreakpoint(handle);
-		breakpoint->setAttributesFromValue(value_attributes);
-
-		/* it's valid for the breakpoint to not be set in some (or even all) of the targets */
-		if (targets) {
-			int targetsIndex = 0;
-			IBreakpointTarget* target = targets[targetsIndex++];
-			while (target != NULL) {
-				CrossfireBreakpoint* breakpoint = target->getBreakpoint(handle);
-				if (breakpoint) {
-					breakpoint->setAttributesFromValue(value_attributes);
-				}
-				target = targets[targetsIndex++];
-			}
-		}
-
-		value_handle = handles[handlesIndex++];
-	}
-	delete[] handles;
-
-	Value* result = new Value();
-	result->setType(TYPE_OBJECT);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireBPManager::commandDeleteBreakpoints(Value* arguments, IBreakpointTarget** targets, Value** _responseBody, wchar_t** _message) {
-	*_responseBody = NULL;
-
-	Value* value_handles = arguments->getObjectValue(CrossfireBreakpoint::KEY_HANDLES);
-	if (!value_handles || value_handles->getType() != TYPE_ARRAY) {
-		*_message = _wcsdup(L"'deleteBreakpoints' command does not have a valid 'handles' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	Value** handles = NULL;
-	value_handles->getArrayValues(&handles);
-	int index = 0;
-	Value* value_current = handles[index++];
-	while (value_current) {
-		if (value_current->getType() != TYPE_NUMBER || (unsigned int)value_current->getNumberValue() < 1) {
-			*_message = _wcsdup(L"'deleteBreakpoints' command specifies an invalid handle value");
-			delete[] handles;
-			return CODE_INVALID_ARGUMENT;
-		}
-
-		unsigned int handle = (unsigned int)value_current->getNumberValue();
-
-		/* look up the breakpoint in the local breakpoints table to ensure that the handle is valid */
-		std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-		if (iterator == m_breakpoints->end()) {
-			*_message = _wcsdup(L"'deleteBreakpoints' command specifies an unknown breakpoint handle");
-			delete[] handles;
-			return CODE_COMMAND_FAILED;
-		}
-		value_current = handles[index++];
-	}
-
-	/* the request is valid, so now perform the deletions */
-
-	index = 0;
-	value_current = handles[index++];
-	while (value_current) {
-		unsigned int handle = (unsigned int)value_current->getNumberValue();
-		deleteBreakpoint(handle); /* delete from the global table */
-
-		/*
-		 * It's valid for the breakpoint to not be set in some (or even all) of the targets,
-		 * so a false result value for the deleteBreakpoint() call does not indicate a problem.
-		 */
-		if (targets) {
-			int targetsIndex = 0;
-			IBreakpointTarget* current = targets[targetsIndex++];
-			while (current != NULL) {
-				current->deleteBreakpoint(handle);
-				current = targets[targetsIndex++];
-			}
-		}
-		value_current = handles[index++];
-	}
-	delete[] handles;
-
-	Value* result = new Value();
-	result->setType(TYPE_OBJECT);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireBPManager::commandGetBreakpoints(Value* arguments, IBreakpointTarget* target, Value** _responseBody, wchar_t** _message) {
-	CrossfireBreakpoint** breakpoints = NULL;
-	Value* value_handles = arguments->getObjectValue(CrossfireBreakpoint::KEY_HANDLES);
-	if (value_handles) {
-		if (value_handles->getType() != TYPE_ARRAY) {
-			*_message = _wcsdup(L"'getBreakpoints' command has an invalid 'handles' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		std::vector<CrossfireBreakpoint*> breakpointsCollection;
-		Value** handles = NULL;
-		value_handles->getArrayValues(&handles);
-		int index = 0;
-		Value* value_current = handles[index++];
-		while (value_current) {
-			if (value_current->getType() == TYPE_NUMBER && value_current->getNumberValue() > 0) {
-				unsigned int handle = (unsigned int)value_current->getNumberValue();
-				CrossfireBreakpoint* breakpoint = target->getBreakpoint(handle);
-				if (breakpoint) {
-					breakpointsCollection.push_back(breakpoint);
-				}
-			}
-			value_current = handles[index++];
-		}
-		delete[] handles;
-
-		int length = breakpointsCollection.size();
-		breakpoints = new CrossfireBreakpoint*[length + 1];
-		for (int i = 0; i < length; i++) {
-			breakpoints[i] = breakpointsCollection.at(i);
-		}
-		breakpoints[length] = NULL;
-	} else {
-		target->getBreakpoints(&breakpoints);
-	}
-
-	Value breakpointsArray;
-	breakpointsArray.setType(TYPE_ARRAY);
-	int index = 0;
-	while (breakpoints[index]) {
-		CrossfireBreakpoint* current = breakpoints[index];
-		Value* value_breakpoint = NULL;
-		if (current->toValueObject(&value_breakpoint)) {
-			breakpointsArray.addArrayValue(value_breakpoint);
-			delete value_breakpoint;
-		}
-		delete current;
-		index++;
-	}
-	delete[] breakpoints;
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_BREAKPOINTS, &breakpointsArray);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireBPManager::commandSetBreakpoints(Value* arguments, IBreakpointTarget** targets, Value** _responseBody, wchar_t** _message) {
-	*_responseBody = NULL;
-
-	Value* value_breakpoints = arguments->getObjectValue(KEY_BREAKPOINTS);
-	if (!value_breakpoints || value_breakpoints->getType() != TYPE_ARRAY) {
-		*_message = _wcsdup(L"'setBreakpoints' command does not have a valid 'breakpoints' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	std::vector<CrossfireBreakpoint*> bpObjects;
-
-	Value** breakpoints = NULL;
-	value_breakpoints->getArrayValues(&breakpoints);
-	int index = 0;
-	Value* current = breakpoints[index++];
-	int code = CODE_OK;
-	while (current) {
-		CrossfireBreakpoint* breakpoint = NULL;
-		code = createBreakpoint(current, &breakpoint, _message);
-		if (code != CODE_OK) {
-			break;
-		}
-		bpObjects.push_back(breakpoint);
-		current = breakpoints[index++];
-	}
-	delete[] breakpoints;
-
-	if (code == CODE_OK) {
-		Value value_array;
-		value_array.setType(TYPE_ARRAY);
-
-		std::vector<CrossfireBreakpoint*>::iterator iterator = bpObjects.begin();
-		while (iterator != bpObjects.end()) {
-			CrossfireBreakpoint* breakpoint = *iterator;
-			breakpoint->setTarget(this);
-			setBreakpoint(breakpoint, false);
-			if (targets) {
-				int index = 0;
-				IBreakpointTarget* current = targets[index++];
-				while (current != NULL) {
-					breakpoint->setTarget(current);
-					current->setBreakpoint(breakpoint, false);
-					current = targets[index++];
-				}
-			}
-
-			Value* value_breakpoint = NULL;
-			breakpoint->toValueObject(&value_breakpoint);
-			value_array.addArrayValue(value_breakpoint);
-			delete value_breakpoint;
-			iterator++;
-		}
-
-		Value* result = new Value();
-		result->addObjectValue(KEY_BREAKPOINTS, &value_array);
-		*_responseBody = result;
-	}
-
-	std::vector<CrossfireBreakpoint*>::iterator iterator = bpObjects.begin();
-	while (iterator != bpObjects.end()) {
-		delete *iterator;
-		iterator++;
-	}
-
-	return code;
-}
-
-int CrossfireBPManager::createBreakpoint(Value* arguments, CrossfireBreakpoint** _result, wchar_t** _message) {
-	*_result = NULL;
-
-	Value* value_type = arguments->getObjectValue(CrossfireBreakpoint::KEY_TYPE);
-	if (!value_type || value_type->getType() != TYPE_STRING) {
-		*_message = _wcsdup(L"breakpoint creation arguments do not have a valid 'type' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	Value* value_attributes = arguments->getObjectValue(CrossfireBreakpoint::KEY_ATTRIBUTES);
-	if (value_attributes && value_attributes->getType() != TYPE_OBJECT) {
-		*_message = _wcsdup(L"breakpoint creation arguments have an invalid 'attributes' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	Value* value_location = arguments->getObjectValue(CrossfireBreakpoint::KEY_LOCATION);
-	if (!value_location || value_location->getType() != TYPE_OBJECT) {
-		*_message = _wcsdup(L"breakpoint creation arguments do not have a valid 'location' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	CrossfireBreakpoint* breakpoint = NULL;
-	wchar_t* type = (wchar_t*)value_type->getStringValue()->c_str();
-	if (CrossfireLineBreakpoint::CanHandleBPType(type)) {
-		breakpoint = new CrossfireLineBreakpoint();
-	} else {
-		*_message = _wcsdup(L"breakpoint creation arguments specify an unknown 'type' value");
-		return CODE_COMMAND_FAILED;
-	}
-
-	if (value_attributes) {
-		if (!breakpoint->attributesValueIsValid(value_attributes)) {
-			*_message = _wcsdup(L"breakpoint creation arguments specify an invalid attribute name or value");
-			delete breakpoint;
-			return CODE_COMMAND_FAILED;
-		}
-		breakpoint->setAttributesFromValue(value_attributes);
-	}
-
-	if (!breakpoint->setLocationFromValue(value_location)) {
-		*_message = _wcsdup(L"breakpoint creation arguments do not validly specify a location");
-		delete breakpoint;
-		return CODE_COMMAND_FAILED;
-	}
-
-	*_result = breakpoint;
-	return CODE_OK;
-}
-
-void CrossfireBPManager::setBreakpointsForScript(std::wstring* url, IBreakpointTarget* target) {
-	std::map<unsigned int,CrossfireBreakpoint*>::iterator iterator = m_breakpoints->begin();
-	while (iterator != m_breakpoints->end()) {
-		CrossfireBreakpoint* breakpoint = iterator->second;
-		if (breakpoint->appliesToUrl(url)) {
-			bool success = target->setBreakpoint(breakpoint, false);
-			// TODO it looks like the result of the above line was to be used for something
-		}
-		iterator++;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBPManager.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBPManager.h
deleted file mode 100644
index 512fc4e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBPManager.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <map>
-
-#include "CrossfireLineBreakpoint.h"
-#include "CrossfireResponse.h"
-#include "IBreakpointTarget.h"
-#include "Logger.h"
-#include "Value.h"
-
-class CrossfireBPManager : IBreakpointTarget {
-
-public:
-	CrossfireBPManager();
-	~CrossfireBPManager();
-
-	virtual int commandChangeBreakpoints(Value* arguments, IBreakpointTarget** targets, Value** _responseBody, wchar_t** _message);
-	virtual int commandDeleteBreakpoints(Value* arguments, IBreakpointTarget** targets, Value** _responseBody, wchar_t** _message);
-	virtual int commandGetBreakpoints(Value* arguments, IBreakpointTarget* target, Value** _responseBody, wchar_t** _message);
-	virtual int commandSetBreakpoints(Value* arguments, IBreakpointTarget** targets, Value** _responseBody, wchar_t** _message);
-	virtual void setBreakpointsForScript(std::wstring* url, IBreakpointTarget* target);
-
-	/* IBreakpointTarget methods */
-	virtual bool breakpointAttributeChanged(unsigned int handle, wchar_t* name, Value* value);
-	virtual bool deleteBreakpoint(unsigned int handle);
-	virtual CrossfireBreakpoint* getBreakpoint(unsigned int handle);
-	virtual void getBreakpoints(CrossfireBreakpoint*** ___values);
-	virtual bool setBreakpoint(CrossfireBreakpoint* breakpoint, bool isRetry);
-
-private:
-	virtual int createBreakpoint(Value* arguments, CrossfireBreakpoint** _result, wchar_t** _message);
-
-	std::map<unsigned int, CrossfireBreakpoint*>* m_breakpoints;
-
-	static const wchar_t* KEY_BREAKPOINTS;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBreakpoint.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBreakpoint.cpp
deleted file mode 100644
index a19514b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBreakpoint.cpp
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "CrossfireBreakpoint.h"
-
-/* initialize constants */
-const wchar_t* CrossfireBreakpoint::KEY_ATTRIBUTES = L"attributes";
-const wchar_t* CrossfireBreakpoint::KEY_CONTEXTID = L"contextId";
-const wchar_t* CrossfireBreakpoint::KEY_HANDLE = L"handle";
-const wchar_t* CrossfireBreakpoint::KEY_HANDLES = L"handles";
-const wchar_t* CrossfireBreakpoint::KEY_LOCATION = L"location";
-const wchar_t* CrossfireBreakpoint::KEY_TYPE = L"type";
-
-CrossfireBreakpoint::CrossfireBreakpoint() {
-	static unsigned int s_nextBreakpointHandle = 1;
-	m_attributes = new std::map<std::wstring, Value*>;
-	m_contextId = NULL;
-	m_handle = s_nextBreakpointHandle++;
-	m_target = NULL;
-}
-
-CrossfireBreakpoint::CrossfireBreakpoint(unsigned int handle) {
-	m_attributes = new std::map<std::wstring, Value*>;
-	m_contextId = NULL;
-	m_handle = handle;
-	m_target = NULL;
-}
-
-CrossfireBreakpoint::~CrossfireBreakpoint() {
-	std::map<std::wstring, Value*>::iterator iterator = m_attributes->begin();
-	while (iterator != m_attributes->end()) {
-		delete iterator->second;
-		iterator++;
-	}
-	delete m_attributes;
-	if (m_contextId) {
-		delete m_contextId;
-	}
-}
-
-bool CrossfireBreakpoint::appliesToUrl(std::wstring* url) {
-	return true;
-}
-
-bool CrossfireBreakpoint::attributesValueIsValid(Value* attributes) {
-	if (attributes->getType() != TYPE_OBJECT) {
-		return false;
-	}
-
-	std::wstring** keys = NULL;
-	Value** values = NULL;
-	attributes->getObjectValues(&keys, &values);
-	bool success = true;
-	int index = 0;
-	std::wstring* currentKey = keys[index];
-	while (currentKey) {
-		Value* currentValue = values[index];
-		if (!attributeIsValid((wchar_t*)currentKey->c_str(), currentValue)) {
-			success = false;
-			break;
-		}
-		currentKey = keys[++index];
-	}
-
-	delete[] keys;
-	delete[] values;
-	return success;
-}
-
-void CrossfireBreakpoint::breakpointHit() {
-}
-
-Value* CrossfireBreakpoint::getAttribute(wchar_t* name) {
-	std::map<std::wstring, Value*>::iterator iterator = m_attributes->find(std::wstring(name));
-	if (iterator == m_attributes->end()) {
-		return NULL;
-	}
-	return iterator->second;
-}
-
-const std::wstring* CrossfireBreakpoint::getContextId() {
-	return m_contextId;
-}
-
-unsigned int CrossfireBreakpoint::getHandle() {
-	return m_handle;
-}
-
-IBreakpointTarget* CrossfireBreakpoint::getTarget() {
-	return m_target;
-}
-
-void CrossfireBreakpoint::setAttribute(wchar_t* name, Value* value) {
-	std::map<std::wstring, Value*>::iterator iterator = m_attributes->find(std::wstring(name));
-	if (iterator != m_attributes->end()) {
-		if (iterator->second->equals(value)) {
-			return;
-		}
-		delete iterator->second;
-		m_attributes->erase(iterator);
-	}
-
-	if (value->getType() == TYPE_NULL) {
-		/* a null value indicates that the attribute value should be cleared */
-		return;
-	}
-
-	Value* valueCopy = NULL;
-	value->clone(&valueCopy);
-	m_attributes->insert(std::pair<std::wstring, Value*>(std::wstring(name), valueCopy));
-	if (m_target) {
-		m_target->breakpointAttributeChanged(m_handle, name, value);
-	}
-}
-
-void CrossfireBreakpoint::setAttributesFromValue(Value* value) {
-	std::wstring** objectKeys = NULL;
-	Value** objectValues = NULL;
-	value->getObjectValues(&objectKeys, &objectValues);
-	int index = 0;
-	std::wstring* currentKey = objectKeys[index];
-	while (currentKey) {
-		setAttribute((wchar_t*)currentKey->c_str(), objectValues[index]);
-		currentKey = objectKeys[++index];
-	}
-
-	delete[] objectKeys;
-	delete[] objectValues;
-}
-
-void CrossfireBreakpoint::setContextId(std::wstring* value) {
-	if (m_contextId) {
-		delete m_contextId;
-		m_contextId = NULL;
-	}
-	if (value) {
-		m_contextId = new std::wstring;
-		m_contextId->assign(*value);
-	}
-}
-
-void CrossfireBreakpoint::setTarget(IBreakpointTarget* value) {
-	m_target = value;
-}
-
-bool CrossfireBreakpoint::toValueObject(Value** _value) {
-	Value value_null;
-	value_null.setType(TYPE_NULL);
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_HANDLE, &Value((double)m_handle));
-	result->addObjectValue(KEY_TYPE, &Value(getTypeString()));
-	result->addObjectValue(KEY_CONTEXTID, m_contextId ? &Value(m_contextId) : &value_null);
-
-	Value value_attributes;
-	value_attributes.setType(TYPE_OBJECT);
-	std::map<std::wstring, Value*>::iterator iterator = m_attributes->begin();
-	while (iterator != m_attributes->end()) {
-		value_attributes.addObjectValue((std::wstring*)&iterator->first, iterator->second);
-		iterator++;
-	}
-	result->addObjectValue(KEY_ATTRIBUTES, &value_attributes);
-
-	Value* value_location = NULL;
-	if (!getLocationAsValue(&value_location)) {
-		delete result;
-		return false;
-	}
-	result->addObjectValue(KEY_LOCATION, value_location);
-	delete value_location;
-
-	*_value = result;
-	return true;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBreakpoint.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBreakpoint.h
deleted file mode 100644
index 2fe0b35..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireBreakpoint.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <map>
-
-#include "Logger.h"
-class CrossfireBreakpoint; // forward declaration
-#include "IBreakpointTarget.h"
-
-class CrossfireBreakpoint {
-
-public:
-	virtual ~CrossfireBreakpoint();
-	virtual bool appliesToUrl(std::wstring* url); // TODO needed?
-	virtual bool attributesValueIsValid(Value* attributes);
-	virtual void breakpointHit();
-	virtual void clone(CrossfireBreakpoint** _value) = 0;
-	virtual const std::wstring* getContextId();
-	virtual unsigned int getHandle();
-	virtual IBreakpointTarget* getTarget();
-	virtual int getType() = 0;
-	virtual void setAttributesFromValue(Value* value);
-	virtual void setContextId(std::wstring* value);
-	virtual bool setLocationFromValue(Value* value) = 0;
-	virtual void setTarget(IBreakpointTarget* value);
-	virtual bool toValueObject(Value** _value);
-
-	static const int BPTYPE_LINE = 1;
-	static const wchar_t* KEY_ATTRIBUTES;
-	static const wchar_t* KEY_CONTEXTID;
-	static const wchar_t* KEY_HANDLE;
-	static const wchar_t* KEY_HANDLES;
-	static const wchar_t* KEY_LOCATION;
-	static const wchar_t* KEY_TYPE;
-
-protected:
-	CrossfireBreakpoint();
-	CrossfireBreakpoint(unsigned int handle);
-	virtual bool attributeIsValid(wchar_t* name, Value* value) = 0;
-	virtual Value* getAttribute(wchar_t* name);
-	virtual bool getLocationAsValue(Value** _value) = 0;
-	virtual const wchar_t* getTypeString() = 0;
-	virtual void setAttribute(wchar_t* name, Value* value);
-
-	unsigned int m_handle;
-
-private:
-	std::map<std::wstring, Value*>* m_attributes;
-	std::wstring* m_contextId;
-	IBreakpointTarget* m_target;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireContext.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireContext.cpp
deleted file mode 100644
index f6bd069..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireContext.cpp
+++ /dev/null
@@ -1,2158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "CrossfireContext.h"
-
-#include "JSONParser.h"
-
-/* initialize constants */
-const wchar_t* CrossfireContext::ID_PREAMBLE = L"xfIE::";
-
-/* command: backtrace */
-const wchar_t* CrossfireContext::COMMAND_BACKTRACE = L"backtrace";
-const wchar_t* CrossfireContext::KEY_FRAMES = L"frames";
-const wchar_t* CrossfireContext::KEY_FROMFRAME = L"fromFrame";
-const wchar_t* CrossfireContext::KEY_TOFRAME = L"toFrame";
-const wchar_t* CrossfireContext::KEY_TOTALFRAMES = L"totalFrames";
-
-/* command: continue */
-const wchar_t* CrossfireContext::COMMAND_CONTINUE = L"continue";
-
-/* command: evaluate */
-const wchar_t* CrossfireContext::COMMAND_EVALUATE = L"evaluate";
-const wchar_t* CrossfireContext::KEY_EXPRESSION = L"expression";
-const wchar_t* CrossfireContext::KEY_RESULT = L"result";
-
-/* command: frame */
-const wchar_t* CrossfireContext::COMMAND_FRAME = L"frame";
-const wchar_t* CrossfireContext::KEY_FRAME = L"frame";
-const wchar_t* CrossfireContext::KEY_INDEX = L"index";
-
-/* command: inspect */
-const wchar_t* CrossfireContext::COMMAND_INSPECT = L"inspect";
-
-/* command: lookup */
-const wchar_t* CrossfireContext::COMMAND_LOOKUP = L"lookup";
-const wchar_t* CrossfireContext::KEY_HANDLES = L"handles";
-const wchar_t* CrossfireContext::KEY_VALUES = L"values";
-
-/* command: scopes */
-const wchar_t* CrossfireContext::COMMAND_SCOPES = L"scopes";
-const wchar_t* CrossfireContext::KEY_FROMSCOPE = L"fromScope";
-const wchar_t* CrossfireContext::KEY_SCOPES = L"scopes";
-const wchar_t* CrossfireContext::KEY_TOSCOPE = L"toScope";
-const wchar_t* CrossfireContext::KEY_TOTALSCOPECOUNT = L"totalScopeCount";
-
-/* command: scripts */
-const wchar_t* CrossfireContext::COMMAND_SCRIPTS = L"scripts";
-const wchar_t* CrossfireContext::KEY_SCRIPTS = L"scripts";
-const wchar_t* CrossfireContext::KEY_URLS = L"urls";
-
-/* command: suspend */
-const wchar_t* CrossfireContext::COMMAND_SUSPEND = L"suspend";
-const wchar_t* CrossfireContext::KEY_STEPACTION = L"stepAction";
-const wchar_t* CrossfireContext::VALUE_IN = L"in";
-const wchar_t* CrossfireContext::VALUE_NEXT = L"next";
-const wchar_t* CrossfireContext::VALUE_OUT = L"out";
-
-/* event: onBreak */
-const wchar_t* CrossfireContext::EVENT_ONBREAK = L"onBreak";
-const wchar_t* CrossfireContext::KEY_CAUSE = L"cause";
-const wchar_t* CrossfireContext::KEY_MESSAGE = L"message";
-const wchar_t* CrossfireContext::KEY_TITLE = L"title";
-
-/* event: onResume */
-const wchar_t* CrossfireContext::EVENT_ONRESUME = L"onResume";
-
-/* event: onScript */
-const wchar_t* CrossfireContext::EVENT_ONSCRIPT = L"onScript";
-const wchar_t* CrossfireContext::KEY_SCRIPT = L"script";
-
-/* event: onToggleBreakpoint */
-const wchar_t* CrossfireContext::EVENT_ONTOGGLEBREAKPOINT = L"onToggleBreakpoint";
-const wchar_t* CrossfireContext::KEY_SET = L"set";
-
-/* shared */
-const wchar_t* CrossfireContext::KEY_BREAKPOINT = L"breakpoint";
-const wchar_t* CrossfireContext::KEY_CONTEXTID = L"contextId";
-const wchar_t* CrossfireContext::KEY_FRAMEINDEX = L"frameIndex";
-const wchar_t* CrossfireContext::KEY_HANDLE = L"handle";
-const wchar_t* CrossfireContext::KEY_LOCATION = L"location";
-const wchar_t* CrossfireContext::KEY_INCLUDESCOPES = L"includeScopes";
-const wchar_t* CrossfireContext::KEY_INCLUDESOURCE = L"includeSource";
-const wchar_t* CrossfireContext::KEY_LINE = L"line";
-const wchar_t* CrossfireContext::KEY_TYPE = L"type";
-const wchar_t* CrossfireContext::KEY_URL = L"url";
-
-/* breakpoint objects */
-const wchar_t* CrossfireContext::BPTYPE_LINE = L"line";
-
-/* frame objects */
-const wchar_t* CrossfireContext::KEY_FUNCTIONNAME = L"functionName";
-
-/* object objects */
-const wchar_t* CrossfireContext::JSVALUE_BOOLEAN = L"Boolean";
-const wchar_t* CrossfireContext::JSVALUE_FUNCTION = L"\"function\"";
-const wchar_t* CrossfireContext::JSVALUE_NUMBER = L"Number";
-const wchar_t* CrossfireContext::JSVALUE_NULL = L"Null";
-const wchar_t* CrossfireContext::JSVALUE_STRING = L"String";
-const wchar_t* CrossfireContext::JSVALUE_TRUE = L"true";
-const wchar_t* CrossfireContext::JSVALUE_UNDEFINED = L"Undefined";
-const wchar_t* CrossfireContext::KEY_LOCALS = L"locals";
-const wchar_t* CrossfireContext::KEY_THIS = L"this";
-const wchar_t* CrossfireContext::KEY_VALUE = L"value";
-const wchar_t* CrossfireContext::VALUE_BOOLEAN = L"boolean";
-const wchar_t* CrossfireContext::VALUE_FUNCTION = L"function";
-const wchar_t* CrossfireContext::VALUE_NUMBER = L"number";
-const wchar_t* CrossfireContext::VALUE_OBJECT = L"object";
-const wchar_t* CrossfireContext::VALUE_STRING = L"string";
-const wchar_t* CrossfireContext::VALUE_UNDEFINED = L"undefined";
-
-/* script objects */
-const wchar_t* CrossfireContext::KEY_COLUMNOFFSET = L"columnOffset";
-const wchar_t* CrossfireContext::KEY_LINECOUNT = L"lineCount";
-const wchar_t* CrossfireContext::KEY_LINEOFFSET = L"lineOffset";
-const wchar_t* CrossfireContext::KEY_SOURCE = L"source";
-const wchar_t* CrossfireContext::KEY_SOURCELENGTH = L"sourceLength";
-const wchar_t* CrossfireContext::VALUE_EVALCODE = L"eval code";
-const wchar_t* CrossfireContext::VALUE_EVALLEVEL = L"eval-level";
-const wchar_t* CrossfireContext::VALUE_TOPLEVEL = L"top-level";
-
-
-CrossfireContext::CrossfireContext(DWORD processId, wchar_t* url, CrossfireServer* server) {
-	static int s_counter = 0;
-	m_processId = processId;
-	std::wstringstream stream;
-	stream << ID_PREAMBLE;
-	stream << m_processId;
-	stream << "-";
-	stream << s_counter++;
-	m_name = _wcsdup((wchar_t*)stream.str().c_str());
-
-	CComObject<IEDebugger>* result = NULL;
-	HRESULT hr = CComObject<IEDebugger>::CreateInstance(&result);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext(): CoCreateInstance(IIEDebugger) failed", hr);
-		return;
-	}
-	m_asyncEvals = new std::vector<JSEvalCallback*>;
-	m_debugger = result;
-	m_debugger->AddRef(); /* CComObject::CreateInstance gives initial ref count of 0 */
-	m_breakpoints = new std::map<unsigned int, CrossfireBreakpoint*>;
-	m_cpcApplicationNodeEvents = 0;
-	m_server = server;
-	m_debugApplicationThread = NULL;
-	m_debuggerHooked = false;
-	m_lastInitializedScriptNode = NULL;
-	m_nextObjectHandle = 1;
-	m_objects = new std::map<unsigned int, JSObject*>;
-	m_pendingScriptLoads = new std::map<IDebugApplicationNode*, PendingScriptLoad*>;
-	m_running = true;
-	m_scriptNodes = NULL;
-	m_url = _wcsdup(url);
-	hookDebugger();
-}
-
-CrossfireContext::~CrossfireContext() {
-	if (m_asyncEvals) {
-		std::vector<JSEvalCallback*>::iterator iterator = m_asyncEvals->begin();
-		while (iterator != m_asyncEvals->end()) {
-			delete *iterator;
-			iterator++;
-		}
-		delete m_asyncEvals;
-	}
-
-	if (m_breakpoints) {
-		std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->begin();
-		while (iterator != m_breakpoints->end()) {
-			delete iterator->second;
-			iterator++;
-		}
-		delete m_breakpoints;
-	}
-
-	if (m_lastInitializedScriptNode) {
-		m_lastInitializedScriptNode->Release();
-	}
-
-	if (m_pendingScriptLoads) {
-		std::map<IDebugApplicationNode*, PendingScriptLoad*>::iterator iterator = m_pendingScriptLoads->begin();
-		while (iterator != m_pendingScriptLoads->end()) {
-			iterator->first->Release();
-			iterator->second->detach();
-			iterator->second->Release();
-			iterator++;
-		}
-		delete m_pendingScriptLoads;
-	}
-
-	if (m_scriptNodes) {
-		std::map<std::wstring, IDebugApplicationNode*>::iterator iterator = m_scriptNodes->begin();
-		while (iterator != m_scriptNodes->end()) {
-			iterator->second->Release();
-			iterator++;
-		}
-		delete m_scriptNodes;
-	}
-
-	if (m_cpcApplicationNodeEvents) {
-		CComPtr<IRemoteDebugApplication> debugApplication = NULL;
-		if (!getDebugApplication(&debugApplication)) {
-			Logger::error("~CrossfireContext(): cannot Unadvise() the root node");
-		} else {
-			CComPtr<IDebugApplicationNode> rootNode = NULL;
-			HRESULT hr = debugApplication->GetRootNode(&rootNode);
-			if (FAILED(hr)) {
-				Logger::error("~CrossfireContext(): GetRootNode() failed", hr);
-			} else {
-				CComPtr<IConnectionPointContainer> connectionPointContainer = NULL;
-				hr = rootNode->QueryInterface(IID_IConnectionPointContainer, (void**)&connectionPointContainer);
-				if (FAILED(hr)) {
-					Logger::error("~CrossfireContext(): QI(IConnectionPointContainer) failed", hr);
-				} else {
-					CComPtr<IConnectionPoint> connectionPoint = NULL;
-					hr = connectionPointContainer->FindConnectionPoint(IID_IDebugApplicationNodeEvents, &connectionPoint);
-					if (FAILED(hr)) {
-						Logger::error("~CrossfireContext(): FindConnectionPoint() failed", hr);
-					} else {
-						hr = connectionPoint->Unadvise(m_cpcApplicationNodeEvents);
-						if (FAILED(hr)) {
-							Logger::error("~CrossfireContext(): Unadvise() failed", hr);
-						}
-					}
-				}
-			}
-		}
-	}
-
-	if (m_name) {
-		free(m_name);
-	}
-	if (m_url) {
-		free(m_url);
-	}
-	if (m_objects) {
-		clearObjects();
-		delete m_objects;
-	}
-	if (m_debuggerHooked) {
-		unhookDebugger();
-	}
-	if (m_debugger) {
-		m_debugger->Release();
-	}
-	if (m_debugApplicationThread) {
-		m_debugApplicationThread->Release();
-	}
-}
-
-/* IBreakpointTarget */
-
-bool CrossfireContext::breakpointAttributeChanged(unsigned int handle, wchar_t* name, Value* value) {
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-	if (iterator == m_breakpoints->end()) {
-		Logger::error("CrossfireContext.breakpointAttributeChanged(): unknown breakpoint handle", handle);
-		return false;
-	}
-	CrossfireBreakpoint* breakpoint = iterator->second;
-
-	if (wcscmp(name, CrossfireLineBreakpoint::ATTRIBUTE_ENABLED) == 0) {
-		return setBreakpointEnabled((CrossfireLineBreakpoint*)breakpoint, value->getBooleanValue());
-	}
-
-	/* receiver does not do anything for any other breakpoint attributes, so just answer success */
-	return true;
-}
-
-bool CrossfireContext::setBreakpointEnabled(CrossfireBreakpoint* breakpoint, bool enabled) {
-	CrossfireLineBreakpoint* lineBp = (CrossfireLineBreakpoint*)breakpoint;
-	IDebugApplicationNode* node = getScriptNode((wchar_t*)lineBp->getUrl()->c_str());
-	if (!node) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): unknown target url");
-		return false;
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	HRESULT hr = node->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): GetDocument() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentText> documentText = NULL;
-	hr = document->QueryInterface(IID_IDebugDocumentText, (void**)&documentText);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): QI(IDebugDocumentText) failed", hr);
-		return false;
-	}
-
-	ULONG characterPosition = 0;
-	hr = documentText->GetPositionOfLine(lineBp->getLine() - 1, &characterPosition);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): GetPositionOfLine() failed [1]", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentContext> documentContext = NULL;
-	hr = documentText->GetContextOfPosition(characterPosition, 1, &documentContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): GetContextOfPosition() failed", hr);
-		return false;
-	}
-
-	CComPtr<IEnumDebugCodeContexts> codeContexts = NULL;
-	hr = documentContext->EnumCodeContexts(&codeContexts);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): EnumCodeContexts() failed", hr);
-		return false;
-	}
-
-	ULONG fetched = 0;
-	IDebugCodeContext* codeContext = NULL;
-	hr = codeContexts->Next(1, &codeContext, &fetched);
-	if (FAILED(hr) || fetched == 0) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): Next() failed", hr);
-		return false;
-	}
-
-	hr = codeContext->SetBreakPoint(enabled ? BREAKPOINT_ENABLED : BREAKPOINT_DISABLED);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setBreakpointEnabled(): SetBreakPoint() failed", hr);
-		return false;
-	}
-
-	lineBp->setEnabled(enabled);
-	return true;
-}
-
-bool CrossfireContext::deleteBreakpoint(unsigned int handle) {
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-	if (iterator == m_breakpoints->end()) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): unknown breakpoint handle", handle);
-		return false;
-	}
-	CrossfireLineBreakpoint* breakpoint = (CrossfireLineBreakpoint*)iterator->second;
-
-	IDebugApplicationNode* node = getScriptNode((wchar_t*)breakpoint->getUrl()->c_str());
-	if (!node) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): unknown target url");
-		return false;
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	HRESULT hr = node->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): GetDocument() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentText> documentText = NULL;
-	hr = document->QueryInterface(IID_IDebugDocumentText,(void**)&documentText);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): QI(IDebugDocumentText) failed", hr);
-		return false;
-	}
-
-	ULONG characterPosition = 0;
-	hr = documentText->GetPositionOfLine(breakpoint->getLine() - 1, &characterPosition);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): GetPositionOfLine() failed [1]", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentContext> documentContext = NULL;
-	hr = documentText->GetContextOfPosition(characterPosition, 1, &documentContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): GetContextOfPosition() failed", hr);
-		return false;
-	}
-
-	CComPtr<IEnumDebugCodeContexts> codeContexts = NULL;
-	hr = documentContext->EnumCodeContexts(&codeContexts);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): EnumCodeContexts() failed", hr);
-		return false;
-	}
-
-	ULONG fetched = 0;
-	IDebugCodeContext* codeContext = NULL;
-	hr = codeContexts->Next(1, &codeContext, &fetched);
-	if (FAILED(hr) || fetched == 0) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): Next() failed", hr);
-		return false;
-	}
-
-	hr = codeContext->SetBreakPoint(BREAKPOINT_DELETED);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.deleteBreakpoint(): SetBreakPoint() failed", hr);
-		return false;
-	}
-
-	CrossfireEvent toggleEvent;
-	toggleEvent.setName(EVENT_ONTOGGLEBREAKPOINT);
-	Value data;
-	data.addObjectValue(KEY_SET, &Value(false));
-	Value* value_breakpoint = NULL;
-	breakpoint->toValueObject(&value_breakpoint);
-	data.addObjectValue(KEY_BREAKPOINT, value_breakpoint);
-	delete value_breakpoint;
-	toggleEvent.setData(&data);
-	sendEvent(&toggleEvent);
-
-	delete iterator->second;
-	m_breakpoints->erase(iterator);
-	return true;
-}
-
-CrossfireBreakpoint* CrossfireContext::getBreakpoint(unsigned int handle) {
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-	if (iterator == m_breakpoints->end()) {
-		Logger::error("CrossfireContext.getBreakpoint(): unknown breakpoint handle", handle);
-		return false;
-	}
-	return iterator->second;
-}
-
-void CrossfireContext::getBreakpoints(CrossfireBreakpoint*** ___values) {
-	size_t size = m_breakpoints->size();
-	CrossfireBreakpoint** breakpoints = new CrossfireBreakpoint*[size + 1];
-
-	std::map<unsigned int, CrossfireBreakpoint*>::iterator it = m_breakpoints->begin();
-	int index = 0;
-	while (it != m_breakpoints->end()) {
-		it->second->clone(&breakpoints[index++]);
-		it++;
-	}
-	breakpoints[index] = NULL;
-
-	*___values = breakpoints;
-}
-
-bool CrossfireContext::setBreakpoint(CrossfireBreakpoint *breakpoint, bool isRetry) {
-	// TODO uncomment the following once Refreshes cause new contexts to be created
-
-//	unsigned int handle = breakpoint->getHandle();
-//	std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->find(handle);
-//	if (iterator != m_breakpoints->end()) {
-//		/* this breakpoint is already set on this context */
-//		return true;
-//	}
-
-	CrossfireLineBreakpoint* lineBp = (CrossfireLineBreakpoint*)breakpoint;
-	IDebugApplicationNode* node = NULL;
-	if (m_currentScriptNode) {
-		node = m_currentScriptNode;
-	} else {
-		node = getScriptNode((wchar_t*)lineBp->getUrl()->c_str());
-		if (!node) {
-			Logger::error("CrossfireContext.setLineBreakpoint(): unknown target url");
-			return false;
-		}
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	HRESULT hr = node->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): GetDocument() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentText> documentText = NULL;
-	hr = document->QueryInterface(IID_IDebugDocumentText, (void**)&documentText);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): QI(IDebugDocumentText) failed", hr);
-		return false;
-	}
-
-	ULONG characterPosition = 0;
-	hr = documentText->GetPositionOfLine(lineBp->getLine() - 1, &characterPosition);
-	if (FAILED(hr)) {
-//		/*
-//		 * In this context E_INVALIDARG failures are often caused by the target document
-//		 * not being adequately loaded yet.  If this is the first attempt to set this
-//		 * breakpoint then create a pending breakpoint that will attempt to hook itself
-//		 * later if it is detected that the document load may have completed.
-//		 */
-//		if (!isRetry && hr == E_INVALIDARG) {
-//			CComObject<PendingBreakpoint>* pendingBreakpoint = NULL;
-//			HRESULT hr = CComObject<PendingBreakpoint>::CreateInstance(&pendingBreakpoint);
-//			if (FAILED(hr)) {
-//				Logger::error("CrossfireContext.setLineBreakpoint(): CreateInstance(CLSID_PendingBreakpoint) failed [1]", hr);
-//				return false;
-//			}
-//
-//			if (pendingBreakpoint->init(breakpoint, document, this)) {
-//				pendingBreakpoint->AddRef(); /* CComObject::CreateInstance gives initial ref count of 0 */
-//				m_pendingBreakpoints->push_back(pendingBreakpoint);
-//			}
-//		} else {
-			Logger::error("CrossfireContext.setLineBreakpoint(): GetPositionOfLine() failed [1]", hr);
-//		}
-		return false;
-	}
-
-	CComPtr<IDebugDocumentContext> documentContext = NULL;
-	hr = documentText->GetContextOfPosition(characterPosition, 1, &documentContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): GetContextOfPosition() failed", hr);
-		return false;
-	}
-
-	CComPtr<IEnumDebugCodeContexts> codeContexts = NULL;
-	hr = documentContext->EnumCodeContexts(&codeContexts);
-	if (FAILED(hr)) {
-//		/*
-//		 * In this context E_INVALIDARG failures are often caused by the target document
-//		 * not being adequately loaded yet.  If this is the first attempt to set this
-//		 * breakpoint then create a pending breakpoint that will attempt to hook itself
-//		 * later if it is detected that the document load may have completed.
-//		 */
-//		if (!isRetry && hr == E_INVALIDARG) {
-//			CComObject<PendingBreakpoint>* pendingBreakpoint = NULL;
-//			HRESULT hr = CComObject<PendingBreakpoint>::CreateInstance(&pendingBreakpoint);
-//			if (FAILED(hr)) {
-//				Logger::error("CrossfireContext.setLineBreakpoint(): CreateInstance(CLSID_PendingBreakpoint) failed [2]", hr);
-//				return false;
-//			}
-//
-//			if (pendingBreakpoint->init(breakpoint, document, this)) {
-//				pendingBreakpoint->AddRef(); /* CComObject::CreateInstance gives initial ref count of 0 */
-//				m_pendingBreakpoints->push_back(pendingBreakpoint);
-//			}
-//		} else {
-			Logger::error("CrossfireContext.setLineBreakpoint(): EnumCodeContexts() failed", hr);
-//		}
-		return false;
-	}
-
-	ULONG fetched = 0;
-	CComPtr<IDebugCodeContext> codeContext = NULL;
-	hr = codeContexts->Next(1, &codeContext, &fetched);
-	if (FAILED(hr) || fetched == 0) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): Next() failed", hr);
-		return false;
-	}
-
-	hr = codeContext->SetBreakPoint(lineBp->isEnabled() ? BREAKPOINT_ENABLED : BREAKPOINT_DISABLED);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): SetBreakPoint() failed", hr);
-		return false;
-	}
-
-	/* Determine the line number the breakpoint was set on (it may not match the requested line number) */
-
-	CComPtr<IDebugDocumentContext> bpDocumentContext = NULL;
-	hr = codeContext->GetDocumentContext(&bpDocumentContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): GetDocumentContext() failed", hr);
-		return false;
-	}
-
-	characterPosition = 0;
-	ULONG numChars = 0;
-	hr = documentText->GetPositionOfContext(bpDocumentContext, &characterPosition, &numChars);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): GetPositionOfContext() failed", hr);
-		return false;
-	}
-
-	ULONG bpLineNumber = 0;
-	ULONG offset = 0;
-	hr = documentText->GetLineOfPosition(characterPosition, &bpLineNumber, &offset);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.setLineBreakpoint(): GetLineOfPosition() failed", hr);
-		return false;
-	}
-
-	CrossfireLineBreakpoint* copy = NULL;
-	breakpoint->clone((CrossfireBreakpoint**)&copy);
-	copy->setLine(bpLineNumber + 1);
-	copy->setContextId(&std::wstring(m_name));
-	m_breakpoints->insert(std::pair<unsigned int, CrossfireBreakpoint*>(breakpoint->getHandle(), copy));
-
-	CrossfireEvent toggleEvent;
-	toggleEvent.setName(EVENT_ONTOGGLEBREAKPOINT);
-	Value data;
-	data.addObjectValue(KEY_SET, &Value(true));
-	Value* value_breakpoint = NULL;
-	copy->toValueObject(&value_breakpoint);
-	data.addObjectValue(KEY_BREAKPOINT, value_breakpoint);
-	delete value_breakpoint;
-	toggleEvent.setData(&data);
-	sendEvent(&toggleEvent);
-	return true;
-}
-
-void CrossfireContext::clearObjects() {
-	std::map<unsigned int, JSObject*>::iterator iterator = m_objects->begin();
-	while (iterator != m_objects->end()) {
-		JSObject* jsObject = iterator->second;
-		jsObject->debugProperty->Release();
-		jsObject->stackFrame->Release();
-		delete jsObject;
-		iterator++;
-	}
-	m_objects->clear();
-}
-
-/* IJSEvalHandler methods */
-
-void CrossfireContext::evalComplete(IDebugProperty* value, void* data) {
-	/*
-	 * Currently only breakpoint conditions are evaluated asynchronously, so it's assumed
-	 * that data is a breakpoint.  If more asynchronous evaluations are introduced in the
-	 * future then a new class implementing IJSEvalHandler should be created for handling
-	 * breakpoint condition evals.
-	 */
-
-	bool resume = false;
-	DebugPropertyInfo propertyInfo;
-	HRESULT hr = value->GetPropertyInfo(PROP_INFO_TYPE | PROP_INFO_VALUE, 10, &propertyInfo);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evalComplete(): GetPropertyInfo() failed", hr);
-		resume = true;
-	} else {
-		BSTR type = propertyInfo.m_bstrType;
-		if (wcscmp(type, JSVALUE_BOOLEAN) != 0) {
-			resume = true;
-		} else {
-			BSTR stringValue = propertyInfo.m_bstrValue;
-			if (wcscmp(stringValue, JSVALUE_TRUE) != 0) {
-				resume = true;
-			}
-		}
-	}
-
-	if (resume && resumeFromBreak()) {
-		return;
-	}
-
-	CrossfireLineBreakpoint* breakpoint = (CrossfireLineBreakpoint*)data;
-	CrossfireEvent onBreakEvent;
-	onBreakEvent.setName(EVENT_ONBREAK);
-	Value value_data;
-	Value location;
-	location.addObjectValue(KEY_LINE, &Value((double)breakpoint->getLine()));
-	location.addObjectValue(KEY_URL, &Value(breakpoint->getUrl()->c_str()));
-	value_data.addObjectValue(KEY_LOCATION, &location);
-	Value cause;
-	cause.addObjectValue(KEY_TITLE, &Value(L"breakpoint"));
-	value_data.addObjectValue(KEY_CAUSE, &cause);
-	onBreakEvent.setData(&value_data);
-	sendEvent(&onBreakEvent);
-}
-
-/* CrossfireContext */
-
-void CrossfireContext::breakpointHit(IRemoteDebugApplicationThread *pDebugAppThread, BREAKREASON br, IActiveScriptErrorDebug *pScriptErrorDebug) {
-	m_running = false;
-
-	CComPtr<IEnumDebugStackFrames> stackFrames = NULL;
-	HRESULT hr = pDebugAppThread->EnumStackFrames(&stackFrames);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): EnumStackFrames() failed", hr);
-		return;
-	}
-
-	DebugStackFrameDescriptor stackFrameDescriptor;
-	ULONG numFetched = 0;
-	hr = stackFrames->Next(1,&stackFrameDescriptor,&numFetched);
-	if (FAILED(hr) || numFetched != 1) {
-		Logger::error("CrossfireContext.breakpointHit(): EnumStackFrames->Next() failed", hr);
-		return;
-	}
-
-	IDebugStackFrame* frame = stackFrameDescriptor.pdsf;
-	CComPtr<IDebugCodeContext> codeContext = NULL;
-	hr = frame->GetCodeContext(&codeContext);
-	// TODO This fails if the current position is not in a user document (eg.- following
-	// a return).  Not sure what to do here (send an event with no url/line?  Or no event?)
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): GetCodeContext() failed", hr);
-		return;
-	}
-
-	CComPtr<IDebugDocumentContext> documentContext = NULL;
-	hr = codeContext->GetDocumentContext(&documentContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): GetDocumentContext() failed", hr);
-		return;
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	hr = documentContext->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): GetDocument() failed", hr);
-		return;
-	}
-
-	CComPtr<IDebugDocumentText> documentText = NULL;
-	hr = document->QueryInterface(IID_IDebugDocumentText, (void**)&documentText);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): QueryInterface() failed", hr);
-		return;
-	}
-
-	ULONG position, numChars;
-	hr = documentText->GetPositionOfContext(documentContext, &position, &numChars);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): GetPositionOfContext() failed", hr);
-		return;
-	}
-
-	ULONG lineNumber, column;
-	hr = documentText->GetLineOfPosition(position, &lineNumber, &column);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): GetLineOfContext() failed", hr);
-		return;
-	}
-	lineNumber++;
-
-	CComBSTR bstrUrl;
-	hr = document->GetName(DOCUMENTNAMETYPE_TITLE, &bstrUrl);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.breakpointHit(): GetName() failed", hr);
-		return;
-	}
-
-	/*
-	 * If the cause of the break is a breakpoint then locate the breakpoint and
-	 * determine whether the onBreak event should be sent (eg.- does the breakpoint
-	 * have a hit count to respect, a condition to evaluate, etc.).
-	 */
-	if (br == BREAKREASON_BREAKPOINT) {
-		CrossfireBreakpoint* breakpoint = NULL;
-		std::map<unsigned int, CrossfireBreakpoint*>::iterator iterator = m_breakpoints->begin();
-		while (iterator != m_breakpoints->end()) {
-			CrossfireBreakpoint* current = iterator->second;
-			if (current->getType() == CrossfireLineBreakpoint::BPTYPE_LINE) {
-				CrossfireLineBreakpoint* lineBp = (CrossfireLineBreakpoint*)current;
-				if (lineBp->getLine() == lineNumber && wcscmp(lineBp->getUrl()->c_str(), bstrUrl) == 0) {
-					lineBp->breakpointHit();
-					if (!lineBp->matchesHitCount() && resumeFromBreak()) {
-						return;
-					}
-					const std::wstring* conditionString = lineBp->getCondition();
-					if (conditionString) {
-						wchar_t* condition = (wchar_t*)conditionString->c_str();
-						if (evaluateAsync(frame, condition, DEBUG_TEXT_RETURNVALUE | DEBUG_TEXT_NOSIDEEFFECTS, this, lineBp)) {
-							return;
-						}
-					}
-					break;
-				}
-			}
-			iterator++;
-		}
-	}
-
-	CrossfireEvent onBreakEvent;
-	onBreakEvent.setName(EVENT_ONBREAK);
-	Value data;
-	Value location;
-	location.addObjectValue(KEY_LINE, &Value((double)lineNumber));
-	location.addObjectValue(KEY_URL, &Value(bstrUrl));
-	data.addObjectValue(KEY_LOCATION, &location);
-	Value cause;
-	switch (br) {
-		case BREAKREASON_ERROR: {
-			cause.addObjectValue(KEY_TITLE, &Value(L"error"));
-			EXCEPINFO excepInfo;
-			HRESULT hr = pScriptErrorDebug->GetExceptionInfo(&excepInfo);
-			if (FAILED(hr)) {
-				Logger::error("IEDebugger::onHandleBreakPoint(): GetExceptionInfo() failed", hr);
-			} else {
-				if (excepInfo.bstrDescription) {
-					cause.addObjectValue(KEY_MESSAGE, &Value(excepInfo.bstrDescription));
-				}
-			}
-			break;
-		}
-		case BREAKREASON_DEBUGGER_HALT: {
-			cause.addObjectValue(KEY_TITLE, &Value(L"suspend"));
-			break;
-		}
-		case BREAKREASON_STEP: {
-			cause.addObjectValue(KEY_TITLE, &Value(L"step"));
-			break;
-		}
-		case BREAKREASON_BREAKPOINT: {
-			cause.addObjectValue(KEY_TITLE, &Value(L"breakpoint"));
-			break;
-		}
-		default: {
-			cause.addObjectValue(KEY_TITLE, &Value(L"suspend"));
-			break;
-		}
-	}
-	data.addObjectValue(KEY_CAUSE, &cause);
-	onBreakEvent.setData(&data);
-	sendEvent(&onBreakEvent);
-	return;
-}
-
-bool CrossfireContext::createValueForFrame(IDebugStackFrame* stackFrame, unsigned int frameIndex, bool includeScopes, Value** _value) {
-	*_value = NULL;
-
-	CComBSTR description = NULL;
-	HRESULT hr = stackFrame->GetDescriptionString(true, &description);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetDescriptionString() failed", hr);
-		return false;
-	}
-
-	ULONG lineNumber = 0, column;
-	CComBSTR scriptId = NULL;
-	Value* locals = NULL;
-
-	CComPtr<IDebugCodeContext> codeContext = NULL;
-	hr = stackFrame->GetCodeContext(&codeContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetCodeContext() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentContext> documentContext = NULL;
-	hr = codeContext->GetDocumentContext(&documentContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetDocumentContext() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	hr = documentContext->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetDocument() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentText> documentText = NULL;
-	hr = document->QueryInterface(IID_IDebugDocumentText, (void**)&documentText);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): QI(IDebugDocumentText) failed", hr);
-		return false;
-	}
-
-	ULONG position, numChars;
-	hr = documentText->GetPositionOfContext(documentContext, &position, &numChars);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetPositionOfContext() failed", hr);
-		return false;
-	}
-
-	hr = documentText->GetLineOfPosition(position, &lineNumber, &column);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetLineOfPosition() failed", hr);
-		return false;
-	}
-
-	/* get the locals */
-
-	CComPtr<IDebugProperty> debugProperty = NULL;
-	hr = stackFrame->GetDebugProperty(&debugProperty);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetDebugProperty() failed", hr);
-		return false;
-	}
-
-	// TODO this frameObject is currently created temporarily, but to
-	// get the full benefit of handle reuse it should be stored and
-	// reused for cases where the frame command is invoked on the same
-	// frame multiple times
-	JSObject* newObject = new JSObject();
-	newObject->debugProperty = debugProperty;
-	//newObject->debugProperty->AddRef();
-	newObject->stackFrame = stackFrame;
-	//newObject->stackFrame->AddRef();
-	if (!createValueForObject(newObject, true, &locals)) {
-		delete newObject;
-		return false;
-	}
-	delete newObject;
-
-	/* get "this" */
-
-	Value* value_this = NULL;
-	CComPtr<IDebugProperty> debugProperty2 = NULL;
-	if (evaluate(stackFrame, L"this", DEBUG_TEXT_RETURNVALUE, &debugProperty2)) {
-		// TODO this thisObject is currently created temporarily, but to
-		// get the full benefit of handle reuse it should be stored and
-		// reused for cases where the frame command is invoked on the same
-		// frame multiple times
-		JSObject* newObject = new JSObject();
-		newObject->debugProperty = debugProperty2;
-		//newObject->debugProperty->AddRef();
-		newObject->stackFrame = stackFrame;
-		//newObject->stackFrame->AddRef();
-		createValueForObject(newObject, true, &value_this); /* proceed even if fails */
-		delete newObject;
-	}
-
-	if (value_this) {
-		locals->addObjectValue(KEY_THIS, value_this);
-		delete value_this;
-	} else {
-		/* create an empty "this" value */
-		Value value_thisChildren;
-		value_thisChildren.setType(TYPE_OBJECT);
-		Value value_this2;
-		value_this2.addObjectValue(KEY_TYPE, &Value(VALUE_OBJECT));
-		value_this2.addObjectValue(KEY_VALUE, &value_thisChildren);
-		locals->addObjectValue(KEY_THIS, &value_this2);
-	}
-
-	hr = document->GetName(DOCUMENTNAMETYPE_TITLE, &scriptId);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForFrame(): GetName() failed", hr);
-		return false;
-	}
-
-	if (!locals) {
-		locals = new Value();
-		locals->setType(TYPE_OBJECT);
-	}
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_FUNCTIONNAME, &Value(description));
-	result->addObjectValue(KEY_INDEX, &Value((double)frameIndex));
-	result->addObjectValue(KEY_LINE, &Value((double)lineNumber + 1));
-	result->addObjectValue(KEY_LOCALS, locals);
-	result->addObjectValue(KEY_URL, &Value(scriptId));
-	// TODO includeScopes
-	delete locals;
-
-	*_value = result;
-	return true;
-}
-
-bool CrossfireContext::createValueForObject(JSObject* object, bool resolveChildObjects, Value** _value) {
-	*_value = NULL;
-
-	DebugPropertyInfo propertyInfo;
-	IDebugProperty* debugProperty = object->debugProperty;
-	HRESULT hr = debugProperty->GetPropertyInfo(PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_ATTRIBUTES | PROP_INFO_DEBUGPROP, 10, &propertyInfo);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForObject(): GetPropertyInfo() failed", hr);
-		return false;
-	}
-
-	BSTR type = propertyInfo.m_bstrType;
-	Value result;
-	if (wcscmp(type, JSVALUE_NULL) == 0) {
-		result.setType(TYPE_NULL);
-	} else if (wcscmp(type, JSVALUE_UNDEFINED) == 0) {
-		result.setValue(VALUE_UNDEFINED);
-	} else {
-		BSTR stringValue = propertyInfo.m_bstrValue;
-		if (wcscmp(type, JSVALUE_NUMBER) == 0) {
-			wchar_t* endPtr = 0;
-			double value = wcstod(stringValue, &endPtr);
-			result.addObjectValue(KEY_TYPE, &Value(VALUE_NUMBER));
-			result.addObjectValue(KEY_VALUE, &Value(value));
-		} else if (wcscmp(type, JSVALUE_BOOLEAN) == 0) {
-			result.addObjectValue(KEY_TYPE, &Value(VALUE_BOOLEAN));
-			if (wcscmp(stringValue, JSVALUE_TRUE) == 0) {
-				result.addObjectValue(KEY_VALUE, &Value(true));
-			} else {
-				result.addObjectValue(KEY_VALUE, &Value(false));
-			}
-		} else if (wcscmp(type, JSVALUE_STRING) == 0) {
-			std::wstring string(stringValue);
-			string = string.substr(1, string.length() - 2);
-			result.addObjectValue(KEY_TYPE, &Value(VALUE_STRING));
-			result.addObjectValue(KEY_VALUE, &Value(&string));
-		} else if ((propertyInfo.m_dwAttrib & OBJECT_ATTRIB_VALUE_IS_INVALID) != 0) {
-			// TODO error object, should fail?
-		} else if ((propertyInfo.m_dwAttrib & OBJECT_ATTRIB_VALUE_IS_OBJECT) == 0) {
-			/* object is a function */
-			result.addObjectValue(KEY_TYPE, &Value(VALUE_FUNCTION));
-			if (resolveChildObjects) {
-				// TODO
-				Value value_empty;
-				value_empty.setType(TYPE_OBJECT);
-				result.addObjectValue(KEY_VALUE, &value_empty);
-			}
-		} else {
-			if (!resolveChildObjects) {
-				result.addObjectValue(KEY_TYPE, &Value(VALUE_OBJECT));
-			} else {
-				CComPtr<IEnumDebugPropertyInfo> enumPropertyInfo = NULL;
-				HRESULT hr = debugProperty->EnumMembers(
-					PROP_INFO_NAME | PROP_INFO_TYPE | PROP_INFO_VALUE | PROP_INFO_ATTRIBUTES | PROP_INFO_DEBUGPROP,
-					10,
-					IID_IDebugPropertyEnumType_LocalsPlusArgs,
-					&enumPropertyInfo);
-				if (FAILED(hr)) {
-					Logger::error("CrossfireContext.createValueForObject(): EnumMembers() failed", hr);
-					return false;
-				}
-
-				Value children;
-				children.setType(TYPE_OBJECT);
-				ULONG fetched;
-				do {
-					DebugPropertyInfo propertyInfo;
-					hr = enumPropertyInfo->Next(1, &propertyInfo, &fetched);
-					if (SUCCEEDED(hr) && fetched) {
-						Value* value_child = NULL;
-						IDebugStackFrame* stackFrame = object->stackFrame;
-						JSObject childObject;
-						childObject.debugProperty = propertyInfo.m_pDebugProp;
-						childObject.stackFrame = stackFrame;
-						if (createValueForObject(&childObject, false, &value_child)) {
-							if (value_child->getType() == TYPE_OBJECT) {
-								Value* value_type = value_child->getObjectValue(KEY_TYPE);
-								const wchar_t* type = value_type->getStringValue()->c_str();
-								if (wcscmp(type, VALUE_OBJECT) == 0 || (wcscmp(type, VALUE_FUNCTION) == 0)) {
-									std::map<std::wstring, unsigned int> objects = object->children;
-									std::map<std::wstring, unsigned int>::iterator iterator = objects.find(propertyInfo.m_bstrName);
-									Value value_handle;
-									if (iterator != objects.end()) {
-										value_handle.setValue((double)iterator->second);
-									} else {
-										value_handle.setValue((double)m_nextObjectHandle);
-										JSObject* newObject = new JSObject();
-										newObject->debugProperty = propertyInfo.m_pDebugProp;
-										newObject->debugProperty->AddRef();
-										newObject->isObject = wcscmp(type, VALUE_OBJECT) == 0;
-										newObject->stackFrame = stackFrame;
-										newObject->stackFrame->AddRef();
-										m_objects->insert(std::pair<unsigned int, JSObject*>(m_nextObjectHandle++, newObject));
-									}
-									value_child->addObjectValue(KEY_HANDLE, &value_handle);
-								}
-							}
-							children.addObjectValue(propertyInfo.m_bstrName, value_child);
-							delete value_child;
-						}
-					}
-				} while (fetched);
-				result.addObjectValue(KEY_TYPE, &Value(VALUE_OBJECT));
-				result.addObjectValue(KEY_VALUE, &children);
-			}
-		}
-	}
-
-	Value* copy = NULL;
-	result.clone(&copy);
-	*_value = copy;
-	return true;
-}
-
-bool CrossfireContext::createValueForScript(IDebugApplicationNode* node, bool includeSource, bool failIfEmpty, Value** _value) {
-	*_value = NULL;
-
-	wchar_t* id = getScriptId(node);
-	if (!id) {
-		Logger::error("CrossfireContext.createValueForScript(): unknown script");
-		return false;
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	HRESULT hr = node->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForScript(): GetDocument() failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugDocumentText> documentText = NULL;
-	hr = document->QueryInterface(IID_IDebugDocumentText, (void**)&documentText);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForScript(): QI(IDebugDocumentText) failed", hr);
-		return false;
-	}
-
-	ULONG numLines = 0;
-	ULONG numChars = 0;
-	hr = documentText->GetSize(&numLines, &numChars);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.createValueForScript(): GetSize() failed", hr);
-		return false;
-	}
-	if (failIfEmpty && numChars == 0) {
-		return false;
-	}
-
-	Value* result = new Value();
-	result->addObjectValue(/*KEY_ID*/ L"url", &Value(id)); // TODO
-	result->addObjectValue(KEY_LINEOFFSET, &Value((double)0)); // TODO right?
-	result->addObjectValue(KEY_COLUMNOFFSET, &Value((double)0));
-	result->addObjectValue(KEY_SOURCELENGTH, &Value((double)numChars));
-	result->addObjectValue(KEY_LINECOUNT, &Value((double)numLines));
-	if (wcsstr(id, VALUE_EVALCODE)) {
-		result->addObjectValue(KEY_TYPE, &Value(VALUE_EVALLEVEL)); // TODO right?
-	} else {
-		result->addObjectValue(KEY_TYPE, &Value(VALUE_TOPLEVEL)); // TODO right?
-	}
-
-	if (includeSource) {
-		wchar_t* sourceChars = new wchar_t[numChars + 1];
-		ULONG charsRead = 0;
-		hr = documentText->GetText(0, sourceChars, NULL, &charsRead, numChars);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.createValueForScript(): GetText()[2] failed", hr);
-			return false;
-		}
-		sourceChars[numChars] = NULL;
-		result->addObjectValue(KEY_SOURCE, &Value(sourceChars));
-		delete[] sourceChars;
-	}
-
-	*_value = result;
-	return true;
-}
-
-bool CrossfireContext::evaluate(IDebugStackFrame* stackFrame, wchar_t* expression, int flags, IDebugProperty** _result) {
-	*_result = NULL;
-
-	CComPtr<IDebugExpressionContext> expressionContext = NULL;
-	HRESULT hr = stackFrame->QueryInterface(IID_IDebugExpressionContext, (void**)&expressionContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluate(): QI(IDebugExpressionContext) failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugExpression> parsedExpression = NULL;
-	hr = expressionContext->ParseLanguageText(
-		expression,
-		10,
-		L"",
-		flags,
-		&parsedExpression);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluate(): ParseLanguageText() failed", hr);
-		return false;
-	}
-
-	hr = parsedExpression->Start(NULL);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluate(): Start() failed", hr);
-		return false;
-	}
-
-	int ms = 0;
-	while (ms < 2000) {
-		if (parsedExpression->QueryIsComplete() == S_OK) {
-			break;
-		}
-		ms += 10;
-		::Sleep(10);
-	}
-	if (2000 <= ms) {
-		Logger::error("CrossfireContext.evaluate(): Evaluation took too long");
-		return false;
-	}
-
-	HRESULT evalResult;
-	hr = parsedExpression->GetResultAsDebugProperty(&evalResult, _result);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluate(): GetResultAsDebugProperty() failed", hr);
-		return false;
-	}
-	if (FAILED(evalResult)) {
-		Logger::error("CrossfireContext.evaluate(): evaluation of GetResultAsDebugProperty() failed", evalResult);
-		return false;
-	}
-
-	return true;
-}
-
-bool CrossfireContext::evaluateAsync(IDebugStackFrame* stackFrame, wchar_t* expression, int flags, IJSEvalHandler* handler, void* data) {
-	CComPtr<IDebugExpressionContext> expressionContext = NULL;
-	HRESULT hr = stackFrame->QueryInterface(IID_IDebugExpressionContext, (void**)&expressionContext);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluateAsync(): QI(IDebugExpressionContext) failed", hr);
-		return false;
-	}
-
-	CComPtr<IDebugExpression> parsedExpression = NULL;
-	hr = expressionContext->ParseLanguageText(
-		expression,
-		10,
-		L"",
-		flags,
-		&parsedExpression);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluateAsync(): ParseLanguageText() failed", hr);
-		return false;
-	}
-
-	CComObject<JSEvalCallback>* listener = NULL;
-	hr = CComObject<JSEvalCallback>::CreateInstance(&listener);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.evaluateAsync(): CreateInstance() failed", hr);
-		return false;
-	}
-
-	listener->AddRef(); /* CComObject::CreateInstance gives initial ref count of 0 */
-	m_asyncEvals->push_back(listener);
-	listener->start(parsedExpression, handler, data);
-	return true;
-}
-
-bool CrossfireContext::getDebugApplication(IRemoteDebugApplication** _value) {
-	*_value = NULL;
-
-	CComPtr<IRemoteDebugApplicationThread> thread = NULL;
-	if (!getDebugApplicationThread(&thread)) {
-		return false;
-	}
-
-	HRESULT hr = thread->GetApplication(_value);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.getDebugApplication: GetApplication() failed", hr);
-		return false;
-	}
-
-	return true;
-}
-
-bool CrossfireContext::getDebugApplicationThread(IRemoteDebugApplicationThread** _value) {
-	*_value = NULL;
-
-	if (m_debugApplicationThread) {
-		m_debugApplicationThread->AddRef();
-		*_value = m_debugApplicationThread;
-		return true;
-	}
-
-    CComPtr<IDebugProgramProvider2> pPDM;
-    HRESULT hr = pPDM.CoCreateInstance(__uuidof(MsProgramProvider), NULL, CLSCTX_INPROC_SERVER);
-    if (FAILED(hr)) {
-        Logger::error("CrossfireContext.getDebugApplicationThread(): CoCreateInstance() failed", hr);
-        return false;
-    }
-
-    AD_PROCESS_ID processId;
-	processId.ProcessIdType = AD_PROCESS_ID_SYSTEM;
-	processId.ProcessId.dwProcessId = m_processId;
-	CONST_GUID_ARRAY filter;
-	filter.dwCount = 0;
-	filter.Members = NULL;
-	PROVIDER_PROCESS_DATA processData;
-    hr = pPDM->GetProviderProcessData(PFLAG_GET_PROGRAM_NODES | PFLAG_DEBUGGEE | PFLAG_ATTACHED_TO_DEBUGGEE, NULL, processId, filter, &processData);
-	if (FAILED(hr)) {
-        Logger::error("CrossfireContext.getDebugApplicationThread(): GetProviderProcessData() failed", hr);
-        return false;
-	}
-	if (processData.ProgramNodes.dwCount != 1) {
-        Logger::error("CrossfireContext.getDebugApplicationThread(): GetProviderProcessData() returned program nodes count != 1", processData.ProgramNodes.dwCount);
-        return false;
-	}
-
-	IDebugProgramNode2* node = processData.ProgramNodes.Members[0];
-	CComPtr<IDebugProviderProgramNode2> providerProgramNode;
-	hr = node->QueryInterface(__uuidof(IDebugProviderProgramNode2), (void**)&providerProgramNode);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.getDebugApplicationThread(): QI(IDebugProviderProgramNode2) failed", hr);
-        return false;
-	}
-
-	CComPtr<IRemoteDebugApplication> debugApplication;
-	hr = providerProgramNode->UnmarshalDebuggeeInterface(IID_IRemoteDebugApplication, (void**)&debugApplication);
-	if (FAILED(hr)) {
-        Logger::error("CrossfireContext.getDebugApplicationThread(): UnmarshalDebuggeeInterface() failed", hr);
-        return false;
-	}
-
-	CComPtr<IDebugApplicationNode> rootNode = NULL;
-	hr = debugApplication->GetRootNode(&rootNode);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.getDebugApplicationThread(): GetRootNode() failed", hr);
-	} else {
-		CComPtr<IConnectionPointContainer> connectionPointContainer = NULL;
-		hr = rootNode->QueryInterface(IID_IConnectionPointContainer, (void**)&connectionPointContainer);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.getDebugApplicationThread(): QI(IConnectionPointContainer) failed", hr);
-		} else {
-			CComPtr<IConnectionPoint> connectionPoint = NULL;
-			hr = connectionPointContainer->FindConnectionPoint(IID_IDebugApplicationNodeEvents, &connectionPoint);
-			if (FAILED(hr)) {
-				Logger::error("CrossfireContext.getDebugApplicationThread(): FindConnectionPoint() failed", hr);
-			} else {
-				hr = connectionPoint->Advise(m_debugger, &m_cpcApplicationNodeEvents);
-				if (FAILED(hr)) {
-					Logger::error("CrossfireContext.getDebugApplicationThread(): Advise() failed", hr);
-				}
-			}
-		}
-	}
-
-	CComPtr<IEnumRemoteDebugApplicationThreads> debugApplicationThreads;
-	hr = debugApplication->EnumThreads(&debugApplicationThreads);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.getDebugApplicationThread(): EnumThreads() failed", hr);
-		return false;
-	}
-
-	ULONG fetchedThreads = 0;
-	hr = debugApplicationThreads->Next(1, &m_debugApplicationThread, &fetchedThreads);
-	if (FAILED(hr) || fetchedThreads == 0) {
-		Logger::error("CrossfireContext.getDebugApplicationThread(): Next() failed", hr);
-		return false;
-	}
-
-	m_debugApplicationThread->AddRef();
-	*_value = m_debugApplicationThread;
-	return true;
-}
-
-IDebugApplicationNode* CrossfireContext::getLastInitializedScriptNode() {
-	return m_lastInitializedScriptNode;
-}
-
-wchar_t* CrossfireContext::getName() {
-	return m_name;
-}
-
-DWORD CrossfireContext::getProcessId() {
-	return m_processId;
-}
-
-wchar_t* CrossfireContext::getScriptId(IDebugApplicationNode* node) {
-	if (!m_scriptNodes) {
-		return NULL;
-	}
-
-	std::map<std::wstring, IDebugApplicationNode*>::iterator iterator = m_scriptNodes->begin();
-	while (iterator != m_scriptNodes->end()) {
-		if (iterator->second == node) {
-			return (wchar_t*)iterator->first.c_str();
-		}
-		iterator++;
-	}
-	return NULL;
-}
-
-IDebugApplicationNode* CrossfireContext::getScriptNode(wchar_t* name) {
-	if (!m_scriptNodes) {
-		return NULL;
-	}
-
-	std::map<std::wstring, IDebugApplicationNode*>::iterator iterator = m_scriptNodes->find(name);
-	if (iterator == m_scriptNodes->end()) {
-		return NULL;
-	}
-
-	return iterator->second;
-}
-
-wchar_t* CrossfireContext::getUrl() {
-	return m_url;
-}
-
-bool CrossfireContext::hookDebugger() {
-	if (m_debuggerHooked) {
-		return true;
-	}
-
-	CComPtr<IRemoteDebugApplication> application = NULL;
-	if (!getDebugApplication(&application)) {
-		return false;
-	}
-
-	CComPtr<IApplicationDebugger> currentDebugger = NULL;
-	HRESULT hr = application->GetDebugger(&currentDebugger);
-	if (SUCCEEDED(hr) && currentDebugger) {
-		Logger::log("CrossfireContext.hookDebugger(): the application already has a debugger");
-		return false;
-	}
-
-	IEDebugger* ieDebugger = static_cast<IEDebugger*>(m_debugger);
-	ieDebugger->setContext(this);
-	hr = application->ConnectDebugger(ieDebugger);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.hookDebugger(): ConnectDebugger() failed", hr);
-		ieDebugger->setContext(NULL);
-		return false;
-	}
-
-	Logger::log("CrossfireContext.hookDebugger(): debugger successfully hooked");
-	m_debuggerHooked = true;
-	return true;
-}
-
-void CrossfireContext::installBreakpoints(std::vector<Value*>* breakpoints) {
-	std::vector<Value*>::iterator iterator = breakpoints->begin();
-	while (iterator != breakpoints->end()) {
-		Value* current = *iterator;
-		std::wstring* type = current->getObjectValue(KEY_TYPE)->getStringValue();
-		if (type->compare(std::wstring(BPTYPE_LINE)) == 0) {
-			Value* value_location = current->getObjectValue(KEY_LOCATION);
-			Value* value_url = value_location->getObjectValue(KEY_LINE);
-			if (value_url && value_url->getType() == TYPE_STRING) {
-
-			}
-		}
-		iterator++;
-	}
-}
-
-bool CrossfireContext::performRequest(CrossfireRequest* request) {
-	if (!m_debuggerHooked) {
-		hookDebugger();
-	}
-	wchar_t* command = request->getName();
-	Value* arguments = request->getArguments();
-	Value* responseBody = NULL;
-	wchar_t* message = NULL;
-	int code = CODE_OK;
-
-	if (wcscmp(command, COMMAND_BACKTRACE) == 0) {
-		code = commandBacktrace(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_CONTINUE) == 0) {
-		code = commandContinue(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_EVALUATE) == 0) {
-		code = commandEvaluate(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_FRAME) == 0) {
-		code = commandFrame(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_LOOKUP) == 0) {
-		code = commandLookup(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_SCRIPTS) == 0) {
-		code = commandScripts(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_SCOPES) == 0) {
-		code = commandScopes(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_SUSPEND) == 0) {
-		code = commandSuspend(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_INSPECT) == 0) {
-		code = CODE_COMMAND_NOT_IMPLEMENTED;
-	} else {
-		return false;	/* command not handled */
-	}
-
-	CrossfireResponse response;
-	response.setContextId(&std::wstring(m_name));
-	response.setName(command);
-	response.setRequestSeq(request->getSeq());
-	response.setRunning(m_running);
-	response.setCode(code);
-	response.setMessage(message);
-	if (message) {
-		free(message);
-	}
-	if (code == CODE_OK) {
-		response.setBody(responseBody);
-	} else {
-		Value emptyBody;
-		emptyBody.setType(TYPE_OBJECT);
-		response.setBody(&emptyBody);
-	}
-	if (responseBody) {
-		delete responseBody;
-	}
-	m_server->sendResponse(&response);
-	return true;
-}
-
-bool CrossfireContext::registerScript(IDebugApplicationNode* applicationNode, bool recurse) {
-	CComBSTR value = NULL;
-	wchar_t* id = NULL;
-	HRESULT hr = applicationNode->GetName(DOCUMENTNAMETYPE_URL, &value);
-	if (SUCCEEDED(hr)) {
-		id = value.m_str;
-	} else {
-		/*
-		 * Failure to get the URL indicates that the node represents something like a JScript
-		 * block or eval code.  For these cases get the node's title instead and append an
-		 * index which will uniquely distinguish it from other nodes of a similar kind.
-		 */
-		hr = applicationNode->GetName(DOCUMENTNAMETYPE_TITLE, &value);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.registerScript(): GetName() failed", hr);
-			return false;
-		} else {
-			id = value.m_str;
-		}
-	}
-
-	if (!m_scriptNodes) {
-		m_scriptNodes = new std::map<std::wstring, IDebugApplicationNode*>;
-	}
-
-	/*
-	 * There could be another script with the same id already registered for id's that
-	 * are not urls.  In this case append a qualifier to the id to make it unique.
-	 */
-	int qualifierIndex = 1;
-	std::wstring key(id);
-	applicationNode->AddRef();
-	while (true) {
-		if (m_scriptNodes->insert(std::pair<std::wstring, IDebugApplicationNode*>(key, applicationNode)).second) {
-			/* script was successfully inserted */
-			break;
-		}
-		key.assign(id);
-		key += wchar_t('/');
-		wchar_t qualifierString[4];
-		_ltow_s(qualifierIndex++, qualifierString, 4, 10); /* trailing linebreak */
-		key += qualifierString;
-	}
-	
-	if (recurse) {
-		CComPtr<IEnumDebugApplicationNodes> nodes = NULL;
-		hr = applicationNode->EnumChildren(&nodes);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.registerScript(): EnumChildren() failed", hr);
-		} else {
-			CComPtr<IDebugApplicationNode> current = NULL;
-			ULONG count = 0;
-			hr = nodes->Next(1, &current, &count);
-			while (SUCCEEDED(hr) && count) {
-				registerScript(current, true);
-				hr = nodes->Next(1, &current, &count);
-			}
-		}
-	}
-
-	return true;
-}
-
-bool CrossfireContext::resumeFromBreak() {
-	CComPtr<IRemoteDebugApplicationThread> thread = NULL;
-	HRESULT hr = getDebugApplicationThread(&thread);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.resumeFromBreak(): getDebugApplicationThread() failed", hr);
-		return false;
-	}
-	CComPtr<IRemoteDebugApplication> application = NULL;
-	hr = thread->GetApplication(&application);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.resumeFromBreak(): GetApplication() failed", hr);
-		return false;
-	}
-	hr = application->ResumeFromBreakPoint(thread, BREAKRESUMEACTION_CONTINUE, ERRORRESUMEACTION_SkipErrorStatement);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.resumeFromBreak(): ResumeFromBreakPoint() failed", hr);
-		return false;
-	}
-	return true;
-}
-
-bool CrossfireContext::scriptInitialized(IDebugApplicationNode *applicationNode) {
-	if (m_lastInitializedScriptNode) {
-		m_lastInitializedScriptNode->Release();
-	}
-	m_lastInitializedScriptNode = applicationNode;
-	m_lastInitializedScriptNode->AddRef();
-
-	registerScript(applicationNode, false);
-
-	if (!scriptLoaded(applicationNode)) {
-		/*
-		 * The script's content has not been loaded yet, so create a listener
-		 * object that will invoke #scriptLoaded() when this happens
-		 */
-		CComObject<PendingScriptLoad>* pendingScriptLoad = NULL;
-		HRESULT hr = CComObject<PendingScriptLoad>::CreateInstance(&pendingScriptLoad);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.scriptInitialized(): CreateInstance(CLSID_PendingScriptLoad) failed [1]", hr);
-			return false;
-		}
-
-		if (pendingScriptLoad->attach(applicationNode, this)) {
-			applicationNode->AddRef();
-			pendingScriptLoad->AddRef(); /* CComObject::CreateInstance gives initial ref count of 0 */
-			m_pendingScriptLoads->insert(std::pair<IDebugApplicationNode*, PendingScriptLoad*>(applicationNode, pendingScriptLoad));
-		}
-	}
-
-	return true;
-}
-
-bool CrossfireContext::scriptLoaded(IDebugApplicationNode *applicationNode) {
-	CrossfireBPManager* bpManager = m_server->getBreakpointManager();
-
-	wchar_t* id = getScriptId(applicationNode);
-	if (!id) {
-		Logger::error("CrossfireContext.scriptLoaded(): unknown script");
-		return false;
-	}
-
-	/*
-	 * Incoming IBreakpointTarget method invocations should always be for this
-	 * application node, so store it temporarily so that's it's easily accessible,
-	 * rather than repeatedly looking it up for each IBreakpointTarget invocation.
-	 */
-	m_currentScriptNode = applicationNode;
-	bpManager->setBreakpointsForScript(&std::wstring(id), this);
-	m_currentScriptNode = NULL;
-
-	Value* script = NULL;
-	if (!createValueForScript(applicationNode, false, true, &script)) {
-		/* the script's content has probably not loaded yet */
-		return false;
-	}
-
-	/* Ensure that there is not a PendingScriptLoad remaining for this node */
-	std::map<IDebugApplicationNode*, PendingScriptLoad*>::iterator iterator = m_pendingScriptLoads->find(applicationNode);
-	if (iterator != m_pendingScriptLoads->end()) {
-		iterator->first->Release();
-		iterator->second->Release();
-		m_pendingScriptLoads->erase(iterator);
-	}
-
-	CrossfireEvent onScriptEvent;
-	onScriptEvent.setName(EVENT_ONSCRIPT);
-	Value data;
-	data.addObjectValue(KEY_SCRIPT, script);
-	delete script;
-	onScriptEvent.setData(&data);
-	sendEvent(&onScriptEvent);
-	return true;
-}
-
-void CrossfireContext::sendEvent(CrossfireEvent* eventObj) {
-	eventObj->setContextId(&std::wstring(m_name));
-	m_server->sendEvent(eventObj);
-}
-
-bool CrossfireContext::unhookDebugger() {
-	if (!m_debuggerHooked) {
-		return true;
-	}
-
-	CComPtr<IRemoteDebugApplication> application = NULL;
-	if (!getDebugApplication(&application)) {
-		return false;
-	}
-	HRESULT hr = application->DisconnectDebugger();
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.unhookDebugger(): DisconnectDebugger() failed", hr);
-	}
-
-	static_cast<IEDebugger*>(m_debugger)->setContext(NULL);
-	return SUCCEEDED(hr);
-}
-
-/* commands */
-
-int CrossfireContext::commandBacktrace(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (m_running) {
-		*_message = _wcsdup(L"'backtrace' request is only valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	unsigned int fromFrame = 0;
-	Value* value_fromFrame = arguments->getObjectValue(KEY_FROMFRAME);
-	if (value_fromFrame) {
-		if (value_fromFrame->getType() != TYPE_NUMBER || (unsigned int)value_fromFrame->getNumberValue() < 0) {
-			*_message = _wcsdup(L"'backtrace' command has an invalid 'fromFrame' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		fromFrame = (unsigned int)value_fromFrame->getNumberValue();
-	}
-
-	unsigned int toFrame = 99;
-	Value* value_toFrame = arguments->getObjectValue(KEY_TOFRAME);
-	if (value_toFrame) {
-		if (value_toFrame->getType() != TYPE_NUMBER || (unsigned int)value_toFrame->getNumberValue() < 0) {
-			*_message = _wcsdup(L"'backtrace' command has an invalid 'toFrame' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		toFrame = (unsigned int)value_toFrame->getNumberValue();
-		if (toFrame < fromFrame) {
-			*_message = _wcsdup(L"'backtrace' command has 'toFrame' value < 'fromFrame' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-	}
-
-	bool includeScopes = true;
-	Value* value_includeScopes = arguments->getObjectValue(KEY_INCLUDESCOPES);
-	if (value_includeScopes) {
-		if (value_includeScopes->getType() != TYPE_BOOLEAN) {
-			*_message = _wcsdup(L"'backtrace' command has an invalid 'includeScopes' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		includeScopes = value_includeScopes->getBooleanValue();
-	}
-
-	CComPtr<IRemoteDebugApplicationThread> applicationThread = NULL;
-	if (!getDebugApplicationThread(&applicationThread)) {
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	CComPtr<IEnumDebugStackFrames> stackFrames = NULL;
-	HRESULT hr = applicationThread->EnumStackFrames(&stackFrames);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.commandBacktrace(): EnumStackFrames() failed", hr);
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	if (fromFrame > 0) {
-		HRESULT hr = stackFrames->Skip(fromFrame);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.commandBacktrace(): Skip() failed", hr);
-			return CODE_COMMAND_FAILED;
-		}
-	}
-
-	/* count the available frames, and adjust toFrame accordingly if needed */
-
-	Value framesArray;
-	framesArray.setType(TYPE_ARRAY);
-	unsigned int index = 0;
-	for (index = fromFrame; index <= toFrame; index++) {
-		ULONG fetched = 0;
-		DebugStackFrameDescriptor stackFrameDescriptor;
-		hr = stackFrames->Next(1, &stackFrameDescriptor, &fetched);
-		if (FAILED(hr) || fetched == 0) {
-			/*
-			 * Have enumerated past the last stack frame, which is expected
-			 * to happen if the toFrame value is not specified or is too large.
-			 */
-			break;
-		}
-
-		Value* frame = NULL;
-		if (!createValueForFrame(stackFrameDescriptor.pdsf, index, includeScopes, &frame)) {
-			/* Attempting to access a frame without available information, break */
-			break;
-		}
-
-		framesArray.addArrayValue(frame);
-		delete frame;
-	}
-
-	/* index now points to one frame beyond the last frame to be returned */
-
-	int totalFrameCount = index;
-
-	/*
-	 * If the frame with index toFrame was reached successfully then continue on to
-	 * count any remaining frames in order to determine totalFrameCount.
-	 */
-	if (toFrame < index) {
-		while (true) {
-			ULONG fetched = 0;
-			DebugStackFrameDescriptor stackFrameDescriptor;
-			hr = stackFrames->Next(1, &stackFrameDescriptor, &fetched);
-			if (FAILED(hr) || fetched == 0) {
-				break;
-			}
-			totalFrameCount++;
-		}
-	}
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_FRAMES, &framesArray);
-	result->addObjectValue(KEY_FROMFRAME, &Value((double)fromFrame));
-	result->addObjectValue(KEY_TOFRAME, &Value((double)index - 1));
-	result->addObjectValue(KEY_TOTALFRAMES, &Value((double)totalFrameCount));
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireContext::commandContinue(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (m_running) {
-		*_message = _wcsdup(L"'continue' request is only valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	BREAKRESUMEACTION action;
-	Value* value_action = NULL;
-	if (arguments) {
-		value_action = arguments->getObjectValue(KEY_STEPACTION);
-	}
-	if (!value_action) {
-		action = BREAKRESUMEACTION_CONTINUE;
-	} else {
-		if (value_action->getType() != TYPE_STRING) {
-			*_message = _wcsdup(L"'continue' command has invalid 'stepaction' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		std::wstring* actionString = value_action->getStringValue();
-		if (actionString->compare(VALUE_IN) == 0) {
-			action = BREAKRESUMEACTION_STEP_INTO;
-		} else if (actionString->compare(VALUE_NEXT) == 0) {
-			action = BREAKRESUMEACTION_STEP_OVER;
-		} else if (actionString->compare(VALUE_OUT) == 0) {
-			action = BREAKRESUMEACTION_STEP_OUT;
-		} else {
-			*_message = _wcsdup(L"'continue' command has invalid 'stepaction' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-	}
-
-	CComPtr<IRemoteDebugApplicationThread> applicationThread = NULL;
-	if (!getDebugApplicationThread(&applicationThread)) {
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-	CComPtr<IRemoteDebugApplication> application = NULL;
-	HRESULT hr = applicationThread->GetApplication(&application);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.commandContinue(): GetApplication() failed", hr);
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	hr = application->ResumeFromBreakPoint(applicationThread, action, ERRORRESUMEACTION_SkipErrorStatement);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.commandContinue(): ResumeFromBreakPoint() failed", hr);
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	CrossfireEvent onResumeEvent;
-	onResumeEvent.setName(EVENT_ONRESUME);
-	Value data;
-	data.setType(TYPE_OBJECT);
-	onResumeEvent.setData(&data);
-	sendEvent(&onResumeEvent);
-
-	clearObjects();
-	*_responseBody = new Value();
-	(*_responseBody)->setType(TYPE_OBJECT);
-	m_running = true;
-	return CODE_OK;
-}
-
-int CrossfireContext::commandEvaluate(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (m_running) {
-		*_message = _wcsdup(L"'evaluate' request is only valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	unsigned int frame = 0;
-	Value* value_frame = arguments->getObjectValue(KEY_FRAMEINDEX);
-	if (value_frame) {
-		if (value_frame->getType() != TYPE_NUMBER || (unsigned int)value_frame->getNumberValue() < 0) {
-			*_message = _wcsdup(L"'evaluate' command has invalid 'frame' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		frame = (unsigned int)value_frame->getNumberValue();
-	}
-
-	Value* value_expression = arguments->getObjectValue(KEY_EXPRESSION);
-	if (!value_expression || value_expression->getType() != TYPE_STRING) {
-		*_message = _wcsdup(L"'evaluate' command does not have a valid 'expression' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	CComPtr<IRemoteDebugApplicationThread> applicationThread = NULL;
-	if (!getDebugApplicationThread(&applicationThread)) {
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	CComPtr<IEnumDebugStackFrames> stackFrames = NULL;
-	HRESULT hr = applicationThread->EnumStackFrames(&stackFrames);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.commandEvaluate(): EnumStackFrames() failed", hr);
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	if (frame > 0) {
-		hr = stackFrames->Skip(frame);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.commandEvaluate(): Skip() failed", hr);
-			return CODE_COMMAND_FAILED;
-		}
-	}
-
-	ULONG fetched = 0;
-	DebugStackFrameDescriptor stackFrameDescriptor;
-	hr = stackFrames->Next(1, &stackFrameDescriptor, &fetched);
-	if (FAILED(hr) || fetched == 0) {
-		Logger::error("CrossfireContext.commandEvaluate(): Next() failed", hr);
-		return CODE_COMMAND_FAILED;
-	}
-
-	IDebugStackFrame* stackFrame = stackFrameDescriptor.pdsf;
-	CComPtr<IDebugProperty> debugProperty = NULL;
-	if (!evaluate(
-		stackFrame,
-		(wchar_t *)value_expression->getStringValue()->c_str(),
-		DEBUG_TEXT_ISEXPRESSION | DEBUG_TEXT_RETURNVALUE | DEBUG_TEXT_ALLOWBREAKPOINTS | DEBUG_TEXT_ALLOWERRORREPORT,
-		&debugProperty)) {
-			return CODE_COMMAND_FAILED;
-	}
-
-	JSObject newObject;
-	newObject.debugProperty = debugProperty;
-	newObject.stackFrame = stackFrame;
-	Value* value_result = NULL;
-	if (!createValueForObject(&newObject, true, &value_result)) {
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_RESULT, value_result);
-	delete value_result;
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireContext::commandFrame(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (m_running) {
-		*_message = _wcsdup(L"'frame' request is only valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	bool includeScopes = true;
-	Value* value_includeScopes = arguments->getObjectValue(KEY_INCLUDESCOPES);
-	if (value_includeScopes) {
-		if (value_includeScopes->getType() != TYPE_BOOLEAN) {
-			*_message = _wcsdup(L"'frame' command has an invalid 'includeScopes' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		includeScopes = value_includeScopes->getBooleanValue();
-	}
-
-	unsigned int index = 0;
-	Value* value_index = arguments->getObjectValue(KEY_INDEX);
-	if (value_index) {
-		if (value_index->getType() != TYPE_NUMBER || (unsigned int)value_index->getNumberValue() < 0) {
-			*_message = _wcsdup(L"'frame' command has an invalid 'index' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		index = (unsigned int)value_index->getNumberValue();
-	}
-
-	CComPtr<IRemoteDebugApplicationThread> applicationThread = NULL;
-	if (!getDebugApplicationThread(&applicationThread)) {
-		return false;
-	}
-
-	CComPtr<IEnumDebugStackFrames> stackFrames = NULL;
-	HRESULT hr = applicationThread->EnumStackFrames(&stackFrames);
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.commandFrame(): EnumStackFrames() failed", hr);
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	if (index > 0) {
-		hr = stackFrames->Skip(index);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireContext.commandFrame(): Skip() failed", hr);
-			return CODE_COMMAND_FAILED;
-		}
-	}
-
-	ULONG fetched = 0;
-	DebugStackFrameDescriptor stackFrameDescriptor;
-	hr = stackFrames->Next(1, &stackFrameDescriptor, &fetched);
-	if (FAILED(hr) || fetched == 0) {
-		Logger::error("CrossfireContext.commandFrame(): Next() failed", hr);
-		return CODE_COMMAND_FAILED;
-	}
-
-	Value* frame = NULL;
-	if (!createValueForFrame(stackFrameDescriptor.pdsf, index, includeScopes, &frame)) {
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_FRAME, frame);
-	*_responseBody = result;
-	delete frame;
-	return CODE_OK;
-}
-
-int CrossfireContext::commandLookup(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (m_running) {
-		*_message = _wcsdup(L"'lookup' request is only valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	Value* value_handles = arguments->getObjectValue(KEY_HANDLES);
-	if (!value_handles || value_handles->getType() != TYPE_ARRAY) {
-		*_message = _wcsdup(L"'lookup' command does not have a valid 'handles' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	bool includeSource = false;
-	Value* value_includeSource = arguments->getObjectValue(KEY_INCLUDESOURCE);
-	if (value_includeSource) {
-		if (value_includeSource->getType() != TYPE_BOOLEAN) {
-			*_message = _wcsdup(L"'lookup' command has an invalid 'includeSource' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		includeSource = value_includeSource->getBooleanValue();
-	}
-
-	Value** handles = NULL;
-	value_handles->getArrayValues(&handles);
-	Value value_values;
-	value_values.setType(TYPE_ARRAY);
-	int index = 0;
-	Value* current = handles[index++];
-	while (current) {
-		if (current->getType() == TYPE_NUMBER && current->getNumberValue() > 0) {
-			unsigned int handle = (unsigned int)current->getNumberValue();
-			std::map<unsigned int, JSObject*>::iterator iterator = m_objects->find(handle);
-			if (iterator != m_objects->end()) {
-				JSObject* object = iterator->second;
-				Value* value_object = NULL;
-				if (createValueForObject(object, true, &value_object)) {
-					value_object->addObjectValue(KEY_HANDLE, current);
-					if (includeSource && !object->isObject) {
-						// TODO
-				//		GUID iid;
-				//		IIDFromString(OLESTR("{94E1E004-0672-423d-AD62-78783DEF1E76}"), &iid);
-				//		CComPtr<IDebugProperty3> documentContext = NULL;
-				//		HRESULT hr2 = object->debugProperty->QueryInterface(iid, (LPVOID*)&documentContext);
-				//		if (SUCCEEDED(hr2)) {
-				//			ULONG len = 0;
-				//			hr2 = documentContext->GetStringCharLength(&len);
-				//			if (SUCCEEDED(hr2)) {
-				//				Logger::error("maybe?");
-				//			}
-				//		}
-				//		VARIANT info;
-				//		object->debugProperty->GetExtendedInfo(1, &iid, &info); 
-				//		if (info.vt == VT_UNKNOWN) {
-				//			CComPtr<IDebugDocumentContext2> documentContext = NULL;
-				//			IIDFromString(OLESTR("{931516ad-b600-419c-88fc-dcf5183b5fa9}"), &iid);
-				//			HRESULT hr = info.punkVal->QueryInterface(/*IID_IDebugDocumentContext2*/iid, (LPVOID*)&documentContext);
-				//			if (FAILED(hr)) {
-				//				Logger::error("CrossfireContext.commandLookup(): QI(IDebugDocumentContext2) failed", hr);
-				//			} else {
-				//				TEXT_POSITION start, end;
-				//				hr = documentContext->GetSourceRange(&start, &end);
-				//				if (FAILED(hr)) {
-				//					Logger::error("CrossfireContext.commandLookup(): GetSourceRange() failed", hr);
-				//				}
-				//			}
-				//		}
-					}
-					value_values.addArrayValue(value_object);
-					delete value_object;
-				}
-			}
-		}
-		current = handles[index++];
-	}
-	delete[] handles;
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_VALUES, &value_values);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireContext::commandScopes(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (m_running) {
-		*_message = _wcsdup(L"'scopes' request is only valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	// TODO
-	return CODE_COMMAND_NOT_IMPLEMENTED;
-}
-
-int CrossfireContext::commandScripts(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	bool includeSource = false;
-	Value* value_includeSource = arguments->getObjectValue(KEY_INCLUDESOURCE);
-	if (value_includeSource) {
-		if (value_includeSource->getType() != TYPE_BOOLEAN) {
-			*_message = _wcsdup(L"'scripts' command has an invalid 'includeSource' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		includeSource = value_includeSource->getBooleanValue();
-	}
-
-	Value* value_ids = arguments->getObjectValue(KEY_URLS);
-	Value** ids = NULL;
-	if (value_ids) {
-		if (value_ids->getType() != TYPE_ARRAY) {
-			*_message = _wcsdup(L"'scripts' command has an invalid 'urls' value");
-			return CODE_INVALID_ARGUMENT;
-		}
-		value_ids->getArrayValues(&ids);
-	}
-
-	/*
-	 * If no scripts have attempted to register yet then this context may have been
-	 * created after its page had already loaded (eg.- before a connection to the
-	 * crossfire server was established).  If the application has a tree of scripts
-	 * then register them now, starting one level below the root.
-	 */
-	if (!m_scriptNodes) {
-		CComPtr<IRemoteDebugApplication> application = NULL;
-		if (getDebugApplication(&application)) {
-			CComPtr<IDebugApplicationNode> rootNode = NULL;
-			HRESULT hr = application->GetRootNode(&rootNode);
-			if (SUCCEEDED(hr)) {
-				CComPtr<IEnumDebugApplicationNodes> nodes = NULL;
-				hr = rootNode->EnumChildren(&nodes);
-				if (SUCCEEDED(hr)) {
-					CComPtr<IDebugApplicationNode> current = NULL;
-					ULONG count = 0;
-					hr = nodes->Next(1, &current, &count);
-					while (SUCCEEDED(hr) && count) {
-						registerScript(current, true);
-						hr = nodes->Next(1, &current, &count);
-					}
-				}
-			}
-		}
-	}
-
-	Value scriptsArray;
-	scriptsArray.setType(TYPE_ARRAY);
-	if (m_scriptNodes) {
-		std::map<std::wstring, IDebugApplicationNode*>::iterator iterator = m_scriptNodes->begin();
-		while (iterator != m_scriptNodes->end()) {
-			Value* value = NULL;
-			IDebugApplicationNode* node = iterator->second;
-			bool include = false;
-			if (!ids) {
-				include = true;
-			} else {
-				wchar_t* nodeId = getScriptId(node);
-				int index = 0;
-				Value* current = ids[index++];
-				while (current) {
-					if (current->getType() == TYPE_STRING) {
-						if (wcscmp(nodeId, current->getStringValue()->c_str()) == 0) {
-							include = true;
-							break;
-						}
-					}
-					current = ids[index++];
-				}
-			}
-			if (include && createValueForScript(node, includeSource, false, &value)) {
-				scriptsArray.addArrayValue(value);
-				delete value;
-			}
-			iterator++;
-		}
-	}
-
-	delete[] ids;
-	Value* result = new Value();
-	result->addObjectValue(KEY_SCRIPTS, &scriptsArray);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireContext::commandSuspend(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	if (!m_running) {
-		*_message = _wcsdup(L"'suspend' request is not valid when execution is suspended");
-		return CODE_INVALID_STATE;
-	}
-
-	CComPtr<IRemoteDebugApplication> application = NULL;
-	if (!getDebugApplication(&application)) {
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	HRESULT hr = application->CauseBreak();
-	if (FAILED(hr)) {
-		Logger::error("CrossfireContext.commandSuspend(): CauseBreak() failed", hr);
-		return CODE_UNEXPECTED_EXCEPTION;
-	}
-
-	*_responseBody = new Value();
-	(*_responseBody)->setType(TYPE_OBJECT);
-	return CODE_OK;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireContext.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireContext.h
deleted file mode 100644
index 08fa756..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireContext.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "activdbg.h"
-#include <msdbg.h>
-#include <psapi.h>
-#include <vector>
-
-#include "CrossfireEvent.h"
-#include "CrossfireLineBreakpoint.h"
-#include "CrossfireRequest.h"
-#include "CrossfireResponse.h"
-#include "IBreakpointTarget.h"
-#include "IECrossfireServer.h"
-#include "JSEvalCallback.h"
-#include "Value.h"
-#include "Logger.h"
-
-class CrossfireContext; // forward declaration
-#include "PendingScriptLoad.h"
-#include "CrossfireServer.h"
-#include "IEDebugger.h"
-
-class CrossfireContext : IBreakpointTarget, IJSEvalHandler {
-
-public:
-	CrossfireContext(DWORD processId, wchar_t* url, CrossfireServer* server);
-	~CrossfireContext();
-	virtual void breakpointHit(IRemoteDebugApplicationThread *pDebugAppThread, BREAKREASON br, IActiveScriptErrorDebug *pScriptErrorDebug);
-	virtual IDebugApplicationNode* getLastInitializedScriptNode();
-	virtual wchar_t* getName();
-	virtual DWORD getProcessId();
-	virtual wchar_t* getUrl();
-	virtual void installBreakpoints(std::vector<Value*>* breakpoints);
-	virtual bool performRequest(CrossfireRequest* request);
-	virtual bool scriptInitialized(IDebugApplicationNode *applicationNode);
-	virtual bool scriptLoaded(IDebugApplicationNode *applicationNode);
-
-	/* IBreakpointTarget methods */
-	virtual bool breakpointAttributeChanged(unsigned int handle, wchar_t* name, Value* value);
-	virtual bool deleteBreakpoint(unsigned int handle);
-	virtual CrossfireBreakpoint* getBreakpoint(unsigned int handle);
-	virtual void getBreakpoints(CrossfireBreakpoint*** ___values);
-	virtual bool setBreakpoint(CrossfireBreakpoint* breakpoint, bool isRetry);
-
-	/* IJSEvalHandler methods */
-	virtual void evalComplete(IDebugProperty* value, void* data);
-
-private:
-	struct JSObject {
-		std::map<std::wstring, unsigned int> children;
-		IDebugProperty* debugProperty;
-		bool isObject;
-		IDebugStackFrame* stackFrame;
-	};
-
-	virtual void clearObjects();
-	virtual bool createValueForFrame(IDebugStackFrame* stackFrame, unsigned int frameIndex, bool includeScopes, Value** _value);
-	virtual bool createValueForObject(JSObject* object, bool resolveChildObjects, Value** _value);
-	virtual bool createValueForScript(IDebugApplicationNode* node, bool includeSource, bool failIfEmpty, Value** _value);
-	virtual bool evaluate(IDebugStackFrame* stackFrame, wchar_t* expression, int flags, IDebugProperty** _result);
-	virtual bool evaluateAsync(IDebugStackFrame* stackFrame, wchar_t* expression, int flags, IJSEvalHandler* handler, void* data);
-	virtual bool getDebugApplication(IRemoteDebugApplication** _value);
-	virtual bool getDebugApplicationThread(IRemoteDebugApplicationThread** _value);
-	virtual wchar_t* getScriptId(IDebugApplicationNode* node);
-	virtual IDebugApplicationNode* getScriptNode(wchar_t* name);
-	virtual bool hookDebugger();
-	virtual bool registerScript(IDebugApplicationNode* applicationNode, bool recurse);
-	virtual bool resumeFromBreak();
-	virtual void sendEvent(CrossfireEvent* eventObj);
-	virtual bool setBreakpointEnabled(CrossfireBreakpoint* breakpoint, bool enabled);
-	virtual bool unhookDebugger();
-
-	std::vector<JSEvalCallback*>* m_asyncEvals;
-	std::map<unsigned int, CrossfireBreakpoint*>* m_breakpoints;
-	DWORD m_cpcApplicationNodeEvents;
-	IDebugApplicationNode* m_currentScriptNode;
-	IRemoteDebugApplicationThread* m_debugApplicationThread;
-	IIEDebugger* m_debugger;
-	IDebugApplicationNode* m_lastInitializedScriptNode;
-	bool m_debuggerHooked;
-	wchar_t* m_name;
-	unsigned int m_nextObjectHandle;
-	std::map<unsigned int, JSObject*>* m_objects;
-	std::map<IDebugApplicationNode*, PendingScriptLoad*>* m_pendingScriptLoads;
-	DWORD m_processId;
-	bool m_running;
-	std::map<std::wstring, IDebugApplicationNode*>* m_scriptNodes;
-	CrossfireServer* m_server;
-	wchar_t* m_url;
-
-	/* command: backtrace */
-	static const wchar_t* COMMAND_BACKTRACE;
-	static const wchar_t* KEY_FRAMES;
-	static const wchar_t* KEY_FROMFRAME;
-	static const wchar_t* KEY_TOFRAME;
-	static const wchar_t* KEY_TOTALFRAMES;
-	virtual int commandBacktrace(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: continue */
-	static const wchar_t* COMMAND_CONTINUE;
-	virtual int commandContinue(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: evaluate */
-	static const wchar_t* COMMAND_EVALUATE;
-	static const wchar_t* KEY_EXPRESSION;
-	static const wchar_t* KEY_RESULT;
-	virtual int commandEvaluate(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: frame */
-	static const wchar_t* COMMAND_FRAME;
-	static const wchar_t* KEY_FRAME;
-	static const wchar_t* KEY_INDEX;
-	virtual int commandFrame(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: inspect */
-	static const wchar_t* COMMAND_INSPECT;
-
-	/* command: lookup */
-	static const wchar_t* COMMAND_LOOKUP;
-	static const wchar_t* KEY_HANDLES;
-	static const wchar_t* KEY_VALUES;
-	virtual int commandLookup(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: scopes */
-	static const wchar_t* COMMAND_SCOPES;
-	static const wchar_t* KEY_FROMSCOPE;
-	static const wchar_t* KEY_SCOPES;
-	static const wchar_t* KEY_TOSCOPE;
-	static const wchar_t* KEY_TOTALSCOPECOUNT;
-	virtual int commandScopes(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: scripts */
-	static const wchar_t* COMMAND_SCRIPTS;
-	static const wchar_t* KEY_SCRIPTS;
-	static const wchar_t* KEY_URLS;
-	virtual int commandScripts(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: suspend */
-	static const wchar_t* COMMAND_SUSPEND;
-	static const wchar_t* KEY_STEPACTION;
-	static const wchar_t* VALUE_IN;
-	static const wchar_t* VALUE_NEXT;
-	static const wchar_t* VALUE_OUT;
-	virtual int commandSuspend(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* event: onBreak */
-	static const wchar_t* EVENT_ONBREAK;
-	static const wchar_t* KEY_CAUSE;
-	static const wchar_t* KEY_MESSAGE;
-	static const wchar_t* KEY_TITLE;
-
-	/* event: onResume */
-	static const wchar_t* EVENT_ONRESUME;
-
-	/* event: onScript */
-	static const wchar_t* EVENT_ONSCRIPT;
-	static const wchar_t* KEY_SCRIPT;
-
-	/* event: onToggleBreakpoint */
-	static const wchar_t* EVENT_ONTOGGLEBREAKPOINT;
-	static const wchar_t* KEY_SET;
-
-	/* shared */
-	static const wchar_t* KEY_BREAKPOINT;
-	static const wchar_t* KEY_CONTEXTID;
-	static const wchar_t* KEY_FRAMEINDEX;
-	static const wchar_t* KEY_HANDLE;
-	static const wchar_t* KEY_INCLUDESCOPES;
-	static const wchar_t* KEY_INCLUDESOURCE;
-	static const wchar_t* KEY_LINE;
-	static const wchar_t* KEY_LOCATION;
-	static const wchar_t* KEY_TYPE;
-	static const wchar_t* KEY_URL;
-
-	/* breakpoint objects */
-	static const wchar_t* BPTYPE_LINE;
-
-	/* frame objects */
-	static const wchar_t* KEY_FUNCTIONNAME;
-
-	/* object objects */
-	static const wchar_t* JSVALUE_BOOLEAN;
-	static const wchar_t* JSVALUE_FUNCTION;
-	static const wchar_t* JSVALUE_NUMBER;
-	static const wchar_t* JSVALUE_NULL;
-	static const wchar_t* JSVALUE_STRING;
-	static const wchar_t* JSVALUE_TRUE;
-	static const wchar_t* JSVALUE_UNDEFINED;
-	static const wchar_t* KEY_LOCALS;
-	static const wchar_t* KEY_THIS;
-	static const wchar_t* KEY_VALUE;
-	static const wchar_t* VALUE_BOOLEAN;
-	static const wchar_t* VALUE_FUNCTION;
-	static const wchar_t* VALUE_NUMBER;
-	static const wchar_t* VALUE_OBJECT;
-	static const wchar_t* VALUE_STRING;
-	static const wchar_t* VALUE_UNDEFINED;
-
-	/* script objects */
-	static const wchar_t* KEY_COLUMNOFFSET;
-	static const wchar_t* KEY_LINECOUNT;
-	static const wchar_t* KEY_LINEOFFSET;
-	static const wchar_t* KEY_SOURCE;
-	static const wchar_t* KEY_SOURCELENGTH;
-	static const wchar_t* VALUE_EVALCODE;
-	static const wchar_t* VALUE_EVALLEVEL;
-	static const wchar_t* VALUE_TOPLEVEL;
-
-	/* other */
-	static const wchar_t* ID_PREAMBLE;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireEvent.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireEvent.cpp
deleted file mode 100644
index 603834d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireEvent.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "CrossfireEvent.h"
-
-CrossfireEvent::CrossfireEvent() : CrossfirePacket() {
-	m_data = NULL;
-}
-
-CrossfireEvent::~CrossfireEvent() {
-	if (m_data) {
-		delete m_data;
-	}
-}
-
-void CrossfireEvent::clone(CrossfirePacket** _value) {
-	CrossfireEvent* result = new CrossfireEvent();
-	result->setContextId(getContextId());
-	result->setData(m_data);
-	result->setName(getName());
-	*_value = result;
-}
-
-Value* CrossfireEvent::getData() {
-	return m_data;
-}
-
-int CrossfireEvent::getType() {
-	return TYPE_EVENT;
-}
-
-bool CrossfireEvent::setData(Value* value) {
-	if (value && value->getType() != TYPE_OBJECT) {
-		return false;
-	}
-	if (m_data) {
-		delete m_data;
-		m_data = NULL;
-	}
-	if (value) {
-		value->clone(&m_data);
-	}
-	return true;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireEvent.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireEvent.h
deleted file mode 100644
index cd40fd6..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireEvent.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "CrossfirePacket.h"
-#include "Value.h"
-
-class CrossfireEvent : public CrossfirePacket {
-
-public:
-	CrossfireEvent();
-	~CrossfireEvent();
-	virtual void clone(CrossfirePacket** _value);
-	virtual Value* getData();
-	virtual int getType();
-	virtual bool setData(Value* value);
-
-private:
-	Value* m_data;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireLineBreakpoint.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireLineBreakpoint.cpp
deleted file mode 100644
index 944d217..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireLineBreakpoint.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "CrossfireLineBreakpoint.h"
-
-/* initialize constants */
-const wchar_t* CrossfireLineBreakpoint::BPTYPESTRING_LINE = L"line";
-const wchar_t* CrossfireLineBreakpoint::KEY_CONDITION = L"condition";
-const wchar_t* CrossfireLineBreakpoint::KEY_ENABLED = L"enabled";
-const wchar_t* CrossfireLineBreakpoint::KEY_HITCOUNT = L"hitCount";
-const wchar_t* CrossfireLineBreakpoint::KEY_LINE = L"line";
-const wchar_t* CrossfireLineBreakpoint::KEY_URL = L"url";
-const wchar_t* CrossfireLineBreakpoint::ATTRIBUTE_CONDITION = KEY_CONDITION;
-const wchar_t* CrossfireLineBreakpoint::ATTRIBUTE_ENABLED = KEY_ENABLED;
-const wchar_t* CrossfireLineBreakpoint::ATTRIBUTE_HITCOUNT = KEY_HITCOUNT;
-
-CrossfireLineBreakpoint::CrossfireLineBreakpoint() : CrossfireBreakpoint() {
-	m_hitCounter = 0;
-	m_line = -1;
-	m_url = NULL;
-}
-
-CrossfireLineBreakpoint::CrossfireLineBreakpoint(unsigned int handle) : CrossfireBreakpoint(handle) {
-	m_hitCounter = 0;
-	m_line = -1;
-	m_url = NULL;
-}
-
-CrossfireLineBreakpoint::~CrossfireLineBreakpoint() {
-	if (m_url) {
-		delete m_url;
-	}
-}
-
-bool CrossfireLineBreakpoint::CanHandleBPType(wchar_t* type) {
-	return wcscmp(type, BPTYPESTRING_LINE) == 0;
-}
-
-bool CrossfireLineBreakpoint::appliesToUrl(std::wstring* url) {
-	return m_url->compare(*url) == 0;
-}
-
-bool CrossfireLineBreakpoint::attributeIsValid(wchar_t* name, Value* value) {
-	if (wcscmp(name, ATTRIBUTE_CONDITION) == 0) {
-		return (value->getType() & (TYPE_STRING | TYPE_NULL)) != 0;
-	}
-
-	if (wcscmp(name, ATTRIBUTE_ENABLED) == 0) {
-		return (value->getType() & (TYPE_BOOLEAN | TYPE_NULL)) != 0;
-	}
-
-	if (wcscmp(name, ATTRIBUTE_HITCOUNT) == 0) {
-		return value->getType() == TYPE_NULL || (value->getType() == TYPE_NUMBER && value->getNumberValue() >= 0);
-	}
-
-	/* unknown attribute */
-	return false;
-}
-
-void CrossfireLineBreakpoint::breakpointHit() {
-	m_hitCounter++;
-}
-
-void CrossfireLineBreakpoint::clone(CrossfireBreakpoint** _value) {
-	CrossfireLineBreakpoint* result = new CrossfireLineBreakpoint(getHandle());
-	result->setCondition((std::wstring*)getCondition());
-	result->setContextId((std::wstring*)getContextId());
-	result->setEnabled(isEnabled());
-	result->setHitCount(getHitCount());
-	result->setLine(getLine());
-	result->setTarget(getTarget());
-	result->setUrl((std::wstring*)getUrl());
-	*_value = result;
-}
-
-const std::wstring* CrossfireLineBreakpoint::getCondition() {
-	Value* value = getAttribute((wchar_t*)ATTRIBUTE_CONDITION);
-	if (value) {
-		return value->getStringValue();
-	}
-	return NULL;
-}
-
-unsigned int CrossfireLineBreakpoint::getHitCount() {
-	Value* value = getAttribute((wchar_t*)ATTRIBUTE_HITCOUNT);
-	if (value) {
-		return (unsigned int)value->getNumberValue();
-	}
-	return 0;
-}
-
-unsigned int CrossfireLineBreakpoint::getLine() {
-	return m_line;
-}
-
-bool CrossfireLineBreakpoint::getLocationAsValue(Value** _value) {
-	if (!m_url || m_line < 0) {
-		return false;
-	}
-	Value* result = new Value();
-	result->setObjectValue(KEY_URL, &Value(m_url));
-	result->setObjectValue(KEY_LINE, &Value((double)m_line));
-	*_value = result;
-	return true;
-}
-
-int CrossfireLineBreakpoint::getType() {
-	return BPTYPE_LINE;
-}
-
-const wchar_t* CrossfireLineBreakpoint::getTypeString() {
-	return BPTYPESTRING_LINE;
-}
-
-const std::wstring* CrossfireLineBreakpoint::getUrl() {
-	return m_url;
-}
-
-bool CrossfireLineBreakpoint::isEnabled() {
-	Value* value = getAttribute((wchar_t*)ATTRIBUTE_ENABLED);
-	if (value) {
-		return value->getBooleanValue();
-	}
-	return true;
-}
-
-bool CrossfireLineBreakpoint::matchesHitCount() {
-	unsigned int hitCount = getHitCount();
-	if (!hitCount) {
-		return true;
-	}
-	return hitCount == m_hitCounter;
-}
-
-void CrossfireLineBreakpoint::setCondition(std::wstring* value) {
-	if (!value) {
-		Value value_null;
-		value_null.setType(TYPE_NULL);
-		setAttribute((wchar_t*)ATTRIBUTE_CONDITION, &value_null);
-	} else {
-		setAttribute((wchar_t*)ATTRIBUTE_CONDITION, &Value(value));
-	}
-}
-
-void CrossfireLineBreakpoint::setEnabled(bool value) {
-	setAttribute((wchar_t*)ATTRIBUTE_ENABLED, &Value(value));
-}
-
-void CrossfireLineBreakpoint::setHitCount(unsigned int value) {
-	setAttribute((wchar_t*)ATTRIBUTE_HITCOUNT, &Value((double)value));
-}
-
-void CrossfireLineBreakpoint::setLine(unsigned int value) {
-	m_line = value;
-}
-
-bool CrossfireLineBreakpoint::setLocationFromValue(Value* value) {
-	Value* value_url = value->getObjectValue(KEY_URL);
-	if (!value_url || value_url->getType() != TYPE_STRING) {
-		return false;
-	}
-
-	Value* value_line = value->getObjectValue(KEY_LINE);
-	if (!value_line || value_line->getType() != TYPE_NUMBER || value_line->getNumberValue() < 1) {
-		return false;
-	}
-
-	setLine((unsigned int)value_line->getNumberValue());
-	setUrl(value_url->getStringValue());
-	return true;
-}
-
-bool CrossfireLineBreakpoint::setUrl(std::wstring* value) {
-	if (!value) {
-		return false;
-	}
-	if (!m_url) {
-		m_url = new std::wstring;
-	}
-	m_url->assign(*value);
-	return true;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireLineBreakpoint.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireLineBreakpoint.h
deleted file mode 100644
index 8291a60..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireLineBreakpoint.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "Logger.h"
-class CrossfireLineBreakpoint; // forward declaration
-#include "CrossfireBreakpoint.h"
-
-class CrossfireLineBreakpoint : public CrossfireBreakpoint {
-
-public:
-	CrossfireLineBreakpoint();
-	virtual ~CrossfireLineBreakpoint();
-	virtual bool appliesToUrl(std::wstring* url);
-	virtual void breakpointHit();
-	virtual void clone(CrossfireBreakpoint** _value);
-	virtual const std::wstring* getCondition();
-	virtual unsigned int getHitCount();
-	virtual unsigned int getLine();
-	virtual int getType();
-	virtual const wchar_t* getTypeString();
-	virtual const std::wstring* getUrl();
-	virtual bool isEnabled();
-	virtual bool matchesHitCount();
-	virtual void setCondition(std::wstring* value);
-	virtual void setEnabled(bool value);
-	virtual void setHitCount(unsigned int value);
-	virtual void setLine(unsigned int value);
-	virtual bool setLocationFromValue(Value* value);
-	virtual bool setUrl(std::wstring* value);
-
-	/* static methods */
-	static bool CanHandleBPType(wchar_t* type);
-
-	static const wchar_t* ATTRIBUTE_CONDITION;
-	static const wchar_t* ATTRIBUTE_ENABLED;
-	static const wchar_t* ATTRIBUTE_HITCOUNT;
-
-protected:
-	CrossfireLineBreakpoint(unsigned int handle);
-	virtual bool attributeIsValid(wchar_t* name, Value* value);
-	virtual bool getLocationAsValue(Value** _value);
-
-private:
-	unsigned int m_hitCounter;
-	unsigned int m_line;
-	std::wstring* m_url;
-
-	static const wchar_t* BPTYPESTRING_LINE;
-	static const wchar_t* KEY_CONDITION;
-	static const wchar_t* KEY_ENABLED;
-	static const wchar_t* KEY_HITCOUNT;
-	static const wchar_t* KEY_LINE;
-	static const wchar_t* KEY_URL;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfirePacket.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfirePacket.cpp
deleted file mode 100644
index ac7b12e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfirePacket.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "CrossfirePacket.h"
-
-CrossfirePacket::CrossfirePacket() {
-	m_contextId = NULL;
-	m_name = NULL;
-	m_seq = -1;
-}
-
-CrossfirePacket::~CrossfirePacket() {
-	if (m_contextId) {
-		delete m_contextId;
-	}
-	if (m_name) {
-		free(m_name);
-	}
-}
-
-std::wstring* CrossfirePacket::getContextId() {
-	return m_contextId;
-}
-
-wchar_t* CrossfirePacket::getName() {
-	return m_name;
-}
-
-unsigned int CrossfirePacket::getSeq() {
-	return m_seq;
-}
-
-void CrossfirePacket::setContextId(std::wstring* value) {
-	if (m_contextId) {
-		delete m_contextId;
-		m_contextId = NULL;
-	}
-	if (value) {
-		m_contextId = new std::wstring;
-		m_contextId->assign(*value);
-	}
-}
-
-void CrossfirePacket::setName(const wchar_t* value) {
-	if (m_name) {
-		free(m_name);
-		m_name = NULL;
-	}
-	if (value) {
-		m_name = _wcsdup(value);
-	}
-}
-
-void CrossfirePacket::setSeq(unsigned int value) {
-	m_seq = value;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfirePacket.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfirePacket.h
deleted file mode 100644
index 3335a2d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfirePacket.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <string>
-
-class CrossfirePacket {
-
-public:
-	CrossfirePacket();
-	~CrossfirePacket();
-	virtual void clone(CrossfirePacket** _value) = 0;
-	virtual std::wstring* getContextId();
-	virtual wchar_t* getName();
-	virtual unsigned int getSeq();
-	virtual int getType() = 0;
-	virtual void setContextId(std::wstring* value);
-	virtual void setName(const wchar_t* value);
-	virtual void setSeq(unsigned int);
-
-	enum {
-		TYPE_REQUEST,
-		TYPE_RESPONSE,
-		TYPE_EVENT
-	};
-
-private:
-	std::wstring* m_contextId;
-	wchar_t* m_name;
-	unsigned int m_seq;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireProcessor.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireProcessor.cpp
deleted file mode 100644
index 74089fc..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireProcessor.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "CrossfireProcessor.h"
-
-/* initialize constants */
-const wchar_t* CrossfireProcessor::HEADER_CONTENTLENGTH = L"Content-Length:";
-const wchar_t* CrossfireProcessor::LINEBREAK = L"\r\n";
-const size_t CrossfireProcessor::LINEBREAK_LENGTH = 2;
-const wchar_t* CrossfireProcessor::NAME_ARGUMENTS = L"arguments";
-const wchar_t* CrossfireProcessor::NAME_BODY = L"body";
-const wchar_t* CrossfireProcessor::NAME_CODE = L"code";
-const wchar_t* CrossfireProcessor::NAME_COMMAND = L"command";
-const wchar_t* CrossfireProcessor::NAME_CONTEXTID = L"contextId";
-const wchar_t* CrossfireProcessor::NAME_DATA = L"data";
-const wchar_t* CrossfireProcessor::NAME_EVENT = L"event";
-const wchar_t* CrossfireProcessor::NAME_MESSAGE = L"message";
-const wchar_t* CrossfireProcessor::NAME_REQUESTSEQ = L"request_seq";
-const wchar_t* CrossfireProcessor::NAME_RUNNING = L"running";
-const wchar_t* CrossfireProcessor::NAME_SEQ = L"seq";
-const wchar_t* CrossfireProcessor::NAME_STATUS = L"status";
-const wchar_t* CrossfireProcessor::NAME_TYPE = L"type";
-const wchar_t* CrossfireProcessor::VALUE_EVENT = L"event";
-const wchar_t* CrossfireProcessor::VALUE_REQUEST = L"request";
-const wchar_t* CrossfireProcessor::VALUE_RESPONSE = L"response";
-
-CrossfireProcessor::CrossfireProcessor() {
-	m_jsonParser = new JSONParser();
-	m_nextEventSeq = 0;
-}
-
-CrossfireProcessor::~CrossfireProcessor() {
-	delete m_jsonParser;
-}
-
-bool CrossfireProcessor::createEventPacket(CrossfireEvent* eventObj, std::wstring** _value) {
-	*_value = NULL;
-	Value value_packet;
-
-	/* packet type */
-	value_packet.addObjectValue(NAME_TYPE, &Value(VALUE_EVENT));
-
-	/* event type */
-	if (!eventObj->getName()) {
-		Logger::error("CrossfireProcessor.createEventPacket(): event does not have a name");
-		return false;
-	}
-	value_packet.addObjectValue(NAME_EVENT, &Value(eventObj->getName()));
-
-	/* context id */
-	if (eventObj->getContextId()) {
-		value_packet.addObjectValue(NAME_CONTEXTID, &Value(eventObj->getContextId()));
-	} else {
-		Value value_null;
-		value_null.setType(TYPE_NULL);
-		value_packet.addObjectValue(NAME_CONTEXTID, &value_null);
-	}
-
-	/* data */
-	Value* dataValue = eventObj->getData();
-	if (dataValue) {
-		if (dataValue->getType() != TYPE_OBJECT) {
-			Logger::error("CrossfireProcessor.createEventPacket(): event has data object of wrong type");
-			return false;
-		}
-		value_packet.addObjectValue(NAME_DATA, dataValue);
-	}
-
-	/* seq */
-	value_packet.setObjectValue(NAME_SEQ, &Value((double)m_nextEventSeq++));
-
-	std::wstring* content = NULL;
-	m_jsonParser->stringify(&value_packet, &content);
-	wchar_t length[9];
-	_ltow_s((unsigned int)content->length() + LINEBREAK_LENGTH, length, 9, 10); /* trailing linebreak */
-	std::wstring* eventString = new std::wstring;
-	eventString->append(HEADER_CONTENTLENGTH);
-	eventString->append(length);
-	eventString->append(LINEBREAK);
-	eventString->append(LINEBREAK);
-	eventString->append(*content);
-	eventString->append(LINEBREAK);
-	delete content;
-
-	*_value = eventString;
-	return true;
-}
-
-bool CrossfireProcessor::createResponsePacket(CrossfireResponse *response, std::wstring **_value) {
-	static unsigned int s_nextResponseSeq = 0;
-	*_value = NULL;
-	Value value_packet;
-
-	/* packet type */
-	value_packet.addObjectValue(NAME_TYPE, &Value(VALUE_RESPONSE));
-
-	/* command */
-	if (!response->getName()) {
-		Logger::error("CrossfireProcessor.createResponsePacket(): response does not have a name");
-		return false;
-	}
-	value_packet.addObjectValue(NAME_COMMAND, &Value(response->getName()));
-
-	/* contextId */
-	if (response->getContextId()) {
-		value_packet.addObjectValue(NAME_CONTEXTID, &Value(response->getContextId()));
-	} else {
-		Value value_null;
-		value_null.setType(TYPE_NULL);
-		value_packet.addObjectValue(NAME_CONTEXTID, &value_null);
-	}
-
-	/* request seq */
-	if (response->getRequestSeq() < 0) {
-		Logger::error("CrossfireProcessor.createResponsePacket(): response does not have a request seq value");
-		return false;
-	}
-	value_packet.addObjectValue(NAME_REQUESTSEQ, &Value((double)response->getRequestSeq()));
-
-	/* status */
-	Value status;
-	status.addObjectValue(NAME_CODE, &Value((double)response->getCode()));
-	status.addObjectValue(NAME_RUNNING, &Value(response->getRunning()));
-	wchar_t* message = response->getMessage();
-	if (message) {
-		status.addObjectValue(NAME_MESSAGE, &Value(message));
-	}
-	value_packet.addObjectValue(NAME_STATUS, &status);
-
-	/* body */
-	Value* bodyValue = response->getBody();
-	if (!bodyValue || bodyValue->getType() != TYPE_OBJECT) {
-		Logger::error("CrossfireProcessor.createResponsePacket(): response does not have a body value of type object");
-		return false;
-	}
-	value_packet.addObjectValue(NAME_BODY, bodyValue);
-
-	/* seq */
-	value_packet.setObjectValue(NAME_SEQ, &Value((double)s_nextResponseSeq++));
-	std::wstring* content = NULL;
-	m_jsonParser->stringify(&value_packet, &content);
-	wchar_t length[9];
-	_ltow_s((unsigned int)content->length() + LINEBREAK_LENGTH, length, 9, 10); /* trailing linebreak */
-	std::wstring* responseString = new std::wstring;
-	responseString->append(HEADER_CONTENTLENGTH);
-	responseString->append(length);
-	responseString->append(LINEBREAK);
-	responseString->append(LINEBREAK);
-	responseString->append(*content);
-	responseString->append(LINEBREAK);
-	delete content;
-
-	*_value = responseString;
-	return true;
-}
-
-int CrossfireProcessor::parseRequestPacket(std::wstring* msg, CrossfireRequest** _value, wchar_t** _message) {
-	*_value = NULL;
-	*_message = NULL;
-
-	size_t startIndex = msg->find(L"\r\n\r\n") + 2 * LINEBREAK_LENGTH; /* header linebreak */
-	size_t msgLength = msg->length();
-
-	if (msg->at(msgLength - 2) != wchar_t('\r')) {
-		*_message = _wcsdup(L"Request packet does not contain terminating '\\r'");
-		return CODE_MALFORMED_PACKET;
-	}
-	if (msg->at(msgLength - 1) != wchar_t('\n')) {
-		*_message = _wcsdup(L"Request packet does not contain terminating '\\n'");
-		return CODE_MALFORMED_PACKET;
-	}
-
-	std::wstring content = msg->substr(startIndex, msgLength - startIndex - LINEBREAK_LENGTH); /* trailing linebreak */
-
-	Value* value_request = NULL;
-	m_jsonParser->parse(&content, &value_request);
-	if (!value_request) {
-		*_message = _wcsdup(L"Failure occurred while parsing Request packet content");
-		return CODE_MALFORMED_PACKET;
-	}
-
-	Value* value_type = value_request->getObjectValue(NAME_TYPE);
-	if (!value_type || value_type->getType() != TYPE_STRING || value_type->getStringValue()->compare(VALUE_REQUEST) != 0) {
-		*_message = _wcsdup(L"Request packet does not contain a 'type' value of \"request\"");
-		delete value_request;
-		return CODE_MALFORMED_REQUEST;
-	}
-
-	Value* value_seq = value_request->getObjectValue(NAME_SEQ);
-	if (!value_seq || value_seq->getType() != TYPE_NUMBER || value_seq->getNumberValue() < 0) {
-		*_message = _wcsdup(L"Request packet does not contain a 'seq' Number value >= 0");
-		delete value_request;
-		return CODE_MALFORMED_REQUEST;
-	}
-
-	Value* value_command = value_request->getObjectValue(NAME_COMMAND);
-	if (!value_command || value_command->getType() != TYPE_STRING) {
-		*_message = _wcsdup(L"Request packet does not contain a String 'command' value");
-		delete value_request;
-		return CODE_MALFORMED_REQUEST;
-	}
-
-	Value* value_contextId = value_request->getObjectValue(NAME_CONTEXTID);
-	if (value_contextId && value_contextId->getType() != TYPE_STRING) {
-		*_message = _wcsdup(L"Request packet contains a non-string 'context_id' value");
-		delete value_request;
-		return CODE_MALFORMED_REQUEST;
-	}
-
-	Value* value_arguments = value_request->getObjectValue(NAME_ARGUMENTS);
-	if (value_arguments && value_arguments->getType() != TYPE_OBJECT) {
-		*_message = _wcsdup(L"Request packet contains a non-object 'arguments' value");
-		delete value_request;
-		return CODE_MALFORMED_REQUEST;
-	}
-
-	CrossfireRequest* result = new CrossfireRequest();
-	result->setName((wchar_t*)value_command->getStringValue()->c_str());
-	result->setSeq((unsigned int)value_seq->getNumberValue());
-	if (value_contextId) {
-		result->setContextId(value_contextId->getStringValue());
-	}
-	if (value_arguments) {
-		result->setArguments(value_arguments);
-	} else {
-		Value value_empty;
-		value_empty.setType(TYPE_OBJECT);
-		result->setArguments(&value_empty);
-	}
-
-	*_value = result;
-	delete value_request;
-	return CODE_OK;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireProcessor.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireProcessor.h
deleted file mode 100644
index 12600cb..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireProcessor.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <queue>
-
-#include "CrossfireEvent.h"
-#include "CrossfireRequest.h"
-#include "CrossfireResponse.h"
-#include "JSONParser.h"
-#include "Value.h"
-#include "Logger.h"
-
-class CrossfireProcessor {
-
-public:
-	CrossfireProcessor();
-	~CrossfireProcessor();
-	virtual bool createEventPacket(CrossfireEvent* eventObj, std::wstring** _value);
-	virtual bool createResponsePacket(CrossfireResponse* response, std::wstring** _value);
-	virtual int parseRequestPacket(std::wstring* msg, CrossfireRequest** _value, wchar_t** _message);
-
-private:
-	JSONParser* m_jsonParser;
-	unsigned int m_nextEventSeq;
-
-	/* constants */
-	static const wchar_t* HEADER_CONTENTLENGTH;
-	static const wchar_t* LINEBREAK;
-	static const size_t LINEBREAK_LENGTH;
-	static const wchar_t* NAME_ARGUMENTS;
-	static const wchar_t* NAME_BODY;
-	static const wchar_t* NAME_CODE;
-	static const wchar_t* NAME_COMMAND;
-	static const wchar_t* NAME_CONTEXTID;
-	static const wchar_t* NAME_DATA;
-	static const wchar_t* NAME_EVENT;
-	static const wchar_t* NAME_MESSAGE;
-	static const wchar_t* NAME_REQUESTSEQ;
-	static const wchar_t* NAME_RUNNING;
-	static const wchar_t* NAME_SEQ;
-	static const wchar_t* NAME_STATUS;
-	static const wchar_t* NAME_TYPE;
-	static const wchar_t* VALUE_EVENT;
-	static const wchar_t* VALUE_REQUEST;
-	static const wchar_t* VALUE_RESPONSE;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireRequest.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireRequest.cpp
deleted file mode 100644
index b03cf31..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireRequest.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "CrossfireRequest.h"
-
-CrossfireRequest::CrossfireRequest() : CrossfirePacket() {
-	m_arguments = NULL;
-}
-
-CrossfireRequest::~CrossfireRequest() {
-	if (m_arguments) {
-		delete m_arguments;
-	}
-}
-
-void CrossfireRequest::clone(CrossfirePacket** _value) {
-	CrossfireRequest* result = new CrossfireRequest();
-	result->setArguments(m_arguments);
-	result->setContextId(getContextId());
-	result->setName(getName());
-	*_value = result;
-}
-
-Value* CrossfireRequest::getArguments() {
-	return m_arguments;
-}
-
-int CrossfireRequest::getType() {
-	return TYPE_REQUEST;
-}
-
-bool CrossfireRequest::setArguments(Value* value) {
-	if (value && value->getType() != TYPE_OBJECT) {
-		return false;
-	}
-	if (m_arguments) {
-		delete m_arguments;
-		m_arguments = NULL;
-	}
-	if (value) {
-		value->clone(&m_arguments);
-	}
-	return true;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireRequest.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireRequest.h
deleted file mode 100644
index 89b2de4..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireRequest.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "CrossfirePacket.h"
-#include "Value.h"
-
-class CrossfireRequest : public CrossfirePacket {
-
-public:
-	CrossfireRequest();
-	~CrossfireRequest();
-	virtual void clone(CrossfirePacket** _value);
-	virtual Value* getArguments();
-	virtual int getType();
-	virtual bool setArguments(Value* value);
-
-private:
-	Value* m_arguments;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireResponse.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireResponse.cpp
deleted file mode 100644
index b45e663..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireResponse.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "CrossfireResponse.h"
-
-CrossfireResponse::CrossfireResponse() : CrossfirePacket() {
-	m_body = NULL;
-	m_code = CODE_OK;
-	m_message = NULL;
-	m_requestSeq = -1;
-	m_running = false;
-}
-
-CrossfireResponse::~CrossfireResponse() {
-	if (m_body) {
-		delete m_body;
-	}
-	if (m_message) {
-		free(m_message);
-	}
-}
-
-void CrossfireResponse::clone(CrossfirePacket** _value) {
-	CrossfireResponse* result = new CrossfireResponse();
-	result->setBody(m_body);
-	result->setCode(m_code);
-	result->setMessage(m_message);
-	result->setName(getName());
-	result->setRequestSeq(m_requestSeq);
-	result->setRunning(m_running);
-	*_value = result;
-}
-
-Value* CrossfireResponse::getBody() {
-	return m_body;
-}
-
-int CrossfireResponse::getCode() {
-	return m_code;
-}
-
-wchar_t* CrossfireResponse::getMessage() {
-	return m_message;
-}
-
-unsigned int CrossfireResponse::getRequestSeq() {
-	return m_requestSeq;
-}
-
-bool CrossfireResponse::getRunning() {
-	return m_running;
-}
-
-int CrossfireResponse::getType() {
-	return TYPE_RESPONSE;
-}
-
-bool CrossfireResponse::setBody(Value* value) {
-	if (value && value->getType() != TYPE_OBJECT) {
-		return false;
-	}
-	if (m_body) {
-		delete m_body;
-		m_body = NULL;
-	}
-	if (value) {
-		value->clone(&m_body);
-	}
-	return true;
-}
-
-void CrossfireResponse::setCode(int value) {
-	m_code = value;
-}
-
-void CrossfireResponse::setMessage(wchar_t* value) {
-	if (m_message) {
-		free(m_message);
-		m_message = NULL;
-	}
-	if (value) {
-		m_message = _wcsdup(value);
-	}
-}
-
-void CrossfireResponse::setRequestSeq(unsigned int value) {
-	m_requestSeq = value;
-}
-
-void CrossfireResponse::setRunning(bool value) {
-	m_running = value;
-}
-
-
-
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireResponse.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireResponse.h
deleted file mode 100644
index d22fac6..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireResponse.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "CrossfirePacket.h"
-#include "Value.h"
-
-enum {
-	CODE_OK = 0,
-	CODE_MALFORMED_PACKET,
-	CODE_MALFORMED_REQUEST,
-	CODE_COMMAND_NOT_IMPLEMENTED,
-	CODE_INVALID_ARGUMENT,
-	CODE_UNEXPECTED_EXCEPTION,
-	CODE_COMMAND_FAILED,
-	CODE_INVALID_STATE,
-};
-
-class CrossfireResponse : public CrossfirePacket {
-
-public:
-	CrossfireResponse();
-	~CrossfireResponse();
-	virtual void clone(CrossfirePacket** _value);
-	virtual Value* getBody();
-	virtual int getCode();
-	virtual wchar_t* getMessage();
-	virtual unsigned int getRequestSeq();
-	virtual bool getRunning();
-	virtual int getType();
-	virtual bool setBody(Value* value);
-	virtual void setCode(int code);
-	virtual void setMessage(wchar_t* value);
-	virtual void setRequestSeq(unsigned int value);
-	virtual void setRunning(bool value);
-	
-
-private:
-	Value* m_body;
-	int m_code;
-	wchar_t* m_message;
-	unsigned int m_requestSeq;
-	bool m_running;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer.cpp
deleted file mode 100644
index 4f28209..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer.cpp
+++ /dev/null
@@ -1,909 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "CrossfireServer.h"
-
-/* initialize constants */
-const UINT CrossfireServer::ServerStateChangeMsg = RegisterWindowMessage(L"IECrossfireServerStateChanged");
-const wchar_t* CrossfireServer::WindowClass = L"_IECrossfireServer";
-
-const wchar_t* CrossfireServer::HANDSHAKE = L"CrossfireHandshake\r\n";
-const wchar_t* CrossfireServer::HEADER_CONTENTLENGTH = L"Content-Length:";
-const wchar_t* CrossfireServer::LINEBREAK = L"\r\n";
-const size_t CrossfireServer::LINEBREAK_LENGTH = 2;
-
-const wchar_t* CrossfireServer::COMMAND_CHANGEBREAKPOINTS = L"changebreakpoints";
-const wchar_t* CrossfireServer::COMMAND_DELETEBREAKPOINTS = L"deletebreakpoints";
-const wchar_t* CrossfireServer::COMMAND_GETBREAKPOINTS = L"getbreakpoints";
-const wchar_t* CrossfireServer::COMMAND_SETBREAKPOINTS = L"setbreakpoints";
-
-/* command: createContext */
-const wchar_t* CrossfireServer::COMMAND_CREATECONTEXT = L"createContext";
-
-/* command: disableTools */
-const wchar_t* CrossfireServer::COMMAND_DISABLETOOLS = L"disableTools";
-
-/* command: enableTools */
-const wchar_t* CrossfireServer::COMMAND_ENABLETOOLS = L"enableTools";
-
-/* command: getTools */
-const wchar_t* CrossfireServer::COMMAND_GETTOOLS = L"getTools";
-
-/* command: listContexts */
-const wchar_t* CrossfireServer::COMMAND_LISTCONTEXTS = L"listcontexts";
-const wchar_t* CrossfireServer::KEY_CONTEXTS = L"contexts";
-const wchar_t* CrossfireServer::KEY_CURRENT = L"current";
-
-/* command: version */
-const wchar_t* CrossfireServer::COMMAND_VERSION = L"version";
-const wchar_t* CrossfireServer::KEY_VERSION = L"version";
-const wchar_t* CrossfireServer::VERSION_STRING = L"0.3";
-
-/* event: closed */
-const wchar_t* CrossfireServer::EVENT_CLOSED = L"closed";
-
-/* event: onContextCreated */
-const wchar_t* CrossfireServer::EVENT_CONTEXTCREATED = L"onContextCreated";
-
-/* event: onContextDestroyed */
-const wchar_t* CrossfireServer::EVENT_CONTEXTDESTROYED = L"onContextDestroyed";
-
-/* event: onContextLoaded */
-const wchar_t* CrossfireServer::EVENT_CONTEXTLOADED = L"onContextLoaded";
-
-/* event: onContextSelected */
-const wchar_t* CrossfireServer::EVENT_CONTEXTSELECTED = L"onContextSelected";
-const wchar_t* CrossfireServer::KEY_OLDCONTEXTID = L"oldContextId";
-const wchar_t* CrossfireServer::KEY_OLDURL = L"oldUrl";
-
-/* shared */
-const wchar_t* CrossfireServer::KEY_CONTEXTID = L"contextId";
-const wchar_t* CrossfireServer::KEY_TOOLS = L"tools";
-const wchar_t* CrossfireServer::KEY_URL = L"url";
-
-
-CrossfireServer::CrossfireServer() {
-	m_bpManager = new CrossfireBPManager();
-	m_connection = NULL;
-	m_contexts = new std::map<DWORD, CrossfireContext*>;
-	m_currentContextPID = 0;
-	m_handshakeReceived = false;
-	m_inProgressPacket = new std::wstring;
-	m_lastRequestSeq = -1;
-	m_browsers = new std::map<DWORD, IBrowserContext*>;
-	m_pendingEvents = new std::vector<CrossfireEvent*>;
-	m_port = -1;
-	m_processingRequest = false;
-	m_processor = new CrossfireProcessor();
-	m_windowHandle = 0;
-
-	/* create a message-only window to help clients detect the server's presence */
-	HINSTANCE module = GetModuleHandle(NULL);
-	WNDCLASS ex;
-	ex.style = 0;
-	ex.lpfnWndProc = WndProc;
-	ex.cbClsExtra = 0;
-	ex.cbWndExtra = 0;
-	ex.hInstance = module;
-	ex.hIcon = NULL;
-	ex.hCursor = NULL;
-	ex.hbrBackground = NULL;
-	ex.lpszMenuName = NULL;
-	ex.lpszClassName = WindowClass;
-	RegisterClass(&ex);
-	m_messageWindow = CreateWindow(WindowClass, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, module, NULL);
-}
-
-CrossfireServer::~CrossfireServer() {
-	delete m_bpManager;
-
-	std::map<DWORD,CrossfireContext*>::iterator iterator = m_contexts->begin();
-	while (iterator != m_contexts->end()) {
-		delete iterator->second;
-		iterator++;
-	}
-	delete m_contexts;
-
-	std::map<DWORD, IBrowserContext*>::iterator iterator2 = m_browsers->begin();
-	while (iterator2 != m_browsers->end()) {
-		iterator2->second->Release();
-		iterator2++;
-	}
-	delete m_browsers;
-
-	std::vector<CrossfireEvent*>::iterator iterator3 = m_pendingEvents->begin();
-	while (iterator3 != m_pendingEvents->end()) {
-		if (m_connection) {
-			sendEvent(*iterator3);
-		}
-		delete *iterator3;
-		iterator3++;
-	}
-	delete m_pendingEvents;
-
-	delete m_inProgressPacket;
-	delete m_processor;
-	if (m_connection) {
-		delete m_connection;
-	}
-
-	if (m_messageWindow) {
-		DestroyWindow(m_messageWindow);
-		UnregisterClass(WindowClass, GetModuleHandle(NULL));
-	}
-
-//	if (m_windowHandle) {
-		CComPtr<ICrossfireServerClass> serverClass = NULL;
-		HRESULT hr = CoGetClassObject(CLSID_CrossfireServer, CLSCTX_ALL, 0, IID_ICrossfireServerClass, (LPVOID*)&serverClass);
-		if (FAILED(hr)) {
-			Logger::error("~CrossfireServer: CoGetClassObject() failed", hr);
-			return;
-		}
-
-		hr = serverClass->RemoveServer(/*m_windowHandle*/ 0);
-		if (FAILED(hr)) {
-			Logger::error("~CrossfireServer: RemoveServer() failed", hr);
-			return;
-		}
-//	}
-}
-
-/* ICrossfireServer */
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::contextCreated(DWORD processId, OLECHAR* url) {
-	if (!isConnected()) {
-		return S_FALSE;
-	}
-
-	/*
-	 * When navigating from one page to another, a script node is initialized for the
-	 * new page before notification of the navigation is received.  As a result this
-	 * first script node for the new page becomes associated with the context of the
-	 * old page.  The workaround for this is to detect the case of a page re-navigation
-	 * within a given process and copy the last initialized script node to the newly-
-	 * created context.
-	 */
-	IDebugApplicationNode* scriptNode = NULL;
-
-	/* If there's already a context for the specified processId then destroy it */
-	std::map<DWORD, CrossfireContext*>::iterator iterator = m_contexts->find(processId);
-	if (iterator != m_contexts->end()) {
-		scriptNode = iterator->second->getLastInitializedScriptNode();
-		if (scriptNode) {
-			scriptNode->AddRef();
-		}
-		contextDestroyed(processId);
-	}
-
-	CrossfireContext* context = new CrossfireContext(processId, url, this);
-	m_contexts->insert(std::pair<DWORD,CrossfireContext*> (processId, context));
-	if (scriptNode) {
-		context->scriptInitialized(scriptNode);
-		scriptNode->Release();
-	}
-	eventContextCreated(context);
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::contextDestroyed(DWORD processId) {
-	if (!isConnected()) {
-		return S_FALSE;
-	}
-
-	std::map<DWORD, CrossfireContext*>::iterator iterator = m_contexts->find(processId);
-	if (iterator == m_contexts->end()) {
-		Logger::error("CrossfireServer.contextDestroyed(): unknown context", processId);
-		return S_FALSE;
-	}
-	CrossfireContext* context = iterator->second;
-	eventContextDestroyed(context);
-	m_contexts->erase(iterator);
-	delete context;
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::contextLoaded(DWORD processId) {
-	if (!isConnected()) {
-		return S_FALSE;
-	}
-
-	std::map<DWORD, CrossfireContext*>::iterator iterator = m_contexts->find(processId);
-	if (iterator == m_contexts->end()) {
-		Logger::error("CrossfireServer.contextLoaded(): unknown context", processId);
-		return S_FALSE;
-	}
-	CrossfireContext* context = iterator->second;
-	eventContextLoaded(context);
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::getPort(unsigned int* value) {
-	*value = m_port;
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::getState(int* value) {
-	if (m_connection == NULL) {
-		*value = STATE_DISCONNECTED;
-	} else {
-		*value = m_connection->isConnected() ? STATE_CONNECTED : STATE_LISTENING;
-	}
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::registerBrowser(DWORD processId, IBrowserContext* browser) {
-	if (!isConnected()) {
-		return S_FALSE;
-	}
-
-	browser->AddRef();
-	m_browsers->insert(std::pair<DWORD,IBrowserContext*>(processId, browser));
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::removeBrowser(DWORD processId) {
-	if (!isConnected()) {
-		return S_FALSE;
-	}
-
-	std::map<DWORD,IBrowserContext*>::iterator iterator = m_browsers->find(processId);
-	if (iterator == m_browsers->end()) {
-		Logger::error("CrossfireServer.removeBrowser(): browser not registered", processId);
-		return S_FALSE;
-	}
-	iterator->second->Release();
-	m_browsers->erase(iterator);
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::setCurrentContext(DWORD processId) {
-	if (!isConnected()) {
-		return S_FALSE;
-	}
-
-	if (processId == m_currentContextPID) {
-		return S_OK; /* nothing to do */
-	}
-
-	std::map<DWORD, CrossfireContext*>::iterator iterator = m_contexts->find(processId);
-	if (iterator == m_contexts->end()) {
-		Logger::error("CrossfireServer.setCurrentContext(): unknown context", processId);
-		return S_FALSE;
-	}
-
-	if (m_currentContextPID) {
-		CrossfireContext* newContext = iterator->second;
-		iterator = m_contexts->find(m_currentContextPID);
-		if (iterator == m_contexts->end()) {
-			Logger::error("CrossfireServer.setCurrentContext(): unknown old context", m_currentContextPID);
-		} else {
-			CrossfireContext* oldContext = iterator->second;
-			eventContextSelected(newContext, oldContext);
-		}
-	}
-
-	m_currentContextPID = processId;
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::start(unsigned int port, unsigned int debugPort) {
-	if (m_connection) {
-		return S_FALSE;
-	}
-
-	m_connection = new WindowsSocketConnection(this);
-	if (!m_connection->init(port)) {
-		delete m_connection;
-		return S_FALSE;
-	}
-	m_port = port;
-	if (m_connection->acceptConnection()) {
-		HWND current = FindWindowEx(HWND_MESSAGE, NULL, NULL, NULL);
-		while (current) {
-			PostMessage(current, ServerStateChangeMsg, STATE_LISTENING, m_port);
-			current = FindWindowEx(HWND_MESSAGE, current, NULL, NULL);
-		}
-	}
-	return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE CrossfireServer::stop() {
-	if (!m_connection) {
-		return S_FALSE;
-	}
-	if (m_connection->isConnected()) {
-		eventClosed();
-	}
-	reset();
-
-	HWND current = FindWindowEx(HWND_MESSAGE, NULL, NULL, NULL);
-	while (current) {
-		PostMessage(current, ServerStateChangeMsg, STATE_DISCONNECTED, 0);
-		current = FindWindowEx(HWND_MESSAGE, current, NULL, NULL);
-	}
-
-	return S_OK;
-}
-
-
-/* CrossfireServer */
-
-void CrossfireServer::connected() {
-	HWND current = FindWindowEx(HWND_MESSAGE, NULL, NULL, NULL);
-	while (current) {
-		PostMessage(current, ServerStateChangeMsg, STATE_CONNECTED, m_port);
-		current = FindWindowEx(HWND_MESSAGE, current, NULL, NULL);
-	}
-}
-
-void CrossfireServer::disconnected() {
-	reset();
-	HWND current = FindWindowEx(HWND_MESSAGE, NULL, NULL, NULL);
-	while (current) {
-		PostMessage(current, ServerStateChangeMsg, STATE_DISCONNECTED, 0);
-		current = FindWindowEx(HWND_MESSAGE, current, NULL, NULL);
-	}
-}
-
-CrossfireBPManager* CrossfireServer::getBreakpointManager() {
-	return m_bpManager;
-}
-
-CrossfireContext* CrossfireServer::getContext(wchar_t* contextId) {
-	std::map<DWORD,CrossfireContext*>::iterator iterator = m_contexts->begin();
-	while (iterator != m_contexts->end()) {
-		if (wcscmp(iterator->second->getName(), contextId) == 0) {
-			return iterator->second;
-		}
-		iterator++;
-	}
-	return NULL;
-}
-
-void CrossfireServer::getContextsArray(CrossfireContext*** _value) {
-	CrossfireContext** result = new CrossfireContext*[m_contexts->size() + 1];
-	int index = 0;
-	std::map<DWORD,CrossfireContext*>::iterator iterator = m_contexts->begin();
-	while (iterator != m_contexts->end()) {
-		result[index++] = iterator->second;
-		iterator++;
-	}
-	result[index] = NULL;
-	*_value = result;
-}
-
-CrossfireContext* CrossfireServer::getRequestContext(CrossfireRequest* request) {
-	std::wstring* contextId = request->getContextId();
-	if (!contextId) {
-		return NULL;
-	}
-
-	wchar_t* searchString = (wchar_t*)contextId->c_str();
-	return getContext(searchString);
-}
-
-bool CrossfireServer::isConnected() {
-	int state;
-	getState(&state);
-	return state == STATE_CONNECTED;
-}
-
-bool CrossfireServer::performRequest(CrossfireRequest* request) {
-	wchar_t* command = request->getName();
-	Value* arguments = request->getArguments();
-	Value* responseBody = NULL;
-	wchar_t* message = NULL;
-	int code = CODE_OK;
-
-	if (wcscmp(command, COMMAND_CREATECONTEXT) == 0) {
-		code = commandCreateContext(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_DISABLETOOLS) == 0) {
-		code = commandDisableTools(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_ENABLETOOLS) == 0) {
-		code = commandEnableTools(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_GETTOOLS) == 0) {
-		code = commandGetTools(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_LISTCONTEXTS) == 0) {
-		code = commandListContexts(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_VERSION) == 0) {
-		code = commandVersion(arguments, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_CHANGEBREAKPOINTS) == 0) {
-		CrossfireContext* context = getRequestContext(request);
-		CrossfireContext** contexts = NULL;
-		if (context) {
-			getContextsArray(&contexts);
-		}
-		code = m_bpManager->commandChangeBreakpoints(arguments, (IBreakpointTarget**)contexts, &responseBody, &message);
-		if (contexts) {
-			delete contexts;
-		}
-	} else if (wcscmp(command, COMMAND_DELETEBREAKPOINTS) == 0) {
-		CrossfireContext* context = getRequestContext(request);
-		CrossfireContext** contexts = NULL;
-		if (context) {
-			getContextsArray(&contexts);
-		}
-		code = m_bpManager->commandDeleteBreakpoints(arguments, (IBreakpointTarget**)contexts, &responseBody, &message);
-		if (contexts) {
-			delete contexts;
-		}
-	} else if (wcscmp(command, COMMAND_GETBREAKPOINTS) == 0) {
-		CrossfireContext* context = getRequestContext(request);
-		IBreakpointTarget* target = context ? (IBreakpointTarget*)context : (IBreakpointTarget*)m_bpManager;
-		code = m_bpManager->commandGetBreakpoints(arguments, target, &responseBody, &message);
-	} else if (wcscmp(command, COMMAND_SETBREAKPOINTS) == 0) {
-		CrossfireContext* context = getRequestContext(request);
-		CrossfireContext** contexts = NULL;
-		if (context) {
-			getContextsArray(&contexts);
-		}
-		code = m_bpManager->commandSetBreakpoints(arguments, (IBreakpointTarget**)contexts, &responseBody, &message);
-		if (contexts) {
-			delete contexts;
-		}
-	} else {
-		return false;	/* command not handled */
-	}
-
-	CrossfireResponse response;
-	response.setName(command);
-	response.setRequestSeq(request->getSeq());
-	response.setRunning(true);
-	response.setCode(code);
-	response.setMessage(message);
-	if (message) {
-		free(message);
-	}
-	if (code == CODE_OK) {
-		response.setBody(responseBody);
-	} else {
-		Value emptyBody;
-		emptyBody.setType(TYPE_OBJECT);
-		response.setBody(&emptyBody);
-	}
-	if (responseBody) {
-		delete responseBody;
-	}
-	sendResponse(&response);
-	return true;
-}
-
-bool CrossfireServer::processHandshake(wchar_t* msg) {
-	std::wstring string(msg);
-	size_t start = wcslen(HANDSHAKE);
-	size_t index = string.find_first_of(std::wstring(L"\r\n"), start);
-	if (index == std::wstring::npos) {
-		Logger::error("Invalid handshake packet, does not contain terminating '\\r\\n'");
-		return false;
-	}
-	if (index != string.length() - 2) {
-		Logger::error("Invalid handshake packet, length extends beyond terminating '\\r\\n'");
-		return false;
-	}
-
-	std::wstring tools = string.substr(start, index - start);
-	m_handshakeReceived = true;
-
-	std::wstring handshake(HANDSHAKE);
-	/* for now don't claim support for any tools */
-	handshake.append(std::wstring(L"\r\n"));
-	m_connection->send(handshake.c_str());
-
-	/*
-	* Some events may have been queued in the interval between the initial connection
-	* and the handshake.  These events can be sent now that the handshake is complete.
-	*/
-	sendPendingEvents();
-
-	return true;
-}
-
-void CrossfireServer::sendPendingEvents() {
-	if (m_pendingEvents->size() > 0) {
-		Sleep(500); // TODO HACK!
-		std::vector<CrossfireEvent*>::iterator iterator = m_pendingEvents->begin();
-		while (iterator != m_pendingEvents->end()) {
-			sendEvent(*iterator);
-			delete *iterator;
-			iterator++;
-		}
-		m_pendingEvents->clear();
-	}
-}
-
-void CrossfireServer::received(wchar_t* msg) {
-	if (!m_handshakeReceived) {
-		if (wcsncmp(msg, HANDSHAKE, wcslen(HANDSHAKE)) == 0) {
-			processHandshake(msg);
-			m_lastRequestSeq = -1;
-		} else {
-			Logger::error("Crossfire content received before handshake, not processing it");
-		}
-		return;
-	}
-
-	m_inProgressPacket->append(std::wstring(msg));
-	std::wstring packet;
-	do {
-		wchar_t* parseErrorMessage = NULL;
-		bool errorMessageRequiresFree = false;
-		int code = CODE_OK;
-		packet.clear();
-
-		if (m_inProgressPacket->find(HEADER_CONTENTLENGTH) != 0) {
-			code = CODE_MALFORMED_PACKET;
-			parseErrorMessage = L"request packet does not start with 'Content-Length:', not processing it";
-			m_inProgressPacket->clear();
-			break;
-		}
-
-		size_t endIndex = m_inProgressPacket->find(wchar_t('\r'));
-		if (endIndex == std::wstring::npos) {
-			code = CODE_MALFORMED_PACKET;
-			parseErrorMessage = L"request packet does not contain '\r', not processing it";
-			m_inProgressPacket->clear();
-			break;
-		}
-
-		size_t headerLength = wcslen(HEADER_CONTENTLENGTH);
-		std::wstring lengthString = m_inProgressPacket->substr(headerLength, endIndex - headerLength);
-		int lengthValue = _wtoi(lengthString.c_str());
-		if (!lengthValue) {
-			code = CODE_MALFORMED_PACKET;
-			parseErrorMessage = L"request packet does not have a valid 'Content-Length' value, not processing it";
-			m_inProgressPacket->clear();
-			break;
-		}
-
-		if (m_inProgressPacket->find(L"\r\n", endIndex) != endIndex) {
-			code = CODE_MALFORMED_PACKET;
-			parseErrorMessage = L"request packet does not follow initial '\\r' with '\\n', not processing it";
-			m_inProgressPacket->clear();
-			break;
-		}
-
-		// TODO for now just skip over "tool:" lines, though these should really be validated
-
-		size_t toolEnd = m_inProgressPacket->find(L"\r\n\r\n", endIndex);
-		if (toolEnd == std::wstring::npos) {
-			code = CODE_MALFORMED_PACKET;
-			parseErrorMessage = L"request packet does not contain '\\r\\n\\r\\n' to delimit its header, not processing it";
-			m_inProgressPacket->clear();
-			break;
-		}
-		size_t toolsLength = toolEnd - endIndex;
-		size_t targetLength = wcslen(HEADER_CONTENTLENGTH) + lengthString.length() + 3 * LINEBREAK_LENGTH + toolsLength + lengthValue;
-
-		if (targetLength <= m_inProgressPacket->length()) {
-			packet.assign(m_inProgressPacket->substr(0, targetLength));
-			m_inProgressPacket->erase(0, targetLength);
-		}
-
-		if (packet.length()) {
-			CrossfireRequest* request = NULL;
-			code = m_processor->parseRequestPacket(&packet, &request, &parseErrorMessage);
-			if (code != CODE_OK) {
-				errorMessageRequiresFree = true;
-			} else {
-				unsigned int seq = request->getSeq();
-				if (!(m_lastRequestSeq == -1 || seq == m_lastRequestSeq + 1)) {
-					// TODO handle out-of-order packets
-					Logger::log("packet received out of sequence, still processing it");
-				}
-				m_lastRequestSeq = seq;
-				m_processingRequest = true;
-				if (!performRequest(request)) {
-					/*
-					 * the request's command was not handled by the server,
-					 * so try to delegate to the specified context, if any
-					 */
-					CrossfireContext* context = getRequestContext(request);
-					if (!context) {
-						Logger::error("request command was unknown to the server and a valid context id was not provided, not processing it");
-					} else {
-						if (!context->performRequest(request)) {
-							Logger::error("request command was unknown to the server and to the specified context, not processing it");
-						}
-					}
-				}
-				m_processingRequest = false;
-				delete request;
-
-				/*
-				 * Debugger events may have been received in response to the request that was
-				 * just processed.  These events can be sent now that processing of the request
-				 * is complete.
-				 */
-				sendPendingEvents();
-			}
-		}
-
-		if (code) {
-			CrossfireResponse response;
-			response.setCode(CODE_MALFORMED_PACKET);
-			response.setMessage(parseErrorMessage);
-			if (errorMessageRequiresFree) {
-				free(parseErrorMessage);
-			}
-			Value emptyBody;
-			emptyBody.setType(TYPE_OBJECT);
-			response.setBody(&emptyBody);
-			sendResponse(&response);
-		}
-	} while (packet.length() > 0 && m_inProgressPacket->length() > 0);
-}
-
-void CrossfireServer::reset() {
-	m_connection->close();
-	delete m_connection;
-	m_connection = NULL;
-
-	std::map<DWORD,CrossfireContext*>::iterator iterator = m_contexts->begin();
-	while (iterator != m_contexts->end()) {
-		delete iterator->second;
-		iterator++;
-	}
-	m_contexts->clear();
-	m_currentContextPID = 0;
-	m_handshakeReceived = false;
-	m_inProgressPacket->clear();
-	m_lastRequestSeq = -1;
-	m_port = -1;
-}
-
-void CrossfireServer::sendEvent(CrossfireEvent* eventObj) {
-	/*
-	 * If a request is being processed, or if the client handshake has not
-	 * been received yet, then events to be sent to the client should be
-	 * queued and sent after these conditions have passed.
-	 */
-	if (m_processingRequest || !m_handshakeReceived) {
-		CrossfireEvent* copy = NULL;
-		eventObj->clone((CrossfirePacket**)&copy);
-		m_pendingEvents->push_back(copy);
-		return;
-	}
-
-	std::wstring* string = NULL;
-	if (!m_processor->createEventPacket(eventObj, &string)) {
-		Logger::error("CrossfireServer.sendEvent(): Invalid event packet, not sending it");
-		return;
-	}
-
-	m_connection->send(string->c_str());
-	delete string;
-}
-
-void CrossfireServer::sendResponse(CrossfireResponse* response) {
-	std::wstring* string = NULL;
-	if (!m_processor->createResponsePacket(response, &string)) {
-		Logger::error("CrossfireServer.sendResponse(): Invalid response packet, not sending it");
-		return;
-	}
-	m_connection->send(string->c_str());
-	delete string;
-}
-
-void CrossfireServer::setWindowHandle(unsigned long value) {
-	m_windowHandle = value;
-}
-
-LRESULT CALLBACK CrossfireServer::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
-	return DefWindowProc(hWnd, message, wParam, lParam);
-}
-
-/* commands */
-
-int CrossfireServer::commandCreateContext(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	Value* value_url = arguments->getObjectValue(KEY_URL);
-	if (!value_url || value_url->getType() != TYPE_STRING) {
-		*_message = _wcsdup(L"'createContext' request does not have a valid 'url' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-	std::wstring* url = value_url->getStringValue();
-
-	std::wstring* contextId = NULL;
-	Value* value_contextId = arguments->getObjectValue(KEY_CONTEXTID);
-	if (value_contextId) {
-		int type = value_contextId->getType();
-		if (type != TYPE_NULL) {
-			if (type != TYPE_STRING) {
-				*_message = _wcsdup(L"'createContext' request has an invalid 'contextId' value");
-				return CODE_INVALID_ARGUMENT;
-			}
-			contextId = value_contextId->getStringValue();
-		}
-	}
-
-	CrossfireContext* context = NULL;
-	if (contextId) {
-		context = getContext((wchar_t*)contextId->c_str());
-		if (!context) {
-			*_message = _wcsdup(L"'createContext' request specified an unknown 'contextId' value");
-			return CODE_COMMAND_FAILED;
-		}
-		DWORD processId = context->getProcessId();
-		IBrowserContext* listener = m_browsers->at(processId);
-		if (!listener) {
-			Logger::error("commandCreateContext(): the specified contextId is not listening to the server");
-			return CODE_UNEXPECTED_EXCEPTION;
-		}
-		if (FAILED(listener->navigate((OLECHAR*)url->c_str(), false))) {
-			return CODE_COMMAND_FAILED;
-		}
-	} else {
-		/* go through the listeners to find one that can create the context in a new tab */
-
-		std::map<DWORD,IBrowserContext*>::iterator iterator = m_browsers->begin();
-		while (iterator != m_browsers->end()) {
-			IBrowserContext* listener = iterator->second;
-			if (SUCCEEDED(listener->navigate((OLECHAR*)url->c_str(), true))) {
-				break;
-			}
-		}
-		if (iterator == m_browsers->end()) {
-			/* none of the listeners could create the context successfully */
-			return CODE_COMMAND_FAILED;
-		}
-	}
-
-	Value* result = new Value();
-	result->setType(TYPE_OBJECT);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireServer::commandDisableTools(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	Value* value_tools = arguments->getObjectValue(KEY_TOOLS);
-	if (!value_tools || value_tools->getType() != TYPE_ARRAY) {
-		*_message = _wcsdup(L"'disableTools' request does not have a valid 'tools' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	Value toolsArray;
-	toolsArray.setType(TYPE_ARRAY);
-	Value** values = NULL;
-	value_tools->getArrayValues(&values);
-	int index = 0;
-	Value* currentValue = values[index];
-	while (currentValue) {
-		if (currentValue->getType() != TYPE_STRING) {
-			*_message = _wcsdup(L"'disableTools' request contains an invalid 'tools' value");
-			delete[] values;
-			return CODE_INVALID_ARGUMENT;
-		}
-		// TODO do something here, add tool object to toolsArray
-		currentValue = values[++index];
-	}
-	delete[] values;
-
-//	Value* result = new Value();
-//	result->addObjectValue(KEY_TOOLS, &toolsArray);
-//	*_responseBody = result;
-	return CODE_COMMAND_NOT_IMPLEMENTED; // TODO implement
-}
-
-int CrossfireServer::commandEnableTools(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	Value* value_tools = arguments->getObjectValue(KEY_TOOLS);
-	if (!value_tools || value_tools->getType() != TYPE_ARRAY) {
-		*_message = _wcsdup(L"'enableTools' request does not have a valid 'tools' value");
-		return CODE_INVALID_ARGUMENT;
-	}
-
-	Value toolsArray;
-	toolsArray.setType(TYPE_ARRAY);
-	Value** values = NULL;
-	value_tools->getArrayValues(&values);
-	int index = 0;
-	Value* currentValue = values[index];
-	while (currentValue) {
-		if (currentValue->getType() != TYPE_STRING) {
-			*_message = _wcsdup(L"'enableTools' request contains an invalid 'tools' value");
-			delete[] values;
-			return CODE_INVALID_ARGUMENT;
-		}
-		// TODO do something here, add tool object to toolsArray
-		currentValue = values[++index];
-	}
-	delete[] values;
-
-//	Value* result = new Value();
-//	result->addObjectValue(KEY_TOOLS, &toolsArray);
-//	*_responseBody = result;
-	return CODE_COMMAND_NOT_IMPLEMENTED; // TODO implement
-}
-
-int CrossfireServer::commandGetTools(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	Value toolsArray;
-	toolsArray.setType(TYPE_ARRAY);
-	Value* result = new Value();
-	result->addObjectValue(KEY_TOOLS, &toolsArray);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireServer::commandListContexts(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	Value contexts;
-	contexts.setType(TYPE_ARRAY);
-	std::map<DWORD,CrossfireContext*>::iterator iterator = m_contexts->begin();
-	while (iterator != m_contexts->end()) {
-		CrossfireContext* context = iterator->second;
-		Value value_context;
-		value_context.addObjectValue(KEY_CONTEXTID, &Value(context->getName()));
-		value_context.addObjectValue(KEY_URL, &Value(context->getUrl()));
-		value_context.addObjectValue(KEY_CURRENT, &Value((bool)(context->getProcessId() == m_currentContextPID)));
-		contexts.addArrayValue(&value_context);
-		iterator++;
-	}
-
-	Value* result = new Value();
-	result->addObjectValue(KEY_CONTEXTS, &contexts);
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-int CrossfireServer::commandVersion(Value* arguments, Value** _responseBody, wchar_t** _message) {
-	Value* result = new Value();
-	result->addObjectValue(KEY_VERSION, &Value(VERSION_STRING));
-	*_responseBody = result;
-	return CODE_OK;
-}
-
-/* events */
-
-void CrossfireServer::eventClosed() {
-	CrossfireEvent eventObj;
-	eventObj.setName(EVENT_CLOSED);
-	sendEvent(&eventObj);
-}
-
-void CrossfireServer::eventContextCreated(CrossfireContext* context) {
-	CrossfireEvent eventObj;
-	eventObj.setName(EVENT_CONTEXTCREATED);
-	Value data;
-	data.addObjectValue(KEY_URL, &Value(&std::wstring(context->getUrl())));
-	data.addObjectValue(KEY_CONTEXTID, &Value(&std::wstring(context->getName())));
-	eventObj.setData(&data);
-	sendEvent(&eventObj);
-}
-
-void CrossfireServer::eventContextDestroyed(CrossfireContext* context) {
-	CrossfireEvent eventObj;
-	eventObj.setName(EVENT_CONTEXTDESTROYED);
-	Value data;
-	data.addObjectValue(KEY_CONTEXTID, &Value(&std::wstring(context->getName())));
-	eventObj.setData(&data);
-	sendEvent(&eventObj);
-}
-
-void CrossfireServer::eventContextLoaded(CrossfireContext* context) {
-	CrossfireEvent eventObj;
-	eventObj.setName(EVENT_CONTEXTLOADED);
-	Value data;
-	data.addObjectValue(KEY_URL, &Value(&std::wstring(context->getUrl())));
-	data.addObjectValue(KEY_CONTEXTID, &Value(&std::wstring(context->getName())));
-	eventObj.setData(&data);
-	sendEvent(&eventObj);
-}
-
-void CrossfireServer::eventContextSelected(CrossfireContext* context, CrossfireContext* oldContext) {
-	CrossfireEvent eventObj;
-	eventObj.setName(EVENT_CONTEXTSELECTED);
-	Value data;
-	data.addObjectValue(KEY_OLDCONTEXTID, &Value(&std::wstring(oldContext->getName())));
-	data.addObjectValue(KEY_OLDURL, &Value(&std::wstring(oldContext->getUrl())));
-	data.addObjectValue(KEY_CONTEXTID, &Value(&std::wstring(context->getName())));
-	data.addObjectValue(KEY_URL, &Value(&std::wstring(context->getUrl())));
-	eventObj.setData(&data);
-	sendEvent(&eventObj);
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer.h
deleted file mode 100644
index 5c9d158..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "resource.h"
-#include <map>
-
-#include "CrossfireBPManager.h"
-#include "CrossfireContext.h"
-#include "CrossfireEvent.h"
-#include "CrossfireProcessor.h"
-#include "CrossfireResponse.h"
-#include "WindowsSocketConnection.h"
-
-enum {
-	STATE_DISCONNECTED,
-	STATE_LISTENING,
-	STATE_CONNECTED,
-};
-
-class ATL_NO_VTABLE CrossfireServer :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<CrossfireServer, &CLSID_CrossfireServer>,
-	public IDispatchImpl<ICrossfireServer, &IID_ICrossfireServer, &LIBID_IECrossfireServerLib, 1, 0> {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_CROSSFIRESERVER)
-	DECLARE_NOT_AGGREGATABLE(CrossfireServer)
-	BEGIN_COM_MAP(CrossfireServer)
-		COM_INTERFACE_ENTRY(ICrossfireServer)
-		COM_INTERFACE_ENTRY(IDispatch)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	CrossfireServer();
-	~CrossfireServer();
-
-	/* ICrossfireServer */
-	virtual HRESULT STDMETHODCALLTYPE contextCreated(DWORD processId, OLECHAR* url);
-	virtual HRESULT STDMETHODCALLTYPE contextDestroyed(DWORD processId);
-	virtual HRESULT STDMETHODCALLTYPE contextLoaded(DWORD processId);
-	virtual HRESULT STDMETHODCALLTYPE getPort(unsigned int* value);
-	virtual HRESULT STDMETHODCALLTYPE getState(int* value);
-	virtual HRESULT STDMETHODCALLTYPE registerBrowser(DWORD processId, IBrowserContext* browser);
-	virtual HRESULT STDMETHODCALLTYPE removeBrowser(DWORD processId);
-	virtual HRESULT STDMETHODCALLTYPE setCurrentContext(DWORD processId);
-	virtual HRESULT STDMETHODCALLTYPE start(unsigned int port, unsigned int debugPort);
-	virtual HRESULT STDMETHODCALLTYPE stop();
-
-	/* CrossfireServer */
-	virtual void connected();
-	virtual void disconnected();
-	virtual CrossfireBPManager* getBreakpointManager();
-	virtual bool isConnected();
-	virtual void received(wchar_t* msg);
-	virtual void sendEvent(CrossfireEvent* eventObj);
-	virtual void sendResponse(CrossfireResponse* response);
-	virtual void setWindowHandle(unsigned long value);
-
-private:
-	virtual CrossfireContext* getContext(wchar_t* contextId);
-	virtual void getContextsArray(CrossfireContext*** _value);
-	virtual CrossfireContext* getRequestContext(CrossfireRequest* request);
-	virtual bool performRequest(CrossfireRequest* request);
-	virtual bool processHandshake(wchar_t* msg);
-	virtual void reset();
-	virtual void sendPendingEvents();
-
-	CrossfireBPManager* m_bpManager;
-	std::map<DWORD, IBrowserContext*>* m_browsers;
-	WindowsSocketConnection* m_connection;
-	std::map<DWORD, CrossfireContext*>* m_contexts;
-	DWORD m_currentContextPID;
-	bool m_handshakeReceived;
-	std::wstring* m_inProgressPacket;
-	unsigned int m_lastRequestSeq;
-	HWND m_messageWindow;
-	std::vector<CrossfireEvent*>* m_pendingEvents;
-	unsigned int m_port;
-	bool m_processingRequest;
-	CrossfireProcessor* m_processor;
-	unsigned long m_windowHandle;
-
-	static const UINT ServerStateChangeMsg;
-	static const wchar_t* WindowClass;
-	static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
-	static const wchar_t* COMMAND_CHANGEBREAKPOINTS;
-	static const wchar_t* COMMAND_DELETEBREAKPOINTS;
-	static const wchar_t* COMMAND_GETBREAKPOINTS;
-	static const wchar_t* COMMAND_SETBREAKPOINTS;
-
-	/* command: createContext */
-	static const wchar_t* COMMAND_CREATECONTEXT;
-	virtual int commandCreateContext(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: disableTools */
-	static const wchar_t* COMMAND_DISABLETOOLS;
-	virtual int commandDisableTools(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: enableTools */
-	static const wchar_t* COMMAND_ENABLETOOLS;
-	virtual int commandEnableTools(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: getTools */
-	static const wchar_t* COMMAND_GETTOOLS;
-	virtual int commandGetTools(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: listContexts */
-	static const wchar_t* COMMAND_LISTCONTEXTS;
-	static const wchar_t* KEY_CONTEXTS;
-	static const wchar_t* KEY_CURRENT;
-	virtual int commandListContexts(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* command: version */
-	static const wchar_t* COMMAND_VERSION;
-	static const wchar_t* KEY_VERSION;
-	static const wchar_t* VERSION_STRING;
-	virtual int commandVersion(Value* arguments, Value** _responseBody, wchar_t** _message);
-
-	/* event: closed */
-	static const wchar_t* EVENT_CLOSED;
-	virtual void eventClosed();
-
-	/* event: onContextCreated */
-	static const wchar_t* EVENT_CONTEXTCREATED;
-	virtual void eventContextCreated(CrossfireContext* context);
-
-	/* event: onContextDestroyed */
-	static const wchar_t* EVENT_CONTEXTDESTROYED;
-	virtual void eventContextDestroyed(CrossfireContext* context);
-
-	/* event: onContextLoaded */
-	static const wchar_t* EVENT_CONTEXTLOADED;
-	virtual void eventContextLoaded(CrossfireContext* context);
-
-	/* event: onContextSelected */
-	static const wchar_t* EVENT_CONTEXTSELECTED;
-	static const wchar_t* KEY_OLDCONTEXTID;
-	static const wchar_t* KEY_OLDURL;
-	virtual void eventContextSelected(CrossfireContext* context, CrossfireContext* oldContext);
-
-	/* shared */
-	static const wchar_t* KEY_CONTEXTID;
-	static const wchar_t* KEY_TOOLS;
-	static const wchar_t* KEY_URL;
-
-	/* constants */
-	static const wchar_t* CONTEXTID_PREAMBLE;
-	static const wchar_t* HANDSHAKE;
-	static const wchar_t* HEADER_CONTENTLENGTH;
-	static const wchar_t* LINEBREAK;
-	static const size_t LINEBREAK_LENGTH;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(CrossfireServer), CrossfireServer)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer1.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer1.rgs
deleted file mode 100644
index ad7493b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServer1.rgs
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR
-{
-	IECrossfireServer.CrossfireContr.1 = s 'CrossfireServer Class'
-	{
-		CLSID = s '{47836AF4-3E0C-4995-8029-FF931C5A43FC}'
-	}
-	IECrossfireServer.CrossfireControl = s 'CrossfireServer Class'
-	{
-		CLSID = s '{47836AF4-3E0C-4995-8029-FF931C5A43FC}'
-		CurVer = s 'IECrossfireServer.CrossfireServer.1'
-	}
-	NoRemove CLSID
-	{
-		ForceRemove {47836AF4-3E0C-4995-8029-FF931C5A43FC} = s 'CrossfireServer Class'
-		{
-			ProgID = s 'IECrossfireServer.CrossfireServer.1'
-			VersionIndependentProgID = s 'IECrossfireServer.CrossfireServer'
-			ForceRemove 'Programmable'
-			LocalServer32 = s '%MODULE%'
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.cpp
deleted file mode 100644
index 9d44f59..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "CrossfireServerClass.h"
-
-CrossfireServerClass::CrossfireServerClass() {
-	m_servers = new std::map<unsigned long, ICrossfireServer*>;
-	lockCount = 0;
-}
-
-CrossfireServerClass::~CrossfireServerClass() {
-	std::map<unsigned long, ICrossfireServer*>::iterator iterator = m_servers->begin();
-	while (iterator != m_servers->end()) {
-		iterator->second->Release();
-		iterator++;
-	}
-	delete m_servers;
-}
-
-/* IClassFactory */
-
-HRESULT CrossfireServerClass::CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject) {
-	/* ICrossfireServer instances must be created via GetServer() */
-	return E_NOTIMPL;
-}
-
-HRESULT CrossfireServerClass::LockServer(BOOL fLock) {
-	lockCount += fLock ? 1 : -1;
-	if (!lockCount && m_servers->empty()) {
-		PostQuitMessage(0);
-	}
-	return S_OK;
-}
-
-/* ICrossfireServerClass */
-
-STDMETHODIMP CrossfireServerClass::GetServer(/*unsigned long windowHandle,*/ ICrossfireServer** _value) {
-	*_value = NULL;
-
-	/*
-	 * TEMPORARY CODE: windowHandle is set to a consistent value so that the same
-	 * CrossfireServer is always returned.  If this is determined to be the correct
-	 * behavior then m_servers should be replaced with a singleton CrossfireServer.
-	 */
-	unsigned long windowHandle = 0;
-
-	std::map<unsigned long,ICrossfireServer*>::iterator iterator = m_servers->find(windowHandle);
-	if (iterator != m_servers->end()) {
-		*_value = iterator->second;
-		(*_value)->AddRef();
-	} else {
-		CComObject<CrossfireServer>* server = NULL;
-		HRESULT hr = CComObject<CrossfireServer>::CreateInstance(&server);
-		if (FAILED(hr)) {
-			Logger::error("CrossfireServerClass.GetServer(): CreateInstance() failed", hr);
-			return S_FALSE;
-		}
-
-		server->AddRef(); /* CComObject::CreateInstance gives initial ref count of 0 */
-		server->setWindowHandle(windowHandle);
-		m_servers->insert(std::pair<unsigned long,ICrossfireServer*>(windowHandle, server));
-		*_value = server;
-	}
-	return S_OK;
-}
-
-STDMETHODIMP CrossfireServerClass::RemoveServer(unsigned long windowHandle) {
-	/*
-	 * TEMPORARY CODE: windowHandle is set to a consistent value so that the same
-	 * CrossfireServer is always used.  If this is determined to be the correct
-	 * behavior then this method can be replaced with one that does not receive a
-	 * handle for identifying the specific server.
-	 */
-	windowHandle = 0;
-
-	std::map<unsigned long,ICrossfireServer*>::iterator iterator = m_servers->find(windowHandle);
-	if (iterator == m_servers->end()) {
-		Logger::error("CrossfireServerClass.RemoveServer(): unknown windowHandle");
-		return S_FALSE;
-	}
-	m_servers->erase(iterator);
-	if (!lockCount && m_servers->empty()) {
-		PostQuitMessage(0);
-	}
-	return S_OK;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.h
deleted file mode 100644
index 2399000..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "resource.h"
-#include <map>
-
-#include "CrossfireServer.h"
-#include "IECrossfireServer.h"
-#include "Logger.h"
-
-class ATL_NO_VTABLE CrossfireServerClass :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<CrossfireServerClass, &CLSID_CrossfireServerClass>,
-	public IClassFactory,
-	public IDispatchImpl<ICrossfireServerClass, &IID_ICrossfireServerClass, &LIBID_IECrossfireServerLib, 1, 0> {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_CROSSFIRESERVERCLASS)
-	DECLARE_NOT_AGGREGATABLE(CrossfireServerClass)
-	BEGIN_COM_MAP(CrossfireServerClass)
-		COM_INTERFACE_ENTRY(ICrossfireServerClass)
-		COM_INTERFACE_ENTRY(IClassFactory)
-		COM_INTERFACE_ENTRY(IDispatch)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	/* IClassFactory */
-	virtual HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown *pUnkOuter, REFIID riid, void **ppvObject);
-	virtual HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock);
-
-	/* ICrossfireServerClass */
-	virtual HRESULT STDMETHODCALLTYPE GetServer(/*unsigned long windowHandle,*/ ICrossfireServer** _value);
-	virtual HRESULT STDMETHODCALLTYPE RemoveServer(unsigned long windowHandle);
-
-protected:
-	CrossfireServerClass();
-	~CrossfireServerClass();
-
-	int lockCount;
-
-private:
-	std::map<unsigned long, ICrossfireServer*>* m_servers;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(CrossfireServerClass), CrossfireServerClass)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.rgs
deleted file mode 100644
index 2ea77a8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerClass.rgs
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR
-{
-	IECrossfireServer.CrossfireContr.1 = s 'CrossfireServerClass Class'
-	{
-		CLSID = s '{7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25}'
-	}
-	IECrossfireServer.CrossfireControl = s 'CrossfireServerClass Class'
-	{
-		CLSID = s '{7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25}'
-		CurVer = s 'IECrossfireServer.CrossfireContr.1'
-	}
-	NoRemove CLSID
-	{
-		ForceRemove {7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25} = s 'CrossfireServerClass Class'
-		{
-			ProgID = s 'IECrossfireServer.CrossfireServer.1'
-			VersionIndependentProgID = s 'IECrossfireServer.CrossfireServer'
-			ForceRemove 'Programmable'
-			LocalServer32 = s '%MODULE%'
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerListener.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerListener.h
deleted file mode 100644
index b9ae3fa..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/CrossfireServerListener.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "resource.h"
-
-#include "IECrossfireServer.h"
-
-class ATL_NO_VTABLE CCrossfireServerListener :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<CCrossfireServerListener, &CLSID_CrossfireServerListener>,
-	public ICrossfireServerListener {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_CROSSFIRESERVERLISTENER)
-	DECLARE_NOT_AGGREGATABLE(CCrossfireServerListener)
-	BEGIN_COM_MAP(CCrossfireServerListener)
-		COM_INTERFACE_ENTRY(ICrossfireServerListener)
-//		COM_INTERFACE_ENTRY(IUnknown)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	/* ICrossfireServerListener */
-	virtual HRESULT STDMETHODCALLTYPE ServerStateChanged(int state, unsigned int port) = 0;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(CrossfireServerListener), CCrossfireServerListener)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IBreakpointTarget.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IBreakpointTarget.h
deleted file mode 100644
index 2593ae0..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IBreakpointTarget.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "Value.h"
-class IBreakpointTarget; // forward declaration
-#include "CrossfireBreakpoint.h"
-
-class IBreakpointTarget {
-
-public:
-	IBreakpointTarget() {
-	}
-
-	virtual ~IBreakpointTarget() {
-	}
-
-	virtual bool breakpointAttributeChanged(unsigned int handle, wchar_t* name, Value* value) = 0;
-	virtual bool deleteBreakpoint(unsigned int handle) = 0;
-	virtual CrossfireBreakpoint* getBreakpoint(unsigned int handle) = 0;
-	virtual void getBreakpoints(CrossfireBreakpoint*** ___values) = 0;
-	virtual bool setBreakpoint(CrossfireBreakpoint* breakpoint, bool isRetry) = 0;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.cpp
deleted file mode 100644
index aa6d3ec..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "resource.h"
-
-#include "CrossfireServerClass.h"
-#include "IECrossfireServer.h"
-#include "Logger.h"
-
-class CIECrossfireServerModule : public CAtlExeModuleT<CIECrossfireServerModule> {
-public :
-	DECLARE_LIBID(LIBID_IECrossfireServerLib)
-	DECLARE_REGISTRY_APPID_RESOURCEID(IDR_IECrossfireServer, "{1B6AA6D6-25AC-4994-9431-AC0DFC85654D}")
-};
-
-CIECrossfireServerModule _AtlModule;
-
-extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nShowCmd) {
-	if (wcscmp((const wchar_t*)lpCmdLine, L"/Embedding") != 0 && wcscmp((const wchar_t*)lpCmdLine, L"-Embedding") != 0) {
-		return _AtlModule.WinMain(nShowCmd);
-	}
-
-	CoInitialize(NULL);
-	CComObject<CrossfireServerClass>* serverClass = NULL;
-	HRESULT hr = CComObject<CrossfireServerClass>::CreateInstance(&serverClass);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireServer.main(): CreateInstance() failed", hr);
-		return 0;
-	}
-
-	/*
-	 * server is not AddRef'd here in spite of the use of CComObject::CreateInstance
-	 * because CoRegisterClassObject does an automatic AddRef()
-	 */
-
-	DWORD id = 0;
-	hr = CoRegisterClassObject(CLSID_CrossfireServer, (ICrossfireServerClass*)serverClass, CLSCTX_LOCAL_SERVER, REGCLS_MULTIPLEUSE, &id);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireServer.main(): CoRegisterClassObject() failed", hr);
-		return 0;
-	}
-
-	BOOL ret;
-	MSG msg;
-	while ((ret = GetMessage(&msg, 0, 0, 0)) != 0) {
-		if (ret == -1) {
-			Logger::error("IECrossfireServer.main(): GetMessage() failed", GetLastError());
-		} else {
-			TranslateMessage(&msg);
-			DispatchMessage(&msg);
-		}
-	}
-
-	hr = CoRevokeClassObject(id);
-	if (FAILED(hr)) {
-		Logger::error("IECrossfireServer.main(): CoRevokeClassObject() failed", hr);
-		return 0;
-	}
-
-	CoUninitialize();
-	return 0;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.idl b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.idl
deleted file mode 100644
index eef212e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.idl
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-import "oaidl.idl";
-import "ocidl.idl";
-
-[
-	object,
-	uuid(31DC44C3-7C98-4737-8D62-0E78FCCC503C),
-	helpstring("IJSEvalCallback Interface"),
-	pointer_default(unique)
-]
-interface IJSEvalCallback : IUnknown {
-};
-[
-	object,
-	uuid(0F9DDD31-746A-4EBC-873D-7A988B5EE088),
-	helpstring("IIEDebugger Interface"),
-	pointer_default(unique)
-]
-interface IIEDebugger : IUnknown {
-};
-[
-	object,
-	uuid(E4121804-5350-4DDD-BE57-9C5B2A13EA29),
-	oleautomation,
-	dual,
-	nonextensible,
-	helpstring("IBrowserContext Interface"),
-	pointer_default(unique)
-]
-interface IBrowserContext : IUnknown {
-	HRESULT navigate([in, string] OLECHAR* url, [in] boolean openNewTab);
-};
-[
-	object,
-	uuid(031DB015-B1BE-4D39-84D2-D7F96D2ACBFE),
-	oleautomation,
-	dual,
-	nonextensible,
-	helpstring("ICrossfireServer Interface"),
-	pointer_default(unique)
-]
-interface ICrossfireServer : IDispatch {
-	HRESULT contextCreated([in] DWORD processId, [in, string] OLECHAR* url);
-	HRESULT contextDestroyed([in] DWORD processId);
-	HRESULT contextLoaded([in] DWORD processId);
-	HRESULT getPort([out] unsigned int* value);
-	HRESULT getState([out] int* value);
-	HRESULT registerBrowser([in] DWORD processId, [in] IBrowserContext* browser);
-	HRESULT removeBrowser([in] DWORD processId);
-	HRESULT setCurrentContext([in] DWORD processId);
-	HRESULT start([in] unsigned int port, [in] unsigned int debugPort);
-	HRESULT stop();
-};
-[
-	object,
-	uuid(F48260BB-C061-4410-9CE1-4C5C7602690E),
-	oleautomation,
-	dual,
-	nonextensible,
-	helpstring("ICrossfireServerClass Interface"),
-	pointer_default(unique)
-]
-interface ICrossfireServerClass : IDispatch {
-//	HRESULT GetServer([in] unsigned long windowHandle, [out, retval] ICrossfireServer** _value);
-	HRESULT GetServer([out, retval] ICrossfireServer** _value);
-	HRESULT RemoveServer([in] unsigned long windowHandle);
-};
-[
-	object,
-	uuid(56C1AD62-3E69-46BA-BE6D-E1D2A0D88AB5),
-	dual,
-	nonextensible,
-	helpstring("IPendingScriptLoad Interface"),
-	pointer_default(unique)
-]
-interface IPendingScriptLoad : IDispatch {
-};
-[
-	uuid(A8FFC284-CE2C-40B5-98D1-D3112811E9D9),
-	version(1.0),
-	helpstring("IECrossfireServer 1.0 Type Library")
-]
-library IECrossfireServerLib {
-	importlib("stdole2.tlb");
-	[
-		uuid(4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7),
-		helpstring("JSEvalCallback Class")
-	]
-	coclass JSEvalCallback
-	{
-		[default] interface IJSEvalCallback;
-	};
-	[
-		uuid(B63BD92F-6C66-4AB2-A243-D5AFCCF4B587),
-		helpstring("IEDebugger Class")
-	]
-	coclass IEDebugger
-	{
-		[default] interface IIEDebugger;
-	};
-	[
-		uuid(47836AF4-3E0C-4995-8029-FF931C5A43FC),
-		helpstring("CrossfireServer Class")
-	]
-	coclass CrossfireServer
-	{
-		[default] interface ICrossfireServer;
-	};
-	[
-		uuid(7C3C5D7A-AF4D-4F32-A3C9-462BFBAFDC25),
-		helpstring("CrossfireServerClass Class")
-	]
-	coclass CrossfireServerClass
-	{
-		[default] interface ICrossfireServerClass;
-	};
-	[
-		uuid(88E7C480-7B7A-47C5-8329-CE1FDF415527),
-		helpstring("PendingScriptLoad Class")
-	]
-	coclass PendingScriptLoad
-	{
-		[default] interface IPendingScriptLoad;
-	};
-	[
-		uuid(2FA65B09-5063-45FA-91F9-50EB7F4AF2C6),
-		helpstring("BrowserContext Class")
-	]
-	coclass BrowserContext
-	{
-		[default] interface IBrowserContext;
-	};
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.rc b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.rc
deleted file mode 100644
index 2941307..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.rc
+++ /dev/null
@@ -1,140 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (United States) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// REGISTRY
-//
-
-#endif    // English (United States) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (Canada) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENC)
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_CAN
-#pragma code_page(1252)
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""winres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "1 TYPELIB ""IECrossfireServer.tlb""\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x1L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904e4"
-        BEGIN
-            VALUE "CompanyName", "Eclipse Foundation"
-            VALUE "FileDescription", "IE Crossfire Server"
-            VALUE "FileVersion", "1.0.0.0"
-            VALUE "LegalCopyright", "Copyright (c) 2011 IBM Corp.  All Rights Reserved."
-            VALUE "InternalName", "IECrossfireServer"
-            VALUE "OriginalFilename", "IECrossfireServer.exe"
-            VALUE "ProductName", "IE Crossfire Server"
-            VALUE "ProductVersion", "0,0,0,0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1252
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// REGISTRY
-//
-
-IDR_IECrossfireServer   REGISTRY                "IECrossfireServer.rgs"
-IDR_JSEVALCALLBACK      REGISTRY                "JSEvalCallback.rgs"
-IDR_IEDEBUGGER          REGISTRY                "IEDebugger.rgs"
-IDR_CROSSFIRESERVER     REGISTRY                "CrossfireServer1.rgs"
-IDR_CROSSFIRESERVERCLASS REGISTRY                "CrossfireServerClass.rgs"
-IDR_PENDINGSCRIPTLOAD   REGISTRY                "PendingScriptLoad.rgs"
-IDR_BROWSERCONTEXT      REGISTRY                "BrowserContext.rgs"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE
-BEGIN
-    IDS_PROJNAME            "IECrossfireServer"
-END
-
-#endif    // English (Canada) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-1 TYPELIB "IECrossfireServer.tlb"
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.rgs
deleted file mode 100644
index 2e7f3a0..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.rgs
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR {
-	NoRemove AppID {
-		'%APPID%' = s 'IECrossfireServer'
-		'IECrossfireServer.EXE' {
-			val AppID = s '%APPID%'
-		}
-	}
-	NoRemove CLSID {
-		ForceRemove {47836AF4-3E0C-4995-8029-FF931C5A43FC} = s 'CrossfireServer Class' {
-			LocalServer32 = s '%MODULE%'
-		}
-	}
-	NoRemove Interface {
-		ForceRemove {031DB015-B1BE-4D39-84D2-D7F96D2ACBFE} = s 'CrossfireServer Interface' {
-			ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}'
-			TypeLib = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-	NoRemove Interface {
-		ForceRemove {F48260BB-C061-4410-9CE1-4C5C7602690E} = s 'CrossfireServerClass Interface' {
-			ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}'
-			TypeLib = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcproj
deleted file mode 100644
index 01b266e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcproj
+++ /dev/null
@@ -1,493 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="IECrossfireServer"
-	ProjectGUID="{2B73B89A-A1B4-479B-8751-A25B9036A9AF}"
-	RootNamespace="IECrossfireServer"
-	Keyword="AtlProj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			UseOfATL="2"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="false"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName="$(IntDir)/IECrossfireServer.tlb"
-				HeaderFileName="IECrossfireServer.h"
-				DLLDataFileName=""
-				InterfaceIdentifierFileName="IECrossfireServer_i.c"
-				ProxyFileName="IECrossfireServer_p.c"
-				ValidateParameters="false"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="true"
-				AdditionalDependencies="WS2_32.lib"
-				LinkIncremental="2"
-				GenerateDebugInformation="true"
-				SubSystem="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"
-				Description="Performing registration"
-				CommandLine="&quot;$(TargetPath)&quot; /RegServer"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="1"
-			UseOfATL="2"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="false"
-				TargetEnvironment="1"
-				GenerateStublessProxies="true"
-				TypeLibraryName="$(IntDir)/IECrossfireServer.tlb"
-				HeaderFileName="IECrossfireServer.h"
-				DLLDataFileName=""
-				InterfaceIdentifierFileName="IECrossfireServer_i.c"
-				ProxyFileName="IECrossfireServer_p.c"
-				ValidateParameters="false"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG"
-				RuntimeLibrary="2"
-				UsePrecompiledHeader="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1033"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				IgnoreImportLibrary="true"
-				AdditionalDependencies="WS2_32.lib"
-				LinkIncremental="1"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				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"
-				Description="Performing registration"
-				CommandLine="&quot;$(TargetPath)&quot; /RegServer"
-			/>
-		</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=".\CrossfireBPManager.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireBreakpoint.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireContext.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireEvent.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireLineBreakpoint.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfirePacket.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireProcessor.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireRequest.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireResponse.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireServer.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireServerClass.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer.idl"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCMIDLTool"
-						DLLDataFileName=""
-						InterfaceIdentifierFileName="IECrossfireServer_i.c"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\IEDebugger.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\JSEvalCallback.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\JSONParser.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\Logger.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\PendingScriptLoad.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\stdafx.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-			</File>
-			<File
-				RelativePath=".\Value.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\WindowsSocketConnection.cpp"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\activdbg.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireBPManager.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireBreakpoint.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireContext.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireEvent.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireLineBreakpoint.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfirePacket.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireProcessor.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireRequest.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireResponse.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireServer.h"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireServerClass.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\..\..\Desktop\temp\dbgprop.h"
-				>
-			</File>
-			<File
-				RelativePath=".\IBreakpointTarget.h"
-				>
-			</File>
-			<File
-				RelativePath=".\IEDebugger.h"
-				>
-			</File>
-			<File
-				RelativePath=".\JSEvalCallback.h"
-				>
-			</File>
-			<File
-				RelativePath=".\JSONParser.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Logger.h"
-				>
-			</File>
-			<File
-				RelativePath=".\PendingScriptLoad.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Resource.h"
-				>
-			</File>
-			<File
-				RelativePath=".\stdafx.h"
-				>
-			</File>
-			<File
-				RelativePath=".\Value.h"
-				>
-			</File>
-			<File
-				RelativePath=".\WindowsSocketConnection.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}"
-			>
-			<File
-				RelativePath=".\CrossfireServer1.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireServerClass.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\CrossfireServerListener.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer.rc"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\IEDebugger.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\JSEvalCallback.rgs"
-				>
-			</File>
-			<File
-				RelativePath=".\PendingScriptLoad.rgs"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Generated Files"
-			SourceControlFiles="false"
-			>
-			<File
-				RelativePath=".\IECrossfireServer.h"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer_i.c"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="0"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="0"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcxproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcxproj
deleted file mode 100644
index 11104b3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcxproj
+++ /dev/null
@@ -1,218 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{2B73B89A-A1B4-479B-8751-A25B9036A9AF}</ProjectGuid>
-    <RootNamespace>IECrossfireServer</RootNamespace>
-    <Keyword>AtlProj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfAtl>Dynamic</UseOfAtl>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>Application</ConfigurationType>
-    <UseOfAtl>Dynamic</UseOfAtl>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
-    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IgnoreImportLibrary>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
-    <IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IgnoreImportLibrary>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</PostBuildEventUseInBuild>
-    <PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</PostBuildEventUseInBuild>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>false</MkTypLibCompatible>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <GenerateStublessProxies>true</GenerateStublessProxies>
-      <TypeLibraryName>$(IntDir)IECrossfireServer.tlb</TypeLibraryName>
-      <HeaderFileName>IECrossfireServer.h</HeaderFileName>
-      <DllDataFileName>
-      </DllDataFileName>
-      <InterfaceIdentifierFileName>IECrossfireServer_i.c</InterfaceIdentifierFileName>
-      <ProxyFileName>IECrossfireServer_p.c</ProxyFileName>
-      <ValidateAllParameters>false</ValidateAllParameters>
-    </Midl>
-    <ClCompile>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MinimalRebuild>true</MinimalRebuild>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-      <PrecompiledHeader>Use</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <AdditionalIncludeDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>WS2_32.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <TargetMachine>MachineX86</TargetMachine>
-      <RegisterOutput>false</RegisterOutput>
-      <PerUserRedirection>false</PerUserRedirection>
-    </Link>
-    <PostBuildEvent>
-      <Message>Performing registration</Message>
-      <Command>"$(TargetPath)" /RegServer</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>false</MkTypLibCompatible>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <GenerateStublessProxies>true</GenerateStublessProxies>
-      <TypeLibraryName>$(IntDir)IECrossfireServer.tlb</TypeLibraryName>
-      <HeaderFileName>IECrossfireServer.h</HeaderFileName>
-      <DllDataFileName>
-      </DllDataFileName>
-      <InterfaceIdentifierFileName>IECrossfireServer_i.c</InterfaceIdentifierFileName>
-      <ProxyFileName>IECrossfireServer_p.c</ProxyFileName>
-      <ValidateAllParameters>false</ValidateAllParameters>
-    </Midl>
-    <ClCompile>
-      <Optimization>MinSpace</Optimization>
-      <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-      <PrecompiledHeader>Use</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-      <AdditionalIncludeDirectories>C:\Program Files %28x86%29\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Common\Inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0409</Culture>
-      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ResourceCompile>
-    <Link>
-      <AdditionalDependencies>WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <SubSystem>Windows</SubSystem>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <TargetMachine>MachineX86</TargetMachine>
-    </Link>
-    <PostBuildEvent>
-      <Message>Performing registration</Message>
-      <Command>"$(TargetPath)" /RegServer</Command>
-    </PostBuildEvent>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="CrossfireBPManager.cpp" />
-    <ClCompile Include="CrossfireBreakpoint.cpp" />
-    <ClCompile Include="CrossfireContext.cpp" />
-    <ClCompile Include="CrossfireEvent.cpp" />
-    <ClCompile Include="CrossfireLineBreakpoint.cpp" />
-    <ClCompile Include="CrossfirePacket.cpp" />
-    <ClCompile Include="CrossfireProcessor.cpp" />
-    <ClCompile Include="CrossfireRequest.cpp" />
-    <ClCompile Include="CrossfireResponse.cpp" />
-    <ClCompile Include="CrossfireServer.cpp" />
-    <ClCompile Include="CrossfireServerClass.cpp" />
-    <ClCompile Include="IECrossfireServer.cpp" />
-    <ClCompile Include="IEDebugger.cpp" />
-    <ClCompile Include="JSEvalCallback.cpp" />
-    <ClCompile Include="JSONParser.cpp" />
-    <ClCompile Include="Logger.cpp" />
-    <ClCompile Include="PendingScriptLoad.cpp" />
-    <ClCompile Include="stdafx.cpp">
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
-    </ClCompile>
-    <ClCompile Include="Value.cpp" />
-    <ClCompile Include="WindowsSocketConnection.cpp" />
-    <ClCompile Include="IECrossfireServer_i.c">
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-      </PrecompiledHeader>
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-      </PrecompiledHeader>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <Midl Include="IECrossfireServer.idl">
-      <DllDataFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-      </DllDataFileName>
-      <InterfaceIdentifierFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">IECrossfireServer_i.c</InterfaceIdentifierFileName>
-    </Midl>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="CrossfireBPManager.h" />
-    <ClInclude Include="CrossfireBreakpoint.h" />
-    <ClInclude Include="CrossfireContext.h" />
-    <ClInclude Include="CrossfireEvent.h" />
-    <ClInclude Include="CrossfireLineBreakpoint.h" />
-    <ClInclude Include="CrossfirePacket.h" />
-    <ClInclude Include="CrossfireProcessor.h" />
-    <ClInclude Include="CrossfireRequest.h" />
-    <ClInclude Include="CrossfireResponse.h" />
-    <ClInclude Include="CrossfireServer.h" />
-    <ClInclude Include="CrossfireServerClass.h" />
-    <ClInclude Include="IBreakpointTarget.h" />
-    <ClInclude Include="IEDebugger.h" />
-    <ClInclude Include="JSEvalCallback.h" />
-    <ClInclude Include="IJSEvalHandler.h" />
-    <ClInclude Include="JSONParser.h" />
-    <ClInclude Include="Logger.h" />
-    <ClInclude Include="PendingScriptLoad.h" />
-    <ClInclude Include="Resource.h" />
-    <ClInclude Include="stdafx.h" />
-    <ClInclude Include="Value.h" />
-    <ClInclude Include="WindowsSocketConnection.h" />
-    <ClInclude Include="IECrossfireServer.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="CrossfireServer1.rgs" />
-    <None Include="CrossfireServerClass.rgs" />
-    <None Include="BrowserContext.rgs" />
-    <None Include="IECrossfireServer.rgs" />
-    <None Include="IEDebugger.rgs" />
-    <None Include="JSEvalCallback.rgs">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="PendingScriptLoad.rgs" />
-    <None Include="registry.bin" />
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="IECrossfireServer.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcxproj.filters b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcxproj.filters
deleted file mode 100644
index a01eef6..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServer.vcxproj.filters
+++ /dev/null
@@ -1,193 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
-    </Filter>
-    <Filter Include="Generated Files">
-      <UniqueIdentifier>{f6ab1c25-d431-489b-b82f-215c09375f9a}</UniqueIdentifier>
-      <SourceControlFiles>False</SourceControlFiles>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="CrossfireBPManager.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireBreakpoint.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireContext.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireEvent.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireLineBreakpoint.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfirePacket.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireProcessor.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireRequest.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireResponse.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireServer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="CrossfireServerClass.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireServer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IEDebugger.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="JSEvalCallback.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="JSONParser.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Logger.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="PendingScriptLoad.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="stdafx.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="Value.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="WindowsSocketConnection.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireServer_i.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <Midl Include="IECrossfireServer.idl">
-      <Filter>Source Files</Filter>
-    </Midl>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="CrossfireBPManager.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireBreakpoint.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireContext.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireEvent.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireLineBreakpoint.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfirePacket.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireProcessor.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireRequest.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireResponse.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireServer.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="CrossfireServerClass.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="IBreakpointTarget.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="IEDebugger.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="JSEvalCallback.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="JSONParser.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Logger.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="PendingScriptLoad.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Resource.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="stdafx.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="Value.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="WindowsSocketConnection.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="IECrossfireServer.h">
-      <Filter>Generated Files</Filter>
-    </ClInclude>
-    <ClInclude Include="IJSEvalHandler.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="CrossfireServer1.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="CrossfireServerClass.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="IECrossfireServer.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="IEDebugger.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="JSEvalCallback.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="PendingScriptLoad.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="BrowserContext.rgs">
-      <Filter>Resource Files</Filter>
-    </None>
-    <None Include="registry.bin">
-      <Filter>Resource Files</Filter>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="IECrossfireServer.rc">
-      <Filter>Resource Files</Filter>
-    </ResourceCompile>
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcproj
deleted file mode 100644
index 2766f8d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcproj
+++ /dev/null
@@ -1,191 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="8.00"
-	Name="IECrossfireServerPS"
-	ProjectGUID="{668D1F72-89E4-47B7-AB3C-6851CDD0073D}"
-	RootNamespace="IECrossfireServerPS"
-	Keyword="AtlPSProj"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(ConfigurationName)PS"
-			IntermediateDirectory="$(ConfigurationName)PS"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				Description="Checking for required files"
-				CommandLine="if exist dlldata.c goto :END&#x0D;&#x0A;echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.&#x0D;&#x0A;Exit 1&#x0D;&#x0A;:END&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;_DEBUG"
-				RuntimeLibrary="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib"
-				ModuleDefinitionFile="IECrossfireServerPS.def"
-			/>
-			<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="$(ConfigurationName)PS"
-			IntermediateDirectory="$(ConfigurationName)PS"
-			ConfigurationType="2"
-			CharacterSet="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-				Description="Checking for required files"
-				CommandLine="if exist dlldata.c goto :END&#x0D;&#x0A;echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.&#x0D;&#x0A;Exit 1&#x0D;&#x0A;:END&#x0D;&#x0A;"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;NDEBUG"
-				RuntimeLibrary="2"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib"
-				ModuleDefinitionFile="IECrossfireServerPS.def"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-			/>
-			<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>
-		<Filter
-			Name="Generated Files"
-			SourceControlFiles="false"
-			>
-			<File
-				RelativePath=".\dlldata.c"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer_i.c"
-				>
-			</File>
-			<File
-				RelativePath=".\IECrossfireServer_p.c"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\IECrossfireServerps.def"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcxproj b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcxproj
deleted file mode 100644
index 9085b79..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcxproj
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{668D1F72-89E4-47B7-AB3C-6851CDD0073D}</ProjectGuid>
-    <RootNamespace>IECrossfireServerPS</RootNamespace>
-    <Keyword>AtlPSProj</Keyword>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)PS\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)PS\</IntDir>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)PS\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)PS\</IntDir>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <PreBuildEvent>
-      <Message>Checking for required files</Message>
-      <Command>if exist dlldata.c goto :END
-echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
-Exit 1
-:END
-</Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <RegisterOutput>true</RegisterOutput>
-      <AdditionalDependencies>kernel32.lib;rpcns4.lib;rpcrt4.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ModuleDefinitionFile>IECrossfireServerPS.def</ModuleDefinitionFile>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <PreBuildEvent>
-      <Message>Checking for required files</Message>
-      <Command>if exist dlldata.c goto :END
-echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
-Exit 1
-:END
-</Command>
-    </PreBuildEvent>
-    <ClCompile>
-      <Optimization>MaxSpeed</Optimization>
-      <PreprocessorDefinitions>WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
-    </ClCompile>
-    <Link>
-      <RegisterOutput>true</RegisterOutput>
-      <AdditionalDependencies>kernel32.lib;rpcns4.lib;rpcrt4.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <ModuleDefinitionFile>IECrossfireServerPS.def</ModuleDefinitionFile>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="dlldata.c" />
-    <ClCompile Include="IECrossfireServer_i.c" />
-    <ClCompile Include="IECrossfireServer_p.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="IECrossfireServerps.def" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcxproj.filters b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcxproj.filters
deleted file mode 100644
index a8541de..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerPS.vcxproj.filters
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{f04fb3ce-90f0-4544-a5b1-f643363d7619}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Generated Files">
-      <UniqueIdentifier>{c0c598fb-6827-4089-9ee9-dcebd15ca0b7}</UniqueIdentifier>
-      <SourceControlFiles>False</SourceControlFiles>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="dlldata.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireServer_i.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-    <ClCompile Include="IECrossfireServer_p.c">
-      <Filter>Generated Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="IECrossfireServerps.def" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerps.def b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerps.def
deleted file mode 100644
index ae7ddbd..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IECrossfireServerps.def
+++ /dev/null
@@ -1,20 +0,0 @@
-; *******************************************************************************
-; * Copyright (c) 2011 IBM Corporation and others.
-; * All rights reserved. This program and the accompanying materials
-; * are made available under the terms of the Eclipse Public License v1.0
-; * which accompanies this distribution, and is available at
-; * http://www.eclipse.org/legal/epl-v10.html
-; *
-; * Contributors:
-; *     IBM Corporation - initial API and implementation
-; *******************************************************************************
-
-
-LIBRARY      "IECrossfireServerPS"
-
-EXPORTS
-	DllGetClassObject       PRIVATE
-	DllCanUnloadNow         PRIVATE
-	GetProxyDllInfo         PRIVATE
-	DllRegisterServer		PRIVATE
-	DllUnregisterServer		PRIVATE
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.cpp
deleted file mode 100644
index 2ed8ee7..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "IEDebugger.h"
-
-IEDebugger::IEDebugger() {
-	m_context = NULL;
-	m_adviseCookies = new std::multimap<std::wstring, DWORD>;
-}
-
-IEDebugger::~IEDebugger() {
-	delete m_adviseCookies;
-}
-
-/* IApplicationDebugger */
-
-STDMETHODIMP IEDebugger::QueryAlive(void) {
-	Logger::log("QueryAlive invoked");
-    return S_OK;
-}
-
-STDMETHODIMP IEDebugger::CreateInstanceAtDebugger(REFCLSID rclsid, IUnknown *pUnkOuter, DWORD dwClsContext, REFIID riid, IUnknown **ppvObject) {
-	Logger::log("CreateInstanceAtDebugger invoked");
-    return E_NOTIMPL;
-}
-
-STDMETHODIMP IEDebugger::onDebugOutput(LPCOLESTR pstr) {
-	Logger::log("onDebugOutput invoked");
-	return S_OK;
-}
-
-STDMETHODIMP IEDebugger::onHandleBreakPoint(IRemoteDebugApplicationThread *pDebugAppThread, BREAKREASON br, IActiveScriptErrorDebug *pScriptErrorDebug) {
-	if (m_context) {
-		m_context->breakpointHit(pDebugAppThread, br, pScriptErrorDebug);
-	} else {
-		// TODO should probably resume in this case?
-	}
-	return S_OK;
-}
-
-STDMETHODIMP IEDebugger::onClose(void) {
-	Logger::log("onClose invoked");
-	return E_NOTIMPL;
-}
-
-STDMETHODIMP IEDebugger::onDebuggerEvent(REFIID riid, IUnknown *punk) {
-	Logger::log("onDebuggerEvent invoked");
-    return E_NOTIMPL;
-}
-
-/* IApplicationDebuggerUI */
-
-STDMETHODIMP IEDebugger::BringDocumentToTop(IDebugDocumentText *pddt) {
-	Logger::log("BringDocumentToTop invoked");
-    return S_OK;
-}
-
-STDMETHODIMP IEDebugger::BringDocumentContextToTop(IDebugDocumentContext *pddc) {
-	Logger::log("BringDocumentContextToTop invoked");
-    return S_OK;
-}
-
-/* IDebugApplicationNodeEvents */
-
-STDMETHODIMP IEDebugger::onAddChild(IDebugApplicationNode *prddpChild) {
-	if (!m_context) {
-		return S_OK;
-	}
-
-	m_context->scriptInitialized(prddpChild);
-
-	CComPtr <IConnectionPointContainer> connectionPointContainer = NULL;
-	HRESULT hr = prddpChild->QueryInterface(IID_IConnectionPointContainer, (void**)&connectionPointContainer);
-	if (FAILED(hr)) {
-		Logger::error("IEDebugger.onAddChild(): QI(IID_IConnectionPointContainer) failed", hr);
-		return S_FALSE;
-	}
-	CComPtr <IConnectionPoint> nodeConnectionPoint = NULL;
-	hr = connectionPointContainer->FindConnectionPoint(IID_IDebugApplicationNodeEvents, &nodeConnectionPoint);
-	if (FAILED(hr)) {
-		Logger::error("IEDebugger.onAddChild(): FindConnectionPoint() failed", hr);
-		return S_FALSE;
-	}
-
-	DWORD connectionPointCookie = 0;
-	hr = nodeConnectionPoint->Advise(static_cast<IIEDebugger*>(this), &connectionPointCookie);
-	if (FAILED(hr)) {
-		Logger::error("IEDebugger.onAddChild(): Advise() failed", hr);
-		return S_FALSE;
-	}
-
-	CComBSTR url = NULL;
-	hr = prddpChild->GetName(DOCUMENTNAMETYPE_TITLE, &url);
-	if (FAILED(hr)) {
-		Logger::error("IEDebugger.onAddChild(): GetName() failed", hr);
-		return S_FALSE;
-	}
-	m_adviseCookies->insert(std::pair<std::wstring,DWORD>(std::wstring(url), connectionPointCookie));
-	return S_OK;
-}
-
-STDMETHODIMP IEDebugger::onRemoveChild(IDebugApplicationNode *prddpChild) {
-	CComBSTR url = NULL;
-	if (FAILED(prddpChild->GetName(DOCUMENTNAMETYPE_TITLE, &url))) {
-		return S_OK;
-	}
-
-	CComPtr <IConnectionPointContainer> connectionPointContainer = NULL;
-	HRESULT hr = prddpChild->QueryInterface(IID_IConnectionPointContainer, (void**)&connectionPointContainer);
-	if (FAILED(hr)) {
-		Logger::error("IEDebugger.onRemoveChild(): QI(IID_IConnectionPointContainer) failed", hr);
-		return S_FALSE;
-	}
-	CComPtr <IConnectionPoint> nodeConnectionPoint = NULL;
-	hr = connectionPointContainer->FindConnectionPoint(IID_IDebugApplicationNodeEvents, &nodeConnectionPoint);
-	if (FAILED(hr)) {
-		Logger::error("IEDebugger.onRemoveChild(): FindConnectionPoint() failed", hr);
-		return S_FALSE;
-	}
-
-	std::pair<std::multimap<std::wstring,DWORD>::iterator,std::multimap<std::wstring,DWORD>::iterator> range;
-	range = m_adviseCookies->equal_range(std::wstring(url));
-	std::multimap<std::wstring,DWORD>::iterator it;
-	for (it = range.first; it != range.second; ++it) {
-		if (SUCCEEDED(nodeConnectionPoint->Unadvise(it->second))) {
-			m_adviseCookies->erase(it);
-			break;
-		}
-	}
-
-	return S_OK;
-}
-
-STDMETHODIMP IEDebugger::onDetach(void) {
-    return S_OK;
-}
-
-STDMETHODIMP IEDebugger::onAttach(IDebugApplicationNode *prddpParent) {
-    return S_OK;
-}
-
-/* IDebugSessionProvider */
-
-STDMETHODIMP IEDebugger::StartDebugSession(IRemoteDebugApplication *pda) {
-	Logger::log("StartDebugSession invoked");
-    return S_OK;
-}
-
-/* IEDebugger */
-
-void IEDebugger::setContext(CrossfireContext* value) {
-	m_context = value;
-}
-
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.h
deleted file mode 100644
index 8aece0d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "activdbg.h"
-#include "CrossfireContext.h"
-#include "Logger.h"
-
-class ATL_NO_VTABLE IEDebugger :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<IEDebugger, &CLSID_IEDebugger>,
-	public IApplicationDebugger,
-    public IApplicationDebuggerUI,
-    public IDebugApplicationNodeEvents,
-	public IDebugSessionProvider,
-	public IIEDebugger {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_IEDEBUGGER)
-	BEGIN_COM_MAP(IEDebugger)
-		COM_INTERFACE_ENTRY2(IUnknown, IApplicationDebugger)
-		COM_INTERFACE_ENTRY(IIEDebugger)
-		COM_INTERFACE_ENTRY(IApplicationDebugger)
-		COM_INTERFACE_ENTRY(IApplicationDebuggerUI)
-		COM_INTERFACE_ENTRY(IDebugApplicationNodeEvents)
-		COM_INTERFACE_ENTRY(IDebugSessionProvider)
-		COM_INTERFACE_ENTRY(IIEDebugger)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	IEDebugger();
-	~IEDebugger();
-
-	/* interface definitions from activdbg.h */
-
-    /* IApplicationDebugger */
-    virtual HRESULT STDMETHODCALLTYPE QueryAlive();
-    virtual HRESULT STDMETHODCALLTYPE CreateInstanceAtDebugger( 
-        /* [in] */ REFCLSID rclsid,
-        /* [in] */ IUnknown *pUnkOuter,
-        /* [in] */ DWORD dwClsContext,
-        /* [in] */ REFIID riid,
-        /* [iid_is][out] */ IUnknown **ppvObject);
-    virtual HRESULT STDMETHODCALLTYPE onDebugOutput( 
-        /* [in] */ LPCOLESTR pstr);
-    virtual HRESULT STDMETHODCALLTYPE onHandleBreakPoint( 
-        /* [in] */ IRemoteDebugApplicationThread *prpt,
-        /* [in] */ BREAKREASON br,
-        /* [in] */ IActiveScriptErrorDebug *pError);
-    virtual HRESULT STDMETHODCALLTYPE onClose();
-    virtual HRESULT STDMETHODCALLTYPE onDebuggerEvent( 
-        /* [in] */ REFIID riid,
-        /* [in] */ IUnknown *punk);
-
-    /* IApplicationDebuggerUI */
-    virtual HRESULT STDMETHODCALLTYPE BringDocumentToTop( 
-        /* [in] */ IDebugDocumentText *pddt);
-    virtual HRESULT STDMETHODCALLTYPE BringDocumentContextToTop( 
-        /* [in] */ IDebugDocumentContext *pddc);
-
-    /* IDebugApplicationNodeEvents */
-    virtual HRESULT STDMETHODCALLTYPE onAddChild( 
-        /* [in] */ IDebugApplicationNode *prddpChild);
-    virtual HRESULT STDMETHODCALLTYPE onRemoveChild( 
-        /* [in] */ IDebugApplicationNode *prddpChild);
-    virtual HRESULT STDMETHODCALLTYPE onDetach();
-    virtual HRESULT STDMETHODCALLTYPE onAttach( 
-        /* [in] */ IDebugApplicationNode *prddpParent);
-
-	/* IDebugSessionProvider */
-    virtual HRESULT STDMETHODCALLTYPE StartDebugSession( 
-        /* [in] */ IRemoteDebugApplication *pda);
-
-	/* IEDebugger */
-	virtual void setContext(CrossfireContext* value);
-
-private:
-	CrossfireContext* m_context;
-	std::multimap<std::wstring, DWORD>* m_adviseCookies;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(IEDebugger), IEDebugger)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.rgs
deleted file mode 100644
index 8d61801..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IEDebugger.rgs
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR
-{
-	IECrossfireServer.IEDebugger.1 = s 'IEDebugger Class'
-	{
-		CLSID = s '{B63BD92F-6C66-4AB2-A243-D5AFCCF4B587}'
-	}
-	IECrossfireServer.IEDebugger = s 'IEDebugger Class'
-	{
-		CLSID = s '{B63BD92F-6C66-4AB2-A243-D5AFCCF4B587}'
-		CurVer = s 'IECrossfireServer.IEDebugger.1'
-	}
-	NoRemove CLSID
-	{
-		ForceRemove {B63BD92F-6C66-4AB2-A243-D5AFCCF4B587} = s 'IEDebugger Class'
-		{
-			ProgID = s 'IECrossfireServer.IEDebugger.1'
-			VersionIndependentProgID = s 'IECrossfireServer.IEDebugger'
-			LocalServer32 = s '%MODULE%'
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IJSEvalHandler.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IJSEvalHandler.h
deleted file mode 100644
index 182b93f..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/IJSEvalHandler.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <activdbg.h>
-
-class IJSEvalHandler {
-
-public:
-	IJSEvalHandler() {
-	}
-
-	virtual ~IJSEvalHandler() {
-	}
-
-	virtual void evalComplete(IDebugProperty* value, void* data) = 0;
-};
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.cpp
deleted file mode 100644
index 781dd57..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "JSEvalCallback.h"
-
-JSEvalCallback::JSEvalCallback() {
-	m_expression = NULL;
-}
-
-JSEvalCallback::~JSEvalCallback() {
-	if (m_expression) {
-		if (FAILED(m_expression->QueryIsComplete())) {
-			m_expression->Abort();
-		}
-		m_expression->Release();
-	}
-}
-
-/* IDebugExpressionCallBack */
-
-STDMETHODIMP JSEvalCallback::onComplete() {
-	HRESULT evalResult;
-	IDebugProperty* result = NULL;
-	HRESULT hr = m_expression->GetResultAsDebugProperty(&evalResult, &result);
-	if (FAILED(hr)) {
-		Logger::error("JSEvalCallback.onComplete(): GetResultAsDebugProperty() failed", hr);
-		return S_OK;
-	}
-	if (FAILED(evalResult)) {
-		Logger::error("JSEvalCallback.onComplete(): evaluation of GetResultAsDebugProperty() failed", evalResult);
-		return S_OK;
-	}
-	m_handler->evalComplete(result, m_data);
-	result->Release();
-	return S_OK;
-}
-
-/* JSEvalCallback */
-
-bool JSEvalCallback::start(IDebugExpression* expression, IJSEvalHandler* handler, void* data) {
-	HRESULT hr = expression->Start(this);
-	if (FAILED(hr)) {
-		Logger::error("JSEvalCallback.start(): Start() failed", hr);
-		return false;
-	}
-
-	if (m_expression) {
-		if (FAILED(m_expression->QueryIsComplete())) {
-			m_expression->Abort();
-		}
-		m_expression->Release();
-	}
-	m_expression = expression;
-	m_expression->AddRef();
-	m_data = data;
-	m_handler = handler;
-	return true;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.h
deleted file mode 100644
index 026e255..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "activdbg.h"
-#include "resource.h"
-#include "IECrossfireServer.h"
-#include "IJSEvalHandler.h"
-#include "Logger.h"
-
-class ATL_NO_VTABLE JSEvalCallback :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<JSEvalCallback, &CLSID_JSEvalCallback>,
-	public IDebugExpressionCallBack {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_JSEVALCALLBACK)
-	BEGIN_COM_MAP(JSEvalCallback)
-		COM_INTERFACE_ENTRY2(IUnknown, IDebugExpressionCallBack)
-		COM_INTERFACE_ENTRY(IDebugExpressionCallBack)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	JSEvalCallback();
-	~JSEvalCallback();
-
-	/* IDebugExpressionCallBack */
-	virtual HRESULT STDMETHODCALLTYPE onComplete();
-
-	/* JSEvalCallback */
-	virtual bool start(IDebugExpression* expression, IJSEvalHandler* handler, void* data);
-
-private:
-	IDebugExpression* m_expression;
-	IJSEvalHandler* m_handler;
-	void* m_data;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(JSEvalCallback), JSEvalCallback)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.rgs
deleted file mode 100644
index 506e81e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSEvalCallback.rgs
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR
-{
-	IECrossfireServer.JSEvalCallback.1 = s 'JSEvalCallback Class'
-	{
-		CLSID = s '{4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7}'
-	}
-	IECrossfireServer.JSEvalCallback = s 'JSEvalCallback Class'
-	{
-		CLSID = s '{4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7}'
-		CurVer = s 'IECrossfireServer.JSEvalCallback.1'
-	}
-	NoRemove CLSID
-	{
-		ForceRemove {4EC15DD3-9E2F-43A7-A686-3FA90E22ABB7} = s 'JSEvalCallback Class'
-		{
-			ProgID = s 'IECrossfireServer.JSEvalCallback.1'
-			VersionIndependentProgID = s 'IECrossfireServer.JSEvalCallback'
-			LocalServer32 = s '%MODULE%'
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSONParser.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSONParser.cpp
deleted file mode 100644
index 067b88a..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSONParser.cpp
+++ /dev/null
@@ -1,501 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "JSONParser.h"
-
-/* initialize constants */
-const wchar_t* JSONParser::VALUE_NULL = L"null";
-const wchar_t* JSONParser::VALUE_TRUE = L"true";
-const wchar_t* JSONParser::VALUE_FALSE = L"false";
-
-JSONParser::JSONParser(void) {
-}
-
-JSONParser::~JSONParser(void) {
-}
-
-void JSONParser::parse(std::wstring* jsonString, Value** _value) {
-	*_value = NULL;
-
-	std::wstringstream jsonStream(*jsonString);
-	parse(&jsonStream, _value);
-}
-
-void JSONParser::parse(std::wstringstream* jsonStream, Value** _value) {
-	*_value = NULL;
-
-	skipWhitespace(jsonStream);
-	wchar_t firstChar = jsonStream->peek();
-	if (firstChar == wchar_t('n')) {
-		size_t length = wcslen(VALUE_NULL);
-		wchar_t* streamChars = new wchar_t[length];
-		jsonStream->read(streamChars, (std::streamsize)length);
-		if (wcsncmp(VALUE_NULL, streamChars, length) == 0) {
-			*_value = new Value();
-			(*_value)->setType(TYPE_NULL);
-		} else {
-			Logger::error("JSON string has invalid value that starts with 'n' but is not \"null\"");
-		}
-		delete[] streamChars;
-		return;
-	}
-	if (firstChar == wchar_t('t')) {
-		size_t length = wcslen(VALUE_TRUE);
-		wchar_t* streamChars = new wchar_t[length];
-		jsonStream->read(streamChars, (std::streamsize)length);
-		if (wcsncmp(VALUE_TRUE, streamChars, length) == 0) {
-			Value* result = new Value(true);
-			*_value = result;
-		} else {
-			Logger::error("JSON string has invalid value that starts with 't' but is not \"true\"");
-		}
-		delete[] streamChars;
-		return;
-	}
-	if (firstChar == wchar_t('f')) {
-		size_t length = wcslen(VALUE_FALSE);
-		wchar_t* streamChars = new wchar_t[length];
-		jsonStream->read(streamChars, (std::streamsize)length);
-		if (wcsncmp(VALUE_FALSE, streamChars, length) == 0) {
-			Value* result = new Value(false);
-			*_value = result;
-		} else {
-			Logger::error("JSON string has invalid value that starts with 'f' but is not \"false\"");
-		}
-		delete[] streamChars;
-		return;
-	}
-	if (firstChar == wchar_t('\"')) {
-		std::wstring* stringValue = NULL;
-		parseString(jsonStream, &stringValue);
-		if (stringValue) {
-			Value* result = new Value(stringValue);
-			*_value = result;
-			delete stringValue;
-		} else {
-			/* parseString() already logs a detailed error message, so no error logged here */
-		}
-		return;
-	}
-
-	int index = 0;
-	switch (firstChar) {
-		case wchar_t('0'):
-		case wchar_t('1'):
-		case wchar_t('2'):
-		case wchar_t('3'):
-		case wchar_t('4'):
-		case wchar_t('5'):
-		case wchar_t('6'):
-		case wchar_t('7'):
-		case wchar_t('8'):
-		case wchar_t('9'):
-		case wchar_t('-'): {
-			double doubleValue = parseNumber(jsonStream);
-			if (doubleValue == -DBL_MAX) {
-				Logger::error("JSON string has a Number value with invalid character(s)");
-				return;
-			}
-			Value* result = new Value(doubleValue);
-			*_value = result;
-			return;
-		}
-	}
-	
-	if (firstChar == wchar_t('[')) {
-		parseArray(jsonStream, _value);
-		return;
-	}
-
-	if (firstChar == wchar_t('{')) {
-		parseObject(jsonStream, _value);
-		return;
-	}
-}
-
-void JSONParser::parseArray(std::wstringstream* jsonStream, Value** _value) {
-	*_value = NULL;
-
-	Value* result = new Value();
-	result->setType(TYPE_ARRAY);
-
-	jsonStream->ignore(1);
-	skipWhitespace(jsonStream);
-	if (jsonStream->peek() == wchar_t(']')) {
-		jsonStream->ignore(1);
-		*_value = result;
-		return;
-	}
-
-	while (true) {
-		Value* currentValue = NULL;
-		parse(jsonStream, &currentValue);
-		if (!currentValue) {
-			delete result;
-			return;
-		}
-		result->addArrayValue(currentValue);
-		delete currentValue;
-
-		skipWhitespace(jsonStream);
-		wchar_t nextChar = jsonStream->peek();
-		if (nextChar == wchar_t(',')) {
-			jsonStream->ignore(1);
-			skipWhitespace(jsonStream);
-			continue;
-		}
-		if (nextChar == wchar_t(']')) {
-			jsonStream->ignore(1);
-			*_value = result;
-		} else {
-			Logger::error("JSON string has an array without expected closing ']'");
-			delete result;
-		}
-		return;
-	}
-}
-
-double JSONParser::parseNumber(std::wstringstream* jsonStream) {
-	int count = 0;
-	bool looking = true;
-	bool nonZeroEncountered = false;
-	wchar_t currentChar = jsonStream->peek();
-	while (looking) {
-		if (jsonStream->eof()) {
-			looking = false;
-			break;
-		}
-		switch (currentChar) {
-			case wchar_t('1'):
-			case wchar_t('2'):
-			case wchar_t('3'):
-			case wchar_t('4'):
-			case wchar_t('5'):
-			case wchar_t('6'):
-			case wchar_t('7'):
-			case wchar_t('8'):
-			case wchar_t('9'):
-			case wchar_t('-'):
-			case wchar_t('+'):
-			case wchar_t('e'):
-			case wchar_t('E'): {
-				nonZeroEncountered = true;
-			}
-			// FALL THROUGH
-			case wchar_t('0'):
-			case wchar_t('.'): {
-				jsonStream->ignore(1);
-				count++;
-				break;
-			}
-			default: {
-				looking = false;
-				break;
-			}
-		}
-		currentChar = jsonStream->peek();
-	}
-	for (int i = 0; i < count; i++) {
-		jsonStream->unget();
-	}
-
-	wchar_t* numberChars = new wchar_t[count + 1];
-	jsonStream->read(numberChars, count);
-	numberChars[count] = wchar_t('\0');
-	wchar_t* endPoint;
-	double numberValue = wcstod(numberChars, &endPoint);
-	delete[] numberChars;
-	if (numberValue == 0 && nonZeroEncountered) {
-		return -DBL_MAX;
-	}
-	return numberValue;
-}
-
-void JSONParser::parseObject(std::wstringstream* jsonStream, Value** _value) {
-	*_value = NULL;
-
-	Value* result = new Value();
-	result->setType(TYPE_OBJECT);
-
-	jsonStream->ignore(1);
-	skipWhitespace(jsonStream);
-	if (jsonStream->peek() == wchar_t('}')) {
-		jsonStream->ignore(1);
-		*_value = result;
-		return;
-	}
-
-	while (true) {
-		if (jsonStream->peek() != wchar_t('\"')) {
-			Logger::error("JSON string has an object with a non-String key value");
-			delete result;
-			return;
-		}
-		std::wstring* key = NULL;
-		parseString(jsonStream, &key);
-		skipWhitespace(jsonStream);
-		if (jsonStream->get() != wchar_t(':')) {
-			Logger::error("JSON string has an object without a ':' separating a key from its _value");
-			delete key;
-			delete result;
-			return;
-		}
-		Value* assocValue = NULL;
-		skipWhitespace(jsonStream);
-		parse(jsonStream, &assocValue);
-		if (!assocValue) {
-			delete key;
-			delete result;
-			return;
-		}
-		bool success = result->addObjectValue(key, assocValue);
-		delete assocValue;
-		delete key;
-		if (!success) {
-			Logger::error("JSON string has an object with a duplicate key");
-			delete result;
-			return;
-		}
-
-		skipWhitespace(jsonStream);
-		wchar_t nextChar = jsonStream->peek();
-		if (nextChar == wchar_t(',')) {
-			jsonStream->ignore(1);
-			skipWhitespace(jsonStream);
-			continue;
-		}
-		if (nextChar == wchar_t('}')) {
-			jsonStream->ignore(1);
-			*_value = result;
-		} else {
-			Logger::error("JSON string has an object without an expected closing '}'");
-			delete result;
-		}
-		return;
-	}
-}
-
-void JSONParser::parseString(std::wstringstream* jsonStream, std::wstring** _value) {
-	*_value = NULL;
-
-	std::wstring* result = new std::wstring;
-	jsonStream->ignore(1);
-	const wchar_t charBackslash = wchar_t('\\');
-	wchar_t charQuote = wchar_t('\"');
-	wchar_t currentChar = NULL;
-	jsonStream->read(&currentChar, 1);
-	while (currentChar != charQuote) {
-		if (jsonStream->eof()) {
-			Logger::error("JSON string has string value that does not end");
-			return;
-		}
-		if (currentChar == charBackslash) {
-			jsonStream->read(&currentChar, 1);
-			if (jsonStream->eof()) {
-				Logger::error("JSON string has string value that does not end");
-				return;
-			}
-			switch (currentChar) {
-				case wchar_t('\"'):
-				case wchar_t('/'):
-				case charBackslash: {
-					result->push_back(currentChar);
-					break;
-				}
-				case wchar_t('b'): {
-					result->push_back(wchar_t('\b'));
-					break;
-				}
-				case wchar_t('f'): {
-					result->push_back(wchar_t('\f'));
-					break;
-				}
-				case wchar_t('n'): {
-					result->push_back(wchar_t('\n'));
-					break;
-				}
-				case wchar_t('r'): {
-					result->push_back(wchar_t('\r'));
-					break;
-				}
-				case wchar_t('t'): {
-					result->push_back(wchar_t('\t'));
-					break;
-				}
-				case wchar_t('u'): {
-					Logger::log("FYI: unicode value encountered, not parsed, still //TODO");
-					// TODO
-					break;
-				}
-				default: {
-					Logger::error("JSON string has string value with an invalid escape sequence");
-					return;
-				}
-			}
-		} else {
-			result->push_back(currentChar);
-		}
-		jsonStream->read(&currentChar, 1);
-	}
-
-	*_value = result;
-}
-
-void JSONParser::skipWhitespace(std::wstringstream* jsonStream) {
-	wchar_t current = jsonStream->peek();
-	while (current == wchar_t(' ') || current == wchar_t('\r') || current == wchar_t('\n') || current == wchar_t('\t')) {
-		jsonStream->ignore(1);
-		current = jsonStream->peek();
-	}
-}
-
-void JSONParser::stringify(Value* value, std::wstring** _jsonString) {
-	switch (value->getType()) {
-		case TYPE_NULL: {
-			std::wstring* result = new std::wstring;
-			result->assign(VALUE_NULL);
-			*_jsonString = result;
-			break;
-		}
-		case TYPE_BOOLEAN: {
-			std::wstring* result = new std::wstring;
-			result->assign(value->getBooleanValue() ? VALUE_TRUE : VALUE_FALSE);
-			*_jsonString = result;
-			break;
-		}
-		case TYPE_NUMBER: {
-			std::wstring* result = new std::wstring;
-			std::wstringstream stringStream;
-			stringStream << value->getNumberValue();
-			result->assign(stringStream.str());
-			*_jsonString = result;
-			break;
-		}
-		case TYPE_STRING: {
-			static const wchar_t char_quote('\"');
-			static const wchar_t char_backslash('\\');
-			static const wchar_t char_forwardslash('/');
-			static const wchar_t char_backspace('\b');
-			static const wchar_t char_formfeed('\f');
-			static const wchar_t char_newline('\n');
-			static const wchar_t char_cr('\r');
-			static const wchar_t char_tab('\t');
-
-			std::wstring* source = value->getStringValue();
-			size_t length = source->length();
-			wchar_t* chars = (wchar_t*)source->c_str();
-
-			std::wstringstream stringStream;
-			stringStream << char_quote;
-			for (size_t i = 0; i < length; i++) {
-				switch (chars[i]) {
-					case char_quote:
-					case char_backslash:
-					case char_forwardslash: {
-						stringStream << char_backslash;
-						stringStream << chars[i];
-						break;
-					}
-					case char_backspace: {
-						stringStream << "\\b";
-						break;
-					}
-					case char_formfeed: {
-						stringStream << "\\f";
-						break;
-					}
-					case char_newline: {
-						stringStream << "\\n";
-						break;
-					}
-					case char_cr: {
-						stringStream << "\\r";
-						break;
-					}
-  					case char_tab: {
-						stringStream << "\\t";
-						break;
-					}
-					default: {
-						stringStream << chars[i];
-						break;
-					}
-				}
-			}
-			stringStream << char_quote;
-
-			std::wstring* result = new std::wstring;
-			result->assign(stringStream.str());
-			*_jsonString = result;
-			break;
-		}
-		case TYPE_ARRAY: {
-			Value** arrayValues = NULL;
-			value->getArrayValues(&arrayValues);
-			std::wstring* result = new std::wstring;
-			result->push_back(wchar_t('['));
-			int index = 0;
-			Value* currentValue = arrayValues[index];
-			while (currentValue) {
-				std::wstring* serializedValue = NULL;
-				stringify(currentValue, &serializedValue);
-				result->append(*serializedValue);
-				result->push_back(wchar_t(','));
-				delete serializedValue;
-				currentValue = arrayValues[++index];
-			}
-			delete[] arrayValues;
-
-			if (index > 0) {
-				result->erase(result->end() - 1);
-			}
-			result->push_back(wchar_t(']'));
-			*_jsonString = result;
-			break;
-		}
-		case TYPE_OBJECT: {
-			std::wstring** objectKeys = NULL;
-			Value** objectValues = NULL;
-			value->getObjectValues(&objectKeys, &objectValues);
-			std::wstring* result = new std::wstring;
-			result->push_back(wchar_t('{'));
-			int index = 0;
-			std::wstring* currentKey = objectKeys[index];
-			while (currentKey) {
-				result->push_back(wchar_t('\"'));
-				result->append(*currentKey);
-				result->push_back(wchar_t('\"'));
-				result->push_back(wchar_t(':'));
-				std::wstring* serializedValue = NULL;
-				stringify(objectValues[index], &serializedValue);
-				result->append(*serializedValue);
-				result->push_back(wchar_t(','));
-				delete serializedValue;
-				currentKey = objectKeys[++index];
-			}
-			delete[] objectValues;
-			delete[] objectKeys;
-
-			if (index > 0) {
-				result->erase(result->end() - 1);
-			}
-			result->push_back(wchar_t('}'));
-			*_jsonString = result;
-			break;
-		}
-		default: {
-			*_jsonString = NULL;
-			break;
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSONParser.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSONParser.h
deleted file mode 100644
index c02ae85..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSONParser.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <float.h>
-
-#include "Value.h"
-#include "Logger.h"
-
-class JSONParser {
-
-public:
-	JSONParser();
-	~JSONParser();
-	virtual void parse(std::wstring* jsonString, Value** _value);
-	virtual void stringify(Value* value, std::wstring** _jsonString);
-
-private:
-	virtual void parse(std::wstringstream* jsonStream, Value** _value);
-	virtual void parseArray(std::wstringstream* jsonStream, Value** _value);
-	virtual double parseNumber(std::wstringstream* jsonStream);
-	virtual void parseObject(std::wstringstream* jsonStream, Value** _value);
-	virtual void parseString(std::wstringstream* jsonStream, std::wstring** _value);
-	virtual void skipWhitespace(std::wstringstream* jsonStream);
-
-	/* constants */
-	static const wchar_t* VALUE_NULL;
-	static const wchar_t* VALUE_TRUE;
-	static const wchar_t* VALUE_FALSE;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSObject.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSObject.cpp
deleted file mode 100644
index 4cd0736..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSObject.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
- 
-#include "StdAfx.h"
-#include "JSObject.h"
-
-JSObject::JSObject(std::wstring* name, unsigned int parentHandle) {
-	m_name = new std::wstring;
-	m_name->assign(*name);
-	m_objects = new std::map<std::wstring*, unsigned int>;
-	m_parentHandle = parentHandle;
-}
-
-JSObject::~JSObject() {
-	delete m_name;
-	delete m_objects;
-}
-
-std::wstring JSObject::getAccessor() {
-	return NULL;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSObject.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSObject.h
deleted file mode 100644
index 235beb6..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/JSObject.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <string>
-#include <map>
-
-class JSObject {
-
-public:
-	JSObject(std::wstring* name, unsigned int parentHandle);
-	~JSObject();
-	std::wstring getAccessor();
-
-private:
-	std::wstring* m_name;
-	std::map<std::wstring*, unsigned int>* m_objects;
-	unsigned int m_parentHandle;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Logger.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Logger.cpp
deleted file mode 100644
index 86a897e..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Logger.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "StdAfx.h"
-#include "Logger.h"
-
-/* initialize constants */
-const char* Logger::PREAMBLE_LOG = "LOG::";
-const char* Logger::PREAMBLE_ERROR = "ERROR::";
-
-Logger::Logger() {
-}
-
-Logger::~Logger() {
-}
-
-void Logger::error(char* message) {
-	int length = strlen(PREAMBLE_ERROR) + strlen(message) + 1;
-	char* sendString = new char[length];
-	strcpy_s(sendString, length, PREAMBLE_ERROR);
-	strcat_s(sendString, length, message);
-	send(sendString);
-	delete[] sendString;
-}
-
-void Logger::error(char* message, int errorCode) {
-	std::string result;
-	std::stringstream stringStream;
-	stringStream << message;
-	stringStream << ": ";
-	stringStream << errorCode;
-	result.assign(stringStream.str());
-	error((char *)result.c_str());
-}
-
-void Logger::log(char* message) {
-	int length = strlen(PREAMBLE_LOG) + strlen(message) + 1;
-	char* sendString = new char[length];
-	strcpy_s(sendString, length, PREAMBLE_LOG);
-	strcat_s(sendString, length, message);
-	send(sendString);
-	delete[] sendString;
-}
-
-void Logger::log(wchar_t* message) {
-	size_t newSize = 0;
-	wcstombs_s(&newSize, NULL, 0, message, 0);
-    char* chars = new char[newSize];
-    wcstombs_s(&newSize, chars, newSize, message, newSize);
-	log(chars);
-	delete[] chars;
-}
-
-void Logger::log(std::wstring* message) {
-	log((wchar_t*)message->c_str());
-}
-
-void Logger::send(char* message) {
-	SOCKET sock;
-	struct sockaddr_in server_addr;
-	struct hostent *host;
-	host = (struct hostent *)gethostbyname((char *)"127.0.0.1");
-	if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {
-		return;
-	}
-	server_addr.sin_family = AF_INET;
-	server_addr.sin_port = htons(54124 /* debug port */); // TODO
-	server_addr.sin_addr = *((struct in_addr *)host->h_addr);
-    sendto(sock, message, (int)strlen(message), 0, (struct sockaddr *)&server_addr, sizeof(sockaddr_in));
-	closesocket(sock);
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Logger.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Logger.h
deleted file mode 100644
index ed5e2bb..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Logger.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <sstream>
-#include <winsock2.h>
-
-class Logger {
-public:
-	static void error(char* message);
-	static void error(char* message, int errorCode);
-	static void log(char* message);
-	static void log(wchar_t* message);
-	static void log(std::wstring* message);
-
-protected:
-	Logger();
-	~Logger();
-
-private:
-	static void send(char* message);
-
-	/* constants */
-	static const char* PREAMBLE_ERROR;
-	static const char* PREAMBLE_LOG;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.cpp
deleted file mode 100644
index 67d1c81..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "PendingScriptLoad.h"
-
-PendingScriptLoad::PendingScriptLoad() {
-	m_applicationNode = NULL;
-	m_context = NULL;
-	m_cookie = 0;
-}
-
-PendingScriptLoad::~PendingScriptLoad() {
-	detach();
-}
-
-IDebugApplicationNode* PendingScriptLoad::getApplicationNode() {
-	return m_applicationNode;
-}
-
-/* IDebugDocumentTextEvents */
-
-STDMETHODIMP PendingScriptLoad::onDestroy() {
-	return S_OK;
-}
-
-STDMETHODIMP PendingScriptLoad::onInsertText(ULONG cCharacterPosition, ULONG cNumToInsert) {
-	if (m_context && m_context->scriptLoaded(m_applicationNode)) {
-		detach();
-	}
-	return S_OK;
-}
-
-STDMETHODIMP PendingScriptLoad::onRemoveText(ULONG cCharacterPosition, ULONG cNumToRemove) {
-	return S_OK;
-}
-
-STDMETHODIMP PendingScriptLoad::onReplaceText(ULONG cCharacterPosition, ULONG cNumToReplace) {
-	return S_OK;
-}
-
-STDMETHODIMP PendingScriptLoad::onUpdateTextAttributes(ULONG cCharacterPosition, ULONG cNumToUpdate) {
-	return S_OK;
-}
-
-STDMETHODIMP PendingScriptLoad::onUpdateDocumentAttributes(TEXT_DOC_ATTR textdocattr) {
-	return S_OK;
-}
-
-/* PendingScriptLoad */
-
-bool PendingScriptLoad::attach(IDebugApplicationNode* applicationNode, CrossfireContext* context) {
-	CComPtr<IDebugDocument> document = NULL;
-	HRESULT hr = applicationNode->GetDocument(&document);
-	if (FAILED(hr)) {
-		Logger::error("PendingScriptLoad.attach(): GetDocument() failed", hr);
-		return false;
-	}
-
-	CComPtr<IConnectionPointContainer> connectionPointContainer = NULL;
-	hr = document->QueryInterface(IID_IConnectionPointContainer, (void**)&connectionPointContainer);
-	if (FAILED(hr)) {
-		Logger::error("PendingScriptLoad.attach(): QI(IConnectionPointContainer) failed", hr);
-		return false;
-	}
-
-	CComPtr<IConnectionPoint> connectionPoint = NULL;
-	hr = connectionPointContainer->FindConnectionPoint(IID_IDebugDocumentTextEvents, &connectionPoint);
-	if (FAILED(hr)) {
-		Logger::error("PendingScriptLoad.attach(): FindConnectionPoint() failed", hr);
-		return false;
-	}
-
-	hr = connectionPoint->Advise(static_cast<IPendingScriptLoad*>(this), &m_cookie);
-	if (FAILED(hr)) {
-		Logger::error("PendingScriptLoad.attach(): Advise() failed", hr);
-		return false;
-	}
-
-	applicationNode->AddRef();
-	m_applicationNode = applicationNode;
-	m_context = context;
-	return true;
-}
-
-bool PendingScriptLoad::detach() {
-	if (!m_cookie) {
-		return true;
-	}
-
-	CComPtr<IDebugDocument> document = NULL;
-	HRESULT hr = m_applicationNode->GetDocument(&document);
-	if (FAILED(hr)) {
-		/* The node is already destroyed, so nothing to unadvise on */
-	} else {
-		CComPtr <IConnectionPointContainer> connectionPointContainer = NULL;
-		hr = document->QueryInterface(IID_IConnectionPointContainer, (void**)&connectionPointContainer);
-		if (FAILED(hr)) {
-			Logger::error("PendingScriptLoad.detach(): QI(IID_IConnectionPointContainer) failed", hr);
-			return false;
-		}
-		CComPtr <IConnectionPoint> connectionPoint = NULL;
-		hr = connectionPointContainer->FindConnectionPoint(IID_IDebugDocumentTextEvents,&connectionPoint);
-		if (FAILED(hr)) {
-			Logger::error("PendingScriptLoad.detach(): FindConnectionPoint() failed", hr);
-			return false;
-		}
-		hr = connectionPoint->Unadvise(m_cookie);
-		if (FAILED(hr)) {
-			Logger::error("PendingScriptLoad.detach(): Unadvise() failed", hr);
-			return false;
-		}
-	}
-
-	if (m_applicationNode) {
-		m_applicationNode->Release();
-		m_applicationNode = NULL;
-	}
-	m_context = NULL;
-	m_cookie = 0;
-	return true;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.h
deleted file mode 100644
index ff368b8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include "resource.h"
-#include "activdbg.h"
-
-#include "CrossfireContext.h"
-
-class ATL_NO_VTABLE PendingScriptLoad :
-	public CComObjectRootEx<CComSingleThreadModel>,
-	public CComCoClass<PendingScriptLoad, &CLSID_PendingScriptLoad>,
-	public IDispatchImpl<IPendingScriptLoad, &IID_IPendingScriptLoad, &LIBID_IECrossfireServerLib, 1, 0>,
-	public IDebugDocumentTextEvents {
-
-public:
-	DECLARE_REGISTRY_RESOURCEID(IDR_PENDINGSCRIPTLOAD)
-	DECLARE_NOT_AGGREGATABLE(PendingScriptLoad)
-	BEGIN_COM_MAP(PendingScriptLoad)
-		COM_INTERFACE_ENTRY(IPendingScriptLoad)
-		COM_INTERFACE_ENTRY(IDispatch)
-		COM_INTERFACE_ENTRY(IDebugDocumentTextEvents)
-	END_COM_MAP()
-	DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-	HRESULT FinalConstruct() {
-		return S_OK;
-	}
-
-	void FinalRelease() {
-	}
-
-public:
-	PendingScriptLoad();
-	~PendingScriptLoad();
-
-	virtual IDebugApplicationNode* getApplicationNode();
-
-	/* IDebugDocumentTextEvents */
-	virtual HRESULT STDMETHODCALLTYPE onDestroy();
-	virtual HRESULT STDMETHODCALLTYPE onInsertText(
-		/* [in] */ ULONG cCharacterPosition,
-		/* [in] */ ULONG cNumToInsert);
-	virtual HRESULT STDMETHODCALLTYPE onRemoveText(
-		/* [in] */ ULONG cCharacterPosition,
-		/* [in] */ ULONG cNumToRemove);
-	virtual HRESULT STDMETHODCALLTYPE onReplaceText(
-		/* [in] */ ULONG cCharacterPosition,
-		/* [in] */ ULONG cNumToReplace);
-	virtual HRESULT STDMETHODCALLTYPE onUpdateTextAttributes(
-		/* [in] */ ULONG cCharacterPosition,
-		/* [in] */ ULONG cNumToUpdate);
-	virtual HRESULT STDMETHODCALLTYPE onUpdateDocumentAttributes(
-		/* [in] */ TEXT_DOC_ATTR textdocattr);
-
-	/* PendingScriptLoad */
-	virtual bool attach(IDebugApplicationNode* applicationNode, CrossfireContext* context);
-	virtual bool detach();
-
-private:
-	CrossfireContext* m_context;
-	DWORD m_cookie;
-	IDebugApplicationNode* m_applicationNode;
-};
-
-OBJECT_ENTRY_AUTO(__uuidof(PendingScriptLoad), PendingScriptLoad)
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.rgs b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.rgs
deleted file mode 100644
index faad433..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/PendingScriptLoad.rgs
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-HKCR {
-	IECrossfireServer.PendingScriptLoad.1 = s 'PendingScriptLoad Class' {
-		CLSID = s '{88E7C480-7B7A-47C5-8329-CE1FDF415527}'
-	}
-	IECrossfireServer.PendingScriptLoad = s 'PendingScriptLoad Class' {
-		CLSID = s '{88E7C480-7B7A-47C5-8329-CE1FDF415527}'
-		CurVer = s 'IECrossfireServer.PendingScriptLoad.1'
-	}
-	NoRemove CLSID {
-		ForceRemove {88E7C480-7B7A-47C5-8329-CE1FDF415527} = s 'PendingScriptLoad Class' {
-			ProgID = s 'IECrossfireServer.PendingScriptLoad.1'
-			VersionIndependentProgID = s 'IECrossfireServer.PendingScriptLoad'
-			ForceRemove 'Programmable'
-			LocalServer32 = s '%MODULE%'
-			val AppID = s '%APPID%'
-			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Value.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Value.cpp
deleted file mode 100644
index c4d18c8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Value.cpp
+++ /dev/null
@@ -1,405 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "Value.h"
-
-Value::Value() {
-	m_type = TYPE_UNDEFINED;
-	m_arrayValue = NULL;
-	m_numberValue = 0;
-	m_objectValue = NULL;
-	m_stringValue = NULL;
-}
-
-Value::Value(bool value) {
-	setValue(value);
-}
-
-Value::Value(double value) {
-	setValue(value);
-}
-
-Value::Value(const wchar_t* value) {
-	setValue(value);
-}
-
-Value::Value(std::wstring* value) {
-	setValue(value);
-}
-
-Value::~Value() {
-	clearCurrentValue();
-}
-
-void Value::clearCurrentValue() {
-	switch (m_type) {
-		case TYPE_STRING: {
-			delete m_stringValue;
-			break;
-		}
-		case TYPE_ARRAY: {
-			std::vector<Value*>::iterator iterator = m_arrayValue->begin();
-			std::vector<Value*>::iterator end = m_arrayValue->end();
-			while (iterator != end) {
-				delete *iterator;
-				iterator++;
-			}
-			delete m_arrayValue;
-			break;
-		}
-		case TYPE_OBJECT: {
-			std::map<std::wstring, Value*>::iterator it = m_objectValue->begin();
-			std::map<std::wstring, Value*>::iterator end = m_objectValue->end();
-			while (it != end) {
-				delete (*it).second;
-				it++;
-			}
-			delete m_objectValue;
-			break;
-		}
-	}
-	m_type = TYPE_UNDEFINED;
-}
-
-void Value::clone(Value** _value) {
-	switch (getType()) {
-		case TYPE_NULL: {
-			Value* result = new Value();
-			result->setType(TYPE_NULL);
-			*_value = result;
-			break;
-		}
-		case TYPE_BOOLEAN: {
-			Value* result = new Value();
-			result->setValue(getBooleanValue());
-			*_value = result;
-			break;
-		}
-		case TYPE_NUMBER: {
-			Value* result = new Value();
-			result->setValue(getNumberValue());
-			*_value = result;
-			break;
-		}
-		case TYPE_STRING: {
-			Value* result = new Value();
-			result->setValue(getStringValue());
-			*_value = result;
-			break;
-		}
-		case TYPE_ARRAY: {
-			Value** values = NULL;
-			getArrayValues(&values);
-			Value* result = new Value();
-			result->setType(TYPE_ARRAY);
-			int index = 0;
-			while (values[index]) {
-				result->addArrayValue(values[index++]);
-			}
-			delete[] values;
-
-			*_value = result;
-			break;
-		}
-		case TYPE_OBJECT: {
-			std::wstring** keys = NULL;
-			Value** values = NULL;
-			getObjectValues(&keys, &values);
-			Value* result = new Value();
-			result->setType(TYPE_OBJECT);
-			int index = 0;
-			while (keys[index]) {
-				std::wstring keyCopy(*keys[index]);
-				result->addObjectValue(&keyCopy, values[index++]);
-			}
-			delete[] values;
-			delete[] keys;
-
-			*_value = result;
-			break;
-
-		}
-		// TYPE_UNDEFINED
-		default: {
-			*_value = NULL;
-			break;
-		}
-	}
-}
-
-void Value::addArrayValue(Value *value) {
-	setType(TYPE_ARRAY);
-	Value* result = NULL;
-	value->clone(&result);
-	m_arrayValue->push_back(result);
-}
-
-bool Value::addObjectValue(const wchar_t* key, Value* value) {
-	return addObjectValue(&std::wstring(key), value);
-}
-
-bool Value::addObjectValue(std::wstring* key, Value* value) {
-	return setObjectValue(key, value, false);
-}
-
-//bool Value::clearObjectValue(const wchar_t* key) {
-//	return clearObjectValue(&std::wstring(key));
-//}
-
-//bool Value::clearObjectValue(std::wstring* key) {
-//	if (m_type != TYPE_OBJECT) {
-//		return false;
-//	}
-//
-//	std::map<std::wstring, Value*>::iterator iterator = m_objectValue->find(*key);
-//	if (iterator == m_objectValue->end()) {
-//		/* not found */
-//		return false;
-//	}
-//	delete (*iterator).second;
-//	m_objectValue->erase(iterator);
-//	return true;
-//}
-
-bool Value::equals(Value* value) {
-	if (!value || value->getType() != m_type) {
-		return false;
-	}
-
-	switch (m_type) {
-		case TYPE_UNDEFINED:
-		case TYPE_NULL: {
-			return true;
-		}
-		case TYPE_BOOLEAN: {
-			return value->getBooleanValue() == getBooleanValue();
-		}
-		case TYPE_NUMBER: {
-			return value->getNumberValue() == getNumberValue();
-		}
-		case TYPE_STRING: {
-			return value->getStringValue()->compare(*getStringValue()) == 0;
-		}
-		case TYPE_ARRAY: {
-			Value** selfItems = NULL;
-			getArrayValues(&selfItems);
-			Value** valueItems = NULL;
-			value->getArrayValues(&valueItems);
-			bool isEqual = true;
-			int index = 0;
-			while (selfItems[index]) {
-				if (!selfItems[index]->equals(valueItems[index])) {
-					isEqual = false;
-					break;
-				}
-				index++;
-			}
-			if (isEqual) {
-				isEqual = valueItems[index] == NULL;
-			}
-			delete[] valueItems;
-			delete[] selfItems;
-			return isEqual;
-		}
-		case TYPE_OBJECT: {
-			std::wstring** selfKeys = NULL;
-			Value** selfValues = NULL;
-			getObjectValues(&selfKeys, &selfValues);
-			bool isEqual = true;
-			int index = 0;
-			while (selfKeys[index]) {
-				Value* valueValue = value->getObjectValue(selfKeys[index]);
-				if (!valueValue || !selfValues[index]->equals(valueValue)) {
-					isEqual = false;
-					break;
-				}
-				index++;
-			}
-			delete[] selfKeys;
-			delete[] selfValues;
-			if (isEqual) {
-				/* ensure that value does not contain extra keys/values */
-				std::wstring** valueKeys = NULL;
-				Value** valueValues = NULL;
-				value->getObjectValues(&valueKeys, &valueValues);
-				int length = 0;
-				while (valueKeys[length++]);
-				isEqual = length == index;
-				delete[] valueKeys;
-				delete[] valueValues;
-			}
-			return isEqual;
-		}
-	}
-
-	return false;	/* should never happen */
-}
-
-void Value::getArrayValues(Value*** __values) {
-	if (m_type != TYPE_ARRAY) {
-		*__values = NULL;
-		return;
-	}
-	size_t size = m_arrayValue->size();
-	Value** result = new Value*[size + 1];
-	for (int i = 0; i < (int)size; i++) {
-		result[i] = m_arrayValue->at(i);
-	}
-	result[size] = NULL;
-	*__values = result;
-}
-
-bool Value::getBooleanValue() {
-	if (m_type != TYPE_BOOLEAN) {
-		return false;
-	}
-	return m_numberValue != 0;
-}
-
-double Value::getNumberValue() {
-	if (m_type != TYPE_NUMBER) {
-		return 0;
-	}
-	return m_numberValue;
-}
-
-Value* Value::getObjectValue(const wchar_t* key) {
-	return getObjectValue(&std::wstring(key));
-}
-
-Value* Value::getObjectValue(std::wstring* key) {
-	if (m_type != TYPE_OBJECT) {
-		return NULL;
-	}
-
-	std::map<std::wstring, Value*>::iterator result = m_objectValue->find(*key);
-	if (result == m_objectValue->end()) {
-		/* not found */
-		return NULL;
-	}
-	return result->second;
-}
-
-void Value::getObjectValues(std::wstring*** __keys, Value*** __values) {
-	if (m_type != TYPE_OBJECT) {
-		*__keys = NULL;
-		*__values = NULL;
-		return;
-	}
-	size_t size = m_objectValue->size();
-	std::wstring** keysResult = new std::wstring*[size + 1];
-	Value** valuesResult = new Value*[size + 1];
-
-	std::map<std::wstring, Value*>::iterator it = m_objectValue->begin();
-	std::map<std::wstring, Value*>::iterator end = m_objectValue->end();
-	int index = 0;
-	while (it != end) {
-		keysResult[index] = (std::wstring*)&(*it).first;
-		valuesResult[index++] = (*it).second;
-		it++;
-	}
-	keysResult[index] = NULL;
-	valuesResult[index] = NULL;
-
-	*__keys = keysResult;
-	*__values = valuesResult;
-}
-
-bool Value::setObjectValue(const wchar_t* key, Value* value) {
-	return setObjectValue(&std::wstring(key), value);
-}
-
-bool Value::setObjectValue(std::wstring* key, Value* value) {
-	return setObjectValue(key, value, true);
-}
-
-bool Value::setObjectValue(std::wstring* key, Value* value, bool overwrite) {
-	setType(TYPE_OBJECT);
-	std::map<std::wstring, Value*>::iterator it = m_objectValue->find(*key);
-	if (it != m_objectValue->end()) {
-		/* value with this key already exists in map */
-		if (!overwrite) {
-			return false;
-		}
-		delete (*it).second;
-		m_objectValue->erase(it);
-	}
-	Value* result = NULL;
-	value->clone(&result);
-	m_objectValue->insert(std::pair<std::wstring,Value*>(*key, result));
-	return true;
-}
-
-std::wstring* Value::getStringValue() {
-	if (m_type != TYPE_STRING) {
-		return NULL;
-	}
-	return m_stringValue;
-}
-
-int Value::getType() {
-	return m_type;
-}
-
-void Value::setValue(bool value) {
-	setType(TYPE_BOOLEAN);
-	if (value) {
-		m_numberValue = 1;
-	} else {
-		m_numberValue = 0;
-	}
-}
-
-void Value::setValue(double value) {
-	setType(TYPE_NUMBER);
-	m_numberValue = value;
-}
-
-void Value::setValue(const wchar_t* value) {
-	setType(TYPE_STRING);
-	m_stringValue = new std::wstring;
-	m_stringValue->assign(value);
-}
-
-void Value::setValue(std::wstring* value) {
-	setType(TYPE_STRING);
-	m_stringValue = new std::wstring;
-	m_stringValue->assign(*value);
-}
-
-void Value::setType(int value) {
-	if (m_type == value) {
-		/* nothing to do */
-		return;
-	}
-
-	clearCurrentValue();
-
-	if (value > TYPE_OBJECT) {
-		/* invalid value */
-		m_type = TYPE_UNDEFINED;
-		return;
-	}
-
-	m_type = value;
-	switch (m_type) {
-		case TYPE_ARRAY: {
-			m_arrayValue = new std::vector<Value*>;
-			break;
-		}
-		case TYPE_OBJECT: {
-			m_objectValue = new std::map<std::wstring, Value*>;
-			break;
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Value.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Value.h
deleted file mode 100644
index d6f6815..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/Value.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <iostream>
-#include <map>
-#include <sstream>
-#include <vector>
-
-enum {
-	TYPE_UNDEFINED = 0x0,
-	TYPE_NULL = 0x1,
-	TYPE_BOOLEAN = 0x2,
-	TYPE_NUMBER = 0x4,
-	TYPE_STRING = 0x8,
-	TYPE_ARRAY = 0x10,
-	TYPE_OBJECT = 0x20,
-};
-
-class Value {
-
-public:
-	Value();
-	Value(bool value);
-	Value(double value);
-	Value(const wchar_t* value);
-	Value(std::wstring* value);
-	~Value();
-	virtual void addArrayValue(Value* value);
-	virtual bool addObjectValue(const wchar_t* key, Value* value);
-	virtual bool addObjectValue(std::wstring* key, Value* value);
-//	virtual bool clearObjectValue(const wchar_t* key);
-//	virtual bool clearObjectValue(std::wstring* key);
-	virtual void clone(Value** _value);
-	virtual bool equals(Value* value);
-	virtual void getArrayValues(Value*** __values);
-	virtual bool getBooleanValue();
-	virtual double getNumberValue();
-	virtual Value* getObjectValue(const wchar_t* key);
-	virtual Value* getObjectValue(std::wstring* key);
-	virtual void getObjectValues(std::wstring*** __keys, Value*** __values);
-	virtual std::wstring* getStringValue();
-	virtual int getType();
-	virtual bool setObjectValue(const wchar_t* key, Value* value);
-	virtual bool setObjectValue(std::wstring* key, Value* value);
-	virtual void setType(int type);
-	virtual void setValue(bool value);
-	virtual void setValue(double value);
-	virtual void setValue(const wchar_t* value);
-	virtual void setValue(std::wstring* value);
-
-private:
-	virtual void clearCurrentValue();
-	virtual bool setObjectValue(std::wstring* key, Value* value, bool overwrite);
-
-	std::vector<Value*>* m_arrayValue;
-	double m_numberValue;
-	std::map<std::wstring, Value*>* m_objectValue;
-	std::wstring* m_stringValue;
-	int m_type;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/WindowsSocketConnection.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/WindowsSocketConnection.cpp
deleted file mode 100644
index f594f0b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/WindowsSocketConnection.cpp
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#include "stdafx.h"
-#include "WindowsSocketConnection.h"
-
-/* initialize statics */
-std::map<HWND, WindowsSocketConnection*>* WindowsSocketConnection::s_connections = new std::map<HWND, WindowsSocketConnection*>; /* leaked */
-
-WindowsSocketConnection::WindowsSocketConnection(CrossfireServer* server) {
-	m_clientSocket = INVALID_SOCKET;
-	m_server = server;
-	m_hWnd = NULL;
-	m_listenSocket = INVALID_SOCKET;	
-}
-
-WindowsSocketConnection::~WindowsSocketConnection() {
-}
-
-bool WindowsSocketConnection::acceptConnection() {
-	int rc = WSAAsyncSelect(m_listenSocket, m_hWnd, EW_SOCKET_MSG, FD_ACCEPT);
-	if (rc != 0) {
-		Logger::error("WindowsSocketConnection.acceptConnection(): WSAAsyncSelect() failed", rc);
-		return false;
-	}
-	return true;
-}
-
-bool WindowsSocketConnection::close() {
-	deregisterConnection(m_hWnd);
-	closesocket(m_clientSocket);
-	closesocket(m_listenSocket);
-	m_clientSocket = m_listenSocket = INVALID_SOCKET;
-	return true;
-}
-
-void WindowsSocketConnection::handleSocketAccept() {
-	m_clientSocket = accept(m_listenSocket, NULL, NULL);
-	if (m_clientSocket == INVALID_SOCKET) {
-		Logger::error("WindowsSocketConnection.handleSocketAccept(): accept() failed", WSAGetLastError());
-		return;
-	}
-
-	int rc = WSAAsyncSelect(m_clientSocket, m_hWnd, EW_SOCKET_MSG, FD_READ | FD_CLOSE);
-	if (rc == SOCKET_ERROR) {
-		closesocket(m_clientSocket);
-		m_clientSocket = INVALID_SOCKET;
-		Logger::error("WindowsSocketConnection.handleSocketAccept(): WSAAsyncSelect() failed", WSAGetLastError());
-		return;
-	}
-
-	/* remove the listenSocket listener */
-	WSAAsyncSelect(m_listenSocket, m_hWnd, EW_SOCKET_MSG, 0);
-
-	m_server->connected();
-}
-
-void WindowsSocketConnection::handleSocketClose() {
-	m_server->disconnected();
-}
-
-void WindowsSocketConnection::handleSocketRead() {
-	const int LENGTH_BUFFER = 4096;
-	char buffer[LENGTH_BUFFER];
-	ZeroMemory(buffer, LENGTH_BUFFER);
-
-	int length = recv(m_clientSocket, buffer, LENGTH_BUFFER, 0);
-	if (length == SOCKET_ERROR) {
-		Logger::error("WindowsSocketConnection.handleSocketRead(): recv() failed", errno);
-		return;
-	}
-	if (length == 0) {
-		/* connection closed */
-		Logger::log("WindowsSocketConnection.handleSocketRead(): recv() length 0, implies socket closed");
-		PostQuitMessage(0);
-		return;
-	}
-
-	length = MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)buffer, -1, NULL, 0);
-	wchar_t* content = new wchar_t[length];
-	MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)buffer, -1, content, length);
-//Logger::log("-----\nReceived:");
-//Logger::log(content);
-	m_server->received(content);
-	delete[] content;
-}
-
-bool WindowsSocketConnection::init(unsigned int port) {
-	WSADATA wsaData;
-	int rc = WSAStartup(MAKEWORD(2,2), &wsaData);
-	if (rc != 0) {
-		Logger::error("WindowsSocketConnection.init(): WSAStartup() failed", rc);
-		return false;
-	}
-
-	char portString[6];
-	ZeroMemory(portString, 6);
-	_ltoa_s(port, portString, 6, 10);
-	struct addrinfo hints;
-	ZeroMemory(&hints, sizeof(hints));
-	hints.ai_flags = AI_PASSIVE;
-	hints.ai_family = AF_INET;
-	hints.ai_socktype = SOCK_STREAM;
-	hints.ai_protocol = IPPROTO_TCP;
-	struct addrinfo* result = NULL;
-	rc = getaddrinfo(NULL, portString, &hints, &result);
-	if (rc != 0) {
-		WSACleanup();
-		Logger::error("WindowsSocketConnection.init(): getaddrinfo() failed", rc);
-		return false;
-	}
-
-	m_listenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol);
-	if (m_listenSocket == INVALID_SOCKET) {
-		freeaddrinfo(result);
-		WSACleanup();
-		Logger::error("WindowsSocketConnection.init(): socket() failed", WSAGetLastError());
-		return false;
-	}
-
-	if (bind(m_listenSocket, result->ai_addr, (int)result->ai_addrlen) == SOCKET_ERROR) {
-		closesocket(m_listenSocket);
-		m_listenSocket = INVALID_SOCKET;
-		freeaddrinfo(result);
-		WSACleanup();
-		Logger::error("WindowsSocketConnection.init(): bind() failed", WSAGetLastError());
-		return false;
-	}
-
-	rc = listen(m_listenSocket, SOMAXCONN); 
-	freeaddrinfo(result);
-	if (rc == SOCKET_ERROR) {
-		closesocket(m_listenSocket);
-		m_listenSocket = INVALID_SOCKET;
-		WSACleanup();
-		Logger::error("WindowsSocketConnection.init(): listen() failed", WSAGetLastError());
-		return false;
-	}
-
-	std::wstringstream stream;
-	stream << "Listening for a connection on localhost:";
-	stream << portString;
-	Logger::log((wchar_t*)stream.str().c_str());
-
-	static LPCWSTR s_windowClass = _T("CrossfireSocketConnection"); // TODO differentiate by port?
-	HINSTANCE module = GetModuleHandle(NULL);
-	WNDCLASS ex;
-	ex.style = 0;
-	ex.lpfnWndProc = WndProc;
-	ex.cbClsExtra = 0;
-	ex.cbWndExtra = 0;
-	ex.hInstance = module;
-	ex.hIcon = NULL;
-	ex.hCursor = NULL;
-	ex.hbrBackground = NULL;
-	ex.lpszMenuName = NULL;
-	ex.lpszClassName = s_windowClass;
-	RegisterClass(&ex);
-	m_hWnd = CreateWindow(s_windowClass, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, module, NULL);
-	if (!m_hWnd) {
-		Logger::error("WindowsSocketConnection.init(): CreateWindow() failed", GetLastError());
-		return false;
-	}
-	WindowsSocketConnection::registerConnection(m_hWnd, this);
-	return true;
-}
-
-bool WindowsSocketConnection::isConnected() {
-	return m_clientSocket != INVALID_SOCKET;
-}
-
-bool WindowsSocketConnection::send(const wchar_t* msg) {
-//Logger::log("-----\nSent:");
-//Logger::log((wchar_t*)msg);
-	int length = WideCharToMultiByte(CP_UTF8, 0, msg, -1, NULL, 0, NULL, NULL);
-	char* content = new char[length];
-	WideCharToMultiByte(CP_UTF8, 0, msg, -1, content, length, NULL, NULL);
-	if (::send(m_clientSocket, content, length - 1, 0) == SOCKET_ERROR) { /* uses length - 1 to not send null terminator */
-		Logger::error("WindowsSocketConnection.send(): send() failed", errno);
-		return false;
-	}
-	return true;
-}
-
-bool WindowsSocketConnection::deregisterConnection(HWND hWnd) {
-	std::map<HWND, WindowsSocketConnection*>::iterator iterator = s_connections->find(hWnd);
-	if (iterator != s_connections->end()) {
-		s_connections->erase(iterator);
-		return true;
-	}
-
-	/* not found */
-	return false;
-}
-
-WindowsSocketConnection* WindowsSocketConnection::getConnection(HWND hWnd) {
-	std::map<HWND, WindowsSocketConnection*>::iterator iterator = s_connections->find(hWnd);
-	if (iterator == s_connections->end()) {
-		/* not found */
-		return NULL;
-	}
-	return iterator->second;
-}
-
-void WindowsSocketConnection::registerConnection(HWND hWnd, WindowsSocketConnection* connection) {
-	s_connections->insert(std::pair<HWND,WindowsSocketConnection*>(hWnd, connection));
-}
-
-LRESULT CALLBACK WindowsSocketConnection::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
-	switch (message) {
-		case EW_SOCKET_MSG: {
-			WindowsSocketConnection* instance = WindowsSocketConnection::getConnection(hWnd);
-			if (!instance) {
-				Logger::error("WindowsSocketConnection:WndProc(): received EW_SOCKET_MSG for unregistered hWnd");
-				break;
-			}
-			switch (WSAGETSELECTEVENT(lParam)) {
-				case FD_READ: {
-					instance->handleSocketRead();
-					break;
-				}
-				case FD_ACCEPT: {
-					instance->handleSocketAccept();
-					break;
-				}
-				case FD_CLOSE: {
-					instance->handleSocketClose();
-					break;
-				}
-				default: {
-					Logger::error("WindowsSocketConnection:WndProc(): received EW_SOCKET_MSG for unexpected event");
-					break;
-				}
-			}
-			break;
-		}
-		default: {
-			return DefWindowProc(hWnd, message, wParam, lParam);
-		}
-	}
-	return 0;
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/WindowsSocketConnection.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/WindowsSocketConnection.h
deleted file mode 100644
index a395b2c..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/WindowsSocketConnection.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-#pragma once
-
-#include <iostream>
-#include <winsock2.h>
-#include <ws2tcpip.h>
-
-#include "Logger.h"
-
-class WindowsSocketConnection; // forward declaration
-#include "CrossfireServer.h"
-
-class WindowsSocketConnection {
-
-public:
-	WindowsSocketConnection(CrossfireServer* server);
-	~WindowsSocketConnection();
-	virtual bool acceptConnection();
-	virtual bool close();
-	virtual bool init(unsigned int port);
-	virtual bool isConnected();
-	virtual bool send(const wchar_t* msg);
-
-private:
-	virtual void handleSocketAccept();
-	virtual void handleSocketClose();
-	virtual void handleSocketRead();
-
-	SOCKET m_clientSocket;
-	CrossfireServer* m_server;
-	HWND m_hWnd;
-	SOCKET m_listenSocket;
-
-	static bool deregisterConnection(HWND hWnd);
-	static WindowsSocketConnection* getConnection(HWND hWnd);
-	static void registerConnection(HWND hWnd, WindowsSocketConnection* connection);
-	static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
-	static std::map<HWND, WindowsSocketConnection*>* s_connections;
-
-	/* constants */
-	static const int EW_SOCKET_MSG = WM_APP + 1;
-};
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/resource.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/resource.h
deleted file mode 100644
index 651d1eb..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/resource.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by IECrossfireServer.rc
-//
-#define IDS_PROJNAME                    100
-#define IDR_IECrossfireServer           101
-#define IDR_JSEVALCALLBACK              102
-#define IDR_CROSSFIRESERVER             103
-#define IDR_IEDEBUGGER                  104
-#define IDR_CROSSFIRESERVERCLASS        111
-#define IDR_PENDINGSCRIPTLOAD           113
-#define IDR_BROWSERCONTEXT     114
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        201
-#define _APS_NEXT_COMMAND_VALUE         32768
-#define _APS_NEXT_CONTROL_VALUE         201
-#define _APS_NEXT_SYMED_VALUE           115
-#endif
-#endif
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/stdafx.cpp b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/stdafx.cpp
deleted file mode 100644
index 33b7099..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/stdafx.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-// stdafx.cpp : source file that includes just the standard includes
-// IECrossfireServer.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
diff --git a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/stdafx.h b/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/stdafx.h
deleted file mode 100644
index bfd1557..0000000
--- a/development/org.eclipse.wst.jsdt.debug.ie/IECrossfireServer/stdafx.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently,
-// but are changed infrequently
-
-#pragma once
-
-#ifndef STRICT
-#define STRICT
-#endif
-
-// Modify the following defines if you have to target a platform prior to the ones specified below.
-// Refer to MSDN for the latest info on corresponding values for different platforms.
-#ifndef WINVER				// Allow use of features specific to Windows XP or later.
-#define WINVER 0x0501		// Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINNT		// Allow use of features specific to Windows XP or later.                   
-#define _WIN32_WINNT 0x0501	// Change this to the appropriate value to target other versions of Windows.
-#endif						
-
-#ifndef _WIN32_WINDOWS		// Allow use of features specific to Windows 98 or later.
-#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
-#endif
-
-#ifndef _WIN32_IE			// Allow use of features specific to IE 6.0 or later.
-#define _WIN32_IE 0x0600	// Change this to the appropriate value to target other versions of IE.
-#endif
-
-#define _ATL_APARTMENT_THREADED
-#define _ATL_NO_AUTOMATIC_NAMESPACE
-
-#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit
-
-
-#include "resource.h"
-#include <atlbase.h>
-#include <atlcom.h>
-
-using namespace ATL;
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.node/.classpath b/development/org.eclipse.wst.jsdt.debug.node/.classpath
deleted file mode 100644
index 2fbb7a2..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/development/org.eclipse.wst.jsdt.debug.node/.project b/development/org.eclipse.wst.jsdt.debug.node/.project
deleted file mode 100644
index 285cee8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.jsdt.debug.node</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/development/org.eclipse.wst.jsdt.debug.node/.settings/org.eclipse.jdt.core.prefs b/development/org.eclipse.wst.jsdt.debug.node/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index de9eac3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,90 +0,0 @@
-#Fri Apr 30 10:04:28 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/development/org.eclipse.wst.jsdt.debug.node/META-INF/MANIFEST.MF b/development/org.eclipse.wst.jsdt.debug.node/META-INF/MANIFEST.MF
deleted file mode 100644
index a80a3ab..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name
-Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.node;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.wst.jsdt.debug.node.NodePlugin
-Bundle-Vendor: %Bundle-Vendor
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.wst.jsdt.debug.node
diff --git a/development/org.eclipse.wst.jsdt.debug.node/OSGI-INF/l10n/bundle.properties b/development/org.eclipse.wst.jsdt.debug.node/OSGI-INF/l10n/bundle.properties
deleted file mode 100644
index d7cefac..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/OSGI-INF/l10n/bundle.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#Properties file for org.eclipse.wst.jsdt.debug.node
-Bundle-Vendor = Eclipse Web Tools Platform
-Bundle-Name = Node JavaScript Debug
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.node/build.properties b/development/org.eclipse.wst.jsdt.debug.node/build.properties
deleted file mode 100644
index 27bd3a1..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               OSGI-INF/l10n/bundle.properties,\
-               OSGI-INF/
diff --git a/development/org.eclipse.wst.jsdt.debug.node/src/org/eclipse/wst/jsdt/debug/node/NodePlugin.java b/development/org.eclipse.wst.jsdt.debug.node/src/org/eclipse/wst/jsdt/debug/node/NodePlugin.java
deleted file mode 100644
index 86ad724..0000000
--- a/development/org.eclipse.wst.jsdt.debug.node/src/org/eclipse/wst/jsdt/debug/node/NodePlugin.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.node;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * @since 1.0
- */
-public class NodePlugin extends Plugin {
-
-	public static final String PLUGIN_ID = "org.eclipse.wst.jsdt.debug.node"; //$NON-NLS-1$
-	/**
-	 * Status code indicating an unexpected internal error.
-	 */
-	public static final int INTERNAL_ERROR = 120;
-	
-	static NodePlugin plugin = null;
-
-	/**
-	 * Returns the singleton instance of {@link NodePlugin} or <code>null</code> if the bundle has not been started 
-	 * yet.
-	 * 
-	 * @return the instance of {@link NodePlugin} or <code>null</code>
-	 */
-	public static NodePlugin getDefault() {
-		return plugin;
-	}
-	
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		super.start(bundleContext);
-		plugin = this;
-		configureTracing();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext bundleContext) throws Exception {
-		plugin = null;
-	}
-
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		if (plugin != null) {
-			plugin.getLog().log(status);
-		}
-	}
-
-	/**
-	 * Logs the specified throwable with this plug-in's log.
-	 * 
-	 * @param t throwable to log 
-	 */
-	public static void log(Throwable t) {
-		log(newErrorStatus("Error logged from Node Debug: ", t)); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Logs an internal error with the specified message.
-	 * 
-	 * @param message the error message to log
-	 */
-	public static void logErrorMessage(String message) {
-		log(newErrorStatus("Internal message logged from Node Debug: " + message, null)); //$NON-NLS-1$	
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	public static IStatus newErrorStatus(String message, Throwable exception) {
-		return new Status(IStatus.ERROR, PLUGIN_ID, INTERNAL_ERROR, message, exception);
-	}
-
-	/**
-	 * Turns on / off any tracing options
-	 */
-	public void configureTracing() {
-		
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/.classpath b/development/org.eclipse.wst.jsdt.debug.opera/.classpath
deleted file mode 100644
index 50457c8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/scope-sdk"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/.project b/development/org.eclipse.wst.jsdt.debug.opera/.project
deleted file mode 100644
index fc9fa50..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.jsdt.debug.opera</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/.settings/org.eclipse.jdt.core.prefs b/development/org.eclipse.wst.jsdt.debug.opera/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index de9eac3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,90 +0,0 @@
-#Fri Apr 30 10:04:28 CDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
-org.eclipse.jdt.core.compiler.problem.deadCode=error
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=error
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=error
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=error
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/META-INF/MANIFEST.MF b/development/org.eclipse.wst.jsdt.debug.opera/META-INF/MANIFEST.MF
deleted file mode 100644
index c819bc4..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JSDT Opera Support
-Bundle-SymbolicName: org.eclipse.wst.jsdt.debug.opera;singleton:=true
-Bundle-Version: 0.1.0.qualifier
-Bundle-Activator: org.eclipse.wst.jsdt.debug.opera.OperaPlugin
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.wst.jsdt.debug.core;bundle-version="2.0.100",
- org.eclipse.debug.core;bundle-version="3.7.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
-Export-Package: org.eclipse.wst.jsdt.debug.opera;uses:="org.osgi.framework",
- org.eclipse.wst.jsdt.debug.opera.internal.jsdi;x-internal:=true,
- org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;x-internal:=true,
- org.eclipse.wst.jsdt.debug.opera.internal.launching;x-internal:=true
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/build.properties b/development/org.eclipse.wst.jsdt.debug.opera/build.properties
deleted file mode 100644
index f8d5672..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-output.. = bin/
-bin.includes = plugin.xml
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/plugin.xml b/development/org.eclipse.wst.jsdt.debug.opera/plugin.xml
deleted file mode 100644
index 17cc712..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-   <extension
-         point="org.eclipse.wst.jsdt.debug.core.launchingConnectors">
-      <connector
-            class="org.eclipse.wst.jsdt.debug.opera.internal.launching.OperaListeningConnector"
-            id="org.eclipse.wst.jsdt.debug.opera.listening.connector">
-      </connector>
-   </extension>
-
-</plugin>
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/OperaPlugin.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/OperaPlugin.java
deleted file mode 100644
index 7c144df..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/OperaPlugin.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.eclipse.wst.jsdt.debug.opera;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class OperaPlugin implements BundleActivator {
-
-	private static BundleContext context;
-
-	static BundleContext getContext() {
-		return context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		OperaPlugin.context = bundleContext;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext bundleContext) throws Exception {
-		OperaPlugin.context = null;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/BooleanValueImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/BooleanValueImpl.java
deleted file mode 100644
index 3b8014c..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/BooleanValueImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.BooleanValue;
-
-/**
- * Default {@link BooleanValue} Opera implementation
- * 
- * @since 0.1
- */
-public class BooleanValueImpl extends PrimitiveValueImpl implements BooleanValue {
-
-	private boolean value = false;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param value
-	 */
-	public BooleanValueImpl(VirtualMachineImpl vm, boolean value) {
-		super(vm);
-		this.value = value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#intValue()
-	 */
-	public int intValue() {
-		return (value ? 1 : 0);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#doubleValue()
-	 */
-	public double doubleValue() {
-		return intValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#booleanValue()
-	 */
-	public boolean booleanValue() {
-		return value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#stringValue()
-	 */
-	public String stringValue() {
-		return Boolean.toString(value);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return stringValue();
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/EventQueueImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/EventQueueImpl.java
deleted file mode 100644
index 9a38792..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/EventQueueImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventSet;
-
-/**
- * Default {@link EventQueue} implementation for Opera
- * @since 0.1
- */
-public class EventQueueImpl extends MirrorImpl implements EventQueue {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public EventQueueImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue#remove()
-	 */
-	public EventSet remove() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue#remove(int)
-	 */
-	public EventSet remove(int timeout) {
-		return null;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/LocationImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/LocationImpl.java
deleted file mode 100644
index 7fd2286..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/LocationImpl.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ScriptReference;
-
-/**
- * Default {@link Location} implementation for Opera
- * 
- * @since 0.1
- */
-public class LocationImpl extends MirrorImpl implements Location {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public LocationImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Location#scriptReference()
-	 */
-	public ScriptReference scriptReference() {
-		return null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Location#lineNumber()
-	 */
-	public int lineNumber() {
-		return 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Location#functionName()
-	 */
-	public String functionName() {
-		return null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/Messages.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/Messages.java
deleted file mode 100644
index d0581e7..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/Messages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.opera.internal.jsdi.messages"; //$NON-NLS-1$
-	public static String vm_desc;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/MirrorImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/MirrorImpl.java
deleted file mode 100644
index ba1d0bf..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/MirrorImpl.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Mirror;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-
-/**
- * Default {@link Mirror} object for Opera
- * 
- * @since 0.1
- */
-public class MirrorImpl implements Mirror {
-
-	private VirtualMachineImpl vm = null;
-	
-	/**
-	 * Constructor
-	 * <br><br>
-	 * This constructor is only to be used when the {@link Mirror} is in fact the {@link VirtualMachine} object
-	 * 
-	 * @noreference This constructor is not intended to be referenced by clients.
-	 */
-	public MirrorImpl() {
-		vm = (VirtualMachineImpl) this;
-	}
-	
-	/**
-	 * Constructor
-	 */
-	public MirrorImpl(VirtualMachineImpl vm) {
-		this.vm = vm;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Mirror#virtualMachine()
-	 */
-	public VirtualMachine virtualMachine() {
-		return this.vm;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/NullValueImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/NullValueImpl.java
deleted file mode 100644
index 49ff54f..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/NullValueImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.NullValue;
-
-/**
- * Default {@link NullValue} Opera implementation
- * 
- * @since 0.1
- */
-public class NullValueImpl extends MirrorImpl implements NullValue {
-
-	public static String VALUE = "null"; //$NON-NLS-1$
-	
-	public NullValueImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return VALUE;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/NumberValueImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/NumberValueImpl.java
deleted file mode 100644
index 543a97d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/NumberValueImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue;
-import org.eclipse.wst.jsdt.debug.core.model.JavaScriptDebugModel;
-
-/**
- * Default {@link NumberValue} implementation for Opera
- * 
- * @since 0.1
- */
-public class NumberValueImpl extends PrimitiveValueImpl implements NumberValue {
-	
-	Number number = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param number
-	 */
-	public NumberValueImpl(VirtualMachineImpl vm, Number number) {
-		super(vm);
-		this.number = number;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#intValue()
-	 */
-	public int intValue() {
-		if(number == null) {
-			return -1;
-		}
-		return number.intValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#doubleValue()
-	 */
-	public double doubleValue() {
-		if(number == null) {
-			return -1;
-		}
-		return number.doubleValue();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#booleanValue()
-	 */
-	public boolean booleanValue() {
-		if(number == null) {
-			return false;
-		}
-		return number.intValue() > 0 ? true : false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue#stringValue()
-	 */
-	public String stringValue() {
-		return JavaScriptDebugModel.numberToString(number);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return JavaScriptDebugModel.numberToString(number);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue#value()
-	 */
-	public Number value() {
-		return number;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue#isNaN()
-	 */
-	public boolean isNaN() {
-		return number == null;
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/PrimitiveValueImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/PrimitiveValueImpl.java
deleted file mode 100644
index 708f685..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/PrimitiveValueImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.PrimitiveValue;
-
-/**
- * Default {@link PrimitiveValue} Opera implementation
- * 
- * @since 0.1
- */
-public abstract class PrimitiveValueImpl extends MirrorImpl implements PrimitiveValue {
-
-	public PrimitiveValueImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/RequestManagerImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/RequestManagerImpl.java
deleted file mode 100644
index 8739752..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/RequestManagerImpl.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.DebuggerStatementRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ScriptLoadRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDeathRequest;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDisconnectRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.BreakpointRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.DebuggerStatementRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.ExceptionRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.ResumeRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.ScriptLoadRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.StepRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.SuspendRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.ThreadEnterRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.ThreadExitRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.VMDeathRequestImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request.VMDisconnectRequestImpl;
-
-/**
- * Default {@link EventRequestManager} implementation for Opera
- * 
- * @since 0.1
- */
-public class RequestManagerImpl extends MirrorImpl implements EventRequestManager {
-
-	private final Map eventsMap = new HashMap();
-	private final List bpreqs = new ArrayList();
-	private final List exreqs = new ArrayList();
-	private final List dsreqs = new ArrayList();
-	private final List slreqs = new ArrayList();
-	private final List stepreqs = new ArrayList();
-	private final List susreqs = new ArrayList();
-	private final List resreqs = new ArrayList();
-	private final List tereqs = new ArrayList();
-	private final List texreqs = new ArrayList();
-	private final List vdetreqs = new ArrayList();
-	private final List vdisreqs = new ArrayList();
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public RequestManagerImpl(VirtualMachineImpl vm) {
-		super(vm);
-		eventsMap.put(BreakpointRequestImpl.class, bpreqs);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createBreakpointRequest(org.eclipse.wst.jsdt.debug.core.jsdi.Location)
-	 */
-	public BreakpointRequest createBreakpointRequest(Location location) {
-		BreakpointRequestImpl request = new BreakpointRequestImpl((VirtualMachineImpl)virtualMachine(), location);
-		bpreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#breakpointRequests()
-	 */
-	public List breakpointRequests() {
-		return Collections.unmodifiableList(bpreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createDebuggerStatementRequest()
-	 */
-	public DebuggerStatementRequest createDebuggerStatementRequest() {
-		DebuggerStatementRequestImpl request = new DebuggerStatementRequestImpl((VirtualMachineImpl) virtualMachine());
-		dsreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#debuggerStatementRequests()
-	 */
-	public List debuggerStatementRequests() {
-		return Collections.unmodifiableList(dsreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createExceptionRequest()
-	 */
-	public ExceptionRequest createExceptionRequest() {
-		ExceptionRequestImpl request = new ExceptionRequestImpl((VirtualMachineImpl) virtualMachine());
-		exreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#exceptionRequests()
-	 */
-	public List exceptionRequests() {
-		return Collections.unmodifiableList(exreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createScriptLoadRequest()
-	 */
-	public ScriptLoadRequest createScriptLoadRequest() {
-		ScriptLoadRequestImpl request = new ScriptLoadRequestImpl((VirtualMachineImpl) virtualMachine());
-		slreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#scriptLoadRequests()
-	 */
-	public List scriptLoadRequests() {
-		return Collections.unmodifiableList(slreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createStepRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference, int)
-	 */
-	public StepRequest createStepRequest(ThreadReference thread, int step) {
-		StepRequestImpl request= new StepRequestImpl((VirtualMachineImpl) virtualMachine(), thread, step);
-		stepreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#stepRequests()
-	 */
-	public List stepRequests() {
-		return Collections.unmodifiableList(stepreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createSuspendRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public SuspendRequest createSuspendRequest(ThreadReference thread) {
-		SuspendRequestImpl request = new SuspendRequestImpl((VirtualMachineImpl) virtualMachine(), thread);
-		susreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#suspendRequests()
-	 */
-	public List suspendRequests() {
-		return Collections.unmodifiableList(susreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createResumeRequest(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public ResumeRequest createResumeRequest(ThreadReference thread) {
-		ResumeRequestImpl request = new ResumeRequestImpl((VirtualMachineImpl) virtualMachine(), thread);
-		resreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#resumeRequests()
-	 */
-	public List resumeRequests() {
-		return Collections.unmodifiableList(resreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createThreadEnterRequest()
-	 */
-	public ThreadEnterRequest createThreadEnterRequest() {
-		ThreadEnterRequestImpl request = new ThreadEnterRequestImpl((VirtualMachineImpl) virtualMachine());
-		tereqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#threadEnterRequests()
-	 */
-	public List threadEnterRequests() {
-		return Collections.unmodifiableList(tereqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createThreadExitRequest()
-	 */
-	public ThreadExitRequest createThreadExitRequest() {
-		ThreadExitRequestImpl request = new ThreadExitRequestImpl((VirtualMachineImpl) virtualMachine());
-		texreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#threadExitRequests()
-	 */
-	public List threadExitRequests() {
-		return Collections.unmodifiableList(texreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#deleteEventRequest(org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest)
-	 */
-	public void deleteEventRequest(EventRequest eventRequest) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#deleteEventRequest(java.util.List)
-	 */
-	public void deleteEventRequest(List eventRequests) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createVMDeathRequest()
-	 */
-	public VMDeathRequest createVMDeathRequest() {
-		VMDeathRequestImpl request = new VMDeathRequestImpl((VirtualMachineImpl) virtualMachine());
-		vdetreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#vmDeathRequests()
-	 */
-	public List vmDeathRequests() {
-		return Collections.unmodifiableList(vdetreqs);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#createVMDisconnectRequest()
-	 */
-	public VMDisconnectRequest createVMDisconnectRequest() {
-		VMDisconnectRequestImpl request = new VMDisconnectRequestImpl((VirtualMachineImpl) virtualMachine());
-		vdetreqs.add(request);
-		return request;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager#vmDisconnectRequests()
-	 */
-	public List vmDisconnectRequests() {
-		return Collections.unmodifiableList(vdisreqs);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/StringValueImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/StringValueImpl.java
deleted file mode 100644
index 19fedea..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/StringValueImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.StringValue;
-
-/**
- * Default {@link StringValue} implementation for Opera
- * 
- *  @since 0.1
- */
-public class StringValueImpl extends MirrorImpl implements StringValue {
-
-	String value = null;
-	
-	/**
-	 * Constructor
-	 */
-	public StringValueImpl(VirtualMachineImpl vm, String value) {
-		super(vm);
-		this.value = value;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return value;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.StringValue#value()
-	 */
-	public String value() {
-		return value;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/UndefinedImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/UndefinedImpl.java
deleted file mode 100644
index e1b5b5d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/UndefinedImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.UndefinedValue;
-
-/**
- * Default {@link UndefinedValue} Opera implementation
- * 
- * @since 0.1
- */
-public class UndefinedImpl extends MirrorImpl implements UndefinedValue {
-
-	public static String VALUE = "undefined"; //$NON-NLS-1$
-	
-	public UndefinedImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.Value#valueString()
-	 */
-	public String valueString() {
-		return VALUE;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/VirtualMachineImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/VirtualMachineImpl.java
deleted file mode 100644
index 4681137..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/VirtualMachineImpl.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi;
-
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.BooleanValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.NullValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.NumberValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.StringValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.UndefinedValue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.event.EventQueue;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequestManager;
-
-import com.google.protobuf.ByteString;
-import com.opera.core.scope.ESDebuggerCommand;
-import com.opera.core.scope.MessageCallback;
-import com.opera.core.scope.ProtocolFormat;
-import com.opera.core.scope.ScopeClient;
-import com.opera.core.scope.ScopeErrorException;
-import com.opera.core.systems.scope.protos.ScopeProtos;
-import com.opera.core.systems.scope.protos.UmsProtos.Command;
-
-/**
- * {@link VirtualMachine} for Opera support
- * 
- * @since 0.1
- */
-public class VirtualMachineImpl extends MirrorImpl implements VirtualMachine {
-
-	private static UndefinedValue undefinedmirror = null;
-	private static NullValue nullmirror = null;
-	private static Object rmilock = new Object();
-	private static Object eqlock = new Object();
-	
-	private ScopeClient client = null;
-	private String name = null;
-	private RequestManagerImpl rmi = null;
-	private EventQueueImpl eqi = null;
-	
-	/**
-	 * Constructor
-	 * @param client
-	 */
-	public VirtualMachineImpl(ScopeClient client) {
-		super();
-		this.client = client;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#resume()
-	 */
-	public void resume() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#suspend()
-	 */
-	public void suspend() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#terminate()
-	 */
-	public void terminate() {
-		client.getClientLock().release();
-		client.close();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#name()
-	 */
-	public synchronized String name() {
-		if(name == null) {
-			name = description();
-		}
-		return name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#description()
-	 */
-	public String description() {
-		return Messages.vm_desc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#version()
-	 */
-	public String version() {
-		StringBuffer buff = new StringBuffer("stp: "); //$NON-NLS-1$
-		ScopeProtos.HostInfo.Builder b = ScopeProtos.HostInfo.newBuilder(); 
-		buff.append(Integer.toString(b.getStpVersion())).append(" "); //$NON-NLS-1$
-		buff.append("core: ").append(b.getCoreVersion()); //$NON-NLS-1$
-		buff.append("agent: ").append(b.getUserAgent()); //$NON-NLS-1$
-		buff.append("plat: ").append(b.getPlatform()); //$NON-NLS-1$
-		buff.append("os: ").append(b.getOperatingSystem()); //$NON-NLS-1$
-		return buff.toString();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#allThreads()
-	 */
-	public List allThreads() {
-		//TODO send threads request
-		return Collections.EMPTY_LIST;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#allScripts()
-	 */
-	public List allScripts() {
-		MessageCallback callback = new MessageCallback() {
-			public void onMessageReceived(Object t) {
-				System.out.println("got runtimes"); //$NON-NLS-1$
-			}
-
-			public void onError(ScopeErrorException ex) {
-				System.err.println("got exception"); //$NON-NLS-1$
-			}
-		};
-		Command.Builder command = Command.newBuilder();
-		command.setCommandID(ESDebuggerCommand.LIST_RUNTIMES.getId());
-		command.setFormat(ProtocolFormat.JSON.getValue().intValue());
-		
-		command.setPayload(ByteString.EMPTY);
-		command.setService(ESDebuggerCommand.LIST_RUNTIMES.getName());
-        command.setTag(client.getNextTag());
-		client.sendCommand(command.build(), callback);
-		return Collections.EMPTY_LIST;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#dispose()
-	 */
-	public void dispose() {
-		client.close();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOfUndefined()
-	 */
-	public synchronized UndefinedValue mirrorOfUndefined() {
-		if(undefinedmirror == null) {
-			undefinedmirror = new UndefinedImpl(this);
-		}
-		return undefinedmirror;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOfNull()
-	 */
-	public synchronized NullValue mirrorOfNull() {
-		if(nullmirror == null) {
-			nullmirror = new NullValueImpl(this);
-		}
-		return nullmirror;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOf(boolean)
-	 */
-	public BooleanValue mirrorOf(boolean bool) {
-		return new BooleanValueImpl(this, bool);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOf(java.lang.Number)
-	 */
-	public NumberValue mirrorOf(Number number) {
-		return new NumberValueImpl(this, number);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#mirrorOf(java.lang.String)
-	 */
-	public StringValue mirrorOf(String string) {
-		return new StringValueImpl(this, string);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#eventRequestManager()
-	 */
-	public EventRequestManager eventRequestManager() {
-		synchronized (rmilock) {
-			if(rmi == null) {
-				rmi = new RequestManagerImpl(this);
-			}
-		}
-		return rmi;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine#eventQueue()
-	 */
-	public EventQueue eventQueue() {
-		synchronized (eqlock) {
-			if(eqi == null) {
-				eqi = new EventQueueImpl(this);
-			}
-		}
-		return eqi;
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/messages.properties b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/messages.properties
deleted file mode 100644
index 3e917cd..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/messages.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2011 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-vm_desc=Opera VM
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/BreakpointRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/BreakpointRequestImpl.java
deleted file mode 100644
index 2757ddf..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/BreakpointRequestImpl.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link BreakpointRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class BreakpointRequestImpl extends LocatableRequestImpl implements BreakpointRequest {
-
-	ThreadReference thread = null;
-	String condition = null;
-	int hitcount = -1;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param location
-	 */
-	public BreakpointRequestImpl(VirtualMachineImpl vm, Location location) {
-		super(vm, location);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest#addConditionFilter(java.lang.String)
-	 */
-	public void addConditionFilter(String condition) {
-		this.condition = condition;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.BreakpointRequest#addHitCountFilter(int)
-	 */
-	public void addHitCountFilter(int hitcount) {
-		this.hitcount = hitcount;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/DebuggerStatementRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/DebuggerStatementRequestImpl.java
deleted file mode 100644
index 15ef169..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/DebuggerStatementRequestImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.DebuggerStatementRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link DebuggerStatementRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class DebuggerStatementRequestImpl extends EventRequestImpl implements DebuggerStatementRequest {
-
-	ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public DebuggerStatementRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.DebuggerStatementRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/EventRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/EventRequestImpl.java
deleted file mode 100644
index c012196..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/EventRequestImpl.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.MirrorImpl;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link EventRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class EventRequestImpl extends MirrorImpl implements EventRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public EventRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest#isEnabled()
-	 */
-	public boolean isEnabled() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.EventRequest#setEnabled(boolean)
-	 */
-	public void setEnabled(boolean enabled) {
-	}
-
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ExceptionRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ExceptionRequestImpl.java
deleted file mode 100644
index d0e8a67..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ExceptionRequestImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link ExceptionRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class ExceptionRequestImpl extends EventRequestImpl implements ExceptionRequest {
-
-	ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public ExceptionRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ExceptionRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/LocatableRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/LocatableRequestImpl.java
deleted file mode 100644
index e26541c..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/LocatableRequestImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.Location;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default implementation of a request that has a location
- * 
- * @since 0.1
- */
-public class LocatableRequestImpl extends EventRequestImpl {
-
-	Location location = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param location
-	 */
-	public LocatableRequestImpl(VirtualMachineImpl vm, Location location) {
-		super(vm);
-		this.location = location;
-	}
-
-	/**
-	 * @return the location
-	 */
-	public Location location() {
-		return location;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ResumeRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ResumeRequestImpl.java
deleted file mode 100644
index 35d4d16..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ResumeRequestImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link ResumeRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class ResumeRequestImpl extends EventRequestImpl implements	ResumeRequest {
-
-	ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public ResumeRequestImpl(VirtualMachineImpl vm, ThreadReference thread) {
-		super(vm);
-		this.thread = thread;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ResumeRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ScriptLoadRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ScriptLoadRequestImpl.java
deleted file mode 100644
index 113bbda..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ScriptLoadRequestImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ScriptLoadRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link ScriptLoadRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class ScriptLoadRequestImpl extends EventRequestImpl implements ScriptLoadRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public ScriptLoadRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/StepRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/StepRequestImpl.java
deleted file mode 100644
index 6c860f6..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/StepRequestImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link StepRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class StepRequestImpl extends EventRequestImpl implements StepRequest {
-
-	ThreadReference thread = null;
-	int stepkind = -1;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public StepRequestImpl(VirtualMachineImpl vm, ThreadReference thread, int kind) {
-		super(vm);
-		this.thread = thread;
-		this.stepkind = kind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest#step()
-	 */
-	public int step() {
-		return stepkind;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.StepRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/SuspendRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/SuspendRequestImpl.java
deleted file mode 100644
index 6505507..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/SuspendRequestImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link SuspendRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class SuspendRequestImpl extends EventRequestImpl implements SuspendRequest {
-
-	ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 * @param thread
-	 */
-	public SuspendRequestImpl(VirtualMachineImpl vm, ThreadReference thread) {
-		super(vm);
-		this.thread = thread;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.SuspendRequest#thread()
-	 */
-	public ThreadReference thread() {
-		return thread;
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ThreadEnterRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ThreadEnterRequestImpl.java
deleted file mode 100644
index 7f66e51..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ThreadEnterRequestImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link ThreadEnterRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class ThreadEnterRequestImpl extends EventRequestImpl implements	ThreadEnterRequest {
-
-	ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public ThreadEnterRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadEnterRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ThreadExitRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ThreadExitRequestImpl.java
deleted file mode 100644
index 8bd8b84..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/ThreadExitRequestImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference;
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link ThreadExitRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class ThreadExitRequestImpl extends EventRequestImpl implements	ThreadExitRequest {
-
-	ThreadReference thread = null;
-	
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public ThreadExitRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.request.ThreadExitRequest#addThreadFilter(org.eclipse.wst.jsdt.debug.core.jsdi.ThreadReference)
-	 */
-	public void addThreadFilter(ThreadReference thread) {
-		this.thread = thread;
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/VMDeathRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/VMDeathRequestImpl.java
deleted file mode 100644
index f62fdc1..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/VMDeathRequestImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDeathRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link VMDeathRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class VMDeathRequestImpl extends EventRequestImpl implements	VMDeathRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public VMDeathRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/VMDisconnectRequestImpl.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/VMDisconnectRequestImpl.java
deleted file mode 100644
index 378612d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/jsdi/request/VMDisconnectRequestImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.jsdi.request;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.request.VMDisconnectRequest;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-/**
- * Default {@link VMDisconnectRequest} implementation for Opera
- * 
- * @since 0.1
- */
-public class VMDisconnectRequestImpl extends EventRequestImpl implements VMDisconnectRequest {
-
-	/**
-	 * Constructor
-	 * @param vm
-	 */
-	public VMDisconnectRequestImpl(VirtualMachineImpl vm) {
-		super(vm);
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/HostArgument.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/HostArgument.java
deleted file mode 100644
index 6adbc08..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/HostArgument.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.launching;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.StringArgument;
-
-/**
- * Implementation of a string argument that describes the host argument
- * 
- * @since 1.0
- */
-public class HostArgument implements StringArgument {
-
-	private static final long serialVersionUID = 3057403815318177030L;
-	private String host;
-
-	/**
-	 * Host attribute name
-	 */
-	public static final String HOST = "host"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 * 
-	 * @param host
-	 */
-	public HostArgument(String host) {
-		setValue(host);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#description()
-	 */
-	public String description() {
-		return "host"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.StringArgument#isValid(java.lang.String)
-	 */
-	public boolean isValid(String value) {
-		return value != null;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#label()
-	 */
-	public String label() {
-		return "Host:"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#mustSpecify()
-	 */
-	public boolean mustSpecify() {
-		return true;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#name()
-	 */
-	public String name() {
-		return HOST;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#setValue(java.lang.String)
-	 */
-	public void setValue(String host) {
-		if(host == null) {
-			this.host = "localhost"; //$NON-NLS-1$
-		}
-		else {
-			if (!isValid(host)) {
-				throw new IllegalArgumentException();
-			}
-			this.host = host;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#value()
-	 */
-	public String value() {
-		return host;
-	}
-
-	/**
-	 * Returns if the given host is <code>localhost</code> or <code>127.0.0.1</code>
-	 * @param host
-	 * @return true if the given host it localhost (127.0.0.1) false otherwise
-	 */
-	public static boolean isLocalhost(String host) {
-		return host.equals("localhost") || host.equals("127.0.0.1"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/Messages.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/Messages.java
deleted file mode 100644
index 559ea1d..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/Messages.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.launching;
-
-import org.eclipse.osgi.util.NLS;
-
-/**
- *
- */
-public class Messages extends NLS {
-	private static final String BUNDLE_NAME = "org.eclipse.wst.jsdt.debug.opera.internal.launching.messages"; //$NON-NLS-1$
-	public static String connector_desc;
-	public static String connector_id;
-	public static String connector_name;
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/OperaListeningConnector.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/OperaListeningConnector.java
deleted file mode 100644
index ecfcf7b..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/OperaListeningConnector.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.launching;
-
-import java.beans.ExceptionListener;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.VirtualMachine;
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.ListeningConnector;
-import org.eclipse.wst.jsdt.debug.opera.internal.jsdi.VirtualMachineImpl;
-
-import com.opera.core.DefaultListener;
-import com.opera.core.ScopeSDK;
-import com.opera.core.scope.ScopeClient;
-
-/**
- * Default listening connector
- */
-public class OperaListeningConnector implements ListeningConnector {
-
-	/**
-	 * Constructor
-	 */
-	public OperaListeningConnector() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#defaultArguments()
-	 */
-	public Map defaultArguments() {
-		HashMap args = new HashMap();
-		args.put(HostArgument.HOST, new HostArgument(null));
-		args.put(PortArgument.PORT, new PortArgument(7001));
-		return args;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#description()
-	 */
-	public String description() {
-		return Messages.connector_desc;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#name()
-	 */
-	public String name() {
-		return Messages.connector_name;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector#id()
-	 */
-	public String id() {
-		return Messages.connector_id;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.ListeningConnector#accept(java.util.Map)
-	 */
-	public VirtualMachine accept(Map arguments) throws IOException {
-		DefaultListener listener = new DefaultListener();
-		ExceptionListener el = new ExceptionListener() {
-			public void exceptionThrown(Exception e) {
-				e.printStackTrace();
-			}
-		};
-		String host = (String) arguments.get(HostArgument.HOST);
-		String port = (String) arguments.get(PortArgument.PORT);
-		if(host == null || port == null) {
-			throw new IOException("The host or port arguments cannot be null"); //$NON-NLS-1$
-		}
-		int portnum = -1;
-		try {
-			portnum = Integer.parseInt(port);
-		}
-		catch(NumberFormatException nfe) {
-			throw new IOException("The given port was not an integer"); //$NON-NLS-1$
-		}
-		ScopeSDK scope = new ScopeSDK(listener, el, host, portnum, -1, null);
-		try {
-			scope.start();
-			ScopeClient client = listener.waitForClient(50000, TimeUnit.MILLISECONDS);
-			if(client != null) {
-				VirtualMachineImpl vm = new VirtualMachineImpl(client);
-				return vm;
-			}
-			throw new IOException("Could not start the ScopeSDK builder"); //$NON-NLS-1$
-		}
-		catch(IOException ioe) {
-			scope.stop();
-			throw ioe;
-		}
-	}
-}
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/PortArgument.java b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/PortArgument.java
deleted file mode 100644
index f4e5db3..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/PortArgument.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.jsdt.debug.opera.internal.launching;
-
-import org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument;
-
-/**
- * Implementation of an {@link IntegerArgument} that describes the port to try connecting to
- * 
- * @since 1.0
- */
-public class PortArgument implements IntegerArgument {
-
-	private static final long serialVersionUID = -1954469572907116388L;
-	private int port;
-
-	/**
-	 * The port attribute name
-	 */
-	public static final String PORT = "port"; //$NON-NLS-1$
-
-	/**
-	 * Constructor
-	 * 
-	 * @param port
-	 */
-	public PortArgument(int port) {
-		setValue(port);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#intValue()
-	 */
-	public int intValue() {
-		return port;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#isValid(int)
-	 */
-	public boolean isValid(int intValue) {
-		return intValue > 0;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#max()
-	 */
-	public int max() {
-		return Integer.MAX_VALUE;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#min()
-	 */
-	public int min() {
-		return 1;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#setValue(int)
-	 */
-	public void setValue(int port) {
-		this.port = port;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#description()
-	 */
-	public String description() {
-		return "The local port to open"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.IntegerArgument#isValid(java.lang.String)
-	 */
-	public boolean isValid(String value) {
-		try {
-			int intValue = Integer.parseInt(value);
-			return isValid(intValue);
-		} catch (NumberFormatException e) {
-			return false;
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#label()
-	 */
-	public String label() {
-		return "Port:"; //$NON-NLS-1$
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#mustSpecify()
-	 */
-	public boolean mustSpecify() {
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#name()
-	 */
-	public String name() {
-		return PORT;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#setValue(java.lang.String)
-	 */
-	public void setValue(String value) {
-		try {
-			int intValue = Integer.parseInt(value);
-			setValue(intValue);
-		} catch (NumberFormatException nfe) {
-			// re-throw IllegalArgumentException
-			throw new IllegalArgumentException(nfe.getMessage());
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.wst.jsdt.debug.core.jsdi.connect.Connector.Argument#value()
-	 */
-	public String value() {
-		return Integer.toString(port);
-	}
-}
\ No newline at end of file
diff --git a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/messages.properties b/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/messages.properties
deleted file mode 100644
index 58d05a8..0000000
--- a/development/org.eclipse.wst.jsdt.debug.opera/src/org/eclipse/wst/jsdt/debug/opera/internal/launching/messages.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-connector_desc=Starts the Opera builder and listens for a browser to connect
-connector_id=org.eclipse.wst.jsdt.debug.opera.listening.connector
-connector_name=Opera - Listening Connector