[xiph-commits] r3758 - / AnxCreator AnxCreator/AnxCreate AnxCreator/CMMLToAnx AnxCreator/NSIS AnxCreator/TranscodeToOggDistrib AnxCreator/_UpgradeReport_Files AnxCreator/builds AnxCreator/builds/AnxCreateDistrib AnxCreator/docs AnxCreator/dsfAudioResampleFilter AnxCreator/dsfVideoResampleFilter AnxCreator/help AnxCreator/help/images AnxCreator/ico AnxCreator/libDSEncodeDotNET AnxCreator/libDSGraphManip AnxCreator/license AnxCreator/profiles AnxCreator/reg AnxCreator/testDotNETCMMLTags AnxCreator/testGraphManip AnxCreator/transcodeToOgg
silvia at svn.annodex.net
silvia at svn.annodex.net
Sat Nov 1 04:21:59 PDT 2008
Author: silvia
Date: 2008-11-01 04:21:57 -0700 (Sat, 01 Nov 2008)
New Revision: 3758
Added:
AnxCreator/
AnxCreator/AnxCreate/
AnxCreator/AnxCreate/App.ico
AnxCreator/AnxCreate/AssemblyInfo.cs
AnxCreator/AnxCreate/CMMLTrack.cs
AnxCreator/AnxCreate/ClipControl.cs
AnxCreator/AnxCreate/ClipControl.resx
AnxCreator/AnxCreate/DMTagger.csproj
AnxCreator/AnxCreate/DMTagger.exe.manifest
AnxCreator/AnxCreate/DeviceProfile.cs
AnxCreator/AnxCreate/DeviceProfiles/
AnxCreator/AnxCreate/FrameBack.gif
AnxCreator/AnxCreate/FrameStep.gif
AnxCreator/AnxCreate/INotifyClipSelection.cs
AnxCreator/AnxCreate/InMarker.gif
AnxCreator/AnxCreate/LoopInToOut.gif
AnxCreator/AnxCreate/MarkIn.gif
AnxCreator/AnxCreate/MarkOut.gif
AnxCreator/AnxCreate/OutMarker.gif
AnxCreator/AnxCreate/PlayInToOut.gif
AnxCreator/AnxCreate/ProjectSettings.cs
AnxCreator/AnxCreate/TimeConvert.cs
AnxCreator/AnxCreate/TrackList.cs
AnxCreator/AnxCreate/anx_icon_8.ico
AnxCreator/AnxCreate/cntrlClipList.cs
AnxCreator/AnxCreate/cntrlClipList.resx
AnxCreator/AnxCreate/cntrlSingleClip.cs
AnxCreator/AnxCreate/cntrlSingleClip.resx
AnxCreator/AnxCreate/frmAbout.cs
AnxCreator/AnxCreate/frmAbout.resx
AnxCreator/AnxCreate/frmCreateAnnodex.cs
AnxCreator/AnxCreate/frmCreateAnnodex.resx
AnxCreator/AnxCreate/frmDeviceProfile.cs
AnxCreator/AnxCreate/frmDeviceProfile.resx
AnxCreator/AnxCreate/frmEditTags.cs
AnxCreator/AnxCreate/frmEditTags.resx
AnxCreator/AnxCreate/frmInvalidTime.cs
AnxCreator/AnxCreate/frmInvalidTime.resx
AnxCreator/AnxCreate/frmLicense.cs
AnxCreator/AnxCreate/frmLicense.resx
AnxCreator/AnxCreate/frmMain.cs
AnxCreator/AnxCreate/frmMain.resx
AnxCreator/AnxCreate/frmMetaTag.cs
AnxCreator/AnxCreate/frmMetaTag.resx
AnxCreator/AnxCreate/frmNewProjectWizard.cs
AnxCreator/AnxCreate/frmNewProjectWizard.resx
AnxCreator/AnxCreate/frmNewTrack.cs
AnxCreator/AnxCreate/frmNewTrack.resx
AnxCreator/AnxCreate/frmOptions.cs
AnxCreator/AnxCreate/frmOptions.resx
AnxCreator/AnxCreate/frmProjectProperties.cs
AnxCreator/AnxCreate/frmProjectProperties.resx
AnxCreator/AnxCreate/frmSelectTrack.cs
AnxCreator/AnxCreate/frmSelectTrack.resx
AnxCreator/AnxCreate/iSplice.csproj
AnxCreator/AnxCreate/iSplice.csproj.user
AnxCreator/AnxCreate/iSplice.exe.manifest
AnxCreator/AnxCreate/mediaProgressCursor.bmp
AnxCreator/AnxCreate/mediaProgressCursorLine.gif
AnxCreator/AnxCreate/mediaProgressCursorPointer.gif
AnxCreator/AnxCreator.sln
AnxCreator/CMMLToAnx/
AnxCreator/CMMLToAnx/CMMLToAnx.cpp
AnxCreator/CMMLToAnx/CMMLToAnx.vcproj
AnxCreator/CMMLToAnx/ReadMe.txt
AnxCreator/CMMLToAnx/stdafx.cpp
AnxCreator/CMMLToAnx/stdafx.h
AnxCreator/DMTagger.sln
AnxCreator/NSIS/
AnxCreator/NSIS/transcodeToOgg.nsi
AnxCreator/TranscodeToOggDistrib/
AnxCreator/TranscodeToOggDistrib/TranscodeToOggDistrib.vdproj
AnxCreator/UpgradeLog.XML
AnxCreator/_UpgradeReport_Files/
AnxCreator/_UpgradeReport_Files/UpgradeReport.css
AnxCreator/_UpgradeReport_Files/UpgradeReport.xslt
AnxCreator/_UpgradeReport_Files/UpgradeReport_Minus.gif
AnxCreator/_UpgradeReport_Files/UpgradeReport_Plus.gif
AnxCreator/builds/
AnxCreator/builds/AnxCreateDistrib/
AnxCreator/builds/AnxCreateDistrib/AnxCreateDistrib.vdproj
AnxCreator/docs/
AnxCreator/docs/create_anx_intf_041231.JPG
AnxCreator/docs/create_anx_intf_050105.JPG
AnxCreator/docs/eg_dev_prof_041220.xml
AnxCreator/docs/intf_041206_1308.JPG
AnxCreator/docs/intf_041206_1350.JPG
AnxCreator/docs/intf_041220.JPG
AnxCreator/docs/intf_041220_device.JPG
AnxCreator/docs/intf_041220_device_aud.JPG
AnxCreator/docs/intf_041220_device_vid.JPG
AnxCreator/docs/intf_041230.JPG
AnxCreator/docs/intf_041230_0911.JPG
AnxCreator/docs/intf_050101.jpeg
AnxCreator/docs/intf_050104.JPG
AnxCreator/docs/intf_050105.jpeg
AnxCreator/docs/intf_050120.JPG
AnxCreator/docs/intf_050125.JPG
AnxCreator/docs/make_anx.jpg
AnxCreator/docs/resample_graphedit.JPG
AnxCreator/dsfAudioResampleFilter/
AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.cpp
AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.def
AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.h
AnxCreator/dsfAudioResampleFilter/IAudioResampleSettings.h
AnxCreator/dsfAudioResampleFilter/ReadMe.txt
AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.cpp
AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.h
AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.cpp
AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.vcproj
AnxCreator/dsfAudioResampleFilter/sAudioResampleParams.h
AnxCreator/dsfAudioResampleFilter/stdafx.cpp
AnxCreator/dsfAudioResampleFilter/stdafx.h
AnxCreator/dsfVideoResampleFilter/
AnxCreator/dsfVideoResampleFilter/IVideoResampleSettings.h
AnxCreator/dsfVideoResampleFilter/ReadMe.txt
AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.cpp
AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.def
AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.h
AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.cpp
AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.vcproj
AnxCreator/dsfVideoResampleFilter/sVideoResampleParams.h
AnxCreator/dsfVideoResampleFilter/stdafx.cpp
AnxCreator/dsfVideoResampleFilter/stdafx.h
AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.cpp
AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.h
AnxCreator/help/
AnxCreator/help/AnxCreator.chm
AnxCreator/help/AnxCreator.hhp
AnxCreator/help/AnxCreatorTOC.hhc
AnxCreator/help/ClipWindow.htm
AnxCreator/help/CreateAnnodex.htm
AnxCreator/help/CreateOgg.htm
AnxCreator/help/CreatingClips.htm
AnxCreator/help/CreatingTracks.htm
AnxCreator/help/DMTagger.chm
AnxCreator/help/DMTagger.hhp
AnxCreator/help/DMTaggerTOC.hhc
AnxCreator/help/DMTaggerhelp.css
AnxCreator/help/DeviceProfile.htm
AnxCreator/help/GeneralTroubleshooting.htm
AnxCreator/help/GettingALicense.htm
AnxCreator/help/GettingStarted.htm
AnxCreator/help/IntroducingAnxCreator.htm
AnxCreator/help/IntroducingDMTagger.htm
AnxCreator/help/IntroducingiSplice.htm
AnxCreator/help/MediaControls.htm
AnxCreator/help/OpeningProjects.htm
AnxCreator/help/Prerequisites.htm
AnxCreator/help/ProjectProperties.htm
AnxCreator/help/UsingDMTagger.htm
AnxCreator/help/UsingiSplice.htm
AnxCreator/help/WhatsNew.htm
AnxCreator/help/anxcreatorhelp.css
AnxCreator/help/iSplice.chm
AnxCreator/help/iSplice.hhp
AnxCreator/help/iSpliceTOC.hhc
AnxCreator/help/iSplicehelp.css
AnxCreator/help/images/
AnxCreator/help/images/ClipWindow.jpg
AnxCreator/help/images/TrackButtons.jpg
AnxCreator/help/images/browsebutton.jpg
AnxCreator/help/images/createannodex.jpg
AnxCreator/help/images/createogg.jpg
AnxCreator/help/images/deviceprofile.jpg
AnxCreator/help/images/deviceprofileaudio.jpg
AnxCreator/help/images/deviceprofilevideo.jpg
AnxCreator/help/images/fastforwardbutton.jpg
AnxCreator/help/images/framestepbackbutton.jpg
AnxCreator/help/images/framestepbutton.jpg
AnxCreator/help/images/licensekeyonlinebutton.jpg
AnxCreator/help/images/licensing.jpg
AnxCreator/help/images/mediacontrol.jpg
AnxCreator/help/images/mediawindowandcontrols.jpg
AnxCreator/help/images/newbutton.jpg
AnxCreator/help/images/newclip.jpg
AnxCreator/help/images/newtrack.jpg
AnxCreator/help/images/pausebutton.jpg
AnxCreator/help/images/playbutton.jpg
AnxCreator/help/images/projectproperties.jpg
AnxCreator/help/images/rewindbutton.jpg
AnxCreator/help/images/startnewproject.jpg
AnxCreator/help/images/stopbutton.jpg
AnxCreator/help/images/timelinebar.jpg
AnxCreator/help/images/timelinedisplay.jpg
AnxCreator/help/images/updatelicensebox.jpg
AnxCreator/help/images/volumedisplay.jpg
AnxCreator/iSplice.sln
AnxCreator/ico/
AnxCreator/ico/GoToBeginning.png
AnxCreator/ico/GoToEnd.png
AnxCreator/ico/GoToNextClip.png
AnxCreator/ico/GoToPreviousClip.png
AnxCreator/ico/ImageButton_src.zip
AnxCreator/ico/NextClip.png
AnxCreator/ico/Pause.png
AnxCreator/ico/Play.png
AnxCreator/ico/PreviousClip.png
AnxCreator/ico/Stop.png
AnxCreator/ico/anx_icon_2.ico
AnxCreator/ico/anx_icon_3.ico
AnxCreator/ico/anx_icon_7.ico
AnxCreator/ico/anx_icon_8.ico
AnxCreator/ico/black_fadv.png
AnxCreator/ico/csiro_logo.gif
AnxCreator/libDSEncodeDotNET/
AnxCreator/libDSEncodeDotNET/AnxEncoder.cpp
AnxCreator/libDSEncodeDotNET/AnxEncoder.h
AnxCreator/libDSEncodeDotNET/AssemblyInfo.cpp
AnxCreator/libDSEncodeDotNET/IDNEncodeMediaEvent.h
AnxCreator/libDSEncodeDotNET/ReadMe.txt
AnxCreator/libDSEncodeDotNET/Stdafx.cpp
AnxCreator/libDSEncodeDotNET/Stdafx.h
AnxCreator/libDSEncodeDotNET/app.ico
AnxCreator/libDSEncodeDotNET/app.rc
AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.cpp
AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.h
AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.vcproj
AnxCreator/libDSEncodeDotNET/resource.h
AnxCreator/libDSGraphManip/
AnxCreator/libDSGraphManip/DSGraphHelper.cpp
AnxCreator/libDSGraphManip/DSGraphHelper.h
AnxCreator/libDSGraphManip/ReadMe.txt
AnxCreator/libDSGraphManip/libDSGraphManip.cpp
AnxCreator/libDSGraphManip/libDSGraphManip.h
AnxCreator/libDSGraphManip/libDSGraphManip.vcproj
AnxCreator/libDSGraphManip/stdafx.cpp
AnxCreator/libDSGraphManip/stdafx.h
AnxCreator/license/
AnxCreator/license/AssemblyInfo.cpp
AnxCreator/license/GetMac.cpp
AnxCreator/license/ReadMe.txt
AnxCreator/license/app.aps
AnxCreator/license/app.ico
AnxCreator/license/app.rc
AnxCreator/license/des.cpp
AnxCreator/license/des.h
AnxCreator/license/getmac.h
AnxCreator/license/license.vcproj
AnxCreator/license/licenseControl.cpp
AnxCreator/license/licenseControl.h
AnxCreator/license/licenseControl.resX
AnxCreator/license/licenseDialog.cpp
AnxCreator/license/licenseDialog.h
AnxCreator/license/licenseDialog.resX
AnxCreator/license/md5.cpp
AnxCreator/license/md5.h
AnxCreator/license/resource.h
AnxCreator/license/stdafx.cpp
AnxCreator/license/stdafx.h
AnxCreator/profiles/
AnxCreator/profiles/default.dpml
AnxCreator/reg/
AnxCreator/reg/app_AnxCreate.reg
AnxCreator/reg/fe_anxproj.reg
AnxCreator/reg/ft_anxproj.reg
AnxCreator/temp/
AnxCreator/testDotNETCMMLTags/
AnxCreator/testDotNETCMMLTags/App.ico
AnxCreator/testDotNETCMMLTags/AssemblyInfo.cs
AnxCreator/testDotNETCMMLTags/Class1.cs
AnxCreator/testDotNETCMMLTags/bin/
AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj
AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj.user
AnxCreator/testGraphManip/
AnxCreator/testGraphManip/ReadMe.txt
AnxCreator/testGraphManip/stdafx.cpp
AnxCreator/testGraphManip/stdafx.h
AnxCreator/testGraphManip/testGraphManip.cpp
AnxCreator/testGraphManip/testGraphManip.vcproj
AnxCreator/transcodeToOgg/
AnxCreator/transcodeToOgg/ReadMe.txt
AnxCreator/transcodeToOgg/stdafx.cpp
AnxCreator/transcodeToOgg/stdafx.h
AnxCreator/transcodeToOgg/transcodeToOgg.cpp
AnxCreator/transcodeToOgg/transcodeToOgg.vcproj
Log:
AnxCreator code from CSIRO open sourced
Added: AnxCreator/AnxCreate/App.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/App.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/AssemblyInfo.cs
===================================================================
--- AnxCreator/AnxCreate/AssemblyInfo.cs (rev 0)
+++ AnxCreator/AnxCreate/AssemblyInfo.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,58 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("DMTagger")]
+[assembly: AssemblyDescription("Authoring tool for Annodex media")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("CSIRO ICT Centre")]
+[assembly: AssemblyProduct("DMTagger")]
+[assembly: AssemblyCopyright("Copyright (C) 2004- CSIRO ICT Centre.")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+// When specifying the KeyFile, the location of the KeyFile should be
+// relative to the project output directory which is
+// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+// located in the project directory, you would specify the AssemblyKeyFile
+// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Property changes on: AnxCreator/AnxCreate/AssemblyInfo.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/CMMLTrack.cs
===================================================================
--- AnxCreator/AnxCreate/CMMLTrack.cs (rev 0)
+++ AnxCreator/AnxCreate/CMMLTrack.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,42 @@
+using System;
+using System.Collections;
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for CMMLTrack.
+ /// </summary>
+ public class CMMLTrack
+ {
+ public SortedList ClipList;
+
+ private String mTrackName;
+ private String mLanguage;
+ private bool mIsLTR;
+
+ public CMMLTrack(String inTrackName, String inLanguage, bool inIsLTR)
+ {
+ //
+ // TODO: Add constructor logic here
+ //
+ ClipList = new SortedList();
+ mTrackName = inTrackName;
+ mLanguage = inLanguage;
+ mIsLTR = inIsLTR;
+ }
+
+ public String Language()
+ {
+ return mLanguage;
+ }
+
+ public bool IsLTR()
+ {
+ return mIsLTR;
+ }
+
+ public String TrackName()
+ {
+ return mTrackName;
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/CMMLTrack.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/ClipControl.cs
===================================================================
--- AnxCreator/AnxCreate/ClipControl.cs (rev 0)
+++ AnxCreator/AnxCreate/ClipControl.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,72 @@
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for ClipControl.
+ /// </summary>
+ public class ClipControl : System.Windows.Forms.UserControl
+ {
+ private System.Windows.Forms.VScrollBar vScrollBar1;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public ClipControl()
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+
+ // TODO: Add any initialization after the InitializeComponent call
+
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
+ this.SuspendLayout();
+ //
+ // vScrollBar1
+ //
+ this.vScrollBar1.Location = new System.Drawing.Point(184, 0);
+ this.vScrollBar1.Name = "vScrollBar1";
+ this.vScrollBar1.Size = new System.Drawing.Size(16, 328);
+ this.vScrollBar1.TabIndex = 0;
+ //
+ // ClipControl
+ //
+ this.Controls.Add(this.vScrollBar1);
+ this.Name = "ClipControl";
+ this.Size = new System.Drawing.Size(200, 336);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+ }
+}
Property changes on: AnxCreator/AnxCreate/ClipControl.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/ClipControl.resx
===================================================================
--- AnxCreator/AnxCreate/ClipControl.resx (rev 0)
+++ AnxCreator/AnxCreate/ClipControl.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="vScrollBar1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="vScrollBar1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="vScrollBar1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Name">
+ <value>ClipControl</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/ClipControl.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/DMTagger.csproj
===================================================================
--- AnxCreator/AnxCreate/DMTagger.csproj (rev 0)
+++ AnxCreator/AnxCreate/DMTagger.csproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,329 @@
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.10.3077"
+ SchemaVersion = "2.0"
+ ProjectGuid = "{A2DD4A46-9A05-4165-9E22-1CB027B7908E}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = "..\ico\anx_icon_8.ico"
+ AssemblyKeyContainerName = ""
+ AssemblyName = "DMTaggerNoObf"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "WinExe"
+ PreBuildEvent = ""
+ PostBuildEvent = 'cd $(SolutionDir)

if $(ConfigurationName) == Release Goto Release
copy $(TargetDir)\DMTaggerNoObf.exe $(TargetDir)\DMTagger.exe
Goto Next

:Release
"$(DevEnvDir)..\..\PreEmptive Solutions\Dotfuscator Community Edition\dotfuscator.exe" obfuscateDMTagger.xml
copy $(TargetDir)\Obfuscated\DMTaggerNoObf.exe $(TargetDir)\DMTagger.exe

:Next
copy $(SolutionDir)\help\*.chm $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLParse\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLParse\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLTags\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLTags\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(Solution
Dir)\..\oggdsf\src\lib\helper\libTemporalURI\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\helper\libTemporalURI\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\dsfAudioResampleFilter\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\dsfAudioResampleFilter\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\dsfVideoResampleFilter\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\dsfVideoResampleFilter\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\libDSGraphManip\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\libDSGraphManip\$(ConfigurationName)\*.pdb $(TargetDir)
mkdir $(TargetDir)\profiles
copy $(SolutionDir)\profiles\*.dpml $(TargetDir)\profiles\

'
+ RootNamespace = "DMTagger"
+ RunPostBuildEvent = "OnBuildSuccess"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "true"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+ />
+ <Reference
+ Name = "System.Drawing"
+ AssemblyName = "System.Drawing"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
+ />
+ <Reference
+ Name = "System.Windows.Forms"
+ AssemblyName = "System.Windows.Forms"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+ />
+ <Reference
+ Name = "libCMMLTagsDotNET"
+ Project = "{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libDSPlayDotNET"
+ Project = "{E274665B-12E3-4C7F-A749-FAB0C0A73522}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libDSEncodeDotNET"
+ Project = "{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libCMMLParseDotNET"
+ Project = "{150940C1-A4EF-474D-8703-DF7100ABDA52}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libTemporalURIDotNET"
+ Project = "{E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "WMPLib"
+ Guid = "{6BF52A50-394A-11D3-B153-00C04F79FAA6}"
+ VersionMajor = "1"
+ VersionMinor = "0"
+ Lcid = "0"
+ WrapperTool = "tlbimp"
+ />
+ <Reference
+ Name = "AxWMPLib"
+ Guid = "{6BF52A50-394A-11D3-B153-00C04F79FAA6}"
+ VersionMajor = "1"
+ VersionMinor = "0"
+ Lcid = "0"
+ WrapperTool = "aximp"
+ />
+ <Reference
+ Name = "System.Management"
+ AssemblyName = "System.Management"
+ HintPath = "..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Management.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "anx_icon_8.ico"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "App.ico"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "AssemblyInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "CMMLTrack.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "cntrlClipList.cs"
+ SubType = "UserControl"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "cntrlClipList.resx"
+ DependentUpon = "cntrlClipList.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "cntrlSingleClip.cs"
+ SubType = "UserControl"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "cntrlSingleClip.resx"
+ DependentUpon = "cntrlSingleClip.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "DeviceProfile.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmAbout.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmAbout.resx"
+ DependentUpon = "frmAbout.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmCreateAnnodex.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmCreateAnnodex.resx"
+ DependentUpon = "frmCreateAnnodex.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmDeviceProfile.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmDeviceProfile.resx"
+ DependentUpon = "frmDeviceProfile.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmEditTags.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmEditTags.resx"
+ DependentUpon = "frmEditTags.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmInvalidTime.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmInvalidTime.resx"
+ DependentUpon = "frmInvalidTime.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmLicense.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmLicense.resx"
+ DependentUpon = "frmLicense.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmMetaTag.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmMetaTag.resx"
+ DependentUpon = "frmMetaTag.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmNewProjectWizard.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmNewProjectWizard.resx"
+ DependentUpon = "frmNewProjectWizard.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmNewTrack.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmNewTrack.resx"
+ DependentUpon = "frmNewTrack.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmOptions.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmOptions.resx"
+ DependentUpon = "frmOptions.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmProjectProperties.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmProjectProperties.resx"
+ DependentUpon = "frmProjectProperties.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmSelectTrack.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmSelectTrack.resx"
+ DependentUpon = "frmSelectTrack.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "INotifyClipSelection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "ProjectSettings.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "TimeConvert.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "TrackList.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Property changes on: AnxCreator/AnxCreate/DMTagger.csproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/DMTagger.exe.manifest
===================================================================
--- AnxCreator/AnxCreate/DMTagger.exe.manifest (rev 0)
+++ AnxCreator/AnxCreate/DMTagger.exe.manifest 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+<description>.NET control deployment tool</description>
+<dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="X86"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+</dependency>
+</assembly>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/DMTagger.exe.manifest
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/DeviceProfile.cs
===================================================================
--- AnxCreator/AnxCreate/DeviceProfile.cs (rev 0)
+++ AnxCreator/AnxCreate/DeviceProfile.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,324 @@
+using System;
+using System.Xml;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for DeviceProfile.
+ /// </summary>
+ public class DeviceProfile
+ {
+ public String mProfileVersion = "1.0";
+ public String mProfileName = "";
+ public String mProfileDesc = "";
+ public String mVideoWidth = "";
+ public String mVideoHeight = "";
+ public String mVideoFrameRate = "";
+ public String mAudioSampleRate = "";
+ public String mAudioSampleWidth = "";
+ public String mAudioChannels = "";
+ public String mAudioVorbisQuality = "";
+
+ public String mVideoTheoraQuality = "";
+ public String mVideoTheoraTargetBitrate = "";
+
+ public DeviceProfile()
+ {
+ //
+ // TODO: Add constructor logic here
+ //
+ }
+
+ public void ResetValues()
+ {
+ mProfileVersion = "1.0";
+ mProfileName = "";
+ mProfileDesc = "";
+ mVideoWidth = "";
+ mVideoHeight = "";
+ mVideoFrameRate = "";
+ mAudioSampleRate = "";
+ mAudioSampleWidth = "";
+ mAudioChannels = "";
+ mAudioVorbisQuality = "";
+ mVideoTheoraQuality = "";
+ mVideoTheoraTargetBitrate = "";
+ }
+ public bool LoadXML(String inFileName)
+ {
+ ResetValues();
+
+ XmlDocument locSettingsXML = new XmlDocument();
+ try
+ {
+ locSettingsXML.Load(inFileName);
+ }
+ catch
+ {
+ return false;
+ }
+
+ XmlElement locRoot = locSettingsXML.DocumentElement;
+
+
+
+ if (locRoot.GetAttribute("version").StartsWith("1."))
+ {
+ //A version 1.x file
+
+ XmlNodeList locNodeList = locRoot.ChildNodes;
+
+
+ for (int i = 0; i < locNodeList.Count; i++)
+ {
+ XmlNode locNode = locNodeList.Item(i);
+
+ if (locNode.Name == "device")
+ {
+
+
+ XmlAttribute locAttrib = locNode.Attributes["name"];
+ if (locAttrib != null)
+ {
+ mProfileName = locAttrib.Value;
+ }
+ else
+ {
+ return false;
+ }
+
+ XmlNodeList locChildNodeList = locNode.ChildNodes;
+
+ for (int j = 0; j < locChildNodeList.Count; j++)
+ {
+ XmlNode locDescNode = locChildNodeList.Item(j);
+
+ if (locDescNode.Name == "desc")
+ {
+ mProfileDesc = locDescNode.InnerText;
+ }
+ }
+
+ }
+ else if (locNode.Name == "video")
+ {
+ XmlAttribute locAttrib = locNode.Attributes["width"];
+
+ if (locAttrib != null)
+ {
+ mVideoWidth = locAttrib.Value;
+
+ }
+ else
+ {
+ return false;
+ }
+
+ locAttrib = locNode.Attributes["height"];
+
+ if (locAttrib != null)
+ {
+ mVideoHeight = locAttrib.Value;
+ }
+ else
+ {
+ return false;
+ }
+
+ locAttrib = locNode.Attributes["framerate"];
+
+ if (locAttrib != null)
+ {
+ mVideoFrameRate = locAttrib.Value;
+ }
+ else
+ {
+ return false;
+ }
+
+ locAttrib = locNode.Attributes["theoraquality"];
+
+ if (locAttrib != null)
+ {
+ mVideoTheoraQuality = locAttrib.Value;
+ }
+ else
+ {
+ mVideoTheoraQuality = "30";
+
+ }
+
+ locAttrib = locNode.Attributes["theoratargetbitrate"];
+
+ if (locAttrib != null)
+ {
+ mVideoTheoraTargetBitrate = locAttrib.Value;
+ }
+ else
+ {
+ mVideoTheoraTargetBitrate = "400000";
+ }
+ }
+ else if (locNode.Name == "audio")
+ {
+ XmlAttribute locAttrib = locNode.Attributes["samplerate"];
+
+ if (locAttrib != null)
+ {
+ mAudioSampleRate = locAttrib.Value;
+
+ }
+ else
+ {
+ return false;
+ }
+
+ locAttrib = locNode.Attributes["samplewidth"];
+
+ if (locAttrib != null)
+ {
+ mAudioSampleWidth = locAttrib.Value;
+ }
+ else
+ {
+ return false;
+ }
+
+ locAttrib = locNode.Attributes["channels"];
+
+ if (locAttrib != null)
+ {
+ mAudioChannels = locAttrib.Value;
+ }
+ else
+ {
+ return false;
+ }
+
+ locAttrib = locNode.Attributes["vorbisquality"];
+
+ if (locAttrib != null)
+ {
+ mAudioVorbisQuality = locAttrib.Value;
+ }
+ else
+ {
+ mAudioVorbisQuality = "30";
+ }
+
+ }
+ }
+
+
+
+ }
+ else
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+
+ public bool SaveAsXML()
+ {
+ if (mProfileName == "")
+ {
+ return false;
+ }
+
+ //Make the document
+ XmlDocument locDeviceXML = new XmlDocument();
+
+ //----------------------------------------
+ //Create the root node
+ XmlNode locRootNode = locDeviceXML.CreateNode(XmlNodeType.Element, "mobdevprofile", "");
+ locDeviceXML.AppendChild(locRootNode);
+
+ //Create the version attribute
+ XmlAttribute locXMLVersion = locDeviceXML.CreateAttribute("version");
+ locXMLVersion.Value = "1.0";
+ locRootNode.Attributes.Append(locXMLVersion);
+
+ //----------------------------------------
+ //Create the device node
+ XmlNode locDeviceNode = locDeviceXML.CreateNode(XmlNodeType.Element, "device", "");
+ locRootNode.AppendChild(locDeviceNode);
+
+ //Create the device.name attribute
+ XmlAttribute locProfileName = locDeviceXML.CreateAttribute("name");
+ locProfileName.Value = mProfileName;
+ locDeviceNode.Attributes.Append(locProfileName);
+
+ //Create the device.desc node
+ XmlNode locDeviceDescNode = locDeviceXML.CreateNode(XmlNodeType.Element,"desc", "");
+ locDeviceDescNode.InnerText = mProfileDesc;
+ locDeviceNode.AppendChild(locDeviceDescNode);
+
+ //----------------------------------------
+ //Create the video node
+ XmlNode locVideoNode = locDeviceXML.CreateNode(XmlNodeType.Element, "video", "");
+ locRootNode.AppendChild(locVideoNode);
+
+ //Create the video.width attribute
+ XmlAttribute locVideoWidth = locDeviceXML.CreateAttribute("width");
+ locVideoWidth.Value = mVideoWidth;
+ locVideoNode.Attributes.Append(locVideoWidth);
+
+ //Create the video.height attribute
+ XmlAttribute locVideoHeight = locDeviceXML.CreateAttribute("height");
+ locVideoHeight.Value = mVideoHeight;
+ locVideoNode.Attributes.Append(locVideoHeight);
+
+ //Create the video.framerate attribute
+ XmlAttribute locVideoFrameRate = locDeviceXML.CreateAttribute("framerate");
+ locVideoFrameRate.Value = mVideoFrameRate;
+ locVideoNode.Attributes.Append(locVideoFrameRate);
+
+ //Create the video.theoraquality attribute
+ XmlAttribute locVideoTheoraQuality = locDeviceXML.CreateAttribute("theoraquality");
+ locVideoTheoraQuality.Value = mVideoTheoraQuality;
+ locVideoNode.Attributes.Append(locVideoTheoraQuality);
+
+ //Create the video.theoratargetbitrate attribute
+ XmlAttribute locTheoraTargetBitrate = locDeviceXML.CreateAttribute("theoratargetbitrate");
+ locTheoraTargetBitrate.Value = mVideoTheoraTargetBitrate;
+ locVideoNode.Attributes.Append(locTheoraTargetBitrate);
+
+ //----------------------------------------
+ //Create the audio node
+ XmlNode locAudioNode = locDeviceXML.CreateNode(XmlNodeType.Element, "audio", "");
+ locRootNode.AppendChild(locAudioNode);
+ //----------------------------------------
+
+ //Create the audio.samplerate attribute
+ XmlAttribute locAudioSampleRate = locDeviceXML.CreateAttribute("samplerate");
+ locAudioSampleRate.Value = mAudioSampleRate;
+ locAudioNode.Attributes.Append(locAudioSampleRate);
+
+ //Create the audio.samplewidth attribute
+ XmlAttribute locAudioSampleWidth = locDeviceXML.CreateAttribute("samplewidth");
+ locAudioSampleWidth.Value = mAudioSampleWidth;
+ locAudioNode.Attributes.Append(locAudioSampleWidth);
+
+ //Create the audio.channels attribute
+ XmlAttribute locAudioChannels = locDeviceXML.CreateAttribute("channels");
+ locAudioChannels.Value = mAudioChannels;
+ locAudioNode.Attributes.Append(locAudioChannels);
+
+ //Create the audio.vorbisquality attribute
+ XmlAttribute locAudioVorbisQuality = locDeviceXML.CreateAttribute("vorbisquality");
+ locAudioVorbisQuality.Value = mAudioVorbisQuality;
+ locAudioNode.Attributes.Append(locAudioVorbisQuality);
+
+ //----------------------------------------
+
+ //System.Windows.Forms.MessageBox.Show(System.Windows.Forms.Application.StartupPath);
+ locDeviceXML.Save(System.Windows.Forms.Application.StartupPath + "\\profiles\\" + mProfileName + ".dpml");
+
+ return true;
+
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/DeviceProfile.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/FrameBack.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/FrameBack.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/FrameStep.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/FrameStep.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/INotifyClipSelection.cs
===================================================================
--- AnxCreator/AnxCreate/INotifyClipSelection.cs (rev 0)
+++ AnxCreator/AnxCreate/INotifyClipSelection.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,13 @@
+using System;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for INotifyClipSelection.
+ /// </summary>
+ public interface INotifyClipSelection
+ {
+ void notifyClipSelection();
+ void notifyClipSeekRequest(Int64 inTime);
+ }
+}
Property changes on: AnxCreator/AnxCreate/INotifyClipSelection.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/InMarker.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/InMarker.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/LoopInToOut.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/LoopInToOut.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/MarkIn.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/MarkIn.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/MarkOut.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/MarkOut.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/OutMarker.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/OutMarker.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/PlayInToOut.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/PlayInToOut.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/ProjectSettings.cs
===================================================================
--- AnxCreator/AnxCreate/ProjectSettings.cs (rev 0)
+++ AnxCreator/AnxCreate/ProjectSettings.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,233 @@
+using System;
+using System.Xml;
+using System.IO;
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for ProjectSettings.
+ /// </summary>
+ public class ProjectSettings
+ {
+ private String mMediaFileName;
+ private String mProjectLocation;
+ private String mProjectName;
+ private String mProjectProfile;
+
+ public ProjectSettings()
+ {
+ //
+ // TODO: Add constructor logic here
+ //
+ mMediaFileName = "";
+ mProjectLocation = "";
+ mProjectName = "";
+ mProjectProfile = "";
+ }
+
+ public String ProjectProfile()
+ {
+ return mProjectProfile;
+ }
+
+ public void setProjectProfile(String inProjectProfile)
+ {
+ mProjectProfile = inProjectProfile;
+ }
+
+ public String MediaFileName()
+ {
+ return mMediaFileName;
+ }
+
+ public void setMediaFileName(String inMediaFileName)
+ {
+ mMediaFileName = inMediaFileName;
+ }
+
+ public String ProjectLocation()
+ {
+ return mProjectLocation;
+ }
+
+ public void setProjectLocation(String inProjectLocation)
+ {
+ mProjectLocation = inProjectLocation;
+ }
+
+ public String ProjectName()
+ {
+ return mProjectName;
+ }
+
+ public void setProjectName(String inProjectName)
+ {
+ mProjectName = inProjectName;
+ }
+
+ public bool loadSettingsXML(String inFileName)
+ {
+ XmlDocument locSettingsXML = new XmlDocument();
+ try
+ {
+ locSettingsXML.Load(inFileName);
+ }
+ catch (XmlException)
+ {
+ return false;
+ }
+
+ XmlElement locRoot = locSettingsXML.DocumentElement;
+
+ bool locFoundProject = false;
+ bool locFoundMedia = false;
+
+ if (locRoot.GetAttribute("version").StartsWith("1."))
+ {
+ //A version 1.x file
+
+ XmlNodeList locNodeList = locRoot.ChildNodes;
+
+
+ for (int i = 0; i < locNodeList.Count; i++)
+ {
+ XmlNode locNode = locNodeList.Item(i);
+
+ if (locNode.Name == "project")
+ {
+
+
+ XmlAttribute locAttrib = locNode.Attributes["name"];
+ if (locAttrib != null)
+ {
+ String locProjName = locAttrib.Value;
+ mProjectName = locProjName;
+ }
+ else
+ {
+ return false;
+ }
+
+ mProjectLocation = Path.GetDirectoryName(inFileName);
+ if (!Directory.Exists(mProjectLocation))
+ {
+ return false;
+ }
+
+// locAttrib = locNode.Attributes["location"];
+//
+// if (locAttrib != null)
+// {
+// String locProjLoc = locAttrib.Value;
+// mProjectLocation = locProjLoc;
+// }
+// else
+// {
+// return false;
+// }
+
+ locAttrib = locNode.Attributes["profile"];
+
+ if (locAttrib != null)
+ {
+ String locProjProfile = locAttrib.Value;
+ mProjectProfile = locProjProfile;
+ }
+ else
+ {
+ return false;
+ }
+
+ locFoundProject = true;
+
+ }
+ else if (locNode.Name == "media")
+ {
+ XmlAttribute locAttrib = locNode.Attributes["filename"];
+
+ if (locAttrib != null)
+ {
+ String locMediaFile = locAttrib.Value;
+
+ mMediaFileName = locMediaFile;
+ locFoundMedia = true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ if (locFoundMedia && locFoundProject)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+
+ }
+ else
+ {
+ return false;
+ }
+
+
+
+ }
+ public bool writeSettingsXML()
+ {
+ //Make the document
+ XmlDocument locSettingsXML = new XmlDocument();
+
+ //----------------------------------------
+ //Create the root node
+ XmlNode locRootNode = locSettingsXML.CreateNode(XmlNodeType.Element, "anxproject", "");
+ locSettingsXML.AppendChild(locRootNode);
+
+ //Create the version attribute
+ XmlAttribute locXMLVersion = locSettingsXML.CreateAttribute("version");
+ locXMLVersion.Value = "1.0";
+ locRootNode.Attributes.Append(locXMLVersion);
+
+ //----------------------------------------
+ //Create the project node
+ XmlNode locProjectNode = locSettingsXML.CreateNode(XmlNodeType.Element, "project", "");
+ locRootNode.AppendChild(locProjectNode);
+
+ //Create the project.name attribute
+ XmlAttribute locProjectName = locSettingsXML.CreateAttribute("name");
+ locProjectName.Value = mProjectName;
+ locProjectNode.Attributes.Append(locProjectName);
+
+// //Create the project.location attribute
+// XmlAttribute locProjectLocation = locSettingsXML.CreateAttribute("location");
+// locProjectLocation.Value = mProjectLocation;
+// locProjectNode.Attributes.Append(locProjectLocation);
+
+ //Create the project.profile attribute
+ XmlAttribute locProjectProfile = locSettingsXML.CreateAttribute("profile");
+ locProjectProfile.Value = mProjectProfile;
+ locProjectNode.Attributes.Append(locProjectProfile);
+
+ //----------------------------------------
+ //Create the media node
+ XmlNode locMediaNode = locSettingsXML.CreateNode(XmlNodeType.Element, "media", "");
+ locRootNode.AppendChild(locMediaNode);
+
+ //Create the media.filname attribute
+ XmlAttribute locMediaFileName = locSettingsXML.CreateAttribute("filename");
+ locMediaFileName.Value = mMediaFileName;
+ locMediaNode.Attributes.Append(locMediaFileName);
+
+
+ String locOutputFileName = mProjectLocation + "\\" + mProjectName + ".anxproj";
+
+
+ locSettingsXML.Save(locOutputFileName);
+
+ return true;
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/ProjectSettings.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/TimeConvert.cs
===================================================================
--- AnxCreator/AnxCreate/TimeConvert.cs (rev 0)
+++ AnxCreator/AnxCreate/TimeConvert.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,155 @@
+using System;
+using illiminable.libTemporalURIDotNET;
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for TimeConvert.
+ /// </summary>
+ public class TimeConvert
+ {
+ public TimeConvert()
+ {
+ //
+ // TODO: Add constructor logic here
+ //
+ }
+
+ public static String TimeStampToDisplayTime(String inTimeStamp)
+ {
+ if (inTimeStamp != null && inTimeStamp != "")
+ {
+ TimeStamp locStamp = new TimeStamp();
+ if (locStamp.parseTimeStamp(inTimeStamp))
+ {
+ Int64 locTime = locStamp.toHunNanos();
+ if (locTime == -1)
+ {
+ return "";
+ }
+ else
+ {
+ return toDisplayTimeString(locTime);
+ }
+ }
+ else
+ {
+ return "";
+ }
+ }
+ else
+ {
+ return "";
+ }
+ }
+
+ public static Int64 TimeStampToHunNanos(String inTimeStamp)
+ {
+ TimeStamp locStamp = new TimeStamp();
+ if (locStamp.parseTimeStamp(inTimeStamp))
+ {
+ return locStamp.toHunNanos();
+ }
+ else
+ {
+ return -1;
+ }
+ }
+
+ public static String displayTimeToNPTTime(String inDisplayTime)
+ {
+ //hh:mm:ss.nnn
+ Int32 locColonCount = 0;
+ for (int i = 0; i < inDisplayTime.Length; i++)
+ {
+ if (inDisplayTime[i] == ':')
+ {
+ locColonCount++;
+ }
+ }
+
+ switch (locColonCount)
+ {
+ case 0:
+ return inDisplayTime;
+ case 1:
+ return "npt:0:" + inDisplayTime;
+ case 2:
+ return "npt:" + inDisplayTime;
+ default:
+ return "";
+ }
+ }
+
+ public static String HunNanosToTimeStamp(Int64 inTime)
+ {
+ return displayTimeToNPTTime(toDisplayTimeString(inTime));
+ }
+
+
+ public static Int64 displayTimeToHunNanos(String inDisplayTime)
+ {
+
+
+ String locDisplayTime = displayTimeToNPTTime(inDisplayTime);
+ if (locDisplayTime == "")
+ {
+ return -1;
+ }
+ else
+ {
+ TimeStamp locStamp = new TimeStamp();
+ bool locResult = locStamp.parseTimeStamp(locDisplayTime);
+ if (!locResult)
+ {
+ return -1;
+ }
+ else
+ {
+ //Seemed to parse !
+ return locStamp.toHunNanos();
+ }
+ }
+
+ }
+
+ public static String toDisplayTimeString(Int64 inDuration)
+ {
+ String locDisplayTime = "";
+ Int64 locFract = inDuration % 10000000;
+ locFract = locFract / 10000;
+ Int64 locSeconds = inDuration / 10000000;
+ Int64 locMinutes = locSeconds / 60;
+ Int64 locHours = locMinutes / 60;
+ locMinutes = locMinutes % 60;
+ locSeconds = locSeconds % 60;
+ //if (locHours != 0)
+ //{
+ locDisplayTime = locHours.ToString() + ":";
+ if (locMinutes < 10)
+ {
+ locDisplayTime += "0";
+ }
+ //}
+
+ locDisplayTime += locMinutes.ToString() + ":";
+
+ if (locSeconds < 10)
+ {
+ locDisplayTime += "0";
+ }
+ locDisplayTime += locSeconds.ToString();
+
+ String locFractString = locFract.ToString();
+
+ int locStrLen = locFractString.Length;
+ for (int i = 0; i < 3-locStrLen; i++)
+ {
+ locFractString = "0" + locFractString;
+ }
+ locDisplayTime += "." + locFractString;
+
+ return locDisplayTime;
+ }
+
+ }
+}
Property changes on: AnxCreator/AnxCreate/TimeConvert.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/TrackList.cs
===================================================================
--- AnxCreator/AnxCreate/TrackList.cs (rev 0)
+++ AnxCreator/AnxCreate/TrackList.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,197 @@
+using System;
+using System.Collections;
+using illiminable.libCMMLTagsDotNET;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for TrackList.
+ /// </summary>
+ public class TrackList : ICloneable
+ {
+ private SortedList mTrackList;
+
+ public TrackList()
+ {
+ //
+ // TODO: Add constructor logic here
+ //
+ mTrackList = new SortedList();
+ //mTrackList.Add("default", new CMMLTrack("default"));
+ //AddTrack("default", "", true, "");
+ }
+
+ public object Clone()
+ {
+ TrackList locTrackList = new TrackList();
+ locTrackList.mTrackList = (SortedList)mTrackList.Clone();
+ return locTrackList;
+ }
+
+ public bool AddTrack(String inTrackName, String inLangauge, bool inIsLTR)
+ {
+ //TODO::: Validation that it doesn't already exist.
+ mTrackList.Add(inTrackName, new CMMLTrack(inTrackName, inLangauge, true));
+ return true;
+ }
+
+ public bool RemoveTrack(String inTrackName)
+ {
+ mTrackList.Remove(inTrackName);
+ return true;
+ }
+
+ public int NumTracks()
+ {
+ return mTrackList.Count;
+ }
+
+ public CMMLTrack GetTrack(int inTrackNo)
+ {
+ if ((inTrackNo >= 0) && (inTrackNo < mTrackList.Count))
+ {
+ return ((CMMLTrack)(mTrackList.GetByIndex(inTrackNo)));
+ }
+ return null;
+ }
+
+ public CMMLTrack GetTrack(String inTrackName)
+ {
+ if (inTrackName == "")
+ {
+ inTrackName = "default";
+ }
+ return (CMMLTrack)mTrackList[inTrackName];
+
+ }
+
+ public String GetTrackName(int inTrackNo)
+ {
+ if ((inTrackNo >= 0) && (inTrackNo < mTrackList.Count))
+ {
+ return ((CMMLTrack)(mTrackList.GetByIndex(inTrackNo))).TrackName();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+// public ClipTag GetClip(String inTrackName, String inAnchorText)
+// {
+// if (mTrackList.ContainsKey(inTrackName))
+// {
+// CMMLTrack locTrack = (CMMLTrack)mTrackList[inTrackName];
+// //foreach (ClipTag locClip in locTrack.ClipList)
+// for (int i = 0; i < locTrack.ClipList.Count; i++)
+// {
+// ClipTag locClip = (ClipTag)locTrack.ClipList.GetByIndex(i);
+// if (locClip.anchor().text() == inAnchorText)
+// {
+// return locClip;
+// }
+// }
+// }
+// return null;
+//
+// }
+
+ public ClipTag GetClipByTime(String inTrackName, String inTime)
+ {
+ //SSSS::: Assume input is display time
+ if (mTrackList.ContainsKey(inTrackName))
+ {
+ CMMLTrack locTrack = (CMMLTrack)mTrackList[inTrackName];
+ //foreach (ClipTag locClip in locTrack.ClipList)
+ for (int i = 0; i < locTrack.ClipList.Count; i++)
+ {
+ ClipTag locClip = (ClipTag)locTrack.ClipList.GetByIndex(i);
+ //SSSS::: Needs temporal
+ //DONE
+ if ((TimeConvert.TimeStampToHunNanos(locClip.start()) / 10000) ==
+ (TimeConvert.displayTimeToHunNanos(inTime) / 10000))
+ {
+ return locClip;
+ }
+ }
+ }
+ return null;
+ }
+
+ public bool AddClip(ClipTag inClipTag)
+ {
+
+ if ((inClipTag.track() == "") || (inClipTag.track() == "default"))
+ {
+ //It's explicitly or implicitly part of the default track.
+
+ //SSSS::: Needs temporal
+ //DONE
+ //((CMMLTrack)(mTrackList["default"])).ClipList.Add(Convert.ToUInt64(inClipTag.start()), inClipTag);
+ ((CMMLTrack)(mTrackList["default"])).ClipList.Add(TimeConvert.TimeStampToHunNanos(inClipTag.start())/ 10000, inClipTag);
+
+ return true;
+ }
+ else if (mTrackList.ContainsKey(inClipTag.track()))
+ {
+ //The named track already exists
+
+ //SSSS::: Needs temporal
+ //DONE
+ //((CMMLTrack)(mTrackList[inClipTag.track()])).ClipList.Add(Convert.ToUInt64(inClipTag.start()), inClipTag);
+ ((CMMLTrack)(mTrackList[inClipTag.track()])).ClipList.Add(TimeConvert.TimeStampToHunNanos(inClipTag.start()) / 10000, inClipTag);
+ return true;
+ }
+ else
+ {
+ //The named track is unknown we need to create it
+ //mTrackList.Add(inClipTag.track(), new CMMLTrack(inClipTag.track()));
+ //((CMMLTrack)(mTrackList[inClipTag.track()])).ClipList.Add(Convert.ToUInt64(inClipTag.start()), inClipTag);
+ //return true;
+ }
+
+ return false;
+ }
+
+ public void RemoveClip(ClipTag inClipTag)
+ {
+ String locTrackName = "";
+ if ((inClipTag.track() == "") || (inClipTag.track() == "default"))
+ {
+ //It's explicitly or implicitly part of the default track.
+ //((CMMLTrack)(mTrackList["default"])).ClipList.Add(Convert.ToUInt64(inClipTag.start()), inClipTag);
+
+
+ //CMMLTrack locTrack = ((CMMLTrack)(mTrackList["default"]));
+
+ locTrackName = "default";
+
+ //locTrack.ClipList.Add(0, inClipTag);
+ //locTrack.ClipList.Add(0, "lalala");
+ //return true;
+ }
+ else
+ {
+ locTrackName = inClipTag.track();
+ }
+
+ if (mTrackList.ContainsKey(locTrackName))
+ {
+ //The named track already exists
+ //((CMMLTrack)(mTrackList[inClipTag.track()])).ClipList.Add(Convert.ToUInt64(inClipTag.start()), inClipTag);
+
+ CMMLTrack locTrack = ((CMMLTrack)(mTrackList[locTrackName]));
+
+ //SSSS::: Needs temporal...
+ //DONE
+ //locTrack.ClipList.Remove(Convert.ToUInt64(inClipTag.start()));
+ locTrack.ClipList.Remove(TimeConvert.TimeStampToHunNanos(inClipTag.start())/ 10000);
+ //return true;
+ }
+ else
+ {
+ System.Windows.Forms.MessageBox.Show("Something wrong. Can't find track!!");
+ }
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/TrackList.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/anx_icon_8.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/anx_icon_8.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/cntrlClipList.cs
===================================================================
--- AnxCreator/AnxCreate/cntrlClipList.cs (rev 0)
+++ AnxCreator/AnxCreate/cntrlClipList.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,354 @@
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+using illiminable.libCMMLTagsDotNET;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for cntrlClipList.
+ /// </summary>
+ public class cntrlClipList : System.Windows.Forms.UserControl
+ {
+ private System.Windows.Forms.VScrollBar vScrollBar1;
+ private ArrayList mClipList = null;
+ private CMMLTrack mTrackOfClips = null;
+ private cntrlSingleClip mSelectedClip = null;
+ private INotifyClipSelection mEditFormCallback = null;
+ private ProjectSettings mSettings;
+
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public cntrlClipList(ProjectSettings inSettings)
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+
+ // TODO: Add any initialization after the InitializeComponent call
+ mClipList = new ArrayList();
+ //mTrackOfClips = inTrack;
+
+ mSettings = inSettings;
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ // free the clips and memory
+ removeAllClips();
+
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
+ this.SuspendLayout();
+ //
+ // vScrollBar1
+ //
+ this.vScrollBar1.Location = new System.Drawing.Point(240, 0);
+ this.vScrollBar1.Name = "vScrollBar1";
+ this.vScrollBar1.Size = new System.Drawing.Size(16, 576);
+ this.vScrollBar1.TabIndex = 0;
+ this.vScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.vScrollBar1_Scroll);
+ //
+ // cntrlClipList
+ //
+ this.AllowDrop = true;
+ this.BackColor = System.Drawing.SystemColors.Window;
+ this.Controls.Add(this.vScrollBar1);
+ this.Name = "cntrlClipList";
+ this.Size = new System.Drawing.Size(256, 576);
+ this.Load += new System.EventHandler(this.cntrlClipList_Load);
+ this.DragEnter += new System.Windows.Forms.DragEventHandler(this.cntrlClipList_DragEnter);
+ this.DragDrop += new System.Windows.Forms.DragEventHandler(this.cntrlClipList_DragDrop);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+
+ public void SetParentEditorForm(INotifyClipSelection inEditFormCallback)
+ {
+ mEditFormCallback = inEditFormCallback;
+ }
+
+ public INotifyClipSelection GetParentEditorForm()
+ {
+ return mEditFormCallback;
+ }
+
+ public void SelectClipByTime(String inTime)
+ {
+ //SSSS::: Assume display time
+ //DONE
+ populateClipControl(inTime);
+
+ }
+ private void cntrlClipList_Load(object sender, System.EventArgs e)
+ {
+ vScrollBar1.Maximum = 0;
+ }
+
+ public String trackName()
+ {
+ return mTrackOfClips.TrackName();
+ }
+
+ public cntrlSingleClip selectedClip()
+ {
+ return mSelectedClip;
+ }
+
+ public void notifySelected(cntrlSingleClip inClipControl)
+ {
+ if (mSelectedClip != null)
+ {
+ mSelectedClip.ShowAsUnselected();
+ }
+
+ mSelectedClip = inClipControl;
+
+ if (mSelectedClip != null)
+ {
+ inClipControl.ShowAsSelected();
+ mEditFormCallback.notifyClipSelection();
+ }
+ }
+
+ public void notifySelected(cntrlSingleClip inClipControl, Int64 inTime)
+ {
+ notifySelected(inClipControl);
+ mEditFormCallback.notifyClipSeekRequest(inTime);
+ }
+
+ public void setTrack(CMMLTrack inTrack)
+ {
+ mTrackOfClips = inTrack;
+ }
+
+ private void removeClipFromControlList(cntrlSingleClip inClip)
+ {
+
+ Controls.Remove(inClip);
+ }
+
+ private void removeAllClips()
+ {
+ //Loop through our list of singleclip controls
+ for (int i = 0; i < mClipList.Count; i++)
+ {
+ removeClipFromControlList((cntrlSingleClip)mClipList[i]);
+ }
+
+ mClipList.Clear();
+ }
+
+ public void populateClipControl()
+ {
+ String locSelectedTime = "0:00:00.000";
+ if (mSelectedClip != null)
+ {
+ //SSSS::: Temporal - assume this is the correct format
+ //DONE
+ locSelectedTime = mSelectedClip.clipTime();
+ }
+
+ populateClipControl(locSelectedTime);
+ }
+
+ public void populateClipControl(String inTime)
+ {
+ //SSSS:::: assume this input is display time hh:mm:ss.nn
+ //DONE
+ String locSelectedTime = inTime;
+
+ removeAllClips();
+ bool locAnySelected = false;
+ if (mTrackOfClips != null)
+ {
+ for (int i = 0; i < mTrackOfClips.ClipList.Count; i++)
+ {
+ cntrlSingleClip locClipControl = new cntrlSingleClip(mSettings);
+ ClipTag locClipTag = (ClipTag)mTrackOfClips.ClipList.GetByIndex(i);
+ locClipControl.SetFromClipTag(locClipTag);
+ addClip(locClipControl);
+ //SSSS::: Temporal
+ //DONE
+ //if ((Convert.ToUInt64(locClipControl.clipTime()) >= Convert.ToUInt64(locSelectedTime)) && (locAnySelected == false))
+ if ((TimeConvert.displayTimeToHunNanos(locClipControl.clipTime()) >=
+ TimeConvert.displayTimeToHunNanos(locSelectedTime)) &&
+ (locAnySelected == false))
+ {
+ locClipControl.ShowAsSelected();
+ mSelectedClip = locClipControl;
+ locAnySelected = true;
+ }
+
+ }
+ }
+
+ // Changed by DLB. 24/9/2005. Should test on thing we use
+ //if (!locAnySelected && (mTrackOfClips.ClipList.Count > 0))
+ if (!locAnySelected && (mClipList.Count > 0))
+ {
+ cntrlSingleClip locSCC = ((cntrlSingleClip)mClipList[0]);
+ locSCC.ShowAsSelected();
+ mSelectedClip = locSCC;
+ }
+
+ RedrawControl();
+ }
+
+ private void addClip(cntrlSingleClip inClip)
+ {
+ inClip.SetParentList(this);
+ mClipList.Add(inClip);
+ Controls.Add(inClip);
+ }
+
+ private const Int32 NUM_CLIPS = 9;
+ public void RedrawControl()
+ {
+ cntrlSingleClip locClip = null;
+
+ Int32 locStartAt = vScrollBar1.Value;
+
+ Int32 locGoFor = (mClipList.Count - locStartAt < NUM_CLIPS) ?
+ mClipList.Count - locStartAt : NUM_CLIPS;
+
+ //Hide these ones...
+ for (int i = 0; i < locStartAt; i++)
+ {
+ locClip = (cntrlSingleClip)mClipList[i];
+ locClip.Visible = false;
+ }
+
+ for (int i = 0 ; i < locGoFor; i++)
+ {
+ locClip = (cntrlSingleClip)mClipList[locStartAt+i];
+ locClip.Location = new System.Drawing.Point(0, i * locClip.Height);
+ locClip.Visible = true;
+ if ((i)*locClip.Height > this.Height)
+ {
+ break;
+ }
+ }
+
+ //Hide these ones...
+ for (int i = locStartAt+locGoFor; i < mClipList.Count; i++)
+ {
+ locClip = (cntrlSingleClip)mClipList[i];
+ locClip.Visible = false;
+ }
+ vScrollBar1.Maximum = mClipList.Count;
+ vScrollBar1.Minimum = 0;
+
+ Refresh();
+ }
+
+ private void vScrollBar1_Scroll(object sender, System.Windows.Forms.ScrollEventArgs e)
+ {
+ RedrawControl();
+ }
+
+ int counter=0;
+ public void DoDragScroll(cntrlSingleClip Clip)
+ {
+ counter++;
+ if (counter < 2)
+ return;
+
+ counter = 0;
+
+ for (int i=0; i < mClipList.Count; i++)
+ {
+ if ((cntrlSingleClip)mClipList[i] == Clip)
+ {
+ if (i == vScrollBar1.Value && vScrollBar1.Value > vScrollBar1.Minimum)
+ {
+ vScrollBar1.Value--;
+ RedrawControl();
+ break;
+ }
+ else if (i == vScrollBar1.Value + NUM_CLIPS - 1 && vScrollBar1.Value < vScrollBar1.Maximum - NUM_CLIPS)
+ {
+ vScrollBar1.Value++;
+ RedrawControl();
+ break;
+ }
+ }
+ }
+ }
+
+ private const int WHEEL_DELTA = 120;
+ public void doWheelScroll(int inDelta)
+ {
+ if (inDelta != 0)
+ {
+ // DLB. 2/9/2005. Do wheel mouse control of list
+ int locNewVal = vScrollBar1.Value - (inDelta / WHEEL_DELTA);
+
+ if (locNewVal > vScrollBar1.Maximum - NUM_CLIPS)
+ {
+ locNewVal = vScrollBar1.Maximum - NUM_CLIPS;
+ }
+
+ if (locNewVal < vScrollBar1.Minimum)
+ {
+ vScrollBar1.Value = vScrollBar1.Minimum;
+ }
+ else
+ {
+ vScrollBar1.Value = locNewVal;
+ }
+
+ RedrawControl();
+ }
+ }
+
+ private void cntrlClipList_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ }
+
+ private void cntrlClipList_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ {
+ frmEditTags locFrameEdit = ((frmEditTags.DragClass)e.Data.GetData("AnxCreate.frmEditTags+DragClass")).Edit;
+
+ //event(frmEditTags)
+ locFrameEdit.doNewClip();
+ }
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/cntrlClipList.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/cntrlClipList.resx
===================================================================
--- AnxCreator/AnxCreate/cntrlClipList.resx (rev 0)
+++ AnxCreator/AnxCreate/cntrlClipList.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="vScrollBar1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="vScrollBar1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="vScrollBar1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="contextMenu1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="contextMenu1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="contextMenu1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="RefreshClipList.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="RefreshClipList.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Name">
+ <value>cntrlClipList</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/cntrlClipList.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/cntrlSingleClip.cs
===================================================================
--- AnxCreator/AnxCreate/cntrlSingleClip.cs (rev 0)
+++ AnxCreator/AnxCreate/cntrlSingleClip.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,668 @@
+using System;
+using System.Collections;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Windows.Forms;
+using illiminable.libCMMLTagsDotNET;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for cntrlSingleClip.
+ /// </summary>
+ public class cntrlSingleClip : System.Windows.Forms.UserControl
+ {
+ private System.Windows.Forms.PictureBox picClipImage;
+ private System.Windows.Forms.Label lblClipText;
+ private System.Windows.Forms.Label lblClipDesc;
+ private String mImageLocation;
+ private System.Windows.Forms.Label lblTime;
+ private cntrlClipList mParentList = null;
+
+ // DLB. 19/5/2005.
+ private Rectangle doubleClickRectangle;
+ private Timer doubleClickTimer = new Timer();
+ private int clickCount = 0;
+ private int msClickTime = 0;
+
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+ private ProjectSettings mSettings;
+
+ public cntrlSingleClip(ProjectSettings inSettings)
+ {
+ // This call is required by the Windows.Forms Form Designer.
+ InitializeComponent();
+
+ // TODO: Add any initialization after the InitializeComponent call
+
+ mImageLocation = "";
+ mSettings = inSettings;
+
+ // DLB. 19/5/2005. Add the event handler for the double click timer.
+ doubleClickTimer.Interval = 100;
+ doubleClickTimer.Tick += new EventHandler(doubleClickTimer_Tick);
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Component Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.picClipImage = new System.Windows.Forms.PictureBox();
+ this.lblClipText = new System.Windows.Forms.Label();
+ this.lblClipDesc = new System.Windows.Forms.Label();
+ this.lblTime = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // picClipImage
+ //
+ this.picClipImage.AllowDrop = true;
+ this.picClipImage.BackColor = System.Drawing.Color.Black;
+ this.picClipImage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.picClipImage.Location = new System.Drawing.Point(0, 16);
+ this.picClipImage.Name = "picClipImage";
+ this.picClipImage.Size = new System.Drawing.Size(64, 48);
+ this.picClipImage.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.picClipImage.TabIndex = 0;
+ this.picClipImage.TabStop = false;
+ this.picClipImage.DragEnter += new System.Windows.Forms.DragEventHandler(this.picClipImage_DragEnter);
+ this.picClipImage.DragLeave += new System.EventHandler(this.picClipImage_DragLeave);
+ this.picClipImage.DragDrop += new System.Windows.Forms.DragEventHandler(this.picClipImage_DragDrop);
+ this.picClipImage.MouseUp += new System.Windows.Forms.MouseEventHandler(this.picClipImage_MouseUp);
+ this.picClipImage.DragOver += new System.Windows.Forms.DragEventHandler(this.picClipImage_DragOver);
+ this.picClipImage.MouseMove += new System.Windows.Forms.MouseEventHandler(this.picClipImage_MouseMove);
+ //
+ // lblClipText
+ //
+ this.lblClipText.AllowDrop = true;
+ this.lblClipText.BackColor = System.Drawing.Color.Silver;
+ this.lblClipText.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblClipText.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblClipText.Location = new System.Drawing.Point(64, 0);
+ this.lblClipText.Name = "lblClipText";
+ this.lblClipText.Size = new System.Drawing.Size(176, 16);
+ this.lblClipText.TabIndex = 0;
+ this.lblClipText.Text = "anchor";
+ this.lblClipText.DragEnter += new System.Windows.Forms.DragEventHandler(this.lblClipText_DragEnter);
+ this.lblClipText.DragLeave += new System.EventHandler(this.lblClipText_DragLeave);
+ this.lblClipText.DragDrop += new System.Windows.Forms.DragEventHandler(this.lblClipText_DragDrop);
+ this.lblClipText.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lblClipText_MouseUp);
+ this.lblClipText.DragOver += new System.Windows.Forms.DragEventHandler(this.lblClipText_DragOver);
+ this.lblClipText.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lblClipText_MouseMove);
+ //
+ // lblClipDesc
+ //
+ this.lblClipDesc.AllowDrop = true;
+ this.lblClipDesc.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblClipDesc.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblClipDesc.Location = new System.Drawing.Point(64, 16);
+ this.lblClipDesc.Name = "lblClipDesc";
+ this.lblClipDesc.Size = new System.Drawing.Size(176, 48);
+ this.lblClipDesc.TabIndex = 0;
+ this.lblClipDesc.Text = "This much text will fit in this space. Is this going to be enough";
+ this.lblClipDesc.DragEnter += new System.Windows.Forms.DragEventHandler(this.lblClipDesc_DragEnter);
+ this.lblClipDesc.DragLeave += new System.EventHandler(this.lblClipDesc_DragLeave);
+ this.lblClipDesc.DragDrop += new System.Windows.Forms.DragEventHandler(this.lblClipDesc_DragDrop);
+ this.lblClipDesc.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lblClipDesc_MouseUp);
+ this.lblClipDesc.DragOver += new System.Windows.Forms.DragEventHandler(this.lblClipDesc_DragOver);
+ this.lblClipDesc.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lblClipDesc_MouseMove);
+ //
+ // lblTime
+ //
+ this.lblTime.AllowDrop = true;
+ this.lblTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblTime.Location = new System.Drawing.Point(0, 0);
+ this.lblTime.Name = "lblTime";
+ this.lblTime.Size = new System.Drawing.Size(64, 16);
+ this.lblTime.TabIndex = 0;
+ this.lblTime.Text = "9:99:99.999";
+ this.lblTime.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.lblTime.DragEnter += new System.Windows.Forms.DragEventHandler(this.lblTime_DragEnter);
+ this.lblTime.DragLeave += new System.EventHandler(this.lblTime_DragLeave);
+ this.lblTime.DragDrop += new System.Windows.Forms.DragEventHandler(this.lblTime_DragDrop);
+ this.lblTime.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lblTime_MouseUp);
+ this.lblTime.DragOver += new System.Windows.Forms.DragEventHandler(this.lblTime_DragOver);
+ this.lblTime.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lblTime_MouseMove);
+ //
+ // cntrlSingleClip
+ //
+ this.BackColor = System.Drawing.Color.Gainsboro;
+ this.Controls.Add(this.lblTime);
+ this.Controls.Add(this.lblClipDesc);
+ this.Controls.Add(this.lblClipText);
+ this.Controls.Add(this.picClipImage);
+ this.Name = "cntrlSingleClip";
+ this.Size = new System.Drawing.Size(240, 64);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ public void SetParentList(cntrlClipList inParentList)
+ {
+ mParentList = inParentList;
+ }
+
+ public cntrlClipList ParentList()
+ {
+ return mParentList;
+ }
+
+ public void SetFromClipTag(ClipTag inClipTag)
+ {
+ if (inClipTag.anchor() != null)
+ {
+
+ lblClipText.Text = inClipTag.anchor().text();
+ }
+ else
+ {
+ lblClipText.Text = "";
+ }
+
+ if (inClipTag.desc() != null)
+ {
+ lblClipDesc.Text = inClipTag.desc().text();
+ }
+ else
+ {
+ lblClipDesc.Text = "";
+ }
+
+ lblTime.Text = TimeConvert.TimeStampToDisplayTime(inClipTag.start());
+
+ if (inClipTag.image() != null)
+ {
+ try
+ {
+ SetImageFile(mSettings.ProjectLocation() + "\\" + inClipTag.image().src());
+ }
+ catch
+ {
+ SetImageFile(null);
+ }
+ }
+ }
+
+ public String clipTime()
+ {
+ return lblTime.Text;
+ }
+
+ public void SetClipText(String inClipText)
+ {
+ lblClipText.Text = inClipText;
+ }
+
+ public String clipText()
+ {
+ return lblClipText.Text;
+ }
+
+ public void SetClipDesc(String inClipDesc)
+ {
+ lblClipDesc.Text = inClipDesc;
+ }
+
+ public String clipDesc()
+ {
+ return lblClipDesc.Text;
+ }
+
+ public void SetImageFile(String inFilename)
+ {
+ if (inFilename != null)
+ {
+ mImageLocation = inFilename;
+ Bitmap locBitMap = new Bitmap(inFilename);
+ picClipImage.Image = locBitMap;
+ }
+ else
+ {
+ mImageLocation = "";
+ picClipImage.Image = null;
+ }
+ }
+
+ public void ShowAsSelected()
+ {
+ lblClipDesc.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ lblClipDesc.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
+
+ lblClipText.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ lblClipText.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
+
+ lblTime.BackColor = System.Drawing.SystemColors.ActiveCaption;
+ lblTime.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
+ }
+
+ public void ShowAsUnselected()
+ {
+ lblClipDesc.BackColor = System.Drawing.Color.WhiteSmoke;
+ lblClipDesc.ForeColor = System.Drawing.SystemColors.ControlText;
+
+ lblClipText.BackColor = System.Drawing.Color.Silver;
+ lblClipText.ForeColor = System.Drawing.SystemColors.ControlText;
+
+ lblTime.BackColor = System.Drawing.Color.Gainsboro;
+ lblTime.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+
+ private void handleMouseUpEvent(System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ // This is not the first mouse click.
+ if (clickCount != 0)
+ {
+ // Verify that the mouse click is within the double click
+ // rectangle and is within the system-defined double
+ // click period.
+ if (doubleClickRectangle.Contains( new Point(e.X, e.Y) ) &&
+ msClickTime < SystemInformation.DoubleClickTime)
+ {
+ clickCount++;
+ }
+ else
+ {
+ // outside the defined rectangle so start again
+ clickCount = 0;
+ }
+ }
+
+ // if this is the first mouse click in this area
+ if (clickCount == 0)
+ {
+ clickCount = 1;
+
+ // Determine the location and size of the double click
+ // rectangle area to draw around the cursor point.
+ doubleClickRectangle = new Rectangle(
+ e.X - (SystemInformation.DoubleClickSize.Width / 2),
+ e.Y - (SystemInformation.DoubleClickSize.Height / 2),
+ SystemInformation.DoubleClickSize.Width,
+ SystemInformation.DoubleClickSize.Height);
+ Invalidate();
+
+ // Start the double click timer.
+ doubleClickTimer.Start();
+
+ if ( mParentList != null )
+ {
+ mParentList.notifySelected(this);
+
+ // DLB. 24/5/2005. By forcing a focus on us we ensure everyone else
+ // gets a .leave event. This enables us to ensure the
+ // control list gets redrawn upon description update.
+ mParentList.Focus();
+ }
+ }
+ }
+ }
+
+
+ // DLB. 19/5/2005 Time the double click.
+ private void doubleClickTimer_Tick(object sender, EventArgs e)
+ {
+ msClickTime += 100;
+
+ // DLB. 19/5/2005. Do the test here so we can handle double-click as soon as they do it,
+ // rather than waiting for the timer to expire.
+ if (clickCount == 2)
+ {
+ if ( (mParentList != null) && (lblTime.Text != ""))
+ {
+ mParentList.notifySelected(this, TimeConvert.displayTimeToHunNanos(lblTime.Text));
+ }
+ }
+
+ // We've done the double click or the timer has reached the double click time limit.
+ if (clickCount == 2 || msClickTime >= SystemInformation.DoubleClickTime)
+ {
+ doubleClickTimer.Stop();
+
+ // Allow the MouseDown event handler to process clicks again.
+ clickCount = 0;
+ msClickTime = 0;
+ }
+ }
+
+ private void lblTime_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ handleMouseUpEvent(e);
+ }
+
+ private void lblClipText_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ handleMouseUpEvent(e);
+ }
+
+ private void picClipImage_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ handleMouseUpEvent(e);
+ }
+
+ private void lblClipDesc_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ handleMouseUpEvent(e);
+ }
+
+ public class DragClass
+ {
+ public cntrlClipList parent;
+ public cntrlSingleClip clip;
+ public System.Int64 time;
+ };
+
+ private void DoSingleClipDrag()
+ {
+ DragClass oDrag = new DragClass();
+ oDrag.parent = mParentList;
+ oDrag.clip = this;
+ oDrag.time = TimeConvert.displayTimeToHunNanos(lblTime.Text);
+
+ // And start the drag
+ this.DoDragDrop(oDrag, DragDropEffects.Copy | DragDropEffects.Move);
+ }
+
+ private void picClipImage_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ DoSingleClipDrag();
+ }
+ }
+
+ private void lblClipDesc_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ DoSingleClipDrag();
+ }
+ }
+
+ private void lblTime_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ DoSingleClipDrag();
+ }
+ }
+
+ private void lblClipText_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ DoSingleClipDrag();
+ }
+ }
+
+ private System.Drawing.Color originalClipDescBackColor = System.Drawing.Color.WhiteSmoke;
+ private System.Drawing.Color originalClipTextBackColor = System.Drawing.Color.Silver;
+ private System.Drawing.Color originalClipTimeBackColor = System.Drawing.Color.Gainsboro;
+
+ private void DoSingleClipDragOver(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ // default to no effect
+ e.Effect = DragDropEffects.None;
+
+ if (e.Data.GetDataPresent("AnxCreate.cntrlSingleClip+DragClass"))
+ {
+ cntrlSingleClip.DragClass oDragObject = (cntrlSingleClip.DragClass)e.Data.GetData("AnxCreate.cntrlSingleClip+DragClass");
+
+ //if (oDragObject.clip.lblTime != this.lblTime)
+ {
+ System.Drawing.Color HighlightColour;
+
+ if (oDragObject.clip.lblTime != this.lblTime)
+ {
+ HighlightColour = System.Drawing.Color.Salmon;
+ }
+ else
+ {
+ HighlightColour = System.Drawing.Color.SpringGreen;
+ }
+
+ if ((e.KeyState & (KeyStateDefinitions.ShiftKey + KeyStateDefinitions.CtrlKey + KeyStateDefinitions.AltKey)) == 0)
+ {
+
+ // OK, so if we're dragging onto someone other than us, let them know visually
+ e.Effect = DragDropEffects.Move;
+ lblClipDesc.BackColor = HighlightColour;
+ lblClipText.BackColor = HighlightColour;
+ lblTime.BackColor = HighlightColour;
+ }
+ else if ((e.KeyState & (KeyStateDefinitions.ShiftKey + KeyStateDefinitions.CtrlKey + KeyStateDefinitions.AltKey))
+ == KeyStateDefinitions.CtrlKey)
+ {
+ // OK, so if we're dragging onto someone other than us, let them know visually
+ e.Effect = DragDropEffects.Copy;
+ lblClipDesc.BackColor = HighlightColour;
+ lblClipText.BackColor = HighlightColour;
+ lblTime.BackColor = HighlightColour;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ lblClipDesc.BackColor = originalClipDescBackColor;
+ lblClipText.BackColor = originalClipTextBackColor;
+ lblTime.BackColor = originalClipTimeBackColor;
+ }
+ }
+ }
+ else if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ }
+
+ private void DoSingleClipDragLeave(object sender, System.EventArgs e)
+ {
+ lblClipDesc.BackColor = originalClipDescBackColor;
+ lblClipText.BackColor = originalClipTextBackColor;
+ lblTime.BackColor = originalClipTimeBackColor;
+ }
+
+ private void lblClipDesc_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragOver(sender, e);
+ }
+
+ private void lblClipDesc_DragLeave(object sender, System.EventArgs e)
+ {
+ DoSingleClipDragLeave(sender, e);
+ }
+
+ private void lblTime_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragOver(sender, e);
+ }
+
+ private void lblTime_DragLeave(object sender, System.EventArgs e)
+ {
+ DoSingleClipDragLeave(sender, e);
+ }
+
+ private void lblClipText_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragOver(sender, e);
+ }
+
+ private void lblClipText_DragLeave(object sender, System.EventArgs e)
+ {
+ DoSingleClipDragLeave(sender, e);
+ }
+
+ private void picClipImage_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragOver(sender, e);
+ }
+
+ private void picClipImage_DragLeave(object sender, System.EventArgs e)
+ {
+ DoSingleClipDragLeave(sender, e);
+ }
+
+ private void DoSingleClipDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("AnxCreate.cntrlSingleClip+DragClass"))
+ {
+ lblClipDesc.BackColor = originalClipDescBackColor;
+ lblClipText.BackColor = originalClipTextBackColor;
+ lblTime.BackColor = originalClipTimeBackColor;
+
+ // Make sure it becomes the selected clip before we change its time
+ cntrlSingleClip.DragClass oDragObject = (cntrlSingleClip.DragClass)e.Data.GetData("AnxCreate.cntrlSingleClip+DragClass");
+ cntrlSingleClip locClip = oDragObject.clip;
+ if ((e.KeyState & (KeyStateDefinitions.ShiftKey + KeyStateDefinitions.CtrlKey + KeyStateDefinitions.AltKey))
+ == KeyStateDefinitions.CtrlKey)
+ {
+ // ctrl pressed. copy the clip.
+ frmEditTags ParentForm = (frmEditTags)locClip.ParentList().GetParentEditorForm();
+ ClipTag oOriginalClipTag = ParentForm.GetTrackList().GetClipByTime(locClip.ParentList().trackName(),
+ locClip.clipTime());
+ ClipTag newClipTag = oOriginalClipTag.clone();
+
+ // take the next instant to (hopefully) make it unique
+ Int64 i64StartTime = TimeConvert.displayTimeToHunNanos(this.lblTime.Text) / 10000;
+ i64StartTime += 1;
+ newClipTag.setStart(TimeConvert.HunNanosToTimeStamp(i64StartTime*10000));
+
+ // DLB. 8/9/2005. Loop until valid time or cancelled.
+ bool locWasAdded = true;
+ bool locCancelOperation = false;
+ do
+ {
+ string locClipTimeString = TimeConvert.TimeStampToDisplayTime(newClipTag.start());
+
+ locWasAdded = true;
+ locCancelOperation = false;
+ try
+ {
+ ParentForm.GetTrackList().AddClip(newClipTag);
+ }
+ catch (System.ArgumentException)
+ {
+ frmInvalidTime locInvalidTimeForm = new frmInvalidTime(locClipTimeString);
+ locInvalidTimeForm.ShowDialog();
+ if (locInvalidTimeForm.WasOK)
+ {
+ //SSSS::: Temporal - assume correct time
+ //DONE
+ locClipTimeString = locInvalidTimeForm.NewTime;
+ newClipTag.setStart(TimeConvert.displayTimeToNPTTime(locClipTimeString));
+ }
+ else
+ {
+ locCancelOperation = true;
+ }
+ locWasAdded = false;
+ }
+ } while ((locWasAdded == false) && (locCancelOperation == false));
+
+ // if the operation completed successfully
+ if (locCancelOperation == false)
+ {
+ // select the clip.
+ mParentList.SelectClipByTime(TimeConvert.TimeStampToDisplayTime(newClipTag.start()));
+ }
+ }
+ else
+ {
+ // only process move if it's not to itself
+ if (oDragObject.clip != this)
+ {
+ Int64 i64StartTime = TimeConvert.displayTimeToHunNanos(this.lblTime.Text) / 10000;
+ i64StartTime += 1; // take the next instant to (hopefully) make it unique
+
+ String sStartTimeString = TimeConvert.toDisplayTimeString(i64StartTime*10000);
+
+ // select the clip and try to change its start time.
+ mParentList.notifySelected(locClip);
+ frmEditTags ParentForm = (frmEditTags)mParentList.GetParentEditorForm();
+ ParentForm.SetTxtEditClipStart(sStartTimeString);
+ }
+ }
+ }
+ else if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ {
+ frmEditTags locFrameEdit = ((frmEditTags.DragClass)e.Data.GetData("AnxCreate.frmEditTags+DragClass")).Edit;
+
+ //event(frmEditTags)
+ locFrameEdit.doNewClip();
+ }
+ }
+
+ private void lblClipDesc_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDrop(sender, e);
+ }
+
+ private void lblClipText_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDrop(sender, e);
+ }
+
+ private void lblTime_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDrop(sender, e);
+ }
+
+ private void picClipImage_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDrop(sender, e);
+ }
+
+ private void DoSingleClipDragEnter()
+ {
+ // Store these in all cases for later
+ originalClipDescBackColor = this.lblClipDesc.BackColor;
+ originalClipTextBackColor = this.lblClipText.BackColor;
+ originalClipTimeBackColor = this.lblTime.BackColor;
+
+ this.mParentList.DoDragScroll(this);
+ }
+
+ private void lblClipDesc_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragEnter();
+ }
+
+ private void lblClipText_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragEnter();
+ }
+
+ private void lblTime_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragEnter();
+ }
+
+ private void picClipImage_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ DoSingleClipDragEnter();
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/cntrlSingleClip.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/cntrlSingleClip.resx
===================================================================
--- AnxCreator/AnxCreate/cntrlSingleClip.resx (rev 0)
+++ AnxCreator/AnxCreate/cntrlSingleClip.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="picClipImage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="picClipImage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="picClipImage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblClipText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblClipText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblClipText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblClipDesc.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblClipDesc.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblClipDesc.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTime.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblTime.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTime.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Name">
+ <value>cntrlSingleClip</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/cntrlSingleClip.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmAbout.cs
===================================================================
--- AnxCreator/AnxCreate/frmAbout.cs (rev 0)
+++ AnxCreator/AnxCreate/frmAbout.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,232 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using Microsoft.Win32;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmAbout.
+ /// </summary>
+ public class frmAbout : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.Label lblAbout;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button cmdOK;
+ private System.Windows.Forms.PictureBox picCSIROLogo;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label lblOggCodecs;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.Label lblDirectX;
+ private System.Windows.Forms.Label lblFFDShow;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public frmAbout()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+
+ RegistryKey rk;
+ if ((rk = Registry.LocalMachine.OpenSubKey("software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\oggcodecs")) != null)
+ {
+ // Get the data from a specified item in the key.
+ String OggCodecsVersion = (String)rk.GetValue("DisplayVersion");
+
+ lblOggCodecs.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ lblOggCodecs.Text = "oggcodecs version: " + OggCodecsVersion;
+ }
+
+ if ((rk = Registry.LocalMachine.OpenSubKey("software\\Microsoft\\DirectX")) != null)
+ {
+ // Get the data from a specified item in the key.
+ string lDirectXVersion = (String)rk.GetValue("Version").ToString();
+
+ lblDirectX.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ lblDirectX.Text = "DirectX version: " + lDirectXVersion;
+ }
+
+ if ((rk = Registry.LocalMachine.OpenSubKey("software\\GNU\\ffdshow")) != null)
+ {
+ lblFFDShow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ lblFFDShow.Text = "FFDShow: installed";
+ }
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmAbout));
+ this.lblAbout = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.cmdOK = new System.Windows.Forms.Button();
+ this.picCSIROLogo = new System.Windows.Forms.PictureBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.lblOggCodecs = new System.Windows.Forms.Label();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.lblFFDShow = new System.Windows.Forms.Label();
+ this.lblDirectX = new System.Windows.Forms.Label();
+ this.groupBox1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // lblAbout
+ //
+ this.lblAbout.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblAbout.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblAbout.Location = new System.Drawing.Point(8, 16);
+ this.lblAbout.Name = "lblAbout";
+ this.lblAbout.Size = new System.Drawing.Size(304, 24);
+ this.lblAbout.TabIndex = 0;
+ this.lblAbout.Text = "DMTagger Version 1.23";
+ this.lblAbout.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // label1
+ //
+ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label1.Location = new System.Drawing.Point(72, 144);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(248, 24);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Copyright (C) 2004-2006";
+ //
+ // label2
+ //
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label2.Location = new System.Drawing.Point(72, 168);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(240, 40);
+ this.label2.TabIndex = 2;
+ this.label2.Text = "Commonwealth Scientific and Industrial Research Organisation (CSIRO) Australia";
+ //
+ // cmdOK
+ //
+ this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdOK.Location = new System.Drawing.Point(232, 232);
+ this.cmdOK.Name = "cmdOK";
+ this.cmdOK.Size = new System.Drawing.Size(80, 24);
+ this.cmdOK.TabIndex = 3;
+ this.cmdOK.Text = "&OK";
+ this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
+ //
+ // picCSIROLogo
+ //
+ this.picCSIROLogo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.picCSIROLogo.Image = ((System.Drawing.Image)(resources.GetObject("picCSIROLogo.Image")));
+ this.picCSIROLogo.Location = new System.Drawing.Point(8, 144);
+ this.picCSIROLogo.Name = "picCSIROLogo";
+ this.picCSIROLogo.Size = new System.Drawing.Size(60, 80);
+ this.picCSIROLogo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
+ this.picCSIROLogo.TabIndex = 4;
+ this.picCSIROLogo.TabStop = false;
+ //
+ // label3
+ //
+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label3.Location = new System.Drawing.Point(72, 208);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(128, 16);
+ this.label3.TabIndex = 5;
+ this.label3.Text = "All Rights Reserved.";
+ //
+ // lblOggCodecs
+ //
+ this.lblOggCodecs.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblOggCodecs.Location = new System.Drawing.Point(16, 64);
+ this.lblOggCodecs.Name = "lblOggCodecs";
+ this.lblOggCodecs.Size = new System.Drawing.Size(280, 16);
+ this.lblOggCodecs.TabIndex = 6;
+ this.lblOggCodecs.Text = "oggcodecs: not installed";
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.lblFFDShow);
+ this.groupBox1.Controls.Add(this.lblDirectX);
+ this.groupBox1.Location = new System.Drawing.Point(8, 48);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(304, 88);
+ this.groupBox1.TabIndex = 7;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Dependencies";
+ //
+ // lblFFDShow
+ //
+ this.lblFFDShow.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblFFDShow.Location = new System.Drawing.Point(8, 64);
+ this.lblFFDShow.Name = "lblFFDShow";
+ this.lblFFDShow.Size = new System.Drawing.Size(280, 16);
+ this.lblFFDShow.TabIndex = 1;
+ this.lblFFDShow.Text = "FFD Show: not installed";
+ //
+ // lblDirectX
+ //
+ this.lblDirectX.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblDirectX.Location = new System.Drawing.Point(8, 40);
+ this.lblDirectX.Name = "lblDirectX";
+ this.lblDirectX.Size = new System.Drawing.Size(280, 16);
+ this.lblDirectX.TabIndex = 0;
+ this.lblDirectX.Text = "DirectX: not installed";
+ //
+ // frmAbout
+ //
+ this.AcceptButton = this.cmdOK;
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(338, 272);
+ this.Controls.Add(this.lblOggCodecs);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.picCSIROLogo);
+ this.Controls.Add(this.cmdOK);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.lblAbout);
+ this.Controls.Add(this.groupBox1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmAbout";
+ this.Opacity = 0.92;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "About DMTagger";
+ this.groupBox1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void cmdOK_Click(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmAbout.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmAbout.resx
===================================================================
--- AnxCreator/AnxCreate/frmAbout.resx (rev 0)
+++ AnxCreator/AnxCreate/frmAbout.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,632 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="lblAbout.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblAbout.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblAbout.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="picCSIROLogo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="picCSIROLogo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="picCSIROLogo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="picCSIROLogo.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhPABQAPUAAP////j8/fb6/O/4++33+ub0+O/v793v9tbs9c7p883o8t/f38Tk8Lvg7rXd7bDb
+ 66rY6ajX6czMzKDT55vR5pbP5L+/v4zK4YPG33zD3q+vr3K+22y82mu72WK311u01VWx1FGv05mZmUqs
+ 0UCnzjqlzY+PjzSiyyicyCKaxx2XxX9/fxmVxBOTwwyQwQeNwACKvmZmZk9PTz8/PzMzMx8fHw8PDwAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAPABQAAAG/0CAcEgsGo/IpHLJbDqf0Kh0Sq1ar9is
+ dsvter/gsHhMLpvP2QKgkeEALpcHQIAuBgAYFgzgge1RfgApHw11AA4nACeBfX+Bei0AFXdlGIEljIGA
+ e3osgilyYhUAHJeZjpwwkSkwLgAHYCF7HaZ7jQCbAJCCMC+4sFwDI4G0e5i2mo+qvL4vLAxbAcPEtXzJ
+ qau9AH4qwFjF1ManuMrZvn4wKd5VEOjhAMfWqAAty6zn6CCUVAMu7rPVQFwDMMzTvW3uIFj58A+guD0V
+ WnygFwiBPW3/UuyLUuBFQwDFFAWCF4HXHly+DjYcNSVDQ4ekUlwQcoICAAX+hJQwiDHjRv8nAep9DInH
+ AU2bAD7MDIBCoT98/xRISfASJoANChUh5QBrgAqpJHr+6yDF5UtrKoRgPSrEQ4I5KQox3ePxHws6UPSc
+ naBig9qsNdu+FRC37QgAdf+tYxKg6kkQLNdqFQy3kAAPBBA2LPSEQNUSQkbMvAoYqdvKcz6oqTraCYOq
+ bgiOlhyYz+DCAj7A2jT2p5IGVT2Enl2aMmHLugm+/BDANxLgL9PK/svWNurcsFS8FI6XyeuqQkIQ1znB
+ OG7Vmv/5fVLAcfjZhQagSAQSwXX0rKEIcA8gRGSyRHkgx3FzcKBQVaE8oddH/dlUwCJJBTKCCxMRKAAG
+ M1VlHxTg/AP/wAAfJBIWMntod1IK0ABAQiIvtdCda+BtUI9IJJKzRwMpKGQWYg0J51wSAvjz0S3x3JJL
+ PZ7UA5U7nEXRiIchFTmQHhkA4NKS3GQmxQFnRTlOLnq4YQmWMGBQxTTugFSNkcp4AgiWLqhBRXtQrjnl
+ RViWZwUFdT4kj4264JleCD9CIQs6avrJJjbMaIbCYlQQcAxMUs6zi0p+SKWFfO9UCuil2rygQopbFBBW
+ ovB8WU6jLDTJRQB+laLoneYAIGcYsqZaI5j2qMDSGAJQgIKuf/LqCQa3lkGHBzktqssJehoihABSQeDB
+ YRtkUN4AhUrr7bfgerGADDfcUIMJQkgwwsMNNsQgxAo3CGFBueaKMIQE5N5AgwZZLGBDuyvIMIMQMtiw
+ Qgw0vBsvAPOaYMEMNgjhL8A13MDvFTHYIMEQBgiRcQwLDAGvvDc4DLHHNnQsxAw1YDHDwEYYEEO57gIw
+ MsP03rAxAC8TcbMVGe8MgMody6yzzQvPa4EIN9gLQMYq89zyFRPHEDDMK8wQ8NE3Ky11x1WvUPHFV+Bb
+ 7r7y0sDuCgqTbAHObANgtr5kh2v33XjnrffefPft99+ABy44GkEAADs=
+</value>
+ </data>
+ <data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOggCodecs.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblOggCodecs.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOggCodecs.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="groupBox1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="groupBox1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblFFDShow.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblFFDShow.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblFFDShow.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDirectX.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblDirectX.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDirectX.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmAbout</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmAbout.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmCreateAnnodex.cs
===================================================================
--- AnxCreator/AnxCreate/frmCreateAnnodex.cs (rev 0)
+++ AnxCreator/AnxCreate/frmCreateAnnodex.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,686 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using CSIRO.libDSEncodeDotNET;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmCreateAnnodex.
+ /// </summary>
+ public class frmCreateAnnodex : System.Windows.Forms.Form, IDNEncodeMediaEvent
+ {
+ private System.Windows.Forms.Button cmdStart;
+ private System.ComponentModel.IContainer components;
+
+
+ private ProjectSettings mSettings;
+ private System.Windows.Forms.Timer tmrCheckEvents;
+ private System.Windows.Forms.Label lblMediaDuration;
+ private System.Windows.Forms.Label lblProgress;
+ private System.Windows.Forms.Timer tmrCheckProgress;
+ private System.Windows.Forms.Label lblFinished;
+ private AnxEncoder mAnxEncoder = null;
+ private System.Windows.Forms.GroupBox grpAnxCreate;
+ private System.Windows.Forms.Label lblOriginalFilesizeFixed;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label lblOriginalFilesize;
+ private System.Windows.Forms.Label lblEncodedFilesize;
+ private System.Windows.Forms.Label lblElapsedTimeFixed;
+ private System.Windows.Forms.Label lblEstimatedTimeRemainingFixed;
+ private System.Windows.Forms.Label lblProgressBarOutline;
+ private System.Windows.Forms.Label lblProgressBar;
+ private System.Windows.Forms.Label lblProgressTime;
+ private System.Windows.Forms.Label lblEncodeTime;
+ private System.Windows.Forms.Label lblEncodeRemainingTime;
+
+ private Int64 mMediaDuration = -1;
+ private Int64 mMediaFileSize = 0;
+ private System.Windows.Forms.Label lblEncodeRateFixed;
+ private System.Windows.Forms.Label lblEncodeRate;
+ private System.Windows.Forms.Label lblOriginalBitrateFixed;
+ private System.Windows.Forms.Label lblEncodedBitrateFixed;
+ private System.Windows.Forms.Label lblOriginalBitrate;
+ private System.Windows.Forms.Label lblEncodedBitrate;
+ private System.Windows.Forms.Button cmdCancel;
+ private System.Windows.Forms.Button cmdFinished;
+ private System.Windows.Forms.ToolTip ttpCreateAnx;
+ private DateTime mStartTime;
+ private bool mIsAnx = true;
+ enum eEventCodes
+ {
+ EC_COMPLETE = 1
+ };
+ public frmCreateAnnodex(ProjectSettings inSettings, Int64 inMediaDuration, Int64 inMediaFileSize, bool inIsAnx)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+
+ mSettings = inSettings;
+ mIsAnx = inIsAnx;
+ if (mIsAnx)
+ {
+ this.Text = "Create Annodex...";
+ }
+ else
+ {
+ this.Text = "Create Ogg...";
+ }
+ mAnxEncoder = new AnxEncoder();
+ mAnxEncoder.setMediaEventCallback(this);
+
+ mMediaDuration = inMediaDuration;
+ mMediaFileSize = inMediaFileSize;
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmCreateAnnodex));
+ this.cmdStart = new System.Windows.Forms.Button();
+ this.tmrCheckEvents = new System.Windows.Forms.Timer(this.components);
+ this.lblMediaDuration = new System.Windows.Forms.Label();
+ this.lblProgress = new System.Windows.Forms.Label();
+ this.tmrCheckProgress = new System.Windows.Forms.Timer(this.components);
+ this.lblFinished = new System.Windows.Forms.Label();
+ this.grpAnxCreate = new System.Windows.Forms.GroupBox();
+ this.lblEncodedBitrate = new System.Windows.Forms.Label();
+ this.lblOriginalBitrate = new System.Windows.Forms.Label();
+ this.lblEncodedBitrateFixed = new System.Windows.Forms.Label();
+ this.lblEncodeRate = new System.Windows.Forms.Label();
+ this.lblEncodeRateFixed = new System.Windows.Forms.Label();
+ this.lblEncodeRemainingTime = new System.Windows.Forms.Label();
+ this.lblEncodeTime = new System.Windows.Forms.Label();
+ this.lblProgressTime = new System.Windows.Forms.Label();
+ this.lblProgressBar = new System.Windows.Forms.Label();
+ this.lblProgressBarOutline = new System.Windows.Forms.Label();
+ this.lblEstimatedTimeRemainingFixed = new System.Windows.Forms.Label();
+ this.lblElapsedTimeFixed = new System.Windows.Forms.Label();
+ this.lblEncodedFilesize = new System.Windows.Forms.Label();
+ this.lblOriginalFilesize = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.lblOriginalFilesizeFixed = new System.Windows.Forms.Label();
+ this.lblOriginalBitrateFixed = new System.Windows.Forms.Label();
+ this.cmdCancel = new System.Windows.Forms.Button();
+ this.cmdFinished = new System.Windows.Forms.Button();
+ this.ttpCreateAnx = new System.Windows.Forms.ToolTip(this.components);
+ this.grpAnxCreate.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // cmdStart
+ //
+ this.cmdStart.Enabled = false;
+ this.cmdStart.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdStart.Location = new System.Drawing.Point(232, 248);
+ this.cmdStart.Name = "cmdStart";
+ this.cmdStart.Size = new System.Drawing.Size(88, 24);
+ this.cmdStart.TabIndex = 0;
+ this.cmdStart.Text = "&Start";
+ this.cmdStart.Click += new System.EventHandler(this.cmdStart_Click);
+ //
+ // tmrCheckEvents
+ //
+ this.tmrCheckEvents.Interval = 500;
+ this.tmrCheckEvents.Tick += new System.EventHandler(this.tmrCheckEvents_Tick);
+ //
+ // lblMediaDuration
+ //
+ this.lblMediaDuration.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblMediaDuration.Location = new System.Drawing.Point(72, 328);
+ this.lblMediaDuration.Name = "lblMediaDuration";
+ this.lblMediaDuration.Size = new System.Drawing.Size(272, 24);
+ this.lblMediaDuration.TabIndex = 1;
+ //
+ // lblProgress
+ //
+ this.lblProgress.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblProgress.Location = new System.Drawing.Point(72, 352);
+ this.lblProgress.Name = "lblProgress";
+ this.lblProgress.Size = new System.Drawing.Size(272, 24);
+ this.lblProgress.TabIndex = 2;
+ //
+ // tmrCheckProgress
+ //
+ this.tmrCheckProgress.Interval = 1000;
+ this.tmrCheckProgress.Tick += new System.EventHandler(this.tmrCheckProgress_Tick);
+ //
+ // lblFinished
+ //
+ this.lblFinished.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblFinished.Location = new System.Drawing.Point(224, 376);
+ this.lblFinished.Name = "lblFinished";
+ this.lblFinished.Size = new System.Drawing.Size(120, 24);
+ this.lblFinished.TabIndex = 3;
+ //
+ // grpAnxCreate
+ //
+ this.grpAnxCreate.Controls.Add(this.lblEncodedBitrate);
+ this.grpAnxCreate.Controls.Add(this.lblOriginalBitrate);
+ this.grpAnxCreate.Controls.Add(this.lblEncodedBitrateFixed);
+ this.grpAnxCreate.Controls.Add(this.lblEncodeRate);
+ this.grpAnxCreate.Controls.Add(this.lblEncodeRateFixed);
+ this.grpAnxCreate.Controls.Add(this.lblEncodeRemainingTime);
+ this.grpAnxCreate.Controls.Add(this.lblEncodeTime);
+ this.grpAnxCreate.Controls.Add(this.lblProgressTime);
+ this.grpAnxCreate.Controls.Add(this.lblProgressBar);
+ this.grpAnxCreate.Controls.Add(this.lblProgressBarOutline);
+ this.grpAnxCreate.Controls.Add(this.lblEstimatedTimeRemainingFixed);
+ this.grpAnxCreate.Controls.Add(this.lblElapsedTimeFixed);
+ this.grpAnxCreate.Controls.Add(this.lblEncodedFilesize);
+ this.grpAnxCreate.Controls.Add(this.lblOriginalFilesize);
+ this.grpAnxCreate.Controls.Add(this.label1);
+ this.grpAnxCreate.Controls.Add(this.lblOriginalFilesizeFixed);
+ this.grpAnxCreate.Controls.Add(this.lblOriginalBitrateFixed);
+ this.grpAnxCreate.Location = new System.Drawing.Point(8, 8);
+ this.grpAnxCreate.Name = "grpAnxCreate";
+ this.grpAnxCreate.Size = new System.Drawing.Size(408, 232);
+ this.grpAnxCreate.TabIndex = 4;
+ this.grpAnxCreate.TabStop = false;
+ this.grpAnxCreate.Enter += new System.EventHandler(this.grpAnxCreate_Enter);
+ //
+ // lblEncodedBitrate
+ //
+ this.lblEncodedBitrate.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblEncodedBitrate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblEncodedBitrate.Location = new System.Drawing.Point(304, 80);
+ this.lblEncodedBitrate.Name = "lblEncodedBitrate";
+ this.lblEncodedBitrate.Size = new System.Drawing.Size(88, 24);
+ this.lblEncodedBitrate.TabIndex = 16;
+ this.lblEncodedBitrate.Text = "0 kbps";
+ this.lblEncodedBitrate.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblEncodedBitrate, "Current average bitrate of the newly created file");
+ //
+ // lblOriginalBitrate
+ //
+ this.lblOriginalBitrate.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblOriginalBitrate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblOriginalBitrate.Location = new System.Drawing.Point(104, 80);
+ this.lblOriginalBitrate.Name = "lblOriginalBitrate";
+ this.lblOriginalBitrate.Size = new System.Drawing.Size(88, 24);
+ this.lblOriginalBitrate.TabIndex = 15;
+ this.lblOriginalBitrate.Text = "0 kbps";
+ this.lblOriginalBitrate.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblOriginalBitrate, "Bitrate of the original file in bytes.");
+ //
+ // lblEncodedBitrateFixed
+ //
+ this.lblEncodedBitrateFixed.Location = new System.Drawing.Point(208, 88);
+ this.lblEncodedBitrateFixed.Name = "lblEncodedBitrateFixed";
+ this.lblEncodedBitrateFixed.Size = new System.Drawing.Size(88, 23);
+ this.lblEncodedBitrateFixed.TabIndex = 14;
+ this.lblEncodedBitrateFixed.Text = "Encoded Bitrate";
+ this.ttpCreateAnx.SetToolTip(this.lblEncodedBitrateFixed, "Current average bitrate of the newly created file");
+ //
+ // lblEncodeRate
+ //
+ this.lblEncodeRate.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblEncodeRate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblEncodeRate.Location = new System.Drawing.Point(304, 128);
+ this.lblEncodeRate.Name = "lblEncodeRate";
+ this.lblEncodeRate.Size = new System.Drawing.Size(88, 24);
+ this.lblEncodeRate.TabIndex = 13;
+ this.lblEncodeRate.Text = "0 %";
+ this.lblEncodeRate.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblEncodeRate, "The encoding speed as compared to real-time.");
+ //
+ // lblEncodeRateFixed
+ //
+ this.lblEncodeRateFixed.Location = new System.Drawing.Point(208, 128);
+ this.lblEncodeRateFixed.Name = "lblEncodeRateFixed";
+ this.lblEncodeRateFixed.Size = new System.Drawing.Size(72, 24);
+ this.lblEncodeRateFixed.TabIndex = 12;
+ this.lblEncodeRateFixed.Text = "Encode Rate";
+ this.ttpCreateAnx.SetToolTip(this.lblEncodeRateFixed, "The encoding speed as compared to real-time.");
+ //
+ // lblEncodeRemainingTime
+ //
+ this.lblEncodeRemainingTime.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblEncodeRemainingTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblEncodeRemainingTime.Location = new System.Drawing.Point(104, 160);
+ this.lblEncodeRemainingTime.Name = "lblEncodeRemainingTime";
+ this.lblEncodeRemainingTime.Size = new System.Drawing.Size(88, 24);
+ this.lblEncodeRemainingTime.TabIndex = 11;
+ this.lblEncodeRemainingTime.Text = "0:00";
+ this.lblEncodeRemainingTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblEncodeRemainingTime, "Estimated encoding time remaining");
+ //
+ // lblEncodeTime
+ //
+ this.lblEncodeTime.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblEncodeTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblEncodeTime.Location = new System.Drawing.Point(104, 128);
+ this.lblEncodeTime.Name = "lblEncodeTime";
+ this.lblEncodeTime.Size = new System.Drawing.Size(88, 24);
+ this.lblEncodeTime.TabIndex = 10;
+ this.lblEncodeTime.Text = "0:00";
+ this.lblEncodeTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblEncodeTime, "Time elapsed encoding");
+ //
+ // lblProgressTime
+ //
+ this.lblProgressTime.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblProgressTime.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblProgressTime.Location = new System.Drawing.Point(208, 160);
+ this.lblProgressTime.Name = "lblProgressTime";
+ this.lblProgressTime.Size = new System.Drawing.Size(184, 24);
+ this.lblProgressTime.TabIndex = 9;
+ this.lblProgressTime.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblProgressTime, "Media time progress");
+ //
+ // lblProgressBar
+ //
+ this.lblProgressBar.BackColor = System.Drawing.Color.MediumBlue;
+ this.lblProgressBar.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblProgressBar.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblProgressBar.Location = new System.Drawing.Point(8, 200);
+ this.lblProgressBar.Name = "lblProgressBar";
+ this.lblProgressBar.Size = new System.Drawing.Size(264, 16);
+ this.lblProgressBar.TabIndex = 8;
+ //
+ // lblProgressBarOutline
+ //
+ this.lblProgressBarOutline.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblProgressBarOutline.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblProgressBarOutline.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblProgressBarOutline.Location = new System.Drawing.Point(8, 200);
+ this.lblProgressBarOutline.Name = "lblProgressBarOutline";
+ this.lblProgressBarOutline.Size = new System.Drawing.Size(384, 16);
+ this.lblProgressBarOutline.TabIndex = 7;
+ //
+ // lblEstimatedTimeRemainingFixed
+ //
+ this.lblEstimatedTimeRemainingFixed.Location = new System.Drawing.Point(8, 168);
+ this.lblEstimatedTimeRemainingFixed.Name = "lblEstimatedTimeRemainingFixed";
+ this.lblEstimatedTimeRemainingFixed.Size = new System.Drawing.Size(64, 24);
+ this.lblEstimatedTimeRemainingFixed.TabIndex = 5;
+ this.lblEstimatedTimeRemainingFixed.Text = "Remaining";
+ this.ttpCreateAnx.SetToolTip(this.lblEstimatedTimeRemainingFixed, "Estimated encoding time remaining");
+ //
+ // lblElapsedTimeFixed
+ //
+ this.lblElapsedTimeFixed.Location = new System.Drawing.Point(8, 136);
+ this.lblElapsedTimeFixed.Name = "lblElapsedTimeFixed";
+ this.lblElapsedTimeFixed.Size = new System.Drawing.Size(64, 24);
+ this.lblElapsedTimeFixed.TabIndex = 4;
+ this.lblElapsedTimeFixed.Text = "Elapsed";
+ this.ttpCreateAnx.SetToolTip(this.lblElapsedTimeFixed, "Time elapsed encoding");
+ //
+ // lblEncodedFilesize
+ //
+ this.lblEncodedFilesize.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblEncodedFilesize.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblEncodedFilesize.Location = new System.Drawing.Point(304, 48);
+ this.lblEncodedFilesize.Name = "lblEncodedFilesize";
+ this.lblEncodedFilesize.Size = new System.Drawing.Size(88, 24);
+ this.lblEncodedFilesize.TabIndex = 3;
+ this.lblEncodedFilesize.Text = "0";
+ this.lblEncodedFilesize.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblEncodedFilesize, "Current size of newly encoded file");
+ //
+ // lblOriginalFilesize
+ //
+ this.lblOriginalFilesize.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.lblOriginalFilesize.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblOriginalFilesize.Location = new System.Drawing.Point(104, 48);
+ this.lblOriginalFilesize.Name = "lblOriginalFilesize";
+ this.lblOriginalFilesize.Size = new System.Drawing.Size(88, 24);
+ this.lblOriginalFilesize.TabIndex = 2;
+ this.lblOriginalFilesize.Text = "0";
+ this.lblOriginalFilesize.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
+ this.ttpCreateAnx.SetToolTip(this.lblOriginalFilesize, "Size of the original file in bytes.");
+ //
+ // label1
+ //
+ this.label1.Location = new System.Drawing.Point(208, 56);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(104, 16);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Encoded File Size";
+ this.ttpCreateAnx.SetToolTip(this.label1, "Current size of newly encoded file");
+ //
+ // lblOriginalFilesizeFixed
+ //
+ this.lblOriginalFilesizeFixed.Location = new System.Drawing.Point(8, 56);
+ this.lblOriginalFilesizeFixed.Name = "lblOriginalFilesizeFixed";
+ this.lblOriginalFilesizeFixed.Size = new System.Drawing.Size(96, 16);
+ this.lblOriginalFilesizeFixed.TabIndex = 0;
+ this.lblOriginalFilesizeFixed.Text = "Original File Size";
+ this.ttpCreateAnx.SetToolTip(this.lblOriginalFilesizeFixed, "Size of the original file in bytes.");
+ //
+ // lblOriginalBitrateFixed
+ //
+ this.lblOriginalBitrateFixed.Location = new System.Drawing.Point(8, 88);
+ this.lblOriginalBitrateFixed.Name = "lblOriginalBitrateFixed";
+ this.lblOriginalBitrateFixed.Size = new System.Drawing.Size(80, 23);
+ this.lblOriginalBitrateFixed.TabIndex = 5;
+ this.lblOriginalBitrateFixed.Text = "Original Bitrate";
+ this.ttpCreateAnx.SetToolTip(this.lblOriginalBitrateFixed, "Bitrate of the original file in bytes.");
+ //
+ // cmdCancel
+ //
+ this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCancel.Location = new System.Drawing.Point(328, 248);
+ this.cmdCancel.Name = "cmdCancel";
+ this.cmdCancel.Size = new System.Drawing.Size(88, 24);
+ this.cmdCancel.TabIndex = 5;
+ this.cmdCancel.Text = "&Cancel";
+ this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
+ //
+ // cmdFinished
+ //
+ this.cmdFinished.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdFinished.Location = new System.Drawing.Point(232, 248);
+ this.cmdFinished.Name = "cmdFinished";
+ this.cmdFinished.Size = new System.Drawing.Size(88, 24);
+ this.cmdFinished.TabIndex = 1;
+ this.cmdFinished.Text = "Done";
+ this.cmdFinished.Visible = false;
+ this.cmdFinished.Click += new System.EventHandler(this.cmdFinished_Click);
+ //
+ // frmCreateAnnodex
+ //
+ this.AcceptButton = this.cmdStart;
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.CancelButton = this.cmdCancel;
+ this.ClientSize = new System.Drawing.Size(424, 278);
+ this.Controls.Add(this.cmdFinished);
+ this.Controls.Add(this.cmdCancel);
+ this.Controls.Add(this.grpAnxCreate);
+ this.Controls.Add(this.lblFinished);
+ this.Controls.Add(this.lblProgress);
+ this.Controls.Add(this.lblMediaDuration);
+ this.Controls.Add(this.cmdStart);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmCreateAnnodex";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Create Annodex...";
+ this.Closing += new System.ComponentModel.CancelEventHandler(this.frmCreateAnnodex_Closing);
+ this.Load += new System.EventHandler(this.frmCreateAnnodex_Load);
+ this.grpAnxCreate.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void frmCreateAnnodex_Load(object sender, System.EventArgs e)
+ {
+ String locCMMLName = mSettings.ProjectLocation()+"\\"+mSettings.ProjectName()+".cmml";
+ bool locResult = false;
+ if (mIsAnx)
+ {
+ String locAnnodexName = mSettings.ProjectLocation()+"\\"+mSettings.ProjectName()+".anx";
+
+
+ locResult = LoadAnnodexGraph(locCMMLName, locAnnodexName);
+ }
+ else
+ {
+ String locOggName = mSettings.ProjectLocation()+"\\"+mSettings.ProjectName()+".ogg";
+
+
+ locResult = LoadOggGraph(locCMMLName, locOggName);
+
+ }
+
+ if (locResult != true)
+ {
+ System.Windows.Forms.MessageBox.Show("Graph failed to build", "Failure", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
+ }
+ else
+ {
+ cmdStart.Enabled = true;
+ }
+
+ lblProgressBar.Width = 0;
+
+ lblProgressTime.Text = TicksToDisplayTime(0)
+ + " of " + TicksToDisplayTime(mMediaDuration)
+ + " (0 %)";
+
+ lblOriginalFilesize.Text = mMediaFileSize.ToString();
+
+ Int64 locOriginalBitrate = ((mMediaFileSize * 8) * 10000) / mMediaDuration;
+ lblOriginalBitrate.Text = locOriginalBitrate.ToString() + " kbps";
+
+ }
+
+ private bool LoadAnnodexGraph(String inCMMLName, String inAnnodexName)
+ {
+ return mAnxEncoder.SetupAnxFromCMMLGraph(inCMMLName, inAnnodexName);
+
+ }
+
+ private bool LoadOggGraph(String inCMMLName, String inOggName)
+ {
+ return mAnxEncoder.SetupOggFromCMMLGraph(inCMMLName, inOggName);
+
+ }
+
+ private void cmdStart_Click(object sender, System.EventArgs e)
+ {
+ mAnxEncoder.Start();
+ mStartTime = DateTime.Now;
+ tmrCheckEvents.Enabled = true;
+ tmrCheckProgress.Enabled = true;
+ cmdStart.Enabled = false;
+ }
+
+ private void tmrCheckEvents_Tick(object sender, System.EventArgs e)
+ {
+ if (mAnxEncoder != null)
+ {
+ mAnxEncoder.checkEvents();
+ }
+ }
+ #region IDNEncodeMediaEvent Members
+
+ public bool eventNotification(int inEventCode, int inParam1, int inParam2)
+ {
+ if (inEventCode == (long)eEventCodes.EC_COMPLETE)
+ {
+ tmrCheckEvents.Enabled = false;
+ tmrCheckProgress.Enabled = false;
+ lblFinished.Text = "Finished";
+
+ lblProgressBar.Width = lblProgressBarOutline.Width;
+ lblEncodeRemainingTime.Text = TicksToDisplayTime(0);
+ lblProgressTime.Text = TicksToDisplayTime(mMediaDuration)
+ + " of " + TicksToDisplayTime(mMediaDuration)
+ + " (100 %)";
+ mAnxEncoder.Stop();
+ //mAnxEncoder.ReleaseInterfaces();
+ //mAnxEncoder = null;
+ cmdStart.Visible = false;
+ cmdFinished.Visible = true;
+ cmdCancel.Enabled = false;
+ }
+ return true;
+ }
+
+ #endregion
+
+ private String TicksToDisplayTime(Int64 inTicks)
+ {
+ String locDisplayTime = "";
+ Int64 locSeconds = inTicks / 10000000;
+ Int64 locMinutes = locSeconds / 60;
+ Int64 locHours = locMinutes / 60;
+ locMinutes = locMinutes % 60;
+ locSeconds = locSeconds % 60;
+ if (locHours != 0)
+ {
+ locDisplayTime = locHours.ToString() + ":";
+ if (locMinutes < 10)
+ {
+ locDisplayTime += "0";
+ }
+ }
+
+ locDisplayTime += locMinutes.ToString() + ":";
+
+ if (locSeconds < 10)
+ {
+ locDisplayTime += "0";
+ }
+ locDisplayTime += locSeconds.ToString();
+
+ return locDisplayTime;
+
+ }
+ private void tmrCheckProgress_Tick(object sender, System.EventArgs e)
+ {
+
+ Int64 locProgress = mAnxEncoder.Progress();
+
+ // DLB. 20/5/2005. Let the user know if there's a problem with the Encoder
+#if TEMP_DLB
+ if (locProgress == 0)
+ {
+ mAnxEncoder.Stop();
+
+ tmrCheckEvents.Enabled = false;
+ tmrCheckProgress.Enabled = false;
+ cmdStart.Enabled = true;
+ MessageBox.Show("Encoder Failed to encode.\n\nDownload and Install \"ffdshow\".", "Encoder Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return; // get out since it's a failure
+ }
+#endif
+
+ Int64 locPercentDone = (locProgress * 100)/mMediaDuration;
+
+
+ lblMediaDuration.Text = mMediaDuration.ToString();
+ lblProgress.Text = locProgress.ToString();
+
+ //UPdate the text progreess
+ lblProgressTime.Text = TicksToDisplayTime(mAnxEncoder.Progress())
+ + " of " + TicksToDisplayTime(mMediaDuration)
+ + " ("+ locPercentDone.ToString()+" %)";
+
+ //UPdate the progress bar.
+ Int64 locProgressBarWidth = (lblProgressBarOutline.Width * locProgress) / mMediaDuration;
+ lblProgressBar.Width = Convert.ToInt32(locProgressBarWidth);
+
+ //Get the current time
+ DateTime locNow = DateTime.Now;
+
+ //Find out how much time has elasped
+ TimeSpan locElapsed = locNow.Subtract(mStartTime);
+ Int64 locElapsedTicks = locElapsed.Ticks;
+
+ //Update the label to show elapsed time
+
+ lblEncodeTime.Text = TicksToDisplayTime(locElapsedTicks);
+
+ //Find the total number of ticks we expect the entire thing to take
+ Int64 locEstimatedTotalTicks = 0;
+ if (locProgress != 0)
+ {
+ double locRatio = (double)mMediaDuration / (double)locProgress;
+ locEstimatedTotalTicks = Convert.ToInt64(locElapsedTicks * locRatio);
+ //locEstimatedTotalTicks = (locElapsedTicks * mMediaDuration)/ locProgress;
+ }
+
+
+ //Find out how many ticks we think are remaining
+ Int64 locEstimatedRemainingTicks = locEstimatedTotalTicks - locElapsedTicks;
+
+ // DLB. 20/5/2005. Never let it be less than 0 as display looks crazy.
+ if (locEstimatedRemainingTicks < 0)
+ {
+ locEstimatedRemainingTicks = 0;
+ }
+
+ //Update the label to show this estimate.
+ lblEncodeRemainingTime.Text = TicksToDisplayTime(locEstimatedRemainingTicks);
+
+ //Update the encode rate label
+ Int64 locEncodeRate = 0;
+ if (locElapsedTicks != 0)
+ {
+ locEncodeRate = (100*locProgress) / locElapsedTicks;
+ }
+ lblEncodeRate.Text = locEncodeRate.ToString() + " %";
+
+ //Update the encoded file size field.
+ Int64 locBytesWritten = mAnxEncoder.BytesWritten();
+ lblEncodedFilesize.Text = locBytesWritten.ToString();
+
+ //Update the encoded bitrate field
+ Int64 locEncodedBitrate = 0;
+ if (locProgress != 0)
+ {
+ locEncodedBitrate = ((locBytesWritten * 8) * 10000) / locProgress;
+ }
+ lblEncodedBitrate.Text = locEncodedBitrate.ToString() + " kbps";
+
+ }
+
+ private void grpAnxCreate_Enter(object sender, System.EventArgs e)
+ {
+
+ }
+
+ private void frmCreateAnnodex_Closing(object sender, System.ComponentModel.CancelEventArgs e)
+ {
+ if (mAnxEncoder != null)
+ {
+ mAnxEncoder.Stop();
+ mAnxEncoder.ReleaseInterfaces();
+ mAnxEncoder = null;
+ }
+ }
+
+ private void cmdFinished_Click(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+
+ private void cmdCancel_Click(object sender, System.EventArgs e)
+ {
+ tmrCheckEvents.Enabled = false;
+ tmrCheckProgress.Enabled = false;
+// if (mAnxEncoder != null)
+// {
+// mAnxEncoder.Stop();
+// mAnxEncoder.ReleaseInterfaces();
+// mAnxEncoder = null;
+// }
+ Close();
+
+ }
+
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmCreateAnnodex.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmCreateAnnodex.resx
===================================================================
--- AnxCreator/AnxCreate/frmCreateAnnodex.resx (rev 0)
+++ AnxCreator/AnxCreate/frmCreateAnnodex.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,761 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="cmdStart.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdStart.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStart.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrCheckEvents.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrCheckEvents.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="tmrCheckEvents.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMediaDuration.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblMediaDuration.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMediaDuration.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgress.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProgress.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgress.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrCheckProgress.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrCheckProgress.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>149, 17</value>
+ </data>
+ <data name="tmrCheckProgress.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblFinished.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblFinished.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblFinished.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpAnxCreate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpAnxCreate.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpAnxCreate.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpAnxCreate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpAnxCreate.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpAnxCreate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodedBitrate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodedBitrate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodedBitrate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalBitrate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblOriginalBitrate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalBitrate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodedBitrateFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodedBitrateFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodedBitrateFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeRate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodeRate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeRate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeRateFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodeRateFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeRateFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeRemainingTime.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodeRemainingTime.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeRemainingTime.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeTime.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodeTime.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodeTime.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressTime.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProgressTime.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressTime.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProgressBar.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBarOutline.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProgressBarOutline.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBarOutline.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEstimatedTimeRemainingFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEstimatedTimeRemainingFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEstimatedTimeRemainingFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblElapsedTimeFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblElapsedTimeFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblElapsedTimeFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodedFilesize.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEncodedFilesize.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEncodedFilesize.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalFilesize.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblOriginalFilesize.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalFilesize.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalFilesizeFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblOriginalFilesizeFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalFilesizeFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalBitrateFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblOriginalBitrateFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOriginalBitrateFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdFinished.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdFinished.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdFinished.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpCreateAnx.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpCreateAnx.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>290, 17</value>
+ </data>
+ <data name="ttpCreateAnx.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmCreateAnnodex</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmCreateAnnodex.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmDeviceProfile.cs
===================================================================
--- AnxCreator/AnxCreate/frmDeviceProfile.cs (rev 0)
+++ AnxCreator/AnxCreate/frmDeviceProfile.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,938 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Xml;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmDeviceProfile.
+ /// </summary>
+ public class frmDeviceProfile : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.TabPage tbpVideo;
+ private System.Windows.Forms.TabPage tbpAudio;
+ private System.Windows.Forms.GroupBox grpVideo;
+ private System.Windows.Forms.GroupBox grpAudio;
+ private System.Windows.Forms.Label lblVidHeightFixed;
+ private System.Windows.Forms.Label lblVidWidthFixed;
+ private System.Windows.Forms.TextBox txtVidWidth;
+ private System.Windows.Forms.TextBox txtVidHeight;
+ private System.Windows.Forms.Label lblVidFrameRateFixed;
+ private System.Windows.Forms.TextBox txtVidFrameRate;
+ private System.Windows.Forms.GroupBox grpAudChannels;
+ private System.Windows.Forms.RadioButton optAudLeaveAlone;
+ private System.Windows.Forms.RadioButton optAudMono;
+ private System.Windows.Forms.RadioButton optAudStereo;
+ private System.Windows.Forms.Label lblAudSampleRateFixed;
+ private System.Windows.Forms.ComboBox cboAudSampleRate;
+ private System.Windows.Forms.Button cmdCancel;
+ private System.Windows.Forms.TabPage tbpDevice;
+ private System.Windows.Forms.Label lblDeviceNameFixed;
+ private System.Windows.Forms.Label lblDeviceDescriptionFixed;
+ private System.Windows.Forms.TextBox txtProfileName;
+ private System.Windows.Forms.TextBox txtDeviceDescription;
+ private System.Windows.Forms.Button cmdSave;
+ private System.Windows.Forms.TabControl tabProfiles;
+ private System.Windows.Forms.GroupBox grpSampleWidth;
+ private System.Windows.Forms.RadioButton opt8Bit;
+ private System.Windows.Forms.RadioButton opt16Bit;
+ private System.Windows.Forms.Label lblWarningFixed;
+ private System.Windows.Forms.ToolTip ttpDeviceProfile;
+ private System.Windows.Forms.GroupBox grpQuality;
+ private System.Windows.Forms.TrackBar trkQuality;
+ private System.ComponentModel.IContainer components;
+
+ public bool WasOK;
+ private System.Windows.Forms.GroupBox grpVideoQuality;
+ private System.Windows.Forms.TrackBar trkVideoQuality;
+ private System.Windows.Forms.Label lblTargetBitrateFixed;
+ private System.Windows.Forms.ComboBox cboTargetVideoBitrate;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ public String ProfileName;
+
+ public frmDeviceProfile()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ cboAudSampleRate.SelectedIndex = 0;
+ WasOK = false;
+ ProfileName = "";
+ }
+
+ public frmDeviceProfile(String inProfileFilename)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+
+ cboAudSampleRate.SelectedIndex = 0;
+ bool locResult = LoadProfile(inProfileFilename);
+ this.Text = "Edit Device Profile...";
+ WasOK = false;
+ ProfileName = "";
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmDeviceProfile));
+ this.tabProfiles = new System.Windows.Forms.TabControl();
+ this.tbpDevice = new System.Windows.Forms.TabPage();
+ this.txtDeviceDescription = new System.Windows.Forms.TextBox();
+ this.txtProfileName = new System.Windows.Forms.TextBox();
+ this.lblDeviceDescriptionFixed = new System.Windows.Forms.Label();
+ this.lblDeviceNameFixed = new System.Windows.Forms.Label();
+ this.tbpVideo = new System.Windows.Forms.TabPage();
+ this.grpVideo = new System.Windows.Forms.GroupBox();
+ this.cboTargetVideoBitrate = new System.Windows.Forms.ComboBox();
+ this.lblTargetBitrateFixed = new System.Windows.Forms.Label();
+ this.grpVideoQuality = new System.Windows.Forms.GroupBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.trkVideoQuality = new System.Windows.Forms.TrackBar();
+ this.lblWarningFixed = new System.Windows.Forms.Label();
+ this.txtVidFrameRate = new System.Windows.Forms.TextBox();
+ this.lblVidFrameRateFixed = new System.Windows.Forms.Label();
+ this.txtVidHeight = new System.Windows.Forms.TextBox();
+ this.txtVidWidth = new System.Windows.Forms.TextBox();
+ this.lblVidWidthFixed = new System.Windows.Forms.Label();
+ this.lblVidHeightFixed = new System.Windows.Forms.Label();
+ this.tbpAudio = new System.Windows.Forms.TabPage();
+ this.grpAudio = new System.Windows.Forms.GroupBox();
+ this.grpQuality = new System.Windows.Forms.GroupBox();
+ this.trkQuality = new System.Windows.Forms.TrackBar();
+ this.grpSampleWidth = new System.Windows.Forms.GroupBox();
+ this.opt16Bit = new System.Windows.Forms.RadioButton();
+ this.opt8Bit = new System.Windows.Forms.RadioButton();
+ this.lblAudSampleRateFixed = new System.Windows.Forms.Label();
+ this.grpAudChannels = new System.Windows.Forms.GroupBox();
+ this.optAudStereo = new System.Windows.Forms.RadioButton();
+ this.optAudMono = new System.Windows.Forms.RadioButton();
+ this.optAudLeaveAlone = new System.Windows.Forms.RadioButton();
+ this.cboAudSampleRate = new System.Windows.Forms.ComboBox();
+ this.cmdCancel = new System.Windows.Forms.Button();
+ this.cmdSave = new System.Windows.Forms.Button();
+ this.ttpDeviceProfile = new System.Windows.Forms.ToolTip(this.components);
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.tabProfiles.SuspendLayout();
+ this.tbpDevice.SuspendLayout();
+ this.tbpVideo.SuspendLayout();
+ this.grpVideo.SuspendLayout();
+ this.grpVideoQuality.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.trkVideoQuality)).BeginInit();
+ this.tbpAudio.SuspendLayout();
+ this.grpAudio.SuspendLayout();
+ this.grpQuality.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.trkQuality)).BeginInit();
+ this.grpSampleWidth.SuspendLayout();
+ this.grpAudChannels.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // tabProfiles
+ //
+ this.tabProfiles.Controls.Add(this.tbpDevice);
+ this.tabProfiles.Controls.Add(this.tbpVideo);
+ this.tabProfiles.Controls.Add(this.tbpAudio);
+ this.tabProfiles.Location = new System.Drawing.Point(8, 16);
+ this.tabProfiles.Name = "tabProfiles";
+ this.tabProfiles.SelectedIndex = 0;
+ this.tabProfiles.Size = new System.Drawing.Size(344, 288);
+ this.tabProfiles.TabIndex = 0;
+ this.tabProfiles.TabStop = false;
+ this.tabProfiles.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tabProfiles_KeyDown);
+ this.tabProfiles.SelectedIndexChanged += new System.EventHandler(this.tabProfiles_SelectedIndexChanged);
+ //
+ // tbpDevice
+ //
+ this.tbpDevice.Controls.Add(this.txtDeviceDescription);
+ this.tbpDevice.Controls.Add(this.txtProfileName);
+ this.tbpDevice.Controls.Add(this.lblDeviceDescriptionFixed);
+ this.tbpDevice.Controls.Add(this.lblDeviceNameFixed);
+ this.tbpDevice.Location = new System.Drawing.Point(4, 22);
+ this.tbpDevice.Name = "tbpDevice";
+ this.tbpDevice.Size = new System.Drawing.Size(336, 262);
+ this.tbpDevice.TabIndex = 2;
+ this.tbpDevice.Text = "Device";
+ //
+ // txtDeviceDescription
+ //
+ this.txtDeviceDescription.Location = new System.Drawing.Point(104, 56);
+ this.txtDeviceDescription.Multiline = true;
+ this.txtDeviceDescription.Name = "txtDeviceDescription";
+ this.txtDeviceDescription.Size = new System.Drawing.Size(216, 184);
+ this.txtDeviceDescription.TabIndex = 11;
+ this.txtDeviceDescription.Text = "";
+ this.ttpDeviceProfile.SetToolTip(this.txtDeviceDescription, "Optional description for this profile");
+ this.txtDeviceDescription.TextChanged += new System.EventHandler(this.txtDeviceDescription_TextChanged);
+ //
+ // txtProfileName
+ //
+ this.txtProfileName.Location = new System.Drawing.Point(104, 16);
+ this.txtProfileName.Name = "txtProfileName";
+ this.txtProfileName.Size = new System.Drawing.Size(216, 20);
+ this.txtProfileName.TabIndex = 1;
+ this.txtProfileName.Text = "";
+ this.ttpDeviceProfile.SetToolTip(this.txtProfileName, "Name this profile will be saved under");
+ this.txtProfileName.TextChanged += new System.EventHandler(this.txtProfileName_TextChanged);
+ //
+ // lblDeviceDescriptionFixed
+ //
+ this.lblDeviceDescriptionFixed.Location = new System.Drawing.Point(8, 56);
+ this.lblDeviceDescriptionFixed.Name = "lblDeviceDescriptionFixed";
+ this.lblDeviceDescriptionFixed.Size = new System.Drawing.Size(88, 24);
+ this.lblDeviceDescriptionFixed.TabIndex = 10;
+ this.lblDeviceDescriptionFixed.Text = "De&scription";
+ this.ttpDeviceProfile.SetToolTip(this.lblDeviceDescriptionFixed, "Optional description for this profile");
+ //
+ // lblDeviceNameFixed
+ //
+ this.lblDeviceNameFixed.Location = new System.Drawing.Point(8, 16);
+ this.lblDeviceNameFixed.Name = "lblDeviceNameFixed";
+ this.lblDeviceNameFixed.Size = new System.Drawing.Size(88, 24);
+ this.lblDeviceNameFixed.TabIndex = 0;
+ this.lblDeviceNameFixed.Text = "&Profile Name";
+ this.ttpDeviceProfile.SetToolTip(this.lblDeviceNameFixed, "Name this profile will be saved under");
+ //
+ // tbpVideo
+ //
+ this.tbpVideo.Controls.Add(this.grpVideo);
+ this.tbpVideo.Location = new System.Drawing.Point(4, 22);
+ this.tbpVideo.Name = "tbpVideo";
+ this.tbpVideo.Size = new System.Drawing.Size(336, 262);
+ this.tbpVideo.TabIndex = 0;
+ this.tbpVideo.Text = "Video";
+ //
+ // grpVideo
+ //
+ this.grpVideo.Controls.Add(this.cboTargetVideoBitrate);
+ this.grpVideo.Controls.Add(this.lblTargetBitrateFixed);
+ this.grpVideo.Controls.Add(this.grpVideoQuality);
+ this.grpVideo.Controls.Add(this.lblWarningFixed);
+ this.grpVideo.Controls.Add(this.txtVidFrameRate);
+ this.grpVideo.Controls.Add(this.lblVidFrameRateFixed);
+ this.grpVideo.Controls.Add(this.txtVidHeight);
+ this.grpVideo.Controls.Add(this.txtVidWidth);
+ this.grpVideo.Controls.Add(this.lblVidWidthFixed);
+ this.grpVideo.Controls.Add(this.lblVidHeightFixed);
+ this.grpVideo.Location = new System.Drawing.Point(8, 8);
+ this.grpVideo.Name = "grpVideo";
+ this.grpVideo.Size = new System.Drawing.Size(320, 248);
+ this.grpVideo.TabIndex = 0;
+ this.grpVideo.TabStop = false;
+ //
+ // cboTargetVideoBitrate
+ //
+ this.cboTargetVideoBitrate.Items.AddRange(new object[] {
+ "25000",
+ "50000",
+ "75000",
+ "100000",
+ "200000",
+ "250000",
+ "300000",
+ "400000",
+ "500000",
+ "600000",
+ "800000",
+ "1200000",
+ "1500000",
+ "2000000",
+ "2500000",
+ "3000000",
+ ""});
+ this.cboTargetVideoBitrate.Location = new System.Drawing.Point(88, 80);
+ this.cboTargetVideoBitrate.Name = "cboTargetVideoBitrate";
+ this.cboTargetVideoBitrate.Size = new System.Drawing.Size(224, 21);
+ this.cboTargetVideoBitrate.TabIndex = 83;
+ this.cboTargetVideoBitrate.Text = "400000";
+ //
+ // lblTargetBitrateFixed
+ //
+ this.lblTargetBitrateFixed.Location = new System.Drawing.Point(8, 80);
+ this.lblTargetBitrateFixed.Name = "lblTargetBitrateFixed";
+ this.lblTargetBitrateFixed.Size = new System.Drawing.Size(80, 24);
+ this.lblTargetBitrateFixed.TabIndex = 82;
+ this.lblTargetBitrateFixed.Text = "Target Bitrate";
+ //
+ // grpVideoQuality
+ //
+ this.grpVideoQuality.Controls.Add(this.label2);
+ this.grpVideoQuality.Controls.Add(this.label1);
+ this.grpVideoQuality.Controls.Add(this.trkVideoQuality);
+ this.grpVideoQuality.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpVideoQuality.Location = new System.Drawing.Point(8, 120);
+ this.grpVideoQuality.Name = "grpVideoQuality";
+ this.grpVideoQuality.Size = new System.Drawing.Size(304, 72);
+ this.grpVideoQuality.TabIndex = 81;
+ this.grpVideoQuality.TabStop = false;
+ this.grpVideoQuality.Text = "&Quality";
+ //
+ // label2
+ //
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label2.Location = new System.Drawing.Point(264, 48);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(32, 16);
+ this.label2.TabIndex = 2;
+ this.label2.Text = "High";
+ //
+ // label1
+ //
+ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label1.Location = new System.Drawing.Point(16, 48);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(32, 16);
+ this.label1.TabIndex = 1;
+ this.label1.Text = "Low";
+ //
+ // trkVideoQuality
+ //
+ this.trkVideoQuality.LargeChange = 10;
+ this.trkVideoQuality.Location = new System.Drawing.Point(8, 16);
+ this.trkVideoQuality.Maximum = 99;
+ this.trkVideoQuality.Name = "trkVideoQuality";
+ this.trkVideoQuality.Size = new System.Drawing.Size(288, 45);
+ this.trkVideoQuality.SmallChange = 5;
+ this.trkVideoQuality.TabIndex = 0;
+ this.trkVideoQuality.TickFrequency = 10;
+ this.trkVideoQuality.Value = 30;
+ //
+ // lblWarningFixed
+ //
+ this.lblWarningFixed.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
+ this.lblWarningFixed.Location = new System.Drawing.Point(8, 200);
+ this.lblWarningFixed.Name = "lblWarningFixed";
+ this.lblWarningFixed.RightToLeft = System.Windows.Forms.RightToLeft.No;
+ this.lblWarningFixed.Size = new System.Drawing.Size(304, 40);
+ this.lblWarningFixed.TabIndex = 42;
+ this.lblWarningFixed.Text = "NOTE : Width and height must be even. Zero indicates for this parameter to be dra" +
+ "wn from the original media.";
+ this.lblWarningFixed.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // txtVidFrameRate
+ //
+ this.txtVidFrameRate.Location = new System.Drawing.Point(88, 48);
+ this.txtVidFrameRate.Name = "txtVidFrameRate";
+ this.txtVidFrameRate.Size = new System.Drawing.Size(80, 20);
+ this.txtVidFrameRate.TabIndex = 41;
+ this.txtVidFrameRate.Text = "0";
+ this.txtVidFrameRate.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.ttpDeviceProfile.SetToolTip(this.txtVidFrameRate, "The maximum frame rate of the generated video");
+ this.txtVidFrameRate.TextChanged += new System.EventHandler(this.txtVidFrameRate_TextChanged);
+ //
+ // lblVidFrameRateFixed
+ //
+ this.lblVidFrameRateFixed.Location = new System.Drawing.Point(8, 48);
+ this.lblVidFrameRateFixed.Name = "lblVidFrameRateFixed";
+ this.lblVidFrameRateFixed.Size = new System.Drawing.Size(64, 24);
+ this.lblVidFrameRateFixed.TabIndex = 40;
+ this.lblVidFrameRateFixed.Text = "&Frame Rate";
+ this.ttpDeviceProfile.SetToolTip(this.lblVidFrameRateFixed, "The maximum frame rate of the generated video");
+ //
+ // txtVidHeight
+ //
+ this.txtVidHeight.Location = new System.Drawing.Point(232, 16);
+ this.txtVidHeight.Name = "txtVidHeight";
+ this.txtVidHeight.Size = new System.Drawing.Size(80, 20);
+ this.txtVidHeight.TabIndex = 31;
+ this.txtVidHeight.Text = "0";
+ this.txtVidHeight.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.ttpDeviceProfile.SetToolTip(this.txtVidHeight, "The maximum height of the generated video");
+ this.txtVidHeight.TextChanged += new System.EventHandler(this.txtVidHeight_TextChanged);
+ //
+ // txtVidWidth
+ //
+ this.txtVidWidth.Location = new System.Drawing.Point(88, 16);
+ this.txtVidWidth.Name = "txtVidWidth";
+ this.txtVidWidth.Size = new System.Drawing.Size(80, 20);
+ this.txtVidWidth.TabIndex = 21;
+ this.txtVidWidth.Text = "0";
+ this.txtVidWidth.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.ttpDeviceProfile.SetToolTip(this.txtVidWidth, "The maximum width of the generated video");
+ this.txtVidWidth.TextChanged += new System.EventHandler(this.txtVidWidth_TextChanged);
+ //
+ // lblVidWidthFixed
+ //
+ this.lblVidWidthFixed.Location = new System.Drawing.Point(8, 16);
+ this.lblVidWidthFixed.Name = "lblVidWidthFixed";
+ this.lblVidWidthFixed.Size = new System.Drawing.Size(40, 24);
+ this.lblVidWidthFixed.TabIndex = 20;
+ this.lblVidWidthFixed.Text = "&Width";
+ this.ttpDeviceProfile.SetToolTip(this.lblVidWidthFixed, "The maximum width of the generated video");
+ //
+ // lblVidHeightFixed
+ //
+ this.lblVidHeightFixed.Location = new System.Drawing.Point(176, 16);
+ this.lblVidHeightFixed.Name = "lblVidHeightFixed";
+ this.lblVidHeightFixed.Size = new System.Drawing.Size(48, 24);
+ this.lblVidHeightFixed.TabIndex = 30;
+ this.lblVidHeightFixed.Text = "&Height";
+ this.ttpDeviceProfile.SetToolTip(this.lblVidHeightFixed, "The maximum height of the generated video");
+ //
+ // tbpAudio
+ //
+ this.tbpAudio.Controls.Add(this.grpAudio);
+ this.tbpAudio.Location = new System.Drawing.Point(4, 22);
+ this.tbpAudio.Name = "tbpAudio";
+ this.tbpAudio.Size = new System.Drawing.Size(336, 262);
+ this.tbpAudio.TabIndex = 1;
+ this.tbpAudio.Text = "Audio";
+ //
+ // grpAudio
+ //
+ this.grpAudio.Controls.Add(this.grpQuality);
+ this.grpAudio.Controls.Add(this.grpSampleWidth);
+ this.grpAudio.Controls.Add(this.lblAudSampleRateFixed);
+ this.grpAudio.Controls.Add(this.grpAudChannels);
+ this.grpAudio.Controls.Add(this.cboAudSampleRate);
+ this.grpAudio.Location = new System.Drawing.Point(8, 8);
+ this.grpAudio.Name = "grpAudio";
+ this.grpAudio.Size = new System.Drawing.Size(320, 248);
+ this.grpAudio.TabIndex = 1;
+ this.grpAudio.TabStop = false;
+ //
+ // grpQuality
+ //
+ this.grpQuality.Controls.Add(this.label4);
+ this.grpQuality.Controls.Add(this.label3);
+ this.grpQuality.Controls.Add(this.trkQuality);
+ this.grpQuality.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpQuality.Location = new System.Drawing.Point(8, 168);
+ this.grpQuality.Name = "grpQuality";
+ this.grpQuality.Size = new System.Drawing.Size(304, 72);
+ this.grpQuality.TabIndex = 80;
+ this.grpQuality.TabStop = false;
+ this.grpQuality.Text = "&Quality";
+ //
+ // trkQuality
+ //
+ this.trkQuality.LargeChange = 10;
+ this.trkQuality.Location = new System.Drawing.Point(8, 16);
+ this.trkQuality.Maximum = 99;
+ this.trkQuality.Name = "trkQuality";
+ this.trkQuality.Size = new System.Drawing.Size(288, 45);
+ this.trkQuality.SmallChange = 5;
+ this.trkQuality.TabIndex = 0;
+ this.trkQuality.TickFrequency = 10;
+ //
+ // grpSampleWidth
+ //
+ this.grpSampleWidth.Controls.Add(this.opt16Bit);
+ this.grpSampleWidth.Controls.Add(this.opt8Bit);
+ this.grpSampleWidth.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpSampleWidth.Location = new System.Drawing.Point(8, 48);
+ this.grpSampleWidth.Name = "grpSampleWidth";
+ this.grpSampleWidth.Size = new System.Drawing.Size(304, 48);
+ this.grpSampleWidth.TabIndex = 71;
+ this.grpSampleWidth.TabStop = false;
+ this.grpSampleWidth.Text = "Sample Width";
+ this.ttpDeviceProfile.SetToolTip(this.grpSampleWidth, "The maximum sample width of the generated audio");
+ //
+ // opt16Bit
+ //
+ this.opt16Bit.Checked = true;
+ this.opt16Bit.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.opt16Bit.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.opt16Bit.Location = new System.Drawing.Point(120, 24);
+ this.opt16Bit.Name = "opt16Bit";
+ this.opt16Bit.Size = new System.Drawing.Size(56, 16);
+ this.opt16Bit.TabIndex = 1;
+ this.opt16Bit.TabStop = true;
+ this.opt16Bit.Text = "16 bit";
+ this.ttpDeviceProfile.SetToolTip(this.opt16Bit, "The maximum sample width of the generated audio");
+ //
+ // opt8Bit
+ //
+ this.opt8Bit.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.opt8Bit.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.opt8Bit.Location = new System.Drawing.Point(16, 24);
+ this.opt8Bit.Name = "opt8Bit";
+ this.opt8Bit.Size = new System.Drawing.Size(48, 16);
+ this.opt8Bit.TabIndex = 0;
+ this.opt8Bit.Text = "8 bit";
+ this.ttpDeviceProfile.SetToolTip(this.opt8Bit, "The maximum sample width of the generated audio");
+ //
+ // lblAudSampleRateFixed
+ //
+ this.lblAudSampleRateFixed.Location = new System.Drawing.Point(16, 16);
+ this.lblAudSampleRateFixed.Name = "lblAudSampleRateFixed";
+ this.lblAudSampleRateFixed.Size = new System.Drawing.Size(72, 24);
+ this.lblAudSampleRateFixed.TabIndex = 50;
+ this.lblAudSampleRateFixed.Text = "Sample &Rate";
+ this.ttpDeviceProfile.SetToolTip(this.lblAudSampleRateFixed, "The maximum sample rate for the generated audio");
+ //
+ // grpAudChannels
+ //
+ this.grpAudChannels.Controls.Add(this.optAudStereo);
+ this.grpAudChannels.Controls.Add(this.optAudMono);
+ this.grpAudChannels.Controls.Add(this.optAudLeaveAlone);
+ this.grpAudChannels.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpAudChannels.Location = new System.Drawing.Point(8, 104);
+ this.grpAudChannels.Name = "grpAudChannels";
+ this.grpAudChannels.Size = new System.Drawing.Size(304, 56);
+ this.grpAudChannels.TabIndex = 70;
+ this.grpAudChannels.TabStop = false;
+ this.grpAudChannels.Text = "Channels";
+ this.ttpDeviceProfile.SetToolTip(this.grpAudChannels, "The exact number of channels the generated audio will have");
+ //
+ // optAudStereo
+ //
+ this.optAudStereo.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.optAudStereo.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.optAudStereo.Location = new System.Drawing.Point(120, 24);
+ this.optAudStereo.Name = "optAudStereo";
+ this.optAudStereo.Size = new System.Drawing.Size(64, 16);
+ this.optAudStereo.TabIndex = 72;
+ this.optAudStereo.Text = "&Stereo";
+ this.ttpDeviceProfile.SetToolTip(this.optAudStereo, "The generated audio will be in stereo");
+ //
+ // optAudMono
+ //
+ this.optAudMono.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.optAudMono.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.optAudMono.Location = new System.Drawing.Point(224, 24);
+ this.optAudMono.Name = "optAudMono";
+ this.optAudMono.Size = new System.Drawing.Size(64, 16);
+ this.optAudMono.TabIndex = 73;
+ this.optAudMono.Text = "&Mono";
+ this.ttpDeviceProfile.SetToolTip(this.optAudMono, "The generated audio will be mono");
+ //
+ // optAudLeaveAlone
+ //
+ this.optAudLeaveAlone.Checked = true;
+ this.optAudLeaveAlone.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.optAudLeaveAlone.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.optAudLeaveAlone.Location = new System.Drawing.Point(16, 24);
+ this.optAudLeaveAlone.Name = "optAudLeaveAlone";
+ this.optAudLeaveAlone.Size = new System.Drawing.Size(64, 16);
+ this.optAudLeaveAlone.TabIndex = 71;
+ this.optAudLeaveAlone.TabStop = true;
+ this.optAudLeaveAlone.Text = "&As It Is";
+ this.ttpDeviceProfile.SetToolTip(this.optAudLeaveAlone, "The outputed audio has the same number of channels as the original");
+ //
+ // cboAudSampleRate
+ //
+ this.cboAudSampleRate.Items.AddRange(new object[] {
+ "0",
+ "4000",
+ "8000",
+ "11025",
+ "16000",
+ "22050",
+ "32000",
+ "44100"});
+ this.cboAudSampleRate.Location = new System.Drawing.Point(104, 16);
+ this.cboAudSampleRate.Name = "cboAudSampleRate";
+ this.cboAudSampleRate.Size = new System.Drawing.Size(208, 21);
+ this.cboAudSampleRate.TabIndex = 51;
+ this.ttpDeviceProfile.SetToolTip(this.cboAudSampleRate, "The maximum sample rate for the generated audio");
+ this.cboAudSampleRate.TextChanged += new System.EventHandler(this.cboAudSampleRate_TextChanged);
+ this.cboAudSampleRate.SelectedIndexChanged += new System.EventHandler(this.cboAudSampleRate_SelectedIndexChanged);
+ //
+ // cmdCancel
+ //
+ this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCancel.Location = new System.Drawing.Point(296, 320);
+ this.cmdCancel.Name = "cmdCancel";
+ this.cmdCancel.Size = new System.Drawing.Size(56, 24);
+ this.cmdCancel.TabIndex = 101;
+ this.cmdCancel.Text = "&Cancel";
+ this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
+ //
+ // cmdSave
+ //
+ this.cmdSave.Enabled = false;
+ this.cmdSave.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdSave.Location = new System.Drawing.Point(224, 320);
+ this.cmdSave.Name = "cmdSave";
+ this.cmdSave.Size = new System.Drawing.Size(64, 24);
+ this.cmdSave.TabIndex = 100;
+ this.cmdSave.Text = "&Save";
+ this.ttpDeviceProfile.SetToolTip(this.cmdSave, "Save this profile to the profiles directory");
+ this.cmdSave.Click += new System.EventHandler(this.cmdSave_Click);
+ //
+ // label3
+ //
+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label3.Location = new System.Drawing.Point(16, 48);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(32, 16);
+ this.label3.TabIndex = 2;
+ this.label3.Text = "Low";
+ //
+ // label4
+ //
+ this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.label4.Location = new System.Drawing.Point(264, 48);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(32, 16);
+ this.label4.TabIndex = 3;
+ this.label4.Text = "High";
+ //
+ // frmDeviceProfile
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.CancelButton = this.cmdCancel;
+ this.ClientSize = new System.Drawing.Size(360, 350);
+ this.Controls.Add(this.cmdSave);
+ this.Controls.Add(this.cmdCancel);
+ this.Controls.Add(this.tabProfiles);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmDeviceProfile";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "New Device Profile...";
+ this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmDeviceProfile_KeyDown);
+ this.Load += new System.EventHandler(this.frmDeviceProfile_Load);
+ this.tabProfiles.ResumeLayout(false);
+ this.tbpDevice.ResumeLayout(false);
+ this.tbpVideo.ResumeLayout(false);
+ this.grpVideo.ResumeLayout(false);
+ this.grpVideoQuality.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.trkVideoQuality)).EndInit();
+ this.tbpAudio.ResumeLayout(false);
+ this.grpAudio.ResumeLayout(false);
+ this.grpQuality.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.trkQuality)).EndInit();
+ this.grpSampleWidth.ResumeLayout(false);
+ this.grpAudChannels.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void frmDeviceProfile_Load(object sender, System.EventArgs e)
+ {
+ txtProfileName.Focus();
+
+ CheckOKEnabledStatus();
+ }
+
+ private void CheckOKEnabledStatus()
+ {
+ if ((txtProfileName.Text != ""))
+ {
+ bool locAnyFailed = false;
+ try
+ {
+ if (cboTargetVideoBitrate.Text != "")
+ {
+ Int32 locTestInt = Convert.ToInt32(cboTargetVideoBitrate.Text);
+ if (locTestInt < 10000)
+ {
+ locAnyFailed = true;
+ }
+ }
+ else
+ {
+ locAnyFailed = true;
+ }
+
+
+ }
+ catch
+ {
+ locAnyFailed = true;
+ }
+
+ try
+ {
+ Int64 locTestInt = Convert.ToInt64(txtVidWidth.Text);
+
+ if (locTestInt % 2 != 0)
+ {
+ locAnyFailed = true;
+ }
+ }
+ catch
+ {
+ locAnyFailed = true;
+ }
+
+ try
+ {
+ Int64 locTestInt = Convert.ToInt64(txtVidHeight.Text);
+ if (locTestInt % 2 != 0)
+ {
+ locAnyFailed = true;
+ }
+ }
+ catch
+ {
+ locAnyFailed = true;
+ }
+
+ try
+ {
+ Int64 locTestInt = Convert.ToInt64(txtVidFrameRate.Text);
+
+ }
+ catch
+ {
+ locAnyFailed = true;
+ }
+
+ try
+ {
+ Int64 locTestInt = Convert.ToInt64(cboAudSampleRate.Text);
+ }
+ catch
+ {
+ locAnyFailed = true;
+ }
+
+ if (locAnyFailed)
+ {
+ cmdSave.Enabled = false;
+ }
+ else
+ {
+ cmdSave.Enabled = true;
+ }
+
+
+ }
+ else
+ {
+ cmdSave.Enabled = false;
+ }
+ }
+
+ private bool LoadProfile(String inProfileFilename)
+ {
+ DeviceProfile locDevProf = new DeviceProfile();
+ bool locResult = locDevProf.LoadXML(inProfileFilename);
+ if (!locResult)
+ {
+ return false;
+ }
+
+ txtProfileName.Text = locDevProf.mProfileName;
+ txtDeviceDescription.Text = locDevProf.mProfileDesc;
+ txtVidWidth.Text = locDevProf.mVideoWidth;
+ txtVidHeight.Text = locDevProf.mVideoHeight;
+ txtVidFrameRate.Text = locDevProf.mVideoFrameRate;
+ cboAudSampleRate.Text = locDevProf.mAudioSampleRate;
+
+ trkQuality.Value = Convert.ToInt32(locDevProf.mAudioVorbisQuality);
+
+ cboTargetVideoBitrate.Text = locDevProf.mVideoTheoraTargetBitrate;
+ trkVideoQuality.Value = Convert.ToInt32(locDevProf.mVideoTheoraQuality);
+
+ //Sample width
+ if (locDevProf.mAudioSampleWidth == "8")
+ {
+ opt8Bit.Checked = true;
+ }
+ else if (locDevProf.mAudioSampleWidth == "16")
+ {
+ opt16Bit.Checked = true;
+ }
+ else
+ {
+ //Default... if we are here... jsut force to 16
+ opt16Bit.Checked = true;
+ }
+
+ if (locDevProf.mAudioChannels == "0")
+ {
+ optAudLeaveAlone.Checked = true;
+ }
+ else if (locDevProf.mAudioChannels == "1")
+ {
+ optAudMono.Checked = true;
+ }
+ else if (locDevProf.mAudioChannels == "2")
+ {
+ optAudStereo.Checked = true;
+ }
+ else
+ {
+ //Default... if we are here just force to "as is" ie "0"
+ optAudLeaveAlone.Checked = true;
+ }
+ CheckOKEnabledStatus();
+ return true;
+
+
+ }
+ private void cmdSave_Click(object sender, System.EventArgs e)
+ {
+ DeviceProfile locDevProf = new DeviceProfile();
+ locDevProf.mProfileName = txtProfileName.Text;
+ locDevProf.mProfileDesc = txtDeviceDescription.Text;
+ locDevProf.mVideoWidth = txtVidWidth.Text;
+ locDevProf.mVideoHeight = txtVidHeight.Text;
+ locDevProf.mVideoFrameRate = txtVidFrameRate.Text;
+ locDevProf.mAudioSampleRate = cboAudSampleRate.Text;
+ locDevProf.mAudioVorbisQuality = trkQuality.Value.ToString();
+ locDevProf.mVideoTheoraQuality = trkVideoQuality.Value.ToString();
+ locDevProf.mVideoTheoraTargetBitrate = cboTargetVideoBitrate.Text;
+
+ if (opt8Bit.Checked)
+ {
+ locDevProf.mAudioSampleWidth = "8";
+ }
+ else if (opt16Bit.Checked)
+ {
+ locDevProf.mAudioSampleWidth = "16";
+ }
+
+ if (optAudLeaveAlone.Checked)
+ {
+ locDevProf.mAudioChannels = "0";
+ }
+ else if (optAudStereo.Checked)
+ {
+ locDevProf.mAudioChannels = "2";
+ }
+ else if (optAudMono.Checked)
+ {
+ locDevProf.mAudioChannels = "1";
+ }
+
+ if (locDevProf.SaveAsXML() == false)
+ {
+ MessageBox.Show("Profile could not be saved. Invalid name, or no space on disk");
+ WasOK = false;
+
+ }
+ else
+ {
+ WasOK = true;
+ ProfileName = locDevProf.mProfileName;
+ }
+
+ Close();
+
+ }
+
+ private void frmDeviceProfile_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ CheckTabKeyPresses(e);
+ }
+
+ private void CheckTabKeyPresses(System.Windows.Forms.KeyEventArgs e)
+ {
+ if ((e.KeyCode == Keys.PageUp) && (e.Control))
+ {
+
+ tabProfiles.SelectedIndex = (tabProfiles.SelectedIndex + tabProfiles.TabPages.Count - 1) % (tabProfiles.TabPages.Count);
+ }
+ else if ((e.KeyCode == Keys.PageDown) && (e.Control))
+ {
+ tabProfiles.SelectedIndex = (tabProfiles.SelectedIndex + 1) % (tabProfiles.TabPages.Count);
+ }
+ }
+
+
+
+ private void tabProfiles_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ CheckTabKeyPresses(e);
+ }
+
+ private void cmdCancel_Click(object sender, System.EventArgs e)
+ {
+ WasOK = false;
+ ProfileName = "";
+ Close();
+ }
+
+ private void tabProfiles_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ const int DEVICE_PAGE = 0;
+ const int VIDEO_PAGE = 1;
+ const int AUDIO_PAGE = 2;
+ switch (tabProfiles.SelectedIndex)
+ {
+ case DEVICE_PAGE:
+ txtProfileName.Focus();
+ break;
+ case VIDEO_PAGE:
+ txtVidWidth.Focus();
+ break;
+ case AUDIO_PAGE:
+ cboAudSampleRate.Focus();
+ break;
+
+ }
+ }
+
+ private void txtProfileName_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void txtDeviceDescription_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void txtVidWidth_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void txtVidHeight_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void txtVidFrameRate_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void cboAudSampleRate_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void cboAudSampleRate_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmDeviceProfile.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmDeviceProfile.resx
===================================================================
--- AnxCreator/AnxCreate/frmDeviceProfile.resx (rev 0)
+++ AnxCreator/AnxCreate/frmDeviceProfile.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,950 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="tabProfiles.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabProfiles.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabProfiles.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabProfiles.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabProfiles.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabProfiles.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="tbpDevice.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tbpDevice.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tbpDevice.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tbpDevice.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpDevice.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpDevice.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="txtDeviceDescription.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtDeviceDescription.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtDeviceDescription.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtProfileName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProfileName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtProfileName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDeviceDescriptionFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblDeviceDescriptionFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDeviceDescriptionFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDeviceNameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblDeviceNameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDeviceNameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpVideo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tbpVideo.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tbpVideo.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tbpVideo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpVideo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpVideo.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpVideo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpVideo.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpVideo.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpVideo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpVideo.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpVideo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cboTargetVideoBitrate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cboTargetVideoBitrate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cboTargetVideoBitrate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTargetBitrateFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblTargetBitrateFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTargetBitrateFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpVideoQuality.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpVideoQuality.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpVideoQuality.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpVideoQuality.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpVideoQuality.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpVideoQuality.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkVideoQuality.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="trkVideoQuality.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkVideoQuality.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblWarningFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblWarningFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblWarningFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVidFrameRate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVidFrameRate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtVidFrameRate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVidFrameRateFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblVidFrameRateFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVidFrameRateFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVidHeight.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVidHeight.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtVidHeight.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVidWidth.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVidWidth.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtVidWidth.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVidWidthFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblVidWidthFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVidWidthFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVidHeightFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblVidHeightFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVidHeightFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpAudio.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tbpAudio.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tbpAudio.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tbpAudio.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpAudio.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tbpAudio.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpAudio.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpAudio.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpAudio.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpAudio.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpAudio.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpAudio.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpQuality.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpQuality.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpQuality.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpQuality.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpQuality.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpQuality.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkQuality.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="trkQuality.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkQuality.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpSampleWidth.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpSampleWidth.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpSampleWidth.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpSampleWidth.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpSampleWidth.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpSampleWidth.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="opt16Bit.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="opt16Bit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="opt16Bit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="opt8Bit.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="opt8Bit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="opt8Bit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblAudSampleRateFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblAudSampleRateFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblAudSampleRateFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpAudChannels.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpAudChannels.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpAudChannels.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpAudChannels.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpAudChannels.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpAudChannels.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optAudStereo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="optAudStereo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optAudStereo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optAudMono.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="optAudMono.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optAudMono.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optAudLeaveAlone.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="optAudLeaveAlone.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optAudLeaveAlone.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cboAudSampleRate.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cboAudSampleRate.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cboAudSampleRate.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSave.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdSave.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSave.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpDeviceProfile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpDeviceProfile.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="ttpDeviceProfile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label4.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmDeviceProfile</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmDeviceProfile.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmEditTags.cs
===================================================================
--- AnxCreator/AnxCreate/frmEditTags.cs (rev 0)
+++ AnxCreator/AnxCreate/frmEditTags.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,5725 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Data;
+using System.IO;
+
+using illiminable.libCMMLTagsDotNET;
+using illiminable.libDSPlayDotNET;
+using illiminable.libCMMLParserDotNET;
+
+using CSIRO.libDSEncodeDotNET;
+
+using Microsoft.Win32; // DLB. 17/6/2005. Give us access to Registry keys.
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Main form for editing cmml while watching or listening to associated media
+ /// </summary>
+ public class frmEditTags : System.Windows.Forms.Form, illiminable.libDSPlayDotNET.IDNMediaEvent, INotifyClipSelection
+ {
+ #region Class Member Declarations
+ private System.Windows.Forms.GroupBox grpEditClipTag;
+ private System.Windows.Forms.Label lblClipEditTimeFixed;
+ private System.Windows.Forms.TextBox txtEditClipStart;
+ private System.Windows.Forms.Label lblEditClipTimeToFixed;
+ private System.Windows.Forms.TextBox txtEditClipEnd;
+ private System.Windows.Forms.PictureBox picEditClip;
+ private System.Windows.Forms.TextBox txtEditClipDescription;
+ private System.Windows.Forms.ListView lstEditClipMetaTags;
+ private System.Windows.Forms.ColumnHeader colName;
+ private System.Windows.Forms.ColumnHeader colValue;
+ private System.Windows.Forms.TextBox txtEditClipImageText;
+ private System.Windows.Forms.Button cmdEditClipAddMeta;
+ private System.Windows.Forms.Button cmdEditClipRemoveMeta;
+ private System.Windows.Forms.Button cmdPlay;
+ private System.Windows.Forms.Button cmdPause;
+ private System.Windows.Forms.Button cmdStop;
+ private System.Windows.Forms.Label lblProgressBarOutline;
+ private System.Windows.Forms.TextBox txtEditClipImageURI;
+ private System.Windows.Forms.Label lblEditClipImageURIFixed;
+ private System.Windows.Forms.GroupBox grpEditClipMetaTags;
+ private System.Windows.Forms.Button cmdNewClip;
+ private System.Windows.Forms.Button cmdDeleteTrack;
+ private System.Windows.Forms.Button cmdNewTrack;
+ private System.Windows.Forms.GroupBox grpEditClipAnchorTag;
+ private System.Windows.Forms.TextBox txtEditClipAnchorURI;
+ private System.Windows.Forms.TextBox txtEditClipAnchorText;
+ private System.Windows.Forms.Label lblEditClipAnchorURIFixed;
+ private System.Windows.Forms.Label lblEditClipAnchorTextFixed;
+ private System.Windows.Forms.GroupBox grpEditClipImageTag;
+ private System.ComponentModel.IContainer components;
+ private ClipTag mWorkingClip;
+ private TrackList mTrackList;
+ private String mWorkingTrackName;
+ private DSPlay mPlayer;
+ private System.Windows.Forms.Timer tmrMediaEventCheck;
+ private System.Windows.Forms.Timer tmrUpdateProgress;
+ private ProjectSettings mSettings;
+ private Int64 mLastSync;
+ private Int64 mTicksElapsed;
+ private Int64 mMediaFileDuration;
+ private System.Windows.Forms.GroupBox grpDescription;
+ private System.Windows.Forms.MainMenu mnuMain;
+ private System.Windows.Forms.MenuItem mniProject;
+ private System.Windows.Forms.MenuItem mniProject_ExportCMML;
+ private System.Windows.Forms.MenuItem mniProject_ExportCMMLAs;
+ private System.Windows.Forms.GroupBox grpMediaControls;
+ private System.Windows.Forms.Panel pnlVideoWindow;
+ private System.Windows.Forms.ToolTip ttpPicBox;
+ private String mMediaFileName;
+ private System.Windows.Forms.MenuItem menuItem1;
+ private System.Windows.Forms.MenuItem mniProject_CreateAnnodex;
+ private System.Windows.Forms.TabControl tabTrackList;
+ private SortedList mClipListControls;
+ private System.Windows.Forms.MenuItem mniProjectImportCMML;
+ private System.Windows.Forms.MenuItem mniFile;
+ private System.Windows.Forms.MenuItem mniFile_NewProject;
+ private System.Windows.Forms.MenuItem mniFile_LoadProject;
+ private System.Windows.Forms.MenuItem mniFile_SaveProject;
+ private System.Windows.Forms.MenuItem menuItem2;
+ private System.Windows.Forms.MenuItem mniFile_Exit;
+ private System.Windows.Forms.MenuItem mniHelp;
+ private System.Windows.Forms.MenuItem mniHelp_About;
+ private System.Windows.Forms.Button cmdDeleteClip;
+ private System.Windows.Forms.MenuItem menuItem3;
+ private System.Windows.Forms.ToolTip ttpMediaFileName;
+ private System.Windows.Forms.MenuItem mniProjectProperties;
+ private System.Windows.Forms.ColumnHeader columnHeader4;
+ private System.Windows.Forms.Label lblIDFixed;
+ private System.Windows.Forms.TextBox txtID;
+ private System.Windows.Forms.ToolTip ttpEditTags;
+ private System.Windows.Forms.TabControl tabHeadTag;
+ private System.Windows.Forms.TabPage tabPage1;
+ private System.Windows.Forms.TabPage tabPage2;
+ private System.Windows.Forms.TextBox txtEditHeadBaseURI;
+ private System.Windows.Forms.TextBox txtEditHeadTitle;
+ private System.Windows.Forms.Label lblDisplayHeadBaseUriFixed;
+ private System.Windows.Forms.Label lblDisplayHeadTitleFixed;
+ private System.Windows.Forms.ListView lstEditHeadMetaTags;
+ private System.Windows.Forms.ColumnHeader columnHeader1;
+ private System.Windows.Forms.ColumnHeader columnHeader2;
+ private System.Windows.Forms.ColumnHeader columnHeader3;
+ private System.Windows.Forms.Button cmdEditHeadRemoveMeta;
+ private System.Windows.Forms.Button cmdEditHeadAddMeta;
+ private System.Windows.Forms.TrackBar trkVolume;
+ private System.Windows.Forms.Button cmdStepFrame;
+ private System.Windows.Forms.MenuItem mniMedia_Play;
+ private System.Windows.Forms.MenuItem mniMedia_Stop;
+ private System.Windows.Forms.MenuItem menuItem8;
+ private System.Windows.Forms.MenuItem mniMedia_FrameStep;
+ private System.Windows.Forms.MenuItem menuItem10;
+ private System.Windows.Forms.MenuItem mniMedia_Back2;
+ private System.Windows.Forms.MenuItem mniMedia_Forward2;
+ private System.Windows.Forms.MenuItem mniMedia;
+ private System.Windows.Forms.Button cmdSkipForward;
+ private System.Windows.Forms.Button cmdSkipBackward;
+ private System.Windows.Forms.TextBox txtMediaTimeDisplay;
+ private bool mIgnoreTabEvents;
+ private Int64 i64MarkInPoint;
+ private Int64 i64MarkOutPoint;
+ private bool bPlayingInToOut;
+ private bool bLoopingPlayback;
+ private System.Windows.Forms.Button cmdEditHeadEditMeta;
+ private System.Windows.Forms.Button cmdEditClipEditMeta;
+ private System.Windows.Forms.MenuItem mniFile_CloseProject;
+ private System.Windows.Forms.MenuItem mniProject_CreateOgg;
+ private System.Windows.Forms.MenuItem menuItem6;
+ private System.Windows.Forms.MenuItem menuHelpContents;
+ private System.Windows.Forms.Button cmdStepFrameBack;
+ private System.Windows.Forms.MenuItem mniMedia_FrameStepBack;
+ private System.Windows.Forms.MenuItem menuItem14;
+ private System.Windows.Forms.PictureBox lblInMarker;
+ private System.Windows.Forms.PictureBox lblOutMarker;
+ private System.Windows.Forms.Label lblMarkedClip;
+ private System.Windows.Forms.MenuItem mniMedia_MarkIn;
+ private System.Windows.Forms.MenuItem mniMedia_MarkOut;
+ private System.Windows.Forms.MenuItem mniMedia_GotoIn;
+ private System.Windows.Forms.MenuItem mniMedia_GotoOut;
+ private System.Windows.Forms.MenuItem mniMedia_PlayInToOut;
+ private System.Windows.Forms.MenuItem mniMedia_LoopInToOut;
+ private System.Windows.Forms.MenuItem mniMedia_ClearMarks;
+ #endregion
+ private System.Windows.Forms.PictureBox mediaProgressCursorLine;
+ private System.Windows.Forms.PictureBox mediaProgressCursorPointer;
+ private System.Windows.Forms.Label lblProgressBarControlBox;
+ private System.Windows.Forms.ContextMenu lblProgressBar_contextMenu1;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextMarkIn;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextMarkOut;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextGotoIn;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextGotoOut;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextPlayInToOut;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextLoopInToOut;
+ private System.Windows.Forms.MenuItem lblProgressBar_ContextClearMarks;
+ private System.Windows.Forms.MenuItem mniUpdateLicense;
+ private System.Windows.Forms.MenuItem menuItem7;
+ private System.Windows.Forms.MenuItem menuItem9;
+ private System.Windows.Forms.MenuItem menuItem11;
+ private System.Windows.Forms.MenuItem menuEditUndo;
+ private System.Windows.Forms.MenuItem menuEditRedo;
+ private System.Windows.Forms.MenuItem mniEdit;
+ private System.Windows.Forms.MenuItem mniEditSeparator;
+ private System.Windows.Forms.Timer tmrMediaControls;
+ private System.Windows.Forms.MenuItem menuItem4;
+ private System.Windows.Forms.MenuItem menuItem5;
+
+ private frmOptions appOptions;
+ private String mOptionsFileName = System.Windows.Forms.Application.StartupPath+"\\Options.xml";
+ private System.Windows.Forms.Button btnCopyHeadDefaults;
+ private System.Windows.Forms.Button btnCopyClipDefaults;
+ private System.Windows.Forms.Button cmdCopyTrack;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.Button cmdCopyClip;
+
+ enum eEventCodes
+ {
+ EC_COMPLETE = 1
+ };
+
+ const int SEEK_DISTANCE = 500;
+
+ public TrackList GetTrackList()
+ {
+ return mTrackList;
+ }
+
+ public frmEditTags()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ ResetForm();
+
+ LicenseDialog.LicenseInfo LicInfo = new LicenseDialog.LicenseInfo();
+
+ // if the license is invalid, or it's a demo license, display the licensing dialog
+ if (!LicenseDialog.IsValidLicense(LicInfo) || LicInfo.LicenseDays != 0)
+ {
+ LicenseDialog locLicense = new LicenseDialog();
+ locLicense.ShowDialog();
+
+ // And store that we've used it again.
+ LicenseDialog.IncrementProductUsage();
+
+ // And check the new license
+ if (LicenseDialog.IsValidLicense(null))
+ {
+ mniFile_LoadProject.Enabled = true;
+ mniFile_NewProject.Enabled = true;
+ }
+ else
+ {
+ // need to disable some controls here!
+ mniFile_LoadProject.Enabled = false;
+ mniFile_NewProject.Enabled = false;
+ }
+ }
+
+ // DLB. 22/11/2005. Store the application options.
+ this.appOptions = new frmOptions();
+ appOptions.LoadFromFile(mOptionsFileName);
+ }
+
+ public frmEditTags(ProjectSettings inSettings, bool inIsNew)
+ {
+
+ InitializeComponent();
+
+ ResetForm();
+ bool locWasOK = SetupForm(inSettings, inIsNew);
+
+ // if the license is valid, and it's a full license, hide the licensing dialog
+ LicenseDialog.LicenseInfo LicInfo = new LicenseDialog.LicenseInfo();
+ if (LicenseDialog.IsValidLicense(LicInfo) && LicInfo.LicenseDays == 0)
+ {
+ mniUpdateLicense.Visible = false;
+ }
+
+ if (locWasOK)
+ {
+ mniProject.Visible = true;
+ mniMedia.Visible = true;
+ mniEdit.Visible = true;
+ mniFile_SaveProject.Enabled = true;
+ }
+ else
+ {
+ ResetForm();
+ mniProject.Visible = false;
+ mniMedia.Visible = false;
+ mniEdit.Visible = false;
+ mniFile_SaveProject.Enabled = false;
+ }
+ // //
+ // // TODO: Add any constructor code after InitializeComponent call
+ // //
+ // mSettings = inSettings;
+ // mTrackList = new TrackList();
+ // mPlayer = new DSPlay( pnlVideoWindow.Handle, pnlVideoWindow.ClientRectangle.Left, pnlVideoWindow.ClientRectangle.Top, pnlVideoWindow.ClientRectangle.Width, pnlVideoWindow.ClientRectangle.Height);
+ // mClipListControls = new SortedList();
+ // mPlayer.setMediaEventCallback(this);
+ // mWorkingClip = null; //Correct
+ // mIgnoreTabEvents = false;
+ //
+ // if (!inIsNew)
+ // {
+ // String locCMMLFileName = inSettings.ProjectLocation() + "\\" + inSettings.ProjectName()+".cmml";
+ // LoadExistingCMML (locCMMLFileName);
+ //
+ // }
+ // else
+ // {
+ //
+ // mWorkingTrackName = "default";
+ // NewTrack("default", "", true, "");
+ //
+ // mLastClipTime = 0;
+ // UpdateTabControl();
+ // }
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if (components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmEditTags));
+ this.grpEditClipTag = new System.Windows.Forms.GroupBox();
+ this.txtID = new System.Windows.Forms.TextBox();
+ this.lblIDFixed = new System.Windows.Forms.Label();
+ this.grpDescription = new System.Windows.Forms.GroupBox();
+ this.txtEditClipDescription = new System.Windows.Forms.TextBox();
+ this.txtEditClipEnd = new System.Windows.Forms.TextBox();
+ this.lblEditClipTimeToFixed = new System.Windows.Forms.Label();
+ this.txtEditClipStart = new System.Windows.Forms.TextBox();
+ this.lblClipEditTimeFixed = new System.Windows.Forms.Label();
+ this.grpEditClipMetaTags = new System.Windows.Forms.GroupBox();
+ this.btnCopyClipDefaults = new System.Windows.Forms.Button();
+ this.cmdEditClipEditMeta = new System.Windows.Forms.Button();
+ this.lstEditClipMetaTags = new System.Windows.Forms.ListView();
+ this.colName = new System.Windows.Forms.ColumnHeader();
+ this.colValue = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
+ this.cmdEditClipRemoveMeta = new System.Windows.Forms.Button();
+ this.cmdEditClipAddMeta = new System.Windows.Forms.Button();
+ this.grpEditClipAnchorTag = new System.Windows.Forms.GroupBox();
+ this.txtEditClipAnchorURI = new System.Windows.Forms.TextBox();
+ this.txtEditClipAnchorText = new System.Windows.Forms.TextBox();
+ this.lblEditClipAnchorURIFixed = new System.Windows.Forms.Label();
+ this.lblEditClipAnchorTextFixed = new System.Windows.Forms.Label();
+ this.grpEditClipImageTag = new System.Windows.Forms.GroupBox();
+ this.lblEditClipImageURIFixed = new System.Windows.Forms.Label();
+ this.txtEditClipImageURI = new System.Windows.Forms.TextBox();
+ this.txtEditClipImageText = new System.Windows.Forms.TextBox();
+ this.picEditClip = new System.Windows.Forms.PictureBox();
+ this.cmdPlay = new System.Windows.Forms.Button();
+ this.cmdPause = new System.Windows.Forms.Button();
+ this.cmdStop = new System.Windows.Forms.Button();
+ this.lblProgressBarOutline = new System.Windows.Forms.Label();
+ this.cmdDeleteClip = new System.Windows.Forms.Button();
+ this.cmdNewClip = new System.Windows.Forms.Button();
+ this.cmdDeleteTrack = new System.Windows.Forms.Button();
+ this.cmdNewTrack = new System.Windows.Forms.Button();
+ this.tmrMediaEventCheck = new System.Windows.Forms.Timer(this.components);
+ this.tmrUpdateProgress = new System.Windows.Forms.Timer(this.components);
+ this.mnuMain = new System.Windows.Forms.MainMenu();
+ this.mniFile = new System.Windows.Forms.MenuItem();
+ this.mniFile_NewProject = new System.Windows.Forms.MenuItem();
+ this.mniFile_LoadProject = new System.Windows.Forms.MenuItem();
+ this.mniFile_SaveProject = new System.Windows.Forms.MenuItem();
+ this.mniFile_CloseProject = new System.Windows.Forms.MenuItem();
+ this.menuItem2 = new System.Windows.Forms.MenuItem();
+ this.menuItem4 = new System.Windows.Forms.MenuItem();
+ this.menuItem5 = new System.Windows.Forms.MenuItem();
+ this.mniFile_Exit = new System.Windows.Forms.MenuItem();
+ this.mniEdit = new System.Windows.Forms.MenuItem();
+ this.menuEditUndo = new System.Windows.Forms.MenuItem();
+ this.menuEditRedo = new System.Windows.Forms.MenuItem();
+ this.mniEditSeparator = new System.Windows.Forms.MenuItem();
+ this.menuItem9 = new System.Windows.Forms.MenuItem();
+ this.menuItem11 = new System.Windows.Forms.MenuItem();
+ this.menuItem7 = new System.Windows.Forms.MenuItem();
+ this.mniMedia = new System.Windows.Forms.MenuItem();
+ this.mniMedia_Play = new System.Windows.Forms.MenuItem();
+ this.mniMedia_Stop = new System.Windows.Forms.MenuItem();
+ this.menuItem8 = new System.Windows.Forms.MenuItem();
+ this.mniMedia_Back2 = new System.Windows.Forms.MenuItem();
+ this.mniMedia_Forward2 = new System.Windows.Forms.MenuItem();
+ this.menuItem10 = new System.Windows.Forms.MenuItem();
+ this.mniMedia_FrameStepBack = new System.Windows.Forms.MenuItem();
+ this.mniMedia_FrameStep = new System.Windows.Forms.MenuItem();
+ this.menuItem14 = new System.Windows.Forms.MenuItem();
+ this.mniMedia_MarkIn = new System.Windows.Forms.MenuItem();
+ this.mniMedia_MarkOut = new System.Windows.Forms.MenuItem();
+ this.mniMedia_GotoIn = new System.Windows.Forms.MenuItem();
+ this.mniMedia_GotoOut = new System.Windows.Forms.MenuItem();
+ this.mniMedia_PlayInToOut = new System.Windows.Forms.MenuItem();
+ this.mniMedia_LoopInToOut = new System.Windows.Forms.MenuItem();
+ this.mniMedia_ClearMarks = new System.Windows.Forms.MenuItem();
+ this.mniProject = new System.Windows.Forms.MenuItem();
+ this.mniProjectImportCMML = new System.Windows.Forms.MenuItem();
+ this.mniProject_ExportCMML = new System.Windows.Forms.MenuItem();
+ this.mniProject_ExportCMMLAs = new System.Windows.Forms.MenuItem();
+ this.menuItem1 = new System.Windows.Forms.MenuItem();
+ this.mniProject_CreateAnnodex = new System.Windows.Forms.MenuItem();
+ this.mniProject_CreateOgg = new System.Windows.Forms.MenuItem();
+ this.menuItem3 = new System.Windows.Forms.MenuItem();
+ this.mniProjectProperties = new System.Windows.Forms.MenuItem();
+ this.mniHelp = new System.Windows.Forms.MenuItem();
+ this.menuHelpContents = new System.Windows.Forms.MenuItem();
+ this.menuItem6 = new System.Windows.Forms.MenuItem();
+ this.mniUpdateLicense = new System.Windows.Forms.MenuItem();
+ this.mniHelp_About = new System.Windows.Forms.MenuItem();
+ this.grpMediaControls = new System.Windows.Forms.GroupBox();
+ this.mediaProgressCursorPointer = new System.Windows.Forms.PictureBox();
+ this.lblOutMarker = new System.Windows.Forms.PictureBox();
+ this.lblInMarker = new System.Windows.Forms.PictureBox();
+ this.cmdStepFrameBack = new System.Windows.Forms.Button();
+ this.txtMediaTimeDisplay = new System.Windows.Forms.TextBox();
+ this.cmdSkipBackward = new System.Windows.Forms.Button();
+ this.cmdSkipForward = new System.Windows.Forms.Button();
+ this.cmdStepFrame = new System.Windows.Forms.Button();
+ this.trkVolume = new System.Windows.Forms.TrackBar();
+ this.mediaProgressCursorLine = new System.Windows.Forms.PictureBox();
+ this.lblMarkedClip = new System.Windows.Forms.Label();
+ this.lblProgressBarControlBox = new System.Windows.Forms.Label();
+ this.lblProgressBar_contextMenu1 = new System.Windows.Forms.ContextMenu();
+ this.lblProgressBar_ContextMarkIn = new System.Windows.Forms.MenuItem();
+ this.lblProgressBar_ContextMarkOut = new System.Windows.Forms.MenuItem();
+ this.lblProgressBar_ContextGotoIn = new System.Windows.Forms.MenuItem();
+ this.lblProgressBar_ContextGotoOut = new System.Windows.Forms.MenuItem();
+ this.lblProgressBar_ContextPlayInToOut = new System.Windows.Forms.MenuItem();
+ this.lblProgressBar_ContextLoopInToOut = new System.Windows.Forms.MenuItem();
+ this.lblProgressBar_ContextClearMarks = new System.Windows.Forms.MenuItem();
+ this.pnlVideoWindow = new System.Windows.Forms.Panel();
+ this.ttpPicBox = new System.Windows.Forms.ToolTip(this.components);
+ this.tabTrackList = new System.Windows.Forms.TabControl();
+ this.ttpMediaFileName = new System.Windows.Forms.ToolTip(this.components);
+ this.ttpEditTags = new System.Windows.Forms.ToolTip(this.components);
+ this.txtEditHeadBaseURI = new System.Windows.Forms.TextBox();
+ this.txtEditHeadTitle = new System.Windows.Forms.TextBox();
+ this.lblDisplayHeadBaseUriFixed = new System.Windows.Forms.Label();
+ this.lblDisplayHeadTitleFixed = new System.Windows.Forms.Label();
+ this.cmdEditHeadRemoveMeta = new System.Windows.Forms.Button();
+ this.cmdEditHeadAddMeta = new System.Windows.Forms.Button();
+ this.cmdEditHeadEditMeta = new System.Windows.Forms.Button();
+ this.cmdCopyTrack = new System.Windows.Forms.Button();
+ this.cmdCopyClip = new System.Windows.Forms.Button();
+ this.tabHeadTag = new System.Windows.Forms.TabControl();
+ this.tabPage1 = new System.Windows.Forms.TabPage();
+ this.tabPage2 = new System.Windows.Forms.TabPage();
+ this.btnCopyHeadDefaults = new System.Windows.Forms.Button();
+ this.lstEditHeadMetaTags = new System.Windows.Forms.ListView();
+ this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
+ this.tmrMediaControls = new System.Windows.Forms.Timer(this.components);
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.grpEditClipTag.SuspendLayout();
+ this.grpDescription.SuspendLayout();
+ this.grpEditClipMetaTags.SuspendLayout();
+ this.grpEditClipAnchorTag.SuspendLayout();
+ this.grpEditClipImageTag.SuspendLayout();
+ this.grpMediaControls.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.trkVolume)).BeginInit();
+ this.tabHeadTag.SuspendLayout();
+ this.tabPage1.SuspendLayout();
+ this.tabPage2.SuspendLayout();
+ this.groupBox1.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // grpEditClipTag
+ //
+ this.grpEditClipTag.Controls.Add(this.txtID);
+ this.grpEditClipTag.Controls.Add(this.lblIDFixed);
+ this.grpEditClipTag.Controls.Add(this.grpDescription);
+ this.grpEditClipTag.Controls.Add(this.txtEditClipEnd);
+ this.grpEditClipTag.Controls.Add(this.lblEditClipTimeToFixed);
+ this.grpEditClipTag.Controls.Add(this.txtEditClipStart);
+ this.grpEditClipTag.Controls.Add(this.lblClipEditTimeFixed);
+ this.grpEditClipTag.Controls.Add(this.grpEditClipMetaTags);
+ this.grpEditClipTag.Controls.Add(this.grpEditClipAnchorTag);
+ this.grpEditClipTag.Controls.Add(this.grpEditClipImageTag);
+ this.grpEditClipTag.Enabled = false;
+ this.grpEditClipTag.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpEditClipTag.Location = new System.Drawing.Point(376, 40);
+ this.grpEditClipTag.Name = "grpEditClipTag";
+ this.grpEditClipTag.Size = new System.Drawing.Size(368, 584);
+ this.grpEditClipTag.TabIndex = 40;
+ this.grpEditClipTag.TabStop = false;
+ this.grpEditClipTag.Text = "Clip Tag";
+ //
+ // txtID
+ //
+ this.txtID.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtID.ImeMode = System.Windows.Forms.ImeMode.NoControl;
+ this.txtID.Location = new System.Drawing.Point(56, 56);
+ this.txtID.Name = "txtID";
+ this.txtID.Size = new System.Drawing.Size(296, 20);
+ this.txtID.TabIndex = 46;
+ this.txtID.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtID, "Unique ID for uri named referencing");
+ this.txtID.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtID_KeyDown);
+ this.txtID.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtID_KeyPress);
+ //
+ // lblIDFixed
+ //
+ this.lblIDFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblIDFixed.Location = new System.Drawing.Point(16, 56);
+ this.lblIDFixed.Name = "lblIDFixed";
+ this.lblIDFixed.Size = new System.Drawing.Size(32, 16);
+ this.lblIDFixed.TabIndex = 45;
+ this.lblIDFixed.Text = "ID";
+ this.ttpEditTags.SetToolTip(this.lblIDFixed, "Unique ID for uri named referencing");
+ //
+ // grpDescription
+ //
+ this.grpDescription.Controls.Add(this.txtEditClipDescription);
+ this.grpDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpDescription.Location = new System.Drawing.Point(8, 80);
+ this.grpDescription.Name = "grpDescription";
+ this.grpDescription.Size = new System.Drawing.Size(352, 120);
+ this.grpDescription.TabIndex = 47;
+ this.grpDescription.TabStop = false;
+ this.grpDescription.Text = "&Description";
+ //
+ // txtEditClipDescription
+ //
+ this.txtEditClipDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipDescription.Location = new System.Drawing.Point(8, 16);
+ this.txtEditClipDescription.Multiline = true;
+ this.txtEditClipDescription.Name = "txtEditClipDescription";
+ this.txtEditClipDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+ this.txtEditClipDescription.Size = new System.Drawing.Size(336, 96);
+ this.txtEditClipDescription.TabIndex = 48;
+ this.txtEditClipDescription.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtEditClipDescription, "Description of the current clip");
+ this.txtEditClipDescription.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipDescription_KeyDown);
+ this.txtEditClipDescription.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipDescription_KeyPress);
+ this.txtEditClipDescription.TextChanged += new System.EventHandler(this.txtEditClipDescription_TextChanged);
+ this.txtEditClipDescription.Leave += new System.EventHandler(this.txtEditClipDescription_Leave);
+ //
+ // txtEditClipEnd
+ //
+ this.txtEditClipEnd.AllowDrop = true;
+ this.txtEditClipEnd.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipEnd.Location = new System.Drawing.Point(224, 24);
+ this.txtEditClipEnd.Name = "txtEditClipEnd";
+ this.txtEditClipEnd.Size = new System.Drawing.Size(128, 20);
+ this.txtEditClipEnd.TabIndex = 44;
+ this.txtEditClipEnd.Text = "";
+ this.txtEditClipEnd.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.ttpEditTags.SetToolTip(this.txtEditClipEnd, "End time of this clip");
+ this.txtEditClipEnd.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipEnd_KeyDown);
+ this.txtEditClipEnd.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipEnd_KeyPress);
+ this.txtEditClipEnd.DragDrop += new System.Windows.Forms.DragEventHandler(this.txtEditClipEnd_DragDrop);
+ this.txtEditClipEnd.TextChanged += new System.EventHandler(this.txtEditClipEnd_TextChanged);
+ this.txtEditClipEnd.DragEnter += new System.Windows.Forms.DragEventHandler(this.txtEditClipEnd_DragEnter);
+ this.txtEditClipEnd.Leave += new System.EventHandler(this.txtEditClipEnd_Leave);
+ this.txtEditClipEnd.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtEditClipEnd_KeyUp);
+ //
+ // lblEditClipTimeToFixed
+ //
+ this.lblEditClipTimeToFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblEditClipTimeToFixed.Location = new System.Drawing.Point(192, 24);
+ this.lblEditClipTimeToFixed.Name = "lblEditClipTimeToFixed";
+ this.lblEditClipTimeToFixed.Size = new System.Drawing.Size(24, 24);
+ this.lblEditClipTimeToFixed.TabIndex = 43;
+ this.lblEditClipTimeToFixed.Text = "to";
+ //
+ // txtEditClipStart
+ //
+ this.txtEditClipStart.AllowDrop = true;
+ this.txtEditClipStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipStart.Location = new System.Drawing.Point(56, 24);
+ this.txtEditClipStart.Name = "txtEditClipStart";
+ this.txtEditClipStart.Size = new System.Drawing.Size(128, 20);
+ this.txtEditClipStart.TabIndex = 42;
+ this.txtEditClipStart.Text = "0";
+ this.txtEditClipStart.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.ttpEditTags.SetToolTip(this.txtEditClipStart, "Start time of this clip");
+ this.txtEditClipStart.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipStart_KeyDown);
+ this.txtEditClipStart.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipStart_KeyPress);
+ this.txtEditClipStart.DragDrop += new System.Windows.Forms.DragEventHandler(this.txtEditClipStart_DragDrop);
+ this.txtEditClipStart.TextChanged += new System.EventHandler(this.txtEditClipStart_TextChanged);
+ this.txtEditClipStart.DragEnter += new System.Windows.Forms.DragEventHandler(this.txtEditClipStart_DragEnter);
+ this.txtEditClipStart.Leave += new System.EventHandler(this.txtEditClipStart_Leave);
+ this.txtEditClipStart.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtEditClipStart_KeyUp);
+ //
+ // lblClipEditTimeFixed
+ //
+ this.lblClipEditTimeFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblClipEditTimeFixed.Location = new System.Drawing.Point(16, 24);
+ this.lblClipEditTimeFixed.Name = "lblClipEditTimeFixed";
+ this.lblClipEditTimeFixed.Size = new System.Drawing.Size(40, 24);
+ this.lblClipEditTimeFixed.TabIndex = 41;
+ this.lblClipEditTimeFixed.Text = "Time";
+ this.ttpEditTags.SetToolTip(this.lblClipEditTimeFixed, "The time this clip is active");
+ //
+ // grpEditClipMetaTags
+ //
+ this.grpEditClipMetaTags.Controls.Add(this.btnCopyClipDefaults);
+ this.grpEditClipMetaTags.Controls.Add(this.cmdEditClipEditMeta);
+ this.grpEditClipMetaTags.Controls.Add(this.lstEditClipMetaTags);
+ this.grpEditClipMetaTags.Controls.Add(this.cmdEditClipRemoveMeta);
+ this.grpEditClipMetaTags.Controls.Add(this.cmdEditClipAddMeta);
+ this.grpEditClipMetaTags.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpEditClipMetaTags.Location = new System.Drawing.Point(8, 440);
+ this.grpEditClipMetaTags.Name = "grpEditClipMetaTags";
+ this.grpEditClipMetaTags.Size = new System.Drawing.Size(352, 136);
+ this.grpEditClipMetaTags.TabIndex = 80;
+ this.grpEditClipMetaTags.TabStop = false;
+ this.grpEditClipMetaTags.Text = "&Meta Tags";
+ //
+ // btnCopyClipDefaults
+ //
+ this.btnCopyClipDefaults.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.btnCopyClipDefaults.Location = new System.Drawing.Point(8, 104);
+ this.btnCopyClipDefaults.Name = "btnCopyClipDefaults";
+ this.btnCopyClipDefaults.Size = new System.Drawing.Size(88, 24);
+ this.btnCopyClipDefaults.TabIndex = 84;
+ this.btnCopyClipDefaults.Text = "Copy Defaults";
+ this.btnCopyClipDefaults.Click += new System.EventHandler(this.btnCopyClipDefaults_Click);
+ //
+ // cmdEditClipEditMeta
+ //
+ this.cmdEditClipEditMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditClipEditMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditClipEditMeta.Location = new System.Drawing.Point(208, 104);
+ this.cmdEditClipEditMeta.Name = "cmdEditClipEditMeta";
+ this.cmdEditClipEditMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditClipEditMeta.TabIndex = 82;
+ this.cmdEditClipEditMeta.Text = "Edit...";
+ this.ttpEditTags.SetToolTip(this.cmdEditClipEditMeta, "Remove the selected clip meta tag");
+ this.cmdEditClipEditMeta.Click += new System.EventHandler(this.cmdEditClipEditMeta_Click);
+ //
+ // lstEditClipMetaTags
+ //
+ this.lstEditClipMetaTags.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.colName,
+ this.colValue,
+ this.columnHeader4});
+ this.lstEditClipMetaTags.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lstEditClipMetaTags.FullRowSelect = true;
+ this.lstEditClipMetaTags.GridLines = true;
+ this.lstEditClipMetaTags.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
+ this.lstEditClipMetaTags.Location = new System.Drawing.Point(8, 16);
+ this.lstEditClipMetaTags.Name = "lstEditClipMetaTags";
+ this.lstEditClipMetaTags.Size = new System.Drawing.Size(336, 80);
+ this.lstEditClipMetaTags.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.lstEditClipMetaTags.TabIndex = 83;
+ this.lstEditClipMetaTags.View = System.Windows.Forms.View.Details;
+ this.lstEditClipMetaTags.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lstEditClipMetaTags_KeyDown);
+ this.lstEditClipMetaTags.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.lstEditClipMetaTags_KeyPress);
+ this.lstEditClipMetaTags.DoubleClick += new System.EventHandler(this.lstEditClipMetaTags_DoubleClick);
+ //
+ // colName
+ //
+ this.colName.Text = "Name";
+ this.colName.Width = 99;
+ //
+ // colValue
+ //
+ this.colValue.Text = "Value";
+ this.colValue.Width = 119;
+ //
+ // columnHeader4
+ //
+ this.columnHeader4.Text = "Scheme";
+ this.columnHeader4.Width = 92;
+ //
+ // cmdEditClipRemoveMeta
+ //
+ this.cmdEditClipRemoveMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditClipRemoveMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditClipRemoveMeta.Location = new System.Drawing.Point(280, 104);
+ this.cmdEditClipRemoveMeta.Name = "cmdEditClipRemoveMeta";
+ this.cmdEditClipRemoveMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditClipRemoveMeta.TabIndex = 83;
+ this.cmdEditClipRemoveMeta.Text = "Remove";
+ this.ttpEditTags.SetToolTip(this.cmdEditClipRemoveMeta, "Remove the selected clip meta tag");
+ this.cmdEditClipRemoveMeta.Click += new System.EventHandler(this.cmdEditClipRemoveMeta_Click);
+ this.cmdEditClipRemoveMeta.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdEditClipRemoveMeta_KeyDown);
+ //
+ // cmdEditClipAddMeta
+ //
+ this.cmdEditClipAddMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditClipAddMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditClipAddMeta.Location = new System.Drawing.Point(136, 104);
+ this.cmdEditClipAddMeta.Name = "cmdEditClipAddMeta";
+ this.cmdEditClipAddMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditClipAddMeta.TabIndex = 81;
+ this.cmdEditClipAddMeta.Text = "Add...";
+ this.ttpEditTags.SetToolTip(this.cmdEditClipAddMeta, "Add a clip meta tag");
+ this.cmdEditClipAddMeta.Click += new System.EventHandler(this.cmdEditClipAddMeta_Click);
+ this.cmdEditClipAddMeta.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdEditClipAddMeta_KeyDown);
+ //
+ // grpEditClipAnchorTag
+ //
+ this.grpEditClipAnchorTag.Controls.Add(this.txtEditClipAnchorURI);
+ this.grpEditClipAnchorTag.Controls.Add(this.txtEditClipAnchorText);
+ this.grpEditClipAnchorTag.Controls.Add(this.lblEditClipAnchorURIFixed);
+ this.grpEditClipAnchorTag.Controls.Add(this.lblEditClipAnchorTextFixed);
+ this.grpEditClipAnchorTag.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpEditClipAnchorTag.Location = new System.Drawing.Point(8, 216);
+ this.grpEditClipAnchorTag.Name = "grpEditClipAnchorTag";
+ this.grpEditClipAnchorTag.Size = new System.Drawing.Size(352, 88);
+ this.grpEditClipAnchorTag.TabIndex = 50;
+ this.grpEditClipAnchorTag.TabStop = false;
+ this.grpEditClipAnchorTag.Text = "&Anchor";
+ //
+ // txtEditClipAnchorURI
+ //
+ this.txtEditClipAnchorURI.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipAnchorURI.Location = new System.Drawing.Point(48, 56);
+ this.txtEditClipAnchorURI.Name = "txtEditClipAnchorURI";
+ this.txtEditClipAnchorURI.Size = new System.Drawing.Size(296, 20);
+ this.txtEditClipAnchorURI.TabIndex = 54;
+ this.txtEditClipAnchorURI.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtEditClipAnchorURI, "URI Hyperlink for the current clip");
+ this.txtEditClipAnchorURI.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipAnchorURI_KeyDown);
+ this.txtEditClipAnchorURI.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipAnchorURI_KeyPress);
+ this.txtEditClipAnchorURI.TextChanged += new System.EventHandler(this.txtEditClipAnchorURI_TextChanged);
+ //
+ // txtEditClipAnchorText
+ //
+ this.txtEditClipAnchorText.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipAnchorText.Location = new System.Drawing.Point(48, 16);
+ this.txtEditClipAnchorText.Multiline = true;
+ this.txtEditClipAnchorText.Name = "txtEditClipAnchorText";
+ this.txtEditClipAnchorText.Size = new System.Drawing.Size(296, 32);
+ this.txtEditClipAnchorText.TabIndex = 52;
+ this.txtEditClipAnchorText.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtEditClipAnchorText, "Anchor text for the current clip");
+ this.txtEditClipAnchorText.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipAnchorText_KeyDown);
+ this.txtEditClipAnchorText.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipAnchorText_KeyPress);
+ this.txtEditClipAnchorText.TextChanged += new System.EventHandler(this.txtEditClipAnchorText_TextChanged);
+ this.txtEditClipAnchorText.Leave += new System.EventHandler(this.txtEditClipAnchorText_Leave);
+ //
+ // lblEditClipAnchorURIFixed
+ //
+ this.lblEditClipAnchorURIFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblEditClipAnchorURIFixed.Location = new System.Drawing.Point(8, 56);
+ this.lblEditClipAnchorURIFixed.Name = "lblEditClipAnchorURIFixed";
+ this.lblEditClipAnchorURIFixed.Size = new System.Drawing.Size(32, 24);
+ this.lblEditClipAnchorURIFixed.TabIndex = 53;
+ this.lblEditClipAnchorURIFixed.Text = "URI";
+ this.ttpEditTags.SetToolTip(this.lblEditClipAnchorURIFixed, "URI Hyperlink for the current clip");
+ //
+ // lblEditClipAnchorTextFixed
+ //
+ this.lblEditClipAnchorTextFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblEditClipAnchorTextFixed.Location = new System.Drawing.Point(8, 20);
+ this.lblEditClipAnchorTextFixed.Name = "lblEditClipAnchorTextFixed";
+ this.lblEditClipAnchorTextFixed.Size = new System.Drawing.Size(32, 24);
+ this.lblEditClipAnchorTextFixed.TabIndex = 51;
+ this.lblEditClipAnchorTextFixed.Text = "Text";
+ this.ttpEditTags.SetToolTip(this.lblEditClipAnchorTextFixed, "Anchor text for the current clip");
+ //
+ // grpEditClipImageTag
+ //
+ this.grpEditClipImageTag.Controls.Add(this.lblEditClipImageURIFixed);
+ this.grpEditClipImageTag.Controls.Add(this.txtEditClipImageURI);
+ this.grpEditClipImageTag.Controls.Add(this.txtEditClipImageText);
+ this.grpEditClipImageTag.Controls.Add(this.picEditClip);
+ this.grpEditClipImageTag.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.grpEditClipImageTag.Location = new System.Drawing.Point(8, 320);
+ this.grpEditClipImageTag.Name = "grpEditClipImageTag";
+ this.grpEditClipImageTag.Size = new System.Drawing.Size(352, 104);
+ this.grpEditClipImageTag.TabIndex = 60;
+ this.grpEditClipImageTag.TabStop = false;
+ this.grpEditClipImageTag.Text = "&Image";
+ //
+ // lblEditClipImageURIFixed
+ //
+ this.lblEditClipImageURIFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblEditClipImageURIFixed.Location = new System.Drawing.Point(16, 72);
+ this.lblEditClipImageURIFixed.Name = "lblEditClipImageURIFixed";
+ this.lblEditClipImageURIFixed.Size = new System.Drawing.Size(32, 24);
+ this.lblEditClipImageURIFixed.TabIndex = 62;
+ this.lblEditClipImageURIFixed.Text = "URI";
+ this.lblEditClipImageURIFixed.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+ //
+ // txtEditClipImageURI
+ //
+ this.txtEditClipImageURI.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipImageURI.Location = new System.Drawing.Point(48, 72);
+ this.txtEditClipImageURI.Name = "txtEditClipImageURI";
+ this.txtEditClipImageURI.Size = new System.Drawing.Size(296, 20);
+ this.txtEditClipImageURI.TabIndex = 63;
+ this.txtEditClipImageURI.Text = "";
+ this.txtEditClipImageURI.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipImageURI_KeyDown);
+ this.txtEditClipImageURI.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipImageURI_KeyPress);
+ this.txtEditClipImageURI.TextChanged += new System.EventHandler(this.txtEditClipImageURI_TextChanged);
+ //
+ // txtEditClipImageText
+ //
+ this.txtEditClipImageText.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditClipImageText.Location = new System.Drawing.Point(80, 16);
+ this.txtEditClipImageText.Multiline = true;
+ this.txtEditClipImageText.Name = "txtEditClipImageText";
+ this.txtEditClipImageText.Size = new System.Drawing.Size(264, 48);
+ this.txtEditClipImageText.TabIndex = 61;
+ this.txtEditClipImageText.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtEditClipImageText, "Optional alternate description of this image");
+ this.txtEditClipImageText.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditClipImageText_KeyDown);
+ this.txtEditClipImageText.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditClipImageText_KeyPress);
+ this.txtEditClipImageText.TextChanged += new System.EventHandler(this.txtEditClipImageText_TextChanged);
+ //
+ // picEditClip
+ //
+ this.picEditClip.BackColor = System.Drawing.Color.Black;
+ this.picEditClip.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.picEditClip.Location = new System.Drawing.Point(8, 16);
+ this.picEditClip.Name = "picEditClip";
+ this.picEditClip.Size = new System.Drawing.Size(64, 48);
+ this.picEditClip.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.picEditClip.TabIndex = 4;
+ this.picEditClip.TabStop = false;
+ this.picEditClip.DragEnter += new System.Windows.Forms.DragEventHandler(this.picEditClip_DragEnter);
+ this.picEditClip.DragDrop += new System.Windows.Forms.DragEventHandler(this.picEditClip_DragDrop);
+ this.picEditClip.DoubleClick += new System.EventHandler(this.picEditClip_DoubleClick);
+ //
+ // cmdPlay
+ //
+ this.cmdPlay.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdPlay.Image = ((System.Drawing.Image)(resources.GetObject("cmdPlay.Image")));
+ this.cmdPlay.Location = new System.Drawing.Point(32, 16);
+ this.cmdPlay.Name = "cmdPlay";
+ this.cmdPlay.Size = new System.Drawing.Size(40, 24);
+ this.cmdPlay.TabIndex = 2;
+ this.cmdPlay.Click += new System.EventHandler(this.cmdPlay_Click);
+ this.cmdPlay.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdPlay_KeyDown);
+ //
+ // cmdPause
+ //
+ this.cmdPause.Image = ((System.Drawing.Image)(resources.GetObject("cmdPause.Image")));
+ this.cmdPause.Location = new System.Drawing.Point(72, 16);
+ this.cmdPause.Name = "cmdPause";
+ this.cmdPause.Size = new System.Drawing.Size(24, 24);
+ this.cmdPause.TabIndex = 3;
+ this.cmdPause.Click += new System.EventHandler(this.cmdPause_Click);
+ this.cmdPause.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdPause_KeyDown);
+ //
+ // cmdStop
+ //
+ this.cmdStop.Image = ((System.Drawing.Image)(resources.GetObject("cmdStop.Image")));
+ this.cmdStop.Location = new System.Drawing.Point(96, 16);
+ this.cmdStop.Name = "cmdStop";
+ this.cmdStop.Size = new System.Drawing.Size(24, 24);
+ this.cmdStop.TabIndex = 4;
+ this.cmdStop.Click += new System.EventHandler(this.cmdStop_Click);
+ this.cmdStop.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdStop_KeyDown);
+ //
+ // lblProgressBarOutline
+ //
+ this.lblProgressBarOutline.BackColor = System.Drawing.SystemColors.Window;
+ this.lblProgressBarOutline.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblProgressBarOutline.Enabled = false;
+ this.lblProgressBarOutline.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblProgressBarOutline.Location = new System.Drawing.Point(8, 56);
+ this.lblProgressBarOutline.Name = "lblProgressBarOutline";
+ this.lblProgressBarOutline.Size = new System.Drawing.Size(304, 16);
+ this.lblProgressBarOutline.TabIndex = 9;
+ //
+ // cmdDeleteClip
+ //
+ this.cmdDeleteClip.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdDeleteClip.Location = new System.Drawing.Point(104, 16);
+ this.cmdDeleteClip.Name = "cmdDeleteClip";
+ this.cmdDeleteClip.Size = new System.Drawing.Size(40, 22);
+ this.cmdDeleteClip.TabIndex = 14;
+ this.cmdDeleteClip.Text = "Delete";
+ this.ttpEditTags.SetToolTip(this.cmdDeleteClip, "Delete the current clip");
+ this.cmdDeleteClip.Click += new System.EventHandler(this.cmdDeleteClip_Click);
+ this.cmdDeleteClip.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdDeleteClip_KeyDown);
+ //
+ // cmdNewClip
+ //
+ this.cmdNewClip.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdNewClip.Location = new System.Drawing.Point(216, 432);
+ this.cmdNewClip.Name = "cmdNewClip";
+ this.cmdNewClip.Size = new System.Drawing.Size(40, 22);
+ this.cmdNewClip.TabIndex = 13;
+ this.cmdNewClip.Text = "New";
+ this.ttpEditTags.SetToolTip(this.cmdNewClip, "Add a new clip");
+ this.cmdNewClip.Click += new System.EventHandler(this.cmdNewClip_Click);
+ this.cmdNewClip.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdNewClip_KeyDown);
+ //
+ // cmdDeleteTrack
+ //
+ this.cmdDeleteTrack.Enabled = false;
+ this.cmdDeleteTrack.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdDeleteTrack.Location = new System.Drawing.Point(104, 16);
+ this.cmdDeleteTrack.Name = "cmdDeleteTrack";
+ this.cmdDeleteTrack.Size = new System.Drawing.Size(40, 22);
+ this.cmdDeleteTrack.TabIndex = 12;
+ this.cmdDeleteTrack.Text = "Delete";
+ this.ttpEditTags.SetToolTip(this.cmdDeleteTrack, "Delete the current track");
+ this.cmdDeleteTrack.Click += new System.EventHandler(this.cmdDeleteTrack_Click);
+ this.cmdDeleteTrack.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdDeleteTrack_KeyDown);
+ //
+ // cmdNewTrack
+ //
+ this.cmdNewTrack.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdNewTrack.Location = new System.Drawing.Point(24, 432);
+ this.cmdNewTrack.Name = "cmdNewTrack";
+ this.cmdNewTrack.Size = new System.Drawing.Size(40, 22);
+ this.cmdNewTrack.TabIndex = 9;
+ this.cmdNewTrack.Text = "New";
+ this.ttpEditTags.SetToolTip(this.cmdNewTrack, "Create a new track");
+ this.cmdNewTrack.Click += new System.EventHandler(this.cmdNewTrack_Click);
+ this.cmdNewTrack.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdNewTrack_KeyDown);
+ //
+ // tmrMediaEventCheck
+ //
+ this.tmrMediaEventCheck.Interval = 1000;
+ this.tmrMediaEventCheck.Tick += new System.EventHandler(this.tmrMediaEventCheck_Tick);
+ //
+ // tmrUpdateProgress
+ //
+ this.tmrUpdateProgress.Interval = 611;
+ this.tmrUpdateProgress.Tick += new System.EventHandler(this.tmrUpdateProgress_Tick);
+ //
+ // mnuMain
+ //
+ this.mnuMain.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.mniFile,
+ this.mniEdit,
+ this.mniMedia,
+ this.mniProject,
+ this.mniHelp});
+ //
+ // mniFile
+ //
+ this.mniFile.Index = 0;
+ this.mniFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.mniFile_NewProject,
+ this.mniFile_LoadProject,
+ this.mniFile_SaveProject,
+ this.mniFile_CloseProject,
+ this.menuItem2,
+ this.menuItem4,
+ this.menuItem5,
+ this.mniFile_Exit});
+ this.mniFile.Text = "&File";
+ //
+ // mniFile_NewProject
+ //
+ this.mniFile_NewProject.Index = 0;
+ this.mniFile_NewProject.Shortcut = System.Windows.Forms.Shortcut.CtrlN;
+ this.mniFile_NewProject.Text = "&New Project...";
+ this.mniFile_NewProject.Click += new System.EventHandler(this.mniFile_NewProject_Click);
+ //
+ // mniFile_LoadProject
+ //
+ this.mniFile_LoadProject.Index = 1;
+ this.mniFile_LoadProject.Shortcut = System.Windows.Forms.Shortcut.CtrlO;
+ this.mniFile_LoadProject.Text = "&Open Project...";
+ this.mniFile_LoadProject.Click += new System.EventHandler(this.mniFile_LoadProject_Click);
+ //
+ // mniFile_SaveProject
+ //
+ this.mniFile_SaveProject.Enabled = false;
+ this.mniFile_SaveProject.Index = 2;
+ this.mniFile_SaveProject.Shortcut = System.Windows.Forms.Shortcut.CtrlS;
+ this.mniFile_SaveProject.Text = "&Save Project";
+ this.mniFile_SaveProject.Click += new System.EventHandler(this.mniFile_SaveProject_Click);
+ //
+ // mniFile_CloseProject
+ //
+ this.mniFile_CloseProject.Index = 3;
+ this.mniFile_CloseProject.Text = "&Close Project";
+ this.mniFile_CloseProject.Click += new System.EventHandler(this.mniFile_CloseProject_Click);
+ //
+ // menuItem2
+ //
+ this.menuItem2.Index = 4;
+ this.menuItem2.Text = "-";
+ //
+ // menuItem4
+ //
+ this.menuItem4.Index = 5;
+ this.menuItem4.Text = "&Options";
+ this.menuItem4.Click += new System.EventHandler(this.mniFile_Options_Click);
+ //
+ // menuItem5
+ //
+ this.menuItem5.Index = 6;
+ this.menuItem5.Text = "-";
+ //
+ // mniFile_Exit
+ //
+ this.mniFile_Exit.Index = 7;
+ this.mniFile_Exit.Text = "E&xit";
+ this.mniFile_Exit.Click += new System.EventHandler(this.mniFile_Exit_Click);
+ //
+ // mniEdit
+ //
+ this.mniEdit.Index = 1;
+ this.mniEdit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.menuEditUndo,
+ this.menuEditRedo,
+ this.mniEditSeparator,
+ this.menuItem9,
+ this.menuItem11,
+ this.menuItem7});
+ this.mniEdit.Text = "&Edit";
+ this.mniEdit.Visible = false;
+ //
+ // menuEditUndo
+ //
+ this.menuEditUndo.Index = 0;
+ this.menuEditUndo.Shortcut = System.Windows.Forms.Shortcut.CtrlZ;
+ this.menuEditUndo.Text = "&Undo";
+ this.menuEditUndo.Click += new System.EventHandler(this.menuEditUndo_Click);
+ //
+ // menuEditRedo
+ //
+ this.menuEditRedo.Index = 1;
+ this.menuEditRedo.Shortcut = System.Windows.Forms.Shortcut.CtrlY;
+ this.menuEditRedo.Text = "&Redo";
+ this.menuEditRedo.Click += new System.EventHandler(this.menuEditRedo_Click);
+ //
+ // mniEditSeparator
+ //
+ this.mniEditSeparator.Index = 2;
+ this.mniEditSeparator.Text = "-";
+ this.mniEditSeparator.Visible = false;
+ //
+ // menuItem9
+ //
+ this.menuItem9.Index = 3;
+ this.menuItem9.Text = "Cu&t";
+ this.menuItem9.Visible = false;
+ //
+ // menuItem11
+ //
+ this.menuItem11.Index = 4;
+ this.menuItem11.Text = "&Copy";
+ this.menuItem11.Visible = false;
+ //
+ // menuItem7
+ //
+ this.menuItem7.Index = 5;
+ this.menuItem7.Text = "&Paste";
+ this.menuItem7.Visible = false;
+ //
+ // mniMedia
+ //
+ this.mniMedia.Index = 2;
+ this.mniMedia.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.mniMedia_Play,
+ this.mniMedia_Stop,
+ this.menuItem8,
+ this.mniMedia_Back2,
+ this.mniMedia_Forward2,
+ this.menuItem10,
+ this.mniMedia_FrameStepBack,
+ this.mniMedia_FrameStep,
+ this.menuItem14,
+ this.mniMedia_MarkIn,
+ this.mniMedia_MarkOut,
+ this.mniMedia_GotoIn,
+ this.mniMedia_GotoOut,
+ this.mniMedia_PlayInToOut,
+ this.mniMedia_LoopInToOut,
+ this.mniMedia_ClearMarks});
+ this.mniMedia.Text = "&Media";
+ this.mniMedia.Visible = false;
+ //
+ // mniMedia_Play
+ //
+ this.mniMedia_Play.Index = 0;
+ this.mniMedia_Play.Shortcut = System.Windows.Forms.Shortcut.F5;
+ this.mniMedia_Play.Text = "&Play/Pause";
+ this.mniMedia_Play.Click += new System.EventHandler(this.mniMedia_Play_Click);
+ //
+ // mniMedia_Stop
+ //
+ this.mniMedia_Stop.Index = 1;
+ this.mniMedia_Stop.Shortcut = System.Windows.Forms.Shortcut.F6;
+ this.mniMedia_Stop.Text = "&Stop";
+ this.mniMedia_Stop.Click += new System.EventHandler(this.mniMedia_Stop_Click);
+ //
+ // menuItem8
+ //
+ this.menuItem8.Index = 2;
+ this.menuItem8.Text = "-";
+ //
+ // mniMedia_Back2
+ //
+ this.mniMedia_Back2.Index = 3;
+ this.mniMedia_Back2.Shortcut = System.Windows.Forms.Shortcut.F3;
+ this.mniMedia_Back2.Text = "&Back";
+ this.mniMedia_Back2.Click += new System.EventHandler(this.mniMedia_Back2_Click);
+ //
+ // mniMedia_Forward2
+ //
+ this.mniMedia_Forward2.Index = 4;
+ this.mniMedia_Forward2.Shortcut = System.Windows.Forms.Shortcut.F4;
+ this.mniMedia_Forward2.Text = "For&ward";
+ this.mniMedia_Forward2.Click += new System.EventHandler(this.mniMedia_Forward2_Click);
+ //
+ // menuItem10
+ //
+ this.menuItem10.Index = 5;
+ this.menuItem10.Text = "-";
+ //
+ // mniMedia_FrameStepBack
+ //
+ this.mniMedia_FrameStepBack.Index = 6;
+ this.mniMedia_FrameStepBack.Shortcut = System.Windows.Forms.Shortcut.F9;
+ this.mniMedia_FrameStepBack.Text = "Frame Step Bac&k";
+ this.mniMedia_FrameStepBack.Click += new System.EventHandler(this.mniMedia_FrameStepBack_Click);
+ //
+ // mniMedia_FrameStep
+ //
+ this.mniMedia_FrameStep.Index = 7;
+ this.mniMedia_FrameStep.Shortcut = System.Windows.Forms.Shortcut.F10;
+ this.mniMedia_FrameStep.Text = "&Frame Step";
+ this.mniMedia_FrameStep.Click += new System.EventHandler(this.mniMedia_FrameStep_Click);
+ //
+ // menuItem14
+ //
+ this.menuItem14.Index = 8;
+ this.menuItem14.Text = "-";
+ //
+ // mniMedia_MarkIn
+ //
+ this.mniMedia_MarkIn.Index = 9;
+ this.mniMedia_MarkIn.Shortcut = System.Windows.Forms.Shortcut.ShiftF1;
+ this.mniMedia_MarkIn.Text = "Mark &In";
+ this.mniMedia_MarkIn.Click += new System.EventHandler(this.mniMedia_MarkIn_Click);
+ //
+ // mniMedia_MarkOut
+ //
+ this.mniMedia_MarkOut.Index = 10;
+ this.mniMedia_MarkOut.Shortcut = System.Windows.Forms.Shortcut.ShiftF2;
+ this.mniMedia_MarkOut.Text = "Mark &Out";
+ this.mniMedia_MarkOut.Click += new System.EventHandler(this.mniMedia_MarkOut_Click);
+ //
+ // mniMedia_GotoIn
+ //
+ this.mniMedia_GotoIn.Index = 11;
+ this.mniMedia_GotoIn.Shortcut = System.Windows.Forms.Shortcut.ShiftF3;
+ this.mniMedia_GotoIn.Text = "Goto I&n";
+ this.mniMedia_GotoIn.Click += new System.EventHandler(this.mniMedia_GotoIn_Click);
+ //
+ // mniMedia_GotoOut
+ //
+ this.mniMedia_GotoOut.Index = 12;
+ this.mniMedia_GotoOut.Shortcut = System.Windows.Forms.Shortcut.ShiftF4;
+ this.mniMedia_GotoOut.Text = "Goto Ou&t";
+ this.mniMedia_GotoOut.Click += new System.EventHandler(this.mniMedia_GotoOut_Click);
+ //
+ // mniMedia_PlayInToOut
+ //
+ this.mniMedia_PlayInToOut.Index = 13;
+ this.mniMedia_PlayInToOut.Shortcut = System.Windows.Forms.Shortcut.ShiftF5;
+ this.mniMedia_PlayInToOut.Text = "Pla&y In To Out";
+ this.mniMedia_PlayInToOut.Click += new System.EventHandler(this.mniMedia_PlayInToOut_Click);
+ //
+ // mniMedia_LoopInToOut
+ //
+ this.mniMedia_LoopInToOut.Index = 14;
+ this.mniMedia_LoopInToOut.Shortcut = System.Windows.Forms.Shortcut.ShiftF6;
+ this.mniMedia_LoopInToOut.Text = "&Loop";
+ this.mniMedia_LoopInToOut.Click += new System.EventHandler(this.mniMedia_LoopInToOut_Click);
+ //
+ // mniMedia_ClearMarks
+ //
+ this.mniMedia_ClearMarks.Index = 15;
+ this.mniMedia_ClearMarks.Shortcut = System.Windows.Forms.Shortcut.ShiftF8;
+ this.mniMedia_ClearMarks.Text = "&Clear Marks";
+ this.mniMedia_ClearMarks.Click += new System.EventHandler(this.mniMedia_ClearMarks_Click);
+ //
+ // mniProject
+ //
+ this.mniProject.Index = 3;
+ this.mniProject.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.mniProjectImportCMML,
+ this.mniProject_ExportCMML,
+ this.mniProject_ExportCMMLAs,
+ this.menuItem1,
+ this.mniProject_CreateAnnodex,
+ this.mniProject_CreateOgg,
+ this.menuItem3,
+ this.mniProjectProperties});
+ this.mniProject.Text = "&Project";
+ this.mniProject.Visible = false;
+ //
+ // mniProjectImportCMML
+ //
+ this.mniProjectImportCMML.Index = 0;
+ this.mniProjectImportCMML.Shortcut = System.Windows.Forms.Shortcut.CtrlI;
+ this.mniProjectImportCMML.Text = "Import CMML...";
+ this.mniProjectImportCMML.Click += new System.EventHandler(this.mniProjectImportCMML_Click);
+ //
+ // mniProject_ExportCMML
+ //
+ this.mniProject_ExportCMML.Index = 1;
+ this.mniProject_ExportCMML.Text = "Save &CMML";
+ this.mniProject_ExportCMML.Click += new System.EventHandler(this.mniProject_ExportCMML_Click);
+ //
+ // mniProject_ExportCMMLAs
+ //
+ this.mniProject_ExportCMMLAs.Index = 2;
+ this.mniProject_ExportCMMLAs.Shortcut = System.Windows.Forms.Shortcut.CtrlE;
+ this.mniProject_ExportCMMLAs.Text = "Export CMML As...";
+ this.mniProject_ExportCMMLAs.Click += new System.EventHandler(this.mniProject_ExportCMMLAs_Click);
+ //
+ // menuItem1
+ //
+ this.menuItem1.Index = 3;
+ this.menuItem1.Text = "-";
+ //
+ // mniProject_CreateAnnodex
+ //
+ this.mniProject_CreateAnnodex.Index = 4;
+ this.mniProject_CreateAnnodex.Shortcut = System.Windows.Forms.Shortcut.CtrlR;
+ this.mniProject_CreateAnnodex.Text = "Create Annodex...";
+ this.mniProject_CreateAnnodex.Click += new System.EventHandler(this.mniProject_CreateAnnodex_Click);
+ //
+ // mniProject_CreateOgg
+ //
+ this.mniProject_CreateOgg.Index = 5;
+ this.mniProject_CreateOgg.Text = "Create Ogg...";
+ this.mniProject_CreateOgg.Click += new System.EventHandler(this.mniProject_CreateOgg_Click);
+ //
+ // menuItem3
+ //
+ this.menuItem3.Index = 6;
+ this.menuItem3.Text = "-";
+ //
+ // mniProjectProperties
+ //
+ this.mniProjectProperties.Index = 7;
+ this.mniProjectProperties.Shortcut = System.Windows.Forms.Shortcut.F2;
+ this.mniProjectProperties.Text = "Properties...";
+ this.mniProjectProperties.Click += new System.EventHandler(this.mniProjectProperties_Click);
+ //
+ // mniHelp
+ //
+ this.mniHelp.Index = 4;
+ this.mniHelp.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.menuHelpContents,
+ this.menuItem6,
+ this.mniUpdateLicense,
+ this.mniHelp_About});
+ this.mniHelp.Text = "Help";
+ //
+ // menuHelpContents
+ //
+ this.menuHelpContents.Index = 0;
+ this.menuHelpContents.Shortcut = System.Windows.Forms.Shortcut.F1;
+ this.menuHelpContents.Text = "&Contents";
+ this.menuHelpContents.Click += new System.EventHandler(this.mniHelpContents_Click);
+ //
+ // menuItem6
+ //
+ this.menuItem6.Index = 1;
+ this.menuItem6.Text = "-";
+ //
+ // mniUpdateLicense
+ //
+ this.mniUpdateLicense.Index = 2;
+ this.mniUpdateLicense.Text = "&Update License";
+ this.mniUpdateLicense.Visible = false;
+ this.mniUpdateLicense.Click += new System.EventHandler(this.UpdateLicense_Click);
+ //
+ // mniHelp_About
+ //
+ this.mniHelp_About.Index = 3;
+ this.mniHelp_About.Text = "&About DMTagger";
+ this.mniHelp_About.Click += new System.EventHandler(this.mniHelp_About_Click);
+ //
+ // grpMediaControls
+ //
+ this.grpMediaControls.Controls.Add(this.mediaProgressCursorPointer);
+ this.grpMediaControls.Controls.Add(this.lblOutMarker);
+ this.grpMediaControls.Controls.Add(this.lblInMarker);
+ this.grpMediaControls.Controls.Add(this.cmdStepFrameBack);
+ this.grpMediaControls.Controls.Add(this.txtMediaTimeDisplay);
+ this.grpMediaControls.Controls.Add(this.cmdSkipBackward);
+ this.grpMediaControls.Controls.Add(this.cmdSkipForward);
+ this.grpMediaControls.Controls.Add(this.cmdStepFrame);
+ this.grpMediaControls.Controls.Add(this.cmdPlay);
+ this.grpMediaControls.Controls.Add(this.cmdPause);
+ this.grpMediaControls.Controls.Add(this.cmdStop);
+ this.grpMediaControls.Controls.Add(this.trkVolume);
+ this.grpMediaControls.Controls.Add(this.mediaProgressCursorLine);
+ this.grpMediaControls.Controls.Add(this.lblMarkedClip);
+ this.grpMediaControls.Controls.Add(this.lblProgressBarOutline);
+ this.grpMediaControls.Controls.Add(this.lblProgressBarControlBox);
+ this.grpMediaControls.Location = new System.Drawing.Point(8, 328);
+ this.grpMediaControls.Name = "grpMediaControls";
+ this.grpMediaControls.Size = new System.Drawing.Size(360, 88);
+ this.grpMediaControls.TabIndex = 0;
+ this.grpMediaControls.TabStop = false;
+ //
+ // mediaProgressCursorPointer
+ //
+ this.mediaProgressCursorPointer.Enabled = false;
+ this.mediaProgressCursorPointer.Image = ((System.Drawing.Image)(resources.GetObject("mediaProgressCursorPointer.Image")));
+ this.mediaProgressCursorPointer.Location = new System.Drawing.Point(4, 46);
+ this.mediaProgressCursorPointer.Name = "mediaProgressCursorPointer";
+ this.mediaProgressCursorPointer.Size = new System.Drawing.Size(10, 10);
+ this.mediaProgressCursorPointer.TabIndex = 45;
+ this.mediaProgressCursorPointer.TabStop = false;
+ //
+ // lblOutMarker
+ //
+ this.lblOutMarker.Enabled = false;
+ this.lblOutMarker.Image = ((System.Drawing.Image)(resources.GetObject("lblOutMarker.Image")));
+ this.lblOutMarker.Location = new System.Drawing.Point(312, 72);
+ this.lblOutMarker.Name = "lblOutMarker";
+ this.lblOutMarker.Size = new System.Drawing.Size(6, 6);
+ this.lblOutMarker.TabIndex = 43;
+ this.lblOutMarker.TabStop = false;
+ this.lblOutMarker.Visible = false;
+ //
+ // lblInMarker
+ //
+ this.lblInMarker.Enabled = false;
+ this.lblInMarker.Image = ((System.Drawing.Image)(resources.GetObject("lblInMarker.Image")));
+ this.lblInMarker.Location = new System.Drawing.Point(2, 72);
+ this.lblInMarker.Name = "lblInMarker";
+ this.lblInMarker.Size = new System.Drawing.Size(6, 6);
+ this.lblInMarker.TabIndex = 42;
+ this.lblInMarker.TabStop = false;
+ this.lblInMarker.Visible = false;
+ //
+ // cmdStepFrameBack
+ //
+ this.cmdStepFrameBack.Enabled = false;
+ this.cmdStepFrameBack.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdStepFrameBack.Image = ((System.Drawing.Image)(resources.GetObject("cmdStepFrameBack.Image")));
+ this.cmdStepFrameBack.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
+ this.cmdStepFrameBack.Location = new System.Drawing.Point(264, 16);
+ this.cmdStepFrameBack.Name = "cmdStepFrameBack";
+ this.cmdStepFrameBack.Size = new System.Drawing.Size(24, 24);
+ this.cmdStepFrameBack.TabIndex = 6;
+ this.ttpEditTags.SetToolTip(this.cmdStepFrameBack, "Step back frame by frame");
+ this.cmdStepFrameBack.Click += new System.EventHandler(this.cmdStepFrameBack_Click);
+ this.cmdStepFrameBack.MouseUp += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseUp);
+ this.cmdStepFrameBack.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdStepFrameBack_KeyDown);
+ this.cmdStepFrameBack.MouseLeave += new System.EventHandler(this.cmdMediaControl_MouseLeave);
+ this.cmdStepFrameBack.MouseDown += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseDown);
+ //
+ // txtMediaTimeDisplay
+ //
+ this.txtMediaTimeDisplay.Font = new System.Drawing.Font("Comic Sans MS", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtMediaTimeDisplay.Location = new System.Drawing.Point(152, 16);
+ this.txtMediaTimeDisplay.Name = "txtMediaTimeDisplay";
+ this.txtMediaTimeDisplay.ReadOnly = true;
+ this.txtMediaTimeDisplay.Size = new System.Drawing.Size(104, 26);
+ this.txtMediaTimeDisplay.TabIndex = 6;
+ this.txtMediaTimeDisplay.Text = "0:00:00.000";
+ this.txtMediaTimeDisplay.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;
+ this.txtMediaTimeDisplay.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtMediaTimeDisplay_KeyDown);
+ this.txtMediaTimeDisplay.MouseDown += new System.Windows.Forms.MouseEventHandler(this.txtMediaTimeDisplay_MouseDown);
+ //
+ // cmdSkipBackward
+ //
+ this.cmdSkipBackward.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdSkipBackward.Image = ((System.Drawing.Image)(resources.GetObject("cmdSkipBackward.Image")));
+ this.cmdSkipBackward.Location = new System.Drawing.Point(8, 16);
+ this.cmdSkipBackward.Name = "cmdSkipBackward";
+ this.cmdSkipBackward.Size = new System.Drawing.Size(24, 24);
+ this.cmdSkipBackward.TabIndex = 1;
+ this.cmdSkipBackward.Click += new System.EventHandler(this.cmdSkipBackward_Click);
+ this.cmdSkipBackward.MouseUp += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseUp);
+ this.cmdSkipBackward.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdSkipBackward_KeyDown);
+ this.cmdSkipBackward.MouseLeave += new System.EventHandler(this.cmdMediaControl_MouseLeave);
+ this.cmdSkipBackward.MouseDown += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseDown);
+ //
+ // cmdSkipForward
+ //
+ this.cmdSkipForward.Font = new System.Drawing.Font("Arial", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdSkipForward.Image = ((System.Drawing.Image)(resources.GetObject("cmdSkipForward.Image")));
+ this.cmdSkipForward.Location = new System.Drawing.Point(120, 16);
+ this.cmdSkipForward.Name = "cmdSkipForward";
+ this.cmdSkipForward.Size = new System.Drawing.Size(24, 24);
+ this.cmdSkipForward.TabIndex = 5;
+ this.cmdSkipForward.Click += new System.EventHandler(this.cmdSkipForward_Click);
+ this.cmdSkipForward.MouseUp += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseUp);
+ this.cmdSkipForward.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdSkipForward_KeyDown);
+ this.cmdSkipForward.MouseLeave += new System.EventHandler(this.cmdMediaControl_MouseLeave);
+ this.cmdSkipForward.MouseDown += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseDown);
+ //
+ // cmdStepFrame
+ //
+ this.cmdStepFrame.Enabled = false;
+ this.cmdStepFrame.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdStepFrame.Image = ((System.Drawing.Image)(resources.GetObject("cmdStepFrame.Image")));
+ this.cmdStepFrame.ImageAlign = System.Drawing.ContentAlignment.TopCenter;
+ this.cmdStepFrame.Location = new System.Drawing.Point(288, 16);
+ this.cmdStepFrame.Name = "cmdStepFrame";
+ this.cmdStepFrame.Size = new System.Drawing.Size(24, 24);
+ this.cmdStepFrame.TabIndex = 7;
+ this.ttpEditTags.SetToolTip(this.cmdStepFrame, "Advance frame by frame");
+ this.cmdStepFrame.Click += new System.EventHandler(this.cmdStepFrame_Click);
+ this.cmdStepFrame.MouseUp += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseUp);
+ this.cmdStepFrame.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdStepFrame_KeyDown);
+ this.cmdStepFrame.MouseLeave += new System.EventHandler(this.cmdMediaControl_MouseLeave);
+ this.cmdStepFrame.MouseDown += new System.Windows.Forms.MouseEventHandler(this.cmdMediaControl_MouseDown);
+ //
+ // trkVolume
+ //
+ this.trkVolume.Location = new System.Drawing.Point(312, 8);
+ this.trkVolume.Maximum = 40;
+ this.trkVolume.Name = "trkVolume";
+ this.trkVolume.Orientation = System.Windows.Forms.Orientation.Vertical;
+ this.trkVolume.Size = new System.Drawing.Size(45, 72);
+ this.trkVolume.TabIndex = 8;
+ this.trkVolume.Tag = "";
+ this.trkVolume.TickFrequency = 4;
+ this.trkVolume.TickStyle = System.Windows.Forms.TickStyle.TopLeft;
+ this.trkVolume.Value = 40;
+ this.trkVolume.KeyDown += new System.Windows.Forms.KeyEventHandler(this.trkVolume_KeyDown);
+ this.trkVolume.ValueChanged += new System.EventHandler(this.trkVolume_ValueChanged);
+ //
+ // mediaProgressCursorLine
+ //
+ this.mediaProgressCursorLine.Enabled = false;
+ this.mediaProgressCursorLine.Image = ((System.Drawing.Image)(resources.GetObject("mediaProgressCursorLine.Image")));
+ this.mediaProgressCursorLine.Location = new System.Drawing.Point(8, 57);
+ this.mediaProgressCursorLine.Name = "mediaProgressCursorLine";
+ this.mediaProgressCursorLine.Size = new System.Drawing.Size(2, 14);
+ this.mediaProgressCursorLine.TabIndex = 41;
+ this.mediaProgressCursorLine.TabStop = false;
+ //
+ // lblMarkedClip
+ //
+ this.lblMarkedClip.BackColor = System.Drawing.Color.SteelBlue;
+ this.lblMarkedClip.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblMarkedClip.Enabled = false;
+ this.lblMarkedClip.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblMarkedClip.Location = new System.Drawing.Point(8, 56);
+ this.lblMarkedClip.Name = "lblMarkedClip";
+ this.lblMarkedClip.Size = new System.Drawing.Size(184, 16);
+ this.lblMarkedClip.TabIndex = 44;
+ this.lblMarkedClip.Visible = false;
+ //
+ // lblProgressBarControlBox
+ //
+ this.lblProgressBarControlBox.BackColor = System.Drawing.SystemColors.Control;
+ this.lblProgressBarControlBox.ContextMenu = this.lblProgressBar_contextMenu1;
+ this.lblProgressBarControlBox.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.lblProgressBarControlBox.Location = new System.Drawing.Point(8, 46);
+ this.lblProgressBarControlBox.Name = "lblProgressBarControlBox";
+ this.lblProgressBarControlBox.Size = new System.Drawing.Size(304, 26);
+ this.lblProgressBarControlBox.TabIndex = 46;
+ this.lblProgressBarControlBox.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lblProgressBarControlBox_MouseMove);
+ this.lblProgressBarControlBox.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lblProgressBarControlBox_MouseDown);
+ //
+ // lblProgressBar_contextMenu1
+ //
+ this.lblProgressBar_contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.lblProgressBar_ContextMarkIn,
+ this.lblProgressBar_ContextMarkOut,
+ this.lblProgressBar_ContextGotoIn,
+ this.lblProgressBar_ContextGotoOut,
+ this.lblProgressBar_ContextPlayInToOut,
+ this.lblProgressBar_ContextLoopInToOut,
+ this.lblProgressBar_ContextClearMarks});
+ //
+ // lblProgressBar_ContextMarkIn
+ //
+ this.lblProgressBar_ContextMarkIn.Index = 0;
+ this.lblProgressBar_ContextMarkIn.Text = "Mark In";
+ this.lblProgressBar_ContextMarkIn.Click += new System.EventHandler(this.lblProgressBar_ContextMarkIn_Click);
+ //
+ // lblProgressBar_ContextMarkOut
+ //
+ this.lblProgressBar_ContextMarkOut.Index = 1;
+ this.lblProgressBar_ContextMarkOut.Text = "Mark Out";
+ this.lblProgressBar_ContextMarkOut.Click += new System.EventHandler(this.lblProgressBar_ContextMarkOut_Click);
+ //
+ // lblProgressBar_ContextGotoIn
+ //
+ this.lblProgressBar_ContextGotoIn.Index = 2;
+ this.lblProgressBar_ContextGotoIn.Text = "Go to In";
+ this.lblProgressBar_ContextGotoIn.Click += new System.EventHandler(this.lblProgressBar_ContextGotoIn_Click);
+ //
+ // lblProgressBar_ContextGotoOut
+ //
+ this.lblProgressBar_ContextGotoOut.Index = 3;
+ this.lblProgressBar_ContextGotoOut.Text = "Go to Out";
+ this.lblProgressBar_ContextGotoOut.Click += new System.EventHandler(this.lblProgressBar_ContextGotoOut_Click);
+ //
+ // lblProgressBar_ContextPlayInToOut
+ //
+ this.lblProgressBar_ContextPlayInToOut.Index = 4;
+ this.lblProgressBar_ContextPlayInToOut.Text = "Play In To Out";
+ this.lblProgressBar_ContextPlayInToOut.Click += new System.EventHandler(this.lblProgressBar_ContextPlayInToOut_Click);
+ //
+ // lblProgressBar_ContextLoopInToOut
+ //
+ this.lblProgressBar_ContextLoopInToOut.Index = 5;
+ this.lblProgressBar_ContextLoopInToOut.Text = "Loop In To Out";
+ this.lblProgressBar_ContextLoopInToOut.Click += new System.EventHandler(this.lblProgressBar_ContextLoopInToOut_Click);
+ //
+ // lblProgressBar_ContextClearMarks
+ //
+ this.lblProgressBar_ContextClearMarks.Index = 6;
+ this.lblProgressBar_ContextClearMarks.Text = "Clear Marks";
+ this.lblProgressBar_ContextClearMarks.Click += new System.EventHandler(this.lblProgressBar_ContextClearMarks_Click);
+ //
+ // pnlVideoWindow
+ //
+ this.pnlVideoWindow.AllowDrop = true;
+ this.pnlVideoWindow.BackColor = System.Drawing.SystemColors.ControlText;
+ this.pnlVideoWindow.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pnlVideoWindow.Location = new System.Drawing.Point(8, 16);
+ this.pnlVideoWindow.Name = "pnlVideoWindow";
+ this.pnlVideoWindow.Size = new System.Drawing.Size(360, 304);
+ this.pnlVideoWindow.TabIndex = 0;
+ this.pnlVideoWindow.DragEnter += new System.Windows.Forms.DragEventHandler(this.pnlVideoWindow_DragEnter);
+ this.pnlVideoWindow.Paint += new System.Windows.Forms.PaintEventHandler(this.pnlVideoWindow_Paint);
+ this.pnlVideoWindow.DragDrop += new System.Windows.Forms.DragEventHandler(this.pnlVideoWindow_DragDrop);
+ this.pnlVideoWindow.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pnlVideoWindow_MouseMove);
+ this.pnlVideoWindow.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pnlVideoWindow_MouseDown);
+ //
+ // tabTrackList
+ //
+ this.tabTrackList.AllowDrop = true;
+ this.tabTrackList.Location = new System.Drawing.Point(376, 8);
+ this.tabTrackList.Name = "tabTrackList";
+ this.tabTrackList.SelectedIndex = 0;
+ this.tabTrackList.Size = new System.Drawing.Size(632, 24);
+ this.tabTrackList.TabIndex = 39;
+ this.tabTrackList.DragDrop += new System.Windows.Forms.DragEventHandler(this.tabTrackList_DragDrop);
+ this.tabTrackList.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tabTrackList_KeyDown);
+ this.tabTrackList.DragOver += new System.Windows.Forms.DragEventHandler(this.tabTrackList_DragOver);
+ this.tabTrackList.SelectedIndexChanged += new System.EventHandler(this.tabTrackList_SelectedIndexChanged);
+ //
+ // txtEditHeadBaseURI
+ //
+ this.txtEditHeadBaseURI.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditHeadBaseURI.Location = new System.Drawing.Point(64, 72);
+ this.txtEditHeadBaseURI.Name = "txtEditHeadBaseURI";
+ this.txtEditHeadBaseURI.Size = new System.Drawing.Size(280, 20);
+ this.txtEditHeadBaseURI.TabIndex = 19;
+ this.txtEditHeadBaseURI.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtEditHeadBaseURI, "The base uri that relative uri\'s will be based on");
+ this.txtEditHeadBaseURI.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditHeadBaseURI_KeyDown);
+ this.txtEditHeadBaseURI.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditHeadBaseURI_KeyPress);
+ //
+ // txtEditHeadTitle
+ //
+ this.txtEditHeadTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.txtEditHeadTitle.Location = new System.Drawing.Point(64, 16);
+ this.txtEditHeadTitle.Multiline = true;
+ this.txtEditHeadTitle.Name = "txtEditHeadTitle";
+ this.txtEditHeadTitle.Size = new System.Drawing.Size(280, 40);
+ this.txtEditHeadTitle.TabIndex = 17;
+ this.txtEditHeadTitle.Text = "";
+ this.ttpEditTags.SetToolTip(this.txtEditHeadTitle, "Title of this resource");
+ this.txtEditHeadTitle.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtEditHeadTitle_KeyDown);
+ this.txtEditHeadTitle.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtEditHeadTitle_KeyPress);
+ this.txtEditHeadTitle.TextChanged += new System.EventHandler(this.txtEditHeadTitle_TextChanged);
+ //
+ // lblDisplayHeadBaseUriFixed
+ //
+ this.lblDisplayHeadBaseUriFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblDisplayHeadBaseUriFixed.Location = new System.Drawing.Point(8, 72);
+ this.lblDisplayHeadBaseUriFixed.Name = "lblDisplayHeadBaseUriFixed";
+ this.lblDisplayHeadBaseUriFixed.Size = new System.Drawing.Size(56, 24);
+ this.lblDisplayHeadBaseUriFixed.TabIndex = 18;
+ this.lblDisplayHeadBaseUriFixed.Text = "Base URI";
+ this.ttpEditTags.SetToolTip(this.lblDisplayHeadBaseUriFixed, "The base uri that relative uri\'s will be based on");
+ //
+ // lblDisplayHeadTitleFixed
+ //
+ this.lblDisplayHeadTitleFixed.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblDisplayHeadTitleFixed.Location = new System.Drawing.Point(8, 24);
+ this.lblDisplayHeadTitleFixed.Name = "lblDisplayHeadTitleFixed";
+ this.lblDisplayHeadTitleFixed.Size = new System.Drawing.Size(48, 24);
+ this.lblDisplayHeadTitleFixed.TabIndex = 16;
+ this.lblDisplayHeadTitleFixed.Text = "Title";
+ this.ttpEditTags.SetToolTip(this.lblDisplayHeadTitleFixed, "Title of this resource");
+ //
+ // cmdEditHeadRemoveMeta
+ //
+ this.cmdEditHeadRemoveMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditHeadRemoveMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditHeadRemoveMeta.Location = new System.Drawing.Point(280, 96);
+ this.cmdEditHeadRemoveMeta.Name = "cmdEditHeadRemoveMeta";
+ this.cmdEditHeadRemoveMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditHeadRemoveMeta.TabIndex = 23;
+ this.cmdEditHeadRemoveMeta.Text = "Remove";
+ this.ttpEditTags.SetToolTip(this.cmdEditHeadRemoveMeta, "Remove the selected head meta tag");
+ this.cmdEditHeadRemoveMeta.Click += new System.EventHandler(this.cmdEditHeadRemoveMeta_Click);
+ this.cmdEditHeadRemoveMeta.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdEditHeadRemoveMeta_KeyDown);
+ //
+ // cmdEditHeadAddMeta
+ //
+ this.cmdEditHeadAddMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditHeadAddMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditHeadAddMeta.Location = new System.Drawing.Point(136, 96);
+ this.cmdEditHeadAddMeta.Name = "cmdEditHeadAddMeta";
+ this.cmdEditHeadAddMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditHeadAddMeta.TabIndex = 21;
+ this.cmdEditHeadAddMeta.Text = "Add...";
+ this.ttpEditTags.SetToolTip(this.cmdEditHeadAddMeta, "Add a head meta tagThe base uri that relative uri\'s will be based on");
+ this.cmdEditHeadAddMeta.Click += new System.EventHandler(this.cmdEditHeadAddMeta_Click);
+ this.cmdEditHeadAddMeta.KeyDown += new System.Windows.Forms.KeyEventHandler(this.cmdEditHeadAddMeta_KeyDown);
+ //
+ // cmdEditHeadEditMeta
+ //
+ this.cmdEditHeadEditMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditHeadEditMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditHeadEditMeta.Location = new System.Drawing.Point(208, 96);
+ this.cmdEditHeadEditMeta.Name = "cmdEditHeadEditMeta";
+ this.cmdEditHeadEditMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditHeadEditMeta.TabIndex = 22;
+ this.cmdEditHeadEditMeta.Text = "Edit...";
+ this.ttpEditTags.SetToolTip(this.cmdEditHeadEditMeta, "Remove the selected head meta tag");
+ this.cmdEditHeadEditMeta.Click += new System.EventHandler(this.cmdEditHeadEditMeta_Click);
+ //
+ // cmdCopyTrack
+ //
+ this.cmdCopyTrack.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCopyTrack.Location = new System.Drawing.Point(56, 16);
+ this.cmdCopyTrack.Name = "cmdCopyTrack";
+ this.cmdCopyTrack.Size = new System.Drawing.Size(40, 22);
+ this.cmdCopyTrack.TabIndex = 41;
+ this.cmdCopyTrack.Text = "Copy";
+ this.ttpEditTags.SetToolTip(this.cmdCopyTrack, "Copy a track");
+ this.cmdCopyTrack.Click += new System.EventHandler(this.cmdCopyTrack_Click);
+ //
+ // cmdCopyClip
+ //
+ this.cmdCopyClip.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCopyClip.Location = new System.Drawing.Point(56, 16);
+ this.cmdCopyClip.Name = "cmdCopyClip";
+ this.cmdCopyClip.Size = new System.Drawing.Size(40, 22);
+ this.cmdCopyClip.TabIndex = 42;
+ this.cmdCopyClip.Text = "Copy";
+ this.ttpEditTags.SetToolTip(this.cmdCopyClip, "Copy a clip");
+ this.cmdCopyClip.Click += new System.EventHandler(this.cmdCopyClip_Click);
+ //
+ // tabHeadTag
+ //
+ this.tabHeadTag.Controls.Add(this.tabPage1);
+ this.tabHeadTag.Controls.Add(this.tabPage2);
+ this.tabHeadTag.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.tabHeadTag.Location = new System.Drawing.Point(8, 472);
+ this.tabHeadTag.Name = "tabHeadTag";
+ this.tabHeadTag.SelectedIndex = 0;
+ this.tabHeadTag.Size = new System.Drawing.Size(360, 152);
+ this.tabHeadTag.TabIndex = 15;
+ this.tabHeadTag.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tabHeadTag_KeyDown);
+ //
+ // tabPage1
+ //
+ this.tabPage1.Controls.Add(this.txtEditHeadBaseURI);
+ this.tabPage1.Controls.Add(this.txtEditHeadTitle);
+ this.tabPage1.Controls.Add(this.lblDisplayHeadBaseUriFixed);
+ this.tabPage1.Controls.Add(this.lblDisplayHeadTitleFixed);
+ this.tabPage1.Location = new System.Drawing.Point(4, 22);
+ this.tabPage1.Name = "tabPage1";
+ this.tabPage1.Size = new System.Drawing.Size(352, 126);
+ this.tabPage1.TabIndex = 0;
+ this.tabPage1.Text = "Title";
+ //
+ // tabPage2
+ //
+ this.tabPage2.Controls.Add(this.btnCopyHeadDefaults);
+ this.tabPage2.Controls.Add(this.cmdEditHeadEditMeta);
+ this.tabPage2.Controls.Add(this.lstEditHeadMetaTags);
+ this.tabPage2.Controls.Add(this.cmdEditHeadRemoveMeta);
+ this.tabPage2.Controls.Add(this.cmdEditHeadAddMeta);
+ this.tabPage2.Location = new System.Drawing.Point(4, 22);
+ this.tabPage2.Name = "tabPage2";
+ this.tabPage2.Size = new System.Drawing.Size(352, 126);
+ this.tabPage2.TabIndex = 1;
+ this.tabPage2.Text = "Head Meta Tags";
+ //
+ // btnCopyHeadDefaults
+ //
+ this.btnCopyHeadDefaults.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.btnCopyHeadDefaults.Location = new System.Drawing.Point(8, 96);
+ this.btnCopyHeadDefaults.Name = "btnCopyHeadDefaults";
+ this.btnCopyHeadDefaults.Size = new System.Drawing.Size(88, 24);
+ this.btnCopyHeadDefaults.TabIndex = 85;
+ this.btnCopyHeadDefaults.Text = "Copy Defaults";
+ this.btnCopyHeadDefaults.Click += new System.EventHandler(this.btnCopyHeadDefaults_Click);
+ //
+ // lstEditHeadMetaTags
+ //
+ this.lstEditHeadMetaTags.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader1,
+ this.columnHeader2,
+ this.columnHeader3});
+ this.lstEditHeadMetaTags.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lstEditHeadMetaTags.FullRowSelect = true;
+ this.lstEditHeadMetaTags.GridLines = true;
+ this.lstEditHeadMetaTags.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
+ this.lstEditHeadMetaTags.Location = new System.Drawing.Point(8, 8);
+ this.lstEditHeadMetaTags.Name = "lstEditHeadMetaTags";
+ this.lstEditHeadMetaTags.Size = new System.Drawing.Size(336, 80);
+ this.lstEditHeadMetaTags.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.lstEditHeadMetaTags.TabIndex = 20;
+ this.lstEditHeadMetaTags.View = System.Windows.Forms.View.Details;
+ this.lstEditHeadMetaTags.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lstEditHeadMetaTags_KeyDown);
+ this.lstEditHeadMetaTags.DoubleClick += new System.EventHandler(this.lstEditHeadMetaTags_DoubleClick);
+ //
+ // columnHeader1
+ //
+ this.columnHeader1.Text = "Name";
+ this.columnHeader1.Width = 85;
+ //
+ // columnHeader2
+ //
+ this.columnHeader2.Text = "Value";
+ this.columnHeader2.Width = 118;
+ //
+ // columnHeader3
+ //
+ this.columnHeader3.Text = "Scheme";
+ this.columnHeader3.Width = 105;
+ //
+ // tmrMediaControls
+ //
+ this.tmrMediaControls.Interval = 250;
+ this.tmrMediaControls.Tick += new System.EventHandler(this.tmrMediaControls_tick);
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.cmdCopyTrack);
+ this.groupBox1.Controls.Add(this.cmdDeleteTrack);
+ this.groupBox1.Location = new System.Drawing.Point(16, 416);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(152, 48);
+ this.groupBox1.TabIndex = 43;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Track";
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.cmdCopyClip);
+ this.groupBox2.Controls.Add(this.cmdDeleteClip);
+ this.groupBox2.Location = new System.Drawing.Point(208, 416);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(152, 48);
+ this.groupBox2.TabIndex = 44;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "Clip";
+ //
+ // frmEditTags
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(1018, 635);
+ this.Controls.Add(this.tabTrackList);
+ this.Controls.Add(this.pnlVideoWindow);
+ this.Controls.Add(this.grpMediaControls);
+ this.Controls.Add(this.cmdNewClip);
+ this.Controls.Add(this.cmdNewTrack);
+ this.Controls.Add(this.grpEditClipTag);
+ this.Controls.Add(this.tabHeadTag);
+ this.Controls.Add(this.groupBox1);
+ this.Controls.Add(this.groupBox2);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.Menu = this.mnuMain;
+ this.Name = "frmEditTags";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
+ this.Text = "DMTagger Annodex Editor";
+ this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.frmEditTags_KeyDown);
+ this.Closing += new System.ComponentModel.CancelEventHandler(this.frmEditTags_Closing);
+ this.Load += new System.EventHandler(this.frmEditTags_Load);
+ this.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.frmEditTags_MouseWheel);
+ this.Paint += new System.Windows.Forms.PaintEventHandler(this.frmEditTags_Paint);
+ this.grpEditClipTag.ResumeLayout(false);
+ this.grpDescription.ResumeLayout(false);
+ this.grpEditClipMetaTags.ResumeLayout(false);
+ this.grpEditClipAnchorTag.ResumeLayout(false);
+ this.grpEditClipImageTag.ResumeLayout(false);
+ this.grpMediaControls.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.trkVolume)).EndInit();
+ this.tabHeadTag.ResumeLayout(false);
+ this.tabPage1.ResumeLayout(false);
+ this.tabPage2.ResumeLayout(false);
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox2.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void Main(String[] inArgs)
+ {
+ // DLB. 17/6/2005. Add a check for the DirectX Version.
+ // Get the registry Key entry ffor HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX\
+ // to tell us the DirectX Version number (if any) that's installed.
+ RegistryKey lDirectXKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\DirectX");
+ string lDirectXVersion = lDirectXKey.GetValue("Version").ToString();
+
+ char [] acDelim = ".".ToCharArray();
+ string [] sSplitStr = lDirectXVersion.Split(acDelim, 4);
+
+ // Check we have at least version 9.0 DirectX
+ if (sSplitStr[1].CompareTo("09") < 0)
+ {
+ // Let them know they need to upgrade DirectX before we'll work
+ MessageBox.Show("DirectX Version must be at least version 9.0.\n\nPlease upgrade your DirectX.",
+ "Old DirectX Version", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return; // and get out
+ }
+ // END DLB. 17/6/2005.
+
+ // DLB. 21/11/2005
+ // Check we have an oggcodecs Installed
+ RegistryKey rk;
+ if ((rk = Registry.LocalMachine.OpenSubKey("software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\oggcodecs")) == null)
+ {
+ // Get the data from a specified item in the key.
+ // String OggCodecsVersion = (String)rk.GetValue("DisplayVersion");
+ // Let them know they need to install FFDShow before we'll work correctly
+ MessageBox.Show("OggCodecs is not installed.\n\nYou will not be able to create Annodex (.anx) or OGG (.ogg) files.\n\nPlease download and install the latest oggcodecs from the internet.",
+ "No OggCodecs", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ // Check we have a FFDShow Installed
+ if ((rk = Registry.LocalMachine.OpenSubKey("software\\GNU\\ffdshow")) == null)
+ {
+ // Let them know they need to install FFDShow before we'll work correctly
+ MessageBox.Show("FFDShow is not installed.\n\nSome media files may not process correctly.\n\nPlease download and install the latest ffdshow from the internet.",
+ "No FFDShow", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ // END DLB. 21/11/2005
+
+ if (inArgs.Length == 0)
+ {
+ Application.Run(new frmEditTags());
+ }
+ else if (inArgs.Length == 1)
+ {
+ ProjectSettings locSettings = new ProjectSettings();
+ if (locSettings.loadSettingsXML(inArgs[0]))
+ {
+ Application.Run(new frmEditTags(locSettings, false));
+ }
+ else
+ {
+ MessageBox.Show("An invalid project file (.anxproj) was specified on the command-line. This file cannot be opened by AnxCreator", "File cannot be opened", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+ else
+ {
+ MessageBox.Show("An invalid project file (.anxproj) was specified on the command-line. This file cannot be opened by AnxCreator", "File cannot be opened", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+
+ }
+
+ /// <summary>
+ /// Code run when the form loads
+ /// </summary>
+ private void frmEditTags_Load(object sender, System.EventArgs e)
+ {
+ //LoadMediaFile(mSettings.MediaFileName());
+ }
+
+ private void NewTrack(String inTrackName, String inLanguage, bool inIsLTR)
+ {
+ if (inTrackName == "")
+ {
+ inTrackName = "default";
+ }
+
+ mTrackList.AddTrack(inTrackName, inLanguage, inIsLTR);
+
+ mWorkingTrackName = inTrackName;
+
+ cntrlClipList locClipControl = new cntrlClipList(mSettings);
+ //TODO::: Properties of control
+ //locClipControl.BackColor = System.Drawing.Color.W;
+ locClipControl.Location = new System.Drawing.Point(752, 46);
+ locClipControl.Size = new System.Drawing.Size(256, 576);
+ locClipControl.TabIndex = 0;
+ locClipControl.TabStop = false;
+ locClipControl.SetParentEditorForm((INotifyClipSelection)this);
+
+ locClipControl.setTrack(mTrackList.GetTrack(inTrackName));
+
+ mClipListControls.Add(inTrackName, locClipControl);
+
+ ShowNamedTrackClipControl(inTrackName);
+ this.Controls.Add(locClipControl);
+ }
+
+ private void CopyTrack(String inNewTrackName, String inOriginalTrackName, String inLanguage, bool inIsLTR)
+ {
+ // Store current working track
+ CMMLTrack locTrack = mTrackList.GetTrack(mWorkingTrackName);
+
+ // Create new track
+ NewTrack(inNewTrackName, inLanguage, inIsLTR);
+ for (int i = 0; i < locTrack.ClipList.Count; i++)
+ {
+ ClipTag oOriginalClipTag = (ClipTag)locTrack.ClipList.GetByIndex(i);
+ ClipTag locClip = oOriginalClipTag.clone();
+ locClip.setTrack(inNewTrackName);
+ mTrackList.AddClip(locClip);
+ }
+ }
+
+ #region Progress Bar
+ /// <summary>
+ /// Handles clicks on the progress bar
+ /// </summary>
+ private void lblProgressBarControlBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ double locSeekRatio = ((double)e.X) / (double)lblProgressBarOutline.Width;
+ Int64 locSeekPoint = (Int64)(mMediaFileDuration * locSeekRatio);
+ DoMediaSeek(locSeekPoint);
+ }
+ }
+
+ // DLB. 20/6/2005. Add the ability to drag the progress bar to move the image
+ // and watch the new position constantly in real time.
+ private void lblProgressBarControlBox_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ Int64 locSeekPoint = 0;
+ if ((double)e.X >= (double)lblProgressBarOutline.Width)
+ {
+ locSeekPoint = (Int64)(mMediaFileDuration);
+ }
+ else if ((double)e.X <= (double)0)
+ {
+ locSeekPoint = 0;
+ }
+ else
+ {
+ double locSeekRatio = ((double)e.X) / (double)lblProgressBarOutline.Width;
+ locSeekPoint = (Int64)(mMediaFileDuration * locSeekRatio);
+ }
+
+ DoMediaSeek(locSeekPoint);
+ }
+ }
+
+ // Re-display both the progress bar slider and the media time associated with it.
+ private void UpdateProgressBar()
+ {
+ double locProgRatio = 0;
+ Int32 locProgPosition = 0;
+ Int64 locTotalTicks = 0;
+ if (mMediaFileDuration > 0)
+ {
+ try
+ {
+ locTotalTicks = mLastSync + (mTicksElapsed * 10000000);
+ locProgRatio = Convert.ToDouble(locTotalTicks) / mMediaFileDuration;
+
+ // DLB. 29/6/2005. If it's off the end, bring it back within display range.
+ if (locProgRatio > 1)
+ {
+ locProgRatio = 1;
+ }
+ else if (locProgRatio < 0)
+ {
+ locProgRatio = 0;
+ }
+
+ // Changed by DLB. 20/6/2005. Leave space at the end for the ProgressBarCursor
+ //locProgPosition = Convert.ToInt32(locProgRatio * lblProgressBarOutline.Width);
+ locProgPosition = Convert.ToInt32(locProgRatio * (lblProgressBarOutline.Width - mediaProgressCursorLine.Width));
+ }
+ catch (System.OverflowException)
+ {
+ //MessageBox.Show(mMediaFileDuration.ToString());
+ locTotalTicks = 0;
+ locProgPosition = 0;
+ }
+ }
+
+ // Changed by DLB. 20/6/2005.
+ mediaProgressCursorLine.Left = lblProgressBarOutline.Left + locProgPosition;
+ mediaProgressCursorPointer.Left = lblProgressBarOutline.Left + locProgPosition - ((mediaProgressCursorPointer.Width - 1) / 2);
+ // END Changed by DLB. 20/6/2005.
+
+ // Added by DLB. 21/6/2005.
+ if (i64MarkInPoint != -1 && i64MarkOutPoint != -1)
+ {
+ double locMarkInRatio = Convert.ToDouble(i64MarkInPoint) / mMediaFileDuration;
+ Int32 locMarkInPosition = Convert.ToInt32(locMarkInRatio * (lblProgressBarOutline.Width - mediaProgressCursorLine.Width));
+
+ lblMarkedClip.Left = lblProgressBarOutline.Left + locMarkInPosition;
+
+ double locMarkOutRatio = Convert.ToDouble(i64MarkOutPoint) / mMediaFileDuration;
+ Int32 locMarkOutPosition = Convert.ToInt32(locMarkOutRatio * (lblProgressBarOutline.Width - mediaProgressCursorLine.Width));
+
+ lblMarkedClip.Width = lblProgressBarOutline.Left + locMarkOutPosition - lblMarkedClip.Left + mediaProgressCursorLine.Width;
+
+ lblInMarker.Left = lblMarkedClip.Left - lblInMarker.Width;
+ lblOutMarker.Left = lblMarkedClip.Left + lblMarkedClip.Width;
+ lblInMarker.Visible = true;
+ lblOutMarker.Visible = true;
+ lblMarkedClip.Visible = true;
+ }
+ else if (lblMarkedClip.Visible == true)
+ {
+ lblMarkedClip.Visible = false;
+ lblInMarker.Visible = false;
+ lblOutMarker.Visible = false;
+ }
+ // END Added by DLB. 21/6/2005.
+
+ setDurationText(locTotalTicks);
+ }
+
+ #endregion
+
+ #region GUI Updaters
+ public void ResetForm()
+ {
+ ResetClipEditBox("0:00:00.000");
+ mSettings = null;
+
+ // DLB. 22/6/2005. Reset the markers before the update to ensure they dissapear!
+ i64MarkInPoint = -1;
+ i64MarkOutPoint = -1;
+ bPlayingInToOut = false;
+ bLoopingPlayback = false;
+ mTrackList = null;
+
+ mWorkingClip = null;
+ mIgnoreTabEvents = false;
+
+ EmptyClipListControl();
+ mWorkingTrackName = "";
+
+ if (mPlayer != null)
+ {
+ //mPlayer.stop();
+ StopPlayback(); // DLB. 20/6/2005. Force a complete display update
+ //MessageBox.Show("Released in reset form");
+ }
+
+ cmdPlay.Enabled = false;
+ mniMedia_Play.Enabled = false;
+
+ cmdStop.Enabled = false;
+ mniMedia_Stop.Enabled = false;
+
+ cmdPause.Enabled = false;
+ //mniMedia_Pause.Enabled = false;
+
+ cmdSkipForward.Enabled = false;
+ mniMedia_Forward2.Enabled = false;
+
+ cmdSkipBackward.Enabled = false;
+ mniMedia_Back2.Enabled = false;
+
+ cmdStepFrame.Enabled = false;
+ mniMedia_FrameStep.Enabled = false;
+
+ cmdStepFrameBack.Enabled = false;
+
+ lblDisplayHeadTitleFixed.ForeColor = System.Drawing.Color.Red;
+
+ cmdNewTrack.Enabled = false;
+ cmdNewClip.Enabled = false;
+ cmdCopyClip.Enabled = false;
+ cmdDeleteTrack.Enabled = false;
+ cmdDeleteClip.Enabled = false;
+ cmdCopyTrack.Enabled = false;
+
+ //grpDisplayHead.Enabled = false;
+ tabHeadTag.Enabled = false;
+ grpEditClipTag.Enabled = false;
+
+ mniProject.Visible = false;
+ mniMedia.Visible = false;
+ mniEdit.Visible = false;
+
+ txtEditHeadTitle.Text = "";
+ txtEditHeadBaseURI.Text = "";
+ lstEditHeadMetaTags.Items.Clear();
+ txtMediaTimeDisplay.Text = "0:00:00.000";
+ txtMediaTimeDisplay.Select(0,0);
+ picEditClip.AllowDrop = true;
+ trkVolume.Focus();
+
+ // give the media time to update the screen
+ if (mPlayer != null)
+ {
+ mPlayer.releaseInterfaces();
+ mPlayer = null;
+ }
+ pnlVideoWindow.Invalidate(); // clear any remaining image
+ }
+
+ public bool SetupForm(ProjectSettings inSettings, bool inIsNew)
+ {
+ ResetForm();
+
+ cmdNewTrack.Enabled = true;
+ cmdCopyTrack.Enabled = true;
+
+ cmdNewClip.Enabled = true;
+ cmdCopyClip.Enabled = true;
+ //grpDisplayHead.Enabled = true;
+ tabHeadTag.Enabled = true;
+
+ mSettings = inSettings;
+ mTrackList = new TrackList();
+ if (mPlayer != null)
+ {
+ mPlayer.stop();
+ mPlayer.releaseInterfaces();
+ //MessageBox.Show("Released in Setup Form");
+ mPlayer = null;
+ }
+ mPlayer = new DSPlay(pnlVideoWindow.Handle, pnlVideoWindow.ClientRectangle.Left, pnlVideoWindow.ClientRectangle.Top, pnlVideoWindow.ClientRectangle.Width, pnlVideoWindow.ClientRectangle.Height);
+
+ bool locWasLoaded= false;
+ bool locMediaFileChanged = false;
+
+ while ((locWasLoaded == false))
+ {
+ locWasLoaded = LoadMediaFile(mSettings.MediaFileName());
+
+ if (!locWasLoaded)
+ {
+ DialogResult locRetryRes = MessageBox.Show("The specified media file does not exist or cannot be loaded. Do you wish to select a different one ?", "Invalid media file", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);
+ if (locRetryRes == DialogResult.OK)
+ {
+ //Let the user select another file.
+ OpenFileDialog locOpenDialog = new OpenFileDialog();
+ locOpenDialog.Title = "Select media file...";
+ locOpenDialog.Filter = "Media Files (*.mpg; *.mpeg; *.mp3; *.wmv; *.wma; *.avi; *.ogg; *.oga; *.ogv; *.flac; *.spx; *.wav; *.cda)|*.mpg;*.mpeg;*.mp3;*.wmv;*.wma;*.avi;*.ogg;*.oga;*.ogv;*.flac;*.spx;*.wav;*.cda|All Files(*.*)|*.*";
+ locOpenDialog.CheckFileExists = true;
+
+ DialogResult locOpenRes = locOpenDialog.ShowDialog(this);
+ locOpenDialog.CheckFileExists = true;
+
+ if ((locOpenRes == DialogResult.OK))
+ {
+ mSettings.setMediaFileName(locOpenDialog.FileName);
+ locMediaFileChanged = true;
+ }
+ }
+ else
+ {
+ //Bail out.
+ ResetForm();
+ return false;
+ }
+ }
+ }
+
+ if (locMediaFileChanged)
+ {
+ mSettings.writeSettingsXML();
+ }
+
+ mClipListControls = new SortedList();
+ mPlayer.setMediaEventCallback(this);
+ mWorkingClip = null; //Correct
+ mIgnoreTabEvents = false;
+
+ this.Text = "DMTagger Annodex Editor - " + inSettings.ProjectName();
+ if (!inIsNew)
+ {
+ String locCMMLFileName = inSettings.ProjectLocation() + "\\" + inSettings.ProjectName()+".cmml";
+ CMMLError outCMMLError = new CMMLError();
+ if (!LoadExistingCMML (locCMMLFileName, outCMMLError, null))
+ {
+ // Load failed. See if there's a backup file available
+ String locCMMLFileName1 = inSettings.ProjectLocation() + "\\" + inSettings.ProjectName()+".cmml.bak";
+ if (!System.IO.File.Exists(locCMMLFileName1))
+ {
+ MessageBox.Show("Failed to load CMML file.\nBad Syntax on or before line #"+outCMMLError.GetLineNumber()+".",
+ "CMML Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ // and bail out
+ ResetForm();
+ return false;
+ }
+
+ // Backup available so see if they want to use it.
+ DialogResult locRetryRes = MessageBox.Show("Failed to load CMML file.\nBad Syntax on or before line #"+outCMMLError.GetLineNumber()+
+ "\nWould you like to open the last Backup instead?",
+ "CMML Failure", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
+
+ if (locRetryRes == DialogResult.Yes)
+ {
+ if (!LoadExistingCMML (locCMMLFileName1, outCMMLError, null))
+ {
+ MessageBox.Show("Failed to load last Backup CMML file.",
+ "CMML Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ // and bail out
+ ResetForm();
+ return false;
+ }
+ else
+ {
+ // succesful so keep processing
+ }
+ }
+ else
+ {
+ // and bail out
+ ResetForm();
+ return false;
+ }
+ }
+ }
+ else
+ {
+ mWorkingTrackName = "default";
+ NewTrack("default", "", true);
+ }
+
+ LoadMediaFile(mSettings.MediaFileName());
+ txtMediaTimeDisplay.Text = "0:00:00.000";
+ trkVolume.Focus();
+
+ // DLB. 20/5/2005. Pause forces a proper repaint so we
+ // have an image to start with.
+ mPlayer.pause();
+
+ UpdateTree(); // DLB. 1/9/2005.
+ UpdateTabControl(); // DLB. 2/9/2005. UpdateTree will select the first element, so UpdateTAB afterwards to fill in form on load
+
+ StoreCurrentState(UndoStack);
+ return true;
+ }
+
+ /// <summary>
+ /// Resets all the fields in the clip area of the form.
+ /// </summary>
+ private void ResetClipEditBox(String inTime)
+ {
+ //SSSS::: Assume display time
+ //Empty the text fields
+ txtEditClipStart.Text = inTime.ToString();
+ txtEditClipEnd.Text = "";
+ txtEditClipDescription.Text = "";
+ txtEditClipAnchorText.Text = "";
+ txtEditClipAnchorURI.Text = "";
+ txtEditClipImageText.Text = "";
+ txtEditClipImageURI.Text = "";
+ txtID.Text = "";
+
+ //Set the labels to be black again.
+ lblClipEditTimeFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ lblEditClipImageURIFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ lblEditClipAnchorURIFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+
+ //Clear the metatag items
+ lstEditClipMetaTags.Items.Clear();
+
+ //Get rid of the image.
+ picEditClip.Image = null;
+ }
+
+ /// <summary>
+ /// Puts all the fields in the clip area into a clip tag.
+ /// </summary>
+ private void UpdateClipData()
+ {
+ // Grabs the data from the widgets and puts it into the clip list.
+ // If we are already working on this clip, it should update, otherwise we add it.
+ // Makes the current clip the working clip.
+
+ if (mWorkingClip != null)
+ {
+ // DLB. 21/9/2005. Store the CMML in case we need it gets changed here.
+ //String locCurrentCMML = null;
+ String locCurrentCMML = "";
+ GetCMMLString(out locCurrentCMML);
+ ClipTag locWorkingClipCopy = mWorkingClip.clone();
+
+ bool bClipDataAppearingInTreeHasChanged = false;
+
+ // DLB. 1/9/2005. This minimises the number of Tree updates, which has problems
+ // with double clicking during updates. Only update if information that appears
+ // in the tree has changed
+ string sStart = mWorkingClip.start();
+ string sDesc = mWorkingClip.desc() == null ? "" : mWorkingClip.desc().text();
+ AnchorTag oAnchor = mWorkingClip.anchor();
+ string sAnchor= oAnchor == null ? "" : oAnchor.text();
+ ImageTag oImage = mWorkingClip.image();
+ string sImageURI = oImage == null ? "" : oImage.src();
+
+ // Make sure they REALLY want to change the start time
+ if (sStart != TimeConvert.displayTimeToNPTTime(txtEditClipStart.Text))
+ {
+ DialogResult locResult = MessageBox.Show("The clip's start time will be changed to "+txtEditClipStart.Text+".\nAre you sure?",
+ "Change Of Start Time", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
+ if (locResult != DialogResult.OK)
+ {
+ // cancel, so change it back
+ txtEditClipStart.Text = TimeConvert.TimeStampToDisplayTime(sStart);
+ }
+ }
+
+ if (sStart != TimeConvert.displayTimeToNPTTime(txtEditClipStart.Text) ||
+ sDesc != txtEditClipDescription.Text ||
+ sAnchor != txtEditClipAnchorText.Text ||
+ sImageURI != txtEditClipImageURI.Text)
+ {
+ bClipDataAppearingInTreeHasChanged = true;
+ }
+ // END DLB. 1/9/2005
+
+ ClipTag locClip;
+
+ // DLB. 31/8/2005. If we've changed the start time,
+ // we need to reorder the list
+ bool bClipStartChanged = false;
+
+ string sOriginalStart = null;
+ if (mWorkingClip.start() !=
+ TimeConvert.displayTimeToNPTTime(txtEditClipStart.Text))
+ {
+ bClipStartChanged = true;
+ sOriginalStart = mWorkingClip.start(); // so we can change it back if it's rejected
+
+ locClip = new ClipTag();
+ locClip.setTrack(mWorkingClip.track());
+
+ //mTrackList.RemoveClip(mWorkingClip);
+ //mWorkingClip = null;
+ }
+ else
+ {
+ locClip = mWorkingClip;
+ }
+ // END DLB. 31/8/2005.
+
+ //TODO::: Validation
+ //locClip = mWorkingClip;
+
+ //Set the time stamps on the clip tag
+ //SSSS:::
+ //DONE
+ locClip.setStart(TimeConvert.displayTimeToNPTTime(txtEditClipStart.Text));
+ locClip.setEnd(TimeConvert.displayTimeToNPTTime(txtEditClipEnd.Text));
+ locClip.setId(txtID.Text);
+
+ //So long as any one of the fields is not "" then create an anchor tag
+ if (!((txtEditClipAnchorText.Text == "") && (txtEditClipAnchorURI.Text == "")))
+ {
+ AnchorTag locAnchor = new AnchorTag();
+ locAnchor.setText(txtEditClipAnchorText.Text);
+ locAnchor.setHref(txtEditClipAnchorURI.Text);
+ locClip.setAnchor(locAnchor);
+ }
+ else
+ {
+ locClip.setAnchor(null);
+ }
+
+ //So long as any one of the fields is not "" create an image tag.
+ if (txtEditClipImageText.Text != "" || txtEditClipImageURI.Text != "")
+ {
+ //If either field is not empty we make one.
+ ImageTag locImage = new ImageTag();
+ locImage.setAlt(txtEditClipImageText.Text);
+ locImage.setSrc(txtEditClipImageURI.Text);
+
+ locClip.setImage(locImage);
+ }
+ else
+ {
+ locClip.setImage(null);
+ }
+
+ //If the description is not "" then create a desc tag.
+ if (txtEditClipDescription.Text != "")
+ {
+ DescTag locDesc = new DescTag();
+ locDesc.setText(txtEditClipDescription.Text);
+ locClip.setDesc(locDesc);
+ }
+ else
+ {
+ locClip.setDesc(null);
+ }
+
+ //DESC_BUG ::: What happens if you have a desc and then you delete it all ?
+
+ //Empty the meta tag list, and repopulate it
+ locClip.metaList().emptyList();
+ foreach (ListViewItem locItem in lstEditClipMetaTags.Items)
+ {
+ MetaTag locMetaTag = new MetaTag();
+ locMetaTag.setName(locItem.Text);
+ locMetaTag.setContent(locItem.SubItems[1].Text);
+ locMetaTag.setScheme(locItem.SubItems[2].Text);
+ locClip.metaList().addTag(locMetaTag);
+ }
+
+ // DLB. 31/8/2005. If the start time has changed,
+ // delete the old and add the new to put everything back
+ // in the right order.
+ if (bClipStartChanged)
+ {
+ try
+ {
+ mTrackList.RemoveClip(mWorkingClip);
+ mWorkingClip = null;
+
+ // Since the start has changed, clear the end as it's probably invalid
+ locClip.setEnd("");
+
+ mTrackList.AddClip(locClip);
+ mWorkingClip = locClip;
+
+ UpdateTree(); // update the tree to show the move, then we can select ourselves
+
+ cntrlClipList locClipControl1 = (cntrlClipList)mClipListControls[mWorkingTrackName];
+
+ // Need to strip the NPT at the front of the timestamp
+ locClipControl1.SelectClipByTime(TimeConvert.TimeStampToDisplayTime(locClip.start()));
+ }
+ catch (System.ArgumentException)
+ {
+ MessageBox.Show("Start time already used\n\nPlease select a time that is unallocated.",
+ "Invalid Time", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ // Failed, so go back to the original start time
+ txtEditClipStart.Text = TimeConvert.TimeStampToDisplayTime(sOriginalStart);
+ locClip.setStart(sOriginalStart);
+ mTrackList.AddClip(locClip);
+ }
+ }
+ else
+ {
+ if (bClipDataAppearingInTreeHasChanged)
+ {
+ UpdateTree();
+ }
+ }
+ // END DLB. 30/8/2005.
+
+ // DLB. 21/9/2005. Handle Undo
+ if (locWorkingClipCopy.toString() != mWorkingClip.toString())
+ {
+ // the clip has been changed so add the old to the undo list
+ if (locCurrentCMML != null)
+ {
+ // Should limit to 25 undos so we don't waste too much memory
+ // How? Can't easily. Not with Stack. No limit mechanism and
+ // we need to remove first element put in, not current top
+ // of stack. Use brute force.
+ if (UndoStack.Count == 25)
+ {
+ // remove last element to limit to 25 undos so
+ // we don't keep using up memory
+ object[] objectArray = UndoStack.ToArray();
+ UndoStack.Clear();
+ // replace all but last element back on stack
+ for (int i=objectArray.Length-2; i >= 0; i--)
+ {
+ UndoStack.Push(objectArray[i]);
+ }
+ }
+
+ UndoState locUndoState = new UndoState();
+
+ CMMLTrack locTrack = mTrackList.GetTrack(mWorkingTrackName);
+ locUndoState.TrackList = (TrackList)mTrackList.Clone();
+ locUndoState.TrackName = mWorkingTrackName;
+ // use original clip for start time so we select
+ // the modified clip when we do UNDOs. Otherwise,
+ // when we change stuff we can't easily see which clip
+ // was changed while undoing.
+ locUndoState.StartTime = locWorkingClipCopy.start();
+ //locUndoState.StartTime = mWorkingClip.start();
+ GetCMMLString(out locCurrentCMML); // test !!!
+ locUndoState.CMML = locCurrentCMML;
+ UndoStack.Push(locUndoState);
+ // they've changed something so they
+ // can't redo any more.
+ RedoStack.Clear();
+ }
+ }
+ // END DLB. 21/9/2005.
+
+ }
+ //If this is a new clip, add it to the track list.
+ // if (mWorkingClip == null)
+ // {
+ // mTrackList.AddClip(locClip);
+ // }
+
+ //mWorkingClip = locClip;
+ }
+
+ /// <summary>
+ /// Repopulate the clip list, with the clips in the track list.
+ /// </summary>
+ private void UpdateTree()
+ {
+
+ //TODO::: This is hardcoded for one track
+ CMMLTrack locCMMLTrack = mTrackList.GetTrack(mWorkingTrackName);
+
+ //XXXXX:::
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[mWorkingTrackName];
+ locClipControl.setTrack(locCMMLTrack);
+
+ locClipControl.populateClipControl();
+
+ //cplClipList.setTrack(locCMMLTrack);
+ //cplClipList.populateClipControl();
+ }
+
+ private void UpdateTabControl()
+ {
+ tabTrackList.SuspendLayout();
+ mIgnoreTabEvents = true;
+
+ tabTrackList.TabPages.Clear();
+
+ TabPage locTabPage = null;
+ String locTrackName = null;
+ if ((mWorkingTrackName != "") && (mTrackList.NumTracks() > 1))
+ {
+ cmdDeleteTrack.Enabled = true;
+ }
+ else
+ {
+ cmdDeleteTrack.Enabled = false;
+ }
+
+ for (int i = 0; i < mTrackList.NumTracks(); i++)
+ {
+ locTrackName = mTrackList.GetTrackName(i);
+ locTabPage = new TabPage(locTrackName);
+
+ tabTrackList.TabPages.Add(locTabPage);
+ if (locTrackName == mWorkingTrackName)
+ {
+
+ tabTrackList.SelectedTab = locTabPage;
+ mWorkingTrackName = locTabPage.Text;
+ //UpdateClipData();
+ ShowNamedTrackClipControl(mWorkingTrackName);
+ notifyClipSelection();
+ }
+ }
+ mIgnoreTabEvents = false;
+ tabTrackList.ResumeLayout();
+ }
+
+ private void ShowNamedTrackClipControl(String inTrackName)
+ {
+ for (int i = 0; i < mClipListControls.Count; i++)
+ {
+ cntrlClipList locClipList = (cntrlClipList)mClipListControls.GetByIndex(i);
+
+ if (inTrackName == locClipList.trackName())
+ {
+ locClipList.Enabled = true;
+ locClipList.Visible = true;
+ }
+ else
+ {
+ locClipList.Enabled = false;
+ locClipList.Visible = false;
+ }
+ }
+ }
+
+ private void DisplayEditableClip(ClipTag inClipTag)
+ {
+ ResetClipEditBox("0:00:00.000");
+
+ mWorkingClip = inClipTag; //Correct
+
+ if (inClipTag != null)
+ {
+ grpEditClipTag.Enabled = true;
+ cmdDeleteClip.Enabled = true;
+ //SSSS::: Should drop npt
+ //DONE
+ txtEditClipStart.Text = TimeConvert.TimeStampToDisplayTime(inClipTag.start());
+ txtEditClipEnd.Text = TimeConvert.TimeStampToDisplayTime(inClipTag.end());
+ txtID.Text = inClipTag.id();
+
+ // DLB. 22/6/2005. If we have an end number, then we need to show edit marks for this clip.
+ // Otherwise, hide the edit marks.
+ if (txtEditClipEnd.Text != "")
+ {
+ i64MarkInPoint = TimeConvert.TimeStampToHunNanos(inClipTag.start()); // * 10000?
+ i64MarkOutPoint = TimeConvert.TimeStampToHunNanos(inClipTag.end());
+ }
+ else
+ {
+ // No markers are set
+ i64MarkInPoint = -1;
+ i64MarkOutPoint = -1;
+ }
+
+ // and make sure the bar gets updated
+ //UpdateProgressBar();
+
+ if (inClipTag.desc() != null)
+ {
+ txtEditClipDescription.Text = inClipTag.desc().text();
+ }
+
+ if (inClipTag.anchor() != null)
+ {
+ txtEditClipAnchorText.Text = inClipTag.anchor().text();
+ txtEditClipAnchorURI.Text = inClipTag.anchor().href();
+ }
+
+ if (inClipTag.image() != null)
+ {
+ txtEditClipImageText.Text = inClipTag.image().alt();
+ txtEditClipImageURI.Text = inClipTag.image().src();
+
+ if (txtEditClipImageURI.Text != "")
+ {
+ //Try and load the image from the project dir.
+ String locBMFileName = ConstructImageLocation(txtEditClipImageURI.Text);
+
+ Bitmap locBitmap = null;
+ try
+ {
+ locBitmap = new Bitmap(locBMFileName);
+ }
+ catch
+ {
+ //Do nothing !
+ locBitmap = null;
+ }
+ picEditClip.Image = locBitmap;
+ }
+ }
+
+ lstEditClipMetaTags.Items.Clear();
+ MetaTagList locMetaList = inClipTag.metaList();
+ for (UInt32 i = 0; i < locMetaList.numTags(); i++)
+ {
+ ListViewItem locItem = new ListViewItem(locMetaList.getTag(i).name());
+ locItem.SubItems.Add(locMetaList.getTag(i).content());
+ locItem.SubItems.Add(locMetaList.getTag(i).scheme());
+ lstEditClipMetaTags.Items.Add(locItem);
+ }
+
+ ValidateDisplayedTag();
+ }
+ else
+ {
+ grpEditClipTag.Enabled = false;
+ cmdDeleteClip.Enabled = false;
+ }
+ }
+
+ private void ShowSelectedClipControl(cntrlSingleClip inClipControl)
+ {
+ if (inClipControl != null)
+ {
+ String locAnchorText = inClipControl.clipText();
+ //SSSS::: Temporal - clip control usese display time
+ //DONE
+
+ ClipTag locClip = mTrackList.GetClipByTime(inClipControl.ParentList().trackName(), inClipControl.clipTime());
+
+ DisplayEditableClip(locClip);
+ }
+ else
+ {
+ DisplayEditableClip(null);
+ //ResetClipEditBox("0");
+ //grpEditClipTag.Enabled = false;
+ }
+ }
+
+ public void ShowSelectedClipTag()
+ {
+ //XXXXX:::
+ //ShowSelectedClipControl(cplClipList.selectedClip());
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[mWorkingTrackName];
+ ShowSelectedClipControl(locClipControl.selectedClip());
+ }
+
+ protected void setDurationText(Int64 inDuration)
+ {
+ String locDisplayTime = TimeConvert.toDisplayTimeString(inDuration);
+
+ txtMediaTimeDisplay.Text = locDisplayTime;
+ }
+
+ private bool IsValidStartTime()
+ {
+ return IsValidTime(txtEditClipStart.Text);
+ }
+
+ public void SetTxtEditClipStart(string sText)
+ {
+ txtEditClipStart.Text = sText;
+ UpdateClipData();
+ }
+
+ private bool IsValidEndTime()
+ {
+ if (txtEditClipEnd.Text != "")
+ {
+ return IsValidTime(txtEditClipEnd.Text);
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ private bool IsValidTime(String inTime)
+ {
+ if (inTime != "")
+ {
+ try
+ {
+ Int64 locTestTime = TimeConvert.displayTimeToHunNanos(inTime);
+ if (locTestTime != -1)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ catch
+ {
+ return false;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ private bool ValidateDisplayedTag()
+ {
+ bool retIsValid = true;
+ //Must have a start time
+ if (!IsValidStartTime())
+ {
+ lblClipEditTimeFixed.ForeColor = System.Drawing.Color.Red;
+ retIsValid = false;
+ }
+ else
+ {
+ lblClipEditTimeFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+
+ if (!IsValidEndTime())
+ {
+ lblEditClipTimeToFixed.ForeColor = System.Drawing.Color.Red;
+ retIsValid = false;
+ }
+ else
+ {
+ lblEditClipTimeToFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+
+
+ //If there's anchor text , there must be URI
+ if ((txtEditClipAnchorText.Text != ""))
+ {
+ if (txtEditClipAnchorURI.Text == "")
+ {
+ lblEditClipAnchorURIFixed.ForeColor = System.Drawing.Color.Red;
+ retIsValid = false;
+ }
+ else
+ {
+ lblEditClipAnchorURIFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+ }
+ else
+ {
+ lblEditClipAnchorURIFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+
+ //If there's image description, there must be a URI
+ if (txtEditClipImageText.Text != "")
+ {
+ if (txtEditClipImageURI.Text == "")
+ {
+ lblEditClipImageURIFixed.ForeColor = System.Drawing.Color.Red;
+ retIsValid = false;
+ }
+ else
+ {
+ lblEditClipImageURIFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+ }
+ else
+ {
+ lblEditClipImageURIFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+
+ return retIsValid;
+
+ // //There must be a title
+ // if (txtEditHeadTitle.Text == "")
+ // {
+ // lblDisplayHeadTitleFixed.ForeColor = System.Drawing.Color.Red;
+ // retIsValid = false;
+ // }
+
+ }
+
+ private void EmptyClipListControl()
+ {
+ if (mClipListControls != null)
+ {
+ for (int i = 0; i < mClipListControls.Count; i++)
+ {
+ cntrlClipList locClipList = (cntrlClipList)mClipListControls.GetByIndex(i);
+
+ locClipList.Enabled = false;
+ locClipList.Visible = false;
+ }
+ mClipListControls.Clear();
+ }
+ }
+
+ #endregion
+
+ #region Media Control Methods
+ private bool LoadMediaFile(String inFileName)
+ {
+ tmrUpdateProgress.Enabled = false;
+
+ if (mPlayer != null)
+ {
+ mPlayer.stop();
+ mPlayer.pause(); // DLB. 20/6/2005. Force a display update
+ mPlayer.releaseInterfaces();
+ //MessageBox.Show("Released in Load MEdia file.");
+ }
+
+ bool locRes = mPlayer.loadFile(inFileName);
+
+ if (locRes)
+ {
+ mMediaFileName = inFileName;
+
+ //Error check
+ mMediaFileDuration = mPlayer.fileDuration();
+
+ //setDurationText(mFileDuration);
+ //lblDuration.Text = mFileDuration.ToString();
+
+ mTicksElapsed = 0;
+ mLastSync = 0;
+ UpdateProgressBar();
+
+ mPlayer.setMediaEventCallback(this);
+
+ cmdPlay.Enabled = true;
+ mniMedia_Play.Enabled = true;
+
+ cmdStop.Enabled = false;
+ mniMedia_Stop.Enabled = false;
+
+ cmdPause.Enabled = false;
+ //mniMedia_Pause.Enabled = false;
+
+ cmdSkipBackward.Enabled = true;
+ mniMedia_Back2.Enabled = true;
+
+ cmdSkipForward.Enabled = true;
+ mniMedia_Forward2.Enabled = true;
+
+ //mPlayer.setVolume(trkVolume.Value);
+ SetVolumeFromSlider();
+
+ cmdPlay.Focus();
+ if ((mPlayer.canStepFrame()) && (mPlayer.averageTimePerFrame() != 0))
+ {
+ cmdStepFrame.Enabled = true;
+ mniMedia_FrameStep.Enabled = true;
+ cmdStepFrameBack.Enabled = true;
+ }
+ else
+ {
+ cmdStepFrame.Enabled = false;
+ mniMedia_FrameStep.Enabled = false;
+ cmdStepFrameBack.Enabled = false;
+ }
+
+ return true;
+ }
+ else
+ {
+ //MessageBox.Show("File type is unrecognised, or media file does not exist", "Media Open Failed.", MessageBoxButtons.OK, MessageBoxIcon.Stop);
+ return false;
+ }
+ }
+
+ private void StopPlayback()
+ {
+ if (mPlayer != null)
+ {
+ tmrUpdateProgress.Enabled = false;
+ tmrMediaEventCheck.Enabled = false;
+ mPlayer.stop();
+ //Need to seek to start here ! --- Stop should do this now.
+ //mPlayer.seek(0);
+ mTicksElapsed = 0;
+ mLastSync = 0;
+ UpdateProgressBar();
+ cmdPause.Enabled = true;
+ //mniMedia_Pause.Enabled = true;
+
+ cmdStop.Enabled = false;
+ mniMedia_Stop.Enabled = false;
+
+ cmdPlay.Enabled = true;
+ mniMedia_Play.Enabled = true;
+
+ // DLB. 20/5/2005. Pause forces a proper repaint so we
+ // have an image to start with. Makes clicking on images
+ // updating the video image work correctly.
+ mPlayer.pause();
+ }
+ cmdPlay.Focus(); // allow us to use the spacebar to play/pause once we've started
+ }
+
+ private void StartPlayback()
+ {
+ if (mPlayer != null)
+ {
+ mPlayer.play();
+ tmrUpdateProgress.Enabled = true;
+ tmrMediaEventCheck.Enabled = true;
+
+ cmdPlay.Enabled = false;
+ //mniMedia_Play.Enabled = false;
+
+ cmdPause.Enabled = true;
+ //mniMedia_Pause.Enabled = true;
+
+ cmdStop.Enabled = true;
+ mniMedia_Stop.Enabled = true;
+ }
+ cmdPause.Focus(); // allow us to use the spacebar to play/pause once we've started
+ }
+
+ private void PausePlayback()
+ {
+
+ if (mPlayer != null)
+ {
+ tmrMediaEventCheck.Enabled = false;
+ tmrUpdateProgress.Enabled = false;
+ mPlayer.pause();
+ cmdPause.Enabled = false;
+ //mniMedia_Pause.Enabled = false;
+
+ cmdPlay.Enabled = true;
+ mniMedia_Play.Enabled = true;
+
+ cmdStop.Enabled = true;
+ mniMedia_Stop.Enabled = true;
+ }
+ cmdPlay.Focus(); // allow us to use the spacebar to play/pause once we've started
+ }
+
+ private void FrameStep()
+ {
+ if (mPlayer != null)
+ {
+ //mPlayer.frame
+ if (mPlayer.canStepFrame())
+ {
+ //tmrUpdateProgress.Enabled = false;
+ mPlayer.stepFrame();
+
+ cmdPlay.Enabled = true;
+ mniMedia_Play.Enabled = true;
+
+ cmdStop.Enabled = true;
+ mniMedia_Stop.Enabled = true;
+
+ cmdPause.Enabled = false;
+ //mniMedia_Pause.Enabled = false;
+
+ Int64 locMediaPos = -1;
+
+ locMediaPos = mPlayer.queryPosition();
+ if (locMediaPos != -1)
+ {
+ mLastSync = locMediaPos;
+ mTicksElapsed = 0;
+ }
+
+ UpdateProgressBar();
+ }
+ }
+ }
+
+ private void FrameStepBack()
+ {
+ // Get frames per sec. Returned in fps * 100.
+ long lAverageFrameRate = mPlayer.averageFrameRate();
+
+ if (lAverageFrameRate > 0)
+ {
+ // put it in milliseconds
+ Int32 iOneFrameInMilliseconds = 100000 / (Int32)lAverageFrameRate;
+ SkipBackwards(iOneFrameInMilliseconds);
+ }
+ }
+
+ private void SkipBackwards(Int32 inAmount)
+ {
+ //inAmount is in milliseconds (ie 1000 per second)
+ if (cmdSkipBackward.Enabled == true)
+ {
+ Int64 locCurrent = GetCurrentMediaTime() - inAmount;
+ if (locCurrent < 0)
+ {
+ locCurrent = 0;
+ }
+
+ DoMediaSeek(locCurrent * 10000);
+ }
+ }
+
+ private void SkipForwards(Int32 inAmount)
+ {
+ //inAmount is in milliseconds (ie 1000 per second)
+ if (cmdSkipForward.Enabled == true)
+ {
+ Int64 locCurrent = GetCurrentMediaTime() + inAmount;
+ DoMediaSeek(locCurrent * 10000);
+ }
+ }
+
+ private void DoMediaSeek(Int64 inSeekTime)
+ {
+ if (mPlayer != null)
+ {
+ inSeekTime = mPlayer.seek(inSeekTime);
+ if (inSeekTime != -1)
+ {
+ mLastSync = inSeekTime;
+ mTicksElapsed = 0;
+ UpdateProgressBar();
+ }
+ }
+ }
+
+ /// <summary>
+ /// Returns media time accurate to 1/1000th fo a second (ie ms)
+ /// </summary>
+ private Int64 GetCurrentMediaTime()
+ {
+ if (mPlayer != null)
+ {
+ Int64 locMediaTime = mPlayer.queryPosition();
+ if (locMediaTime != -1)
+ {
+ mLastSync = locMediaTime;
+ mTicksElapsed = 0;
+ }
+ }
+ return (mLastSync + (mTicksElapsed * 10000000)) / 10000;
+ }
+
+ #endregion
+
+ #region CMML IO
+
+ CMMLDoc locDoc = null;
+ CMML_Parser locParser = null;
+
+ private bool LoadExistingCMML (String inCMMLFileName, CMMLError outCMMLError, String PreloadedCMML)
+ {
+ locDoc = new CMMLDoc();
+ locParser = new CMML_Parser();
+
+ // Changed by DLB. 11/9/2005.
+ // Read the file in from UTF-8 using a stream reader, the same way as
+ // we wrote it out. Then parse it as a document. Keeps the interface consistent.
+ // bool locWasOK = locParser.parseDocFromFile(inCMMLFileName, locDoc);
+
+ String inBuffer = "";
+
+ if (inCMMLFileName != null)
+ {
+ String sTemp;
+
+ try
+ {
+ StreamReader locInStream = File.OpenText(inCMMLFileName);
+ while ((sTemp = locInStream.ReadLine()) != null)
+ {
+ inBuffer += sTemp;
+ inBuffer += "\r\n";
+ }
+ locInStream.Close();
+ }
+ catch
+ {
+ return false;
+ }
+ }
+ else
+ {
+ inBuffer = PreloadedCMML;
+ }
+
+ bool locWasOK = locParser.parseDocFromBuffer(inBuffer, locDoc, outCMMLError);
+ // END Changed by DLB. 11/9/2005.
+
+ if (!locWasOK)
+ {
+ return false;
+ }
+
+ txtEditHeadTitle.Text = locDoc.root().head().title().text();
+
+ BaseTag locBase = locDoc.root().head(). at base();
+
+ if (locBase != null)
+ {
+ txtEditHeadBaseURI.Text = locBase.href();
+ }
+ else
+ {
+ txtEditHeadBaseURI.Text = "";
+ }
+
+ lstEditHeadMetaTags.Items.Clear();
+ MetaTagList locHeadMetas = locDoc.root().head().metaList();
+
+ for (UInt32 i = 0; i < locHeadMetas.numTags(); i++)
+ {
+ MetaTag locMetaTag = locHeadMetas.getTag(i);
+ ListViewItem locListItem = new ListViewItem(locMetaTag.name());
+ locListItem.SubItems.Add(locMetaTag.content());
+ locListItem.SubItems.Add(locMetaTag.scheme());
+ lstEditHeadMetaTags.Items.Add(locListItem);
+ }
+
+ EmptyClipListControl();
+ mTrackList = new TrackList();
+
+ ClipTagList locClipTags = locDoc.root().clipList();
+
+ for (UInt32 i = 0; i < locClipTags.numTags(); i++)
+ {
+ ClipTag locClip = locClipTags.getTag(i);
+
+ CMMLTrack locTrack = mTrackList.GetTrack(locClip.track());
+
+ if (locTrack != null)
+ {
+ //SSSS::: Needs temproal lib - this should be in ms
+ //DONE
+ //locTrack.ClipList.Add(Convert.ToUInt64(locClip.start()), locClip.clone());
+ locTrack.ClipList.Add(TimeConvert.TimeStampToHunNanos(locClip.start()) / 10000, locClip.clone());
+ }
+ else
+ {
+ //That track doesn't exist yet
+ //locTrack = new CMMLTrack();
+
+ NewTrack(locClip.track(), locClip.lang(), locClip.dirn() == "ltr" ? true : false);
+ //locTrackList.AddTrack(locClip.track(), locClip.lang(), locClip.dirn() == "ltr" ? true : false, locClip.id());
+ locTrack = mTrackList.GetTrack(locClip.track());
+
+ //SSSS::: Needs temporal lib
+ //DONE
+ //locTrack.ClipList.Add(Convert.ToUInt64(locClip.start()), locClip.clone());
+ locTrack.ClipList.Add(TimeConvert.TimeStampToHunNanos(locClip.start()) / 10000, locClip.clone());
+ }
+ }
+
+ //This gives us a default track if the cmml has no clips in it.
+ if (mTrackList.NumTracks() == 0)
+ {
+ mWorkingTrackName = "default";
+ NewTrack("default", "", true);
+ }
+
+ UpdateTree(); // DLB. 24/10/2005. Make sure clip list is shown.
+ UpdateTabControl();
+
+ return true;
+ }
+
+ private bool ExportCMMLToFile(String inFileName)
+ {
+ String locCMMLString = "";
+
+ UpdateClipData();
+
+ if (txtEditHeadTitle.Text == "")
+ {
+ MessageBox.Show("A title is required for CMML. \nPlease fill in a title before continuing.", "Error - No Title for Project", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return false;
+ }
+
+ if (GetCMMLString(out locCMMLString))
+ {
+ StreamWriter locOutStream = File.CreateText(inFileName);
+ locOutStream.Write(locCMMLString);
+ locOutStream.Close();
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ private bool GetCMMLString(out String outCMMLString)
+ {
+ outCMMLString = null;
+
+ //CMMLDoc locDoc = new CMMLDoc();
+ locDoc = new CMMLDoc();
+
+ StreamTag locStream = new StreamTag();
+ ImportTag locImport = new ImportTag();
+
+ locImport.setSrc(mSettings.MediaFileName());
+
+ String locProfileFileName = System.Windows.Forms.Application.StartupPath+"\\profiles\\" + mSettings.ProjectProfile() + ".dpml";
+ DeviceProfile locDevProf = new DeviceProfile();
+ if (locDevProf.LoadXML(locProfileFileName))
+ {
+ ParamTag locParam = new ParamTag();
+ locParam.setName("video.width");
+ locParam.setContent(locDevProf.mVideoWidth);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("video.height");
+ locParam.setContent(locDevProf.mVideoHeight);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("video.framerate");
+ locParam.setContent(locDevProf.mVideoFrameRate);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("video.theora.targetbitrate");
+ locParam.setContent(locDevProf.mVideoTheoraTargetBitrate);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("video.theora.quality");
+ locParam.setContent(locDevProf.mVideoTheoraQuality);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("audio.samplerate");
+ locParam.setContent(locDevProf.mAudioSampleRate);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("audio.samplewidth");
+ locParam.setContent(locDevProf.mAudioSampleWidth);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("audio.numchannels");
+ locParam.setContent(locDevProf.mAudioChannels);
+ locImport.paramList().addTag(locParam);
+
+ locParam = new ParamTag();
+ locParam.setName("audio.vorbis.quality");
+ locParam.setContent(locDevProf.mAudioVorbisQuality);
+ locImport.paramList().addTag(locParam);
+ }
+ else
+ {
+ MessageBox.Show("Couldn't find device profile information at "+locProfileFileName, "No Device Profile", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ return false;
+ }
+
+ locStream.importList().addTag(locImport);
+ locDoc.root().setStream(locStream);
+
+ HeadTag locHead = new HeadTag();
+ TitleTag locTitle = new TitleTag();
+
+ if (txtEditHeadTitle.Text != "")
+ {
+ locTitle.setText(txtEditHeadTitle.Text);
+ locHead.setTitle(locTitle);
+ }
+
+ if (txtEditHeadBaseURI.Text != "")
+ {
+ BaseTag locBase = new BaseTag();
+ locBase.setHref(txtEditHeadBaseURI.Text);
+ locHead.setBase(locBase);
+ }
+
+ //TODO::: Head meta tags.
+
+ //Empty the meta tag list, and repopulate it
+ locHead.metaList().emptyList();
+ foreach (ListViewItem locItem in lstEditHeadMetaTags.Items)
+ {
+ MetaTag locMetaTag = new MetaTag();
+ locMetaTag.setName(locItem.Text);
+ String locSubby = locItem.SubItems[1].Text;
+
+ locMetaTag.setContent(locSubby);
+ locMetaTag.setScheme(locItem.SubItems[2].Text);
+ locHead.metaList().addTag(locMetaTag);
+ }
+
+ //MessageBox.Show(locHead.metaList().toString());
+ //MessageBox.Show(locHead.toString());
+
+
+ locDoc.root().setHead(locHead);
+
+
+ //MessageBox.Show(locDoc.root().head().toString());
+ //MessageBox.Show(locDoc.root().head().metaList().toString());
+
+
+ SortedList locClipList = new SortedList();
+ const Int64 MAX_TRACKS = 1000;
+
+ //SSSS::: This needs to interleave properly.
+
+ //TODO::: This assumes start time < 2^63 / 1000
+ for (int track = 0; track < mTrackList.NumTracks(); track++)
+ {
+ CMMLTrack locTrack = mTrackList.GetTrack(track);
+ for (int clip = 0; clip < locTrack.ClipList.Count; clip++)
+ {
+ ClipTag locClip = (ClipTag)locTrack.ClipList.GetByIndex(clip);
+
+ //SSSS::: This is weird
+ //DONE
+ //locClipList.Add(Convert.ToUInt64(locClip.start()) * MAX_TRACKS + (UInt64)track, locClip);
+ locClipList.Add((TimeConvert.TimeStampToHunNanos(locClip.start())/ 10000) * MAX_TRACKS + (Int64)track, locClip);
+ }
+ }
+
+ for (int i = 0; i < locClipList.Count; i++)
+ {
+ locDoc.root().clipList().addTag((ClipTag)locClipList.GetByIndex(i));
+ }
+
+ // CMMLTrack locTrack = mTrackList.GetTrack(0);
+ //
+ // for (int i = 0; i < locTrack.ClipList.Count; i++)
+ // {
+ // locDoc.root().clipList().addTag((ClipTag)locTrack.ClipList.GetByIndex(i));
+ // }
+
+ outCMMLString = locDoc.toString();
+ return true;
+ }
+
+ private bool WriteCMMLToDefaultLocation()
+ {
+ String locFilename = mSettings.ProjectLocation()+"\\"+mSettings.ProjectName()+".cmml";
+
+ // DLB. 19/9/2005. Create a backup in case it all goes wrong.
+ // Debugging info on BAD CMML files is currently very poor so this at least
+ // my give a way of recovering without calling us or getting too annoyed at us.
+ String locBackupFilename = mSettings.ProjectLocation()+"\\"+mSettings.ProjectName()+".cmml.bak";
+
+ try
+ {
+ // Copy the file.
+ File.Copy(locFilename, locBackupFilename, true);
+ }
+
+ catch
+ {
+ //MessageBox("CMML File Backup failed", "File Backup Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ // END DLB. 19/9/2005.
+
+ return ExportCMMLToFile(locFilename);
+ //TODO::: Feedback ??
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Deletes the selected item in the meta data listview
+ /// </summary>
+ private void DeleteSelectedClipMetaData()
+ {
+ ListView.SelectedListViewItemCollection locSelectedItems = lstEditClipMetaTags.SelectedItems;
+
+ foreach (ListViewItem locItem in locSelectedItems)
+ {
+ locItem.Remove();
+ }
+ }
+
+ /// <summary>
+ /// Deletes the selected item in the meta data listview for the head tag
+ /// </summary>
+ private void DeleteSelectedHeadMetaData()
+ {
+ ListView.SelectedListViewItemCollection locSelectedItems = lstEditHeadMetaTags.SelectedItems;
+
+ foreach (ListViewItem locItem in locSelectedItems)
+ {
+ locItem.Remove();
+ }
+ }
+
+ private String ConstructImageLocation(String inFileName)
+ {
+ return mSettings.ProjectLocation() + "\\" + inFileName;
+ }
+
+ public bool eventNotification(int inEventCode, int inParam1, int inParam2)
+ {
+ if (inEventCode == (long)eEventCodes.EC_COMPLETE)
+ {
+ StopPlayback();
+ }
+ return true;
+ }
+
+ private bool ThumbnailCancelCallback()
+ {
+ return false;
+ }
+
+ private void AssignBitmapToClip(Image inBitmap, String inFilename)
+ {
+ picEditClip.SizeMode = PictureBoxSizeMode.StretchImage;
+ picEditClip.Image = inBitmap;
+
+ const Int32 locThumbX = 64;
+ const Int32 locThumbY = 39;
+
+ if (inBitmap != null)
+ {
+ Image locThumb = inBitmap.GetThumbnailImage(locThumbX, locThumbY, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCancelCallback), IntPtr.Zero);
+ String locThumbnailFilename = mSettings.ProjectLocation()+"\\"+inFilename;
+ try
+ {
+ locThumb.Save(locThumbnailFilename, System.Drawing.Imaging.ImageFormat.Jpeg);
+ }
+ catch (Exception e)
+ {
+ // Hmmm. appear to be errors in CLR save sometimes.
+ // Only if file already exists, so just ignore them and process
+ // as if it has saved, since it exists anyway (unless we've
+ // run out of diskspace)
+ }
+
+ ttpPicBox.SetToolTip(picEditClip, locThumbnailFilename);
+ }
+ else
+ {
+ ttpPicBox.RemoveAll();
+ }
+ }
+
+ private void HandleWeirdHotKeys(System.Windows.Forms.KeyEventArgs e)
+ {
+ if (e.Modifiers == Keys.Alt)
+ {
+ switch (e.KeyCode)
+ {
+ case Keys.Left:
+ SkipBackwards(SEEK_DISTANCE);
+ break;
+ case Keys.Right:
+ SkipForwards(SEEK_DISTANCE);
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ private void RestrictKeypressCharacters(System.Windows.Forms.KeyPressEventArgs e, String RestrictedChars)
+ {
+ // search for the character in the restricted characters string
+ if (RestrictedChars.IndexOf(e.KeyChar) != -1)
+ {
+ // this character is not allowed, so mark it as handled
+ e.Handled = true;
+ }
+ }
+
+ private void AllowKeypressCharacters(System.Windows.Forms.KeyPressEventArgs e, String AllowedChars)
+ {
+ // search for the character in the allowed characters string
+ // Allow all control characters to function normally
+ if (!Char.IsControl(e.KeyChar) && AllowedChars.IndexOf(e.KeyChar) == -1)
+ {
+ // this character is not allowed, so mark it as handled
+ e.Handled = true;
+ }
+ }
+
+ private void doDeleteTrack(String inTrackName)
+ {
+ if (mTrackList.NumTracks() > 1)
+ {
+ Int32 locCurrentIndex = -1;
+ for (Int32 i = 0; i < mTrackList.NumTracks(); i++)
+ {
+ if (mTrackList.GetTrack(i).TrackName() == inTrackName)
+ {
+ locCurrentIndex = i;
+ break;
+ }
+ }
+
+ if (locCurrentIndex != -1)
+ {
+ mTrackList.RemoveTrack(inTrackName);
+ cntrlClipList locClipList = (cntrlClipList)mClipListControls[inTrackName];
+ locClipList.Visible = false;
+ locClipList.Enabled = false;
+ this.Controls.Remove(locClipList);
+ mClipListControls.Remove(inTrackName);
+ if (locCurrentIndex < mTrackList.NumTracks())
+ {
+ mWorkingTrackName = mTrackList.GetTrack(locCurrentIndex).TrackName();
+ }
+ else
+ {
+ mWorkingTrackName = mTrackList.GetTrack(mTrackList.NumTracks() -1).TrackName();
+ }
+ UpdateTree();
+ UpdateTabControl();
+ }
+ }
+ else
+ {
+ MessageBox.Show("You must have at least one track", "Cannot delete track...", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+
+
+ #region INotifyClipSelection Members
+
+ public void notifyClipSelection()
+ {
+ // TODO: Add frmEditTags.notifyClipSelection implementation
+ UpdateClipData();
+ ShowSelectedClipTag();
+
+ // DLB 19/5/2005. Removed as reselecting a clip shouldn't need a tree redraw.
+ // Stops the flickering and allows the double-click to work. Moved to inside UpdateClipData.
+ // UpdateTree();
+ }
+
+ public void notifyClipSeekRequest(Int64 inTime)
+ {
+ if (mPlayer != null)
+ {
+ DoMediaSeek(inTime);
+ }
+
+ }
+ #endregion
+
+ #region Textbox Event Handlers
+ private void txtEditHeadTitle_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditHeadBaseURI_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipStart_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipEnd_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtID_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipAnchorText_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipAnchorURI_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipImageText_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipImageURI_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipDescription_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipStart_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditClipEnd_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditClipAnchorURI_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditClipDescription_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditClipImageText_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditClipImageURI_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditClipAnchorText_TextChanged(object sender, System.EventArgs e)
+ {
+ ValidateDisplayedTag();
+ }
+
+ private void txtEditHeadTitle_TextChanged(object sender, System.EventArgs e)
+ {
+ if (txtEditHeadTitle.Text == "")
+ {
+ lblDisplayHeadTitleFixed.ForeColor = System.Drawing.Color.Red;
+ }
+ else
+ {
+ lblDisplayHeadTitleFixed.ForeColor = System.Drawing.SystemColors.ControlText;
+ }
+ }
+
+
+ #endregion
+
+ #region Menu Event Handlers
+ private void mniFile_SaveProject_Click(object sender, System.EventArgs e)
+ {
+ WriteCMMLToDefaultLocation();
+ }
+
+ private void mniFile_NewProject_Click(object sender, System.EventArgs e)
+ {
+ if (!CloseProject())
+ {
+ return; // return if cancelled the close
+ }
+
+ frmNewProjectWizard locWizard = new frmNewProjectWizard();
+ locWizard.ShowDialog(this);
+ if (locWizard.WasOK)
+ {
+ //frmEditTags locEditor = new frmEditTags(locWizard.Settings, true);
+ //locEditor.MdiParent = this;
+ //locEditor.Show();
+ if (SetupForm(locWizard.Settings, true))
+ {
+ mniProject.Visible = true;
+ mniMedia.Visible = true;
+ mniEdit.Visible = true;
+ mniFile_SaveProject.Enabled = true;
+
+ CopyMetaTags(lstEditHeadMetaTags, appOptions.listViewHeadMetaTags);
+ }
+ else
+ {
+ mniProject.Visible = false;
+ mniMedia.Visible = false;
+ mniEdit.Visible = false;
+ mniFile_SaveProject.Enabled = false;
+ }
+ }
+ }
+
+ private void mniFile_LoadProject_Click(object sender, System.EventArgs e)
+ {
+ if (!CloseProject())
+ {
+ return; // return if cancelled close
+ }
+
+ OpenFileDialog locOpenDialog = new OpenFileDialog();
+ locOpenDialog.DefaultExt = ".anxproj";
+ locOpenDialog.Title = "Open Annodex Project...";
+ locOpenDialog.Filter = "Annodex Projects (*.anxproj)|*.anxproj|All Files (*.*)|*.*";
+ locOpenDialog.CheckFileExists = true;
+ DialogResult locResult = locOpenDialog.ShowDialog(this);
+
+ if ((locResult == DialogResult.OK) && (File.Exists(locOpenDialog.FileName)))
+ {
+ ProjectSettings locSettings = new ProjectSettings();
+ bool locWasOK = locSettings.loadSettingsXML(locOpenDialog.FileName);
+
+ if (locWasOK)
+ {
+ //frmEditTags locEditor = new frmEditTags(locSettings, false);
+ //locEditor.MdiParent = this;
+ //locEditor.Show();
+
+ locWasOK = SetupForm(locSettings, false);
+ if (locWasOK)
+ {
+ mniProject.Visible = true;
+ mniMedia.Visible = true;
+ mniEdit.Visible = true;
+ mniFile_SaveProject.Enabled = true;
+ }
+ else
+ {
+ mniProject.Visible = false;
+ mniMedia.Visible = false;
+ mniEdit.Visible = false;
+ mniFile_SaveProject.Enabled = false;
+ return;
+ }
+ }
+ else
+ {
+ MessageBox.Show("The project file you selected is invalid or corrupted", "Invalid Project File", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return;
+ }
+ }
+ }
+
+ private void mniFile_Exit_Click(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+
+ private void mniMedia_Back2_Click(object sender, System.EventArgs e)
+ {
+ // Int64 locCurrent = GetCurrentMediaTime() - 2000;
+ // if (locCurrent < 0)
+ // {
+ // locCurrent = 0;
+ // }
+ //
+ // DoMediaSeek(locCurrent * 10000);
+ SkipBackwards(SEEK_DISTANCE);
+ }
+
+ private void mniMedia_Forward2_Click(object sender, System.EventArgs e)
+ {
+ // Int64 locCurrent = GetCurrentMediaTime() + 2000;
+ // DoMediaSeek(locCurrent * 10000);
+ SkipForwards(SEEK_DISTANCE);
+ }
+
+ private void mniMedia_Play_Click(object sender, System.EventArgs e)
+ {
+ // DLB. 21/6/2005. Pressing play ignores Markers.
+ bPlayingInToOut = false;
+
+ if (cmdPlay.Enabled == true)
+ {
+ StartPlayback();
+ }
+ else if (cmdPause.Enabled == true)
+ {
+ PausePlayback();
+ }
+ }
+
+ private void mniMedia_Pause_Click(object sender, System.EventArgs e)
+ {
+ PausePlayback();
+ }
+
+ private void mniMedia_Stop_Click(object sender, System.EventArgs e)
+ {
+ StopPlayback();
+ }
+
+ private void mniMedia_FrameStep_Click(object sender, System.EventArgs e)
+ {
+ FrameStep();
+ }
+
+ private void mniMedia_FrameStepBack_Click(object sender, System.EventArgs e)
+ {
+ FrameStepBack();
+ }
+
+ private void mniMedia_MarkIn_Click(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ Int64 locCurrent = GetCurrentMediaTime() * 10000;
+
+ i64MarkInPoint = locCurrent;
+
+ // if we've set a mark in, but no mark out, then set mark out to
+ // the end
+ if (i64MarkOutPoint == -1)
+ {
+ i64MarkOutPoint = Convert.ToInt64(mMediaFileDuration);
+ }
+ else if (i64MarkInPoint > i64MarkOutPoint)
+ {
+ i64MarkInPoint = i64MarkOutPoint;
+ }
+
+ // and make sure the bar gets updated
+ UpdateProgressBar();
+ }
+ }
+
+ private void mniMedia_MarkOut_Click(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ Int64 locCurrent = GetCurrentMediaTime() * 10000;
+
+ i64MarkOutPoint = locCurrent;
+
+ // if we've set a mark out, but no mark in, then set mark in to
+ // the beginning
+ if (i64MarkInPoint == -1)
+ {
+ i64MarkInPoint = 0;
+ }
+ else if (i64MarkOutPoint < i64MarkInPoint)
+ {
+ i64MarkOutPoint = i64MarkInPoint;
+ }
+
+ // and make sure the bar gets updated
+ UpdateProgressBar();
+ }
+ }
+
+ private void mniMedia_GotoIn_Click(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ DoMediaSeek(i64MarkInPoint);
+
+ // and make sure the bar gets updated
+ UpdateProgressBar();
+ }
+ }
+
+ private void mniMedia_GotoOut_Click(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ DoMediaSeek(i64MarkOutPoint);
+
+ // and make sure the bar gets updated
+ UpdateProgressBar();
+ }
+ }
+
+ private void mniMedia_PlayInToOut_Click(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null && i64MarkInPoint != -1)
+ {
+ DoMediaSeek(i64MarkInPoint);
+
+ bPlayingInToOut = true;
+ bLoopingPlayback = false;
+
+ StartPlayback();
+ }
+ }
+
+ private void mniMedia_LoopInToOut_Click(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null && i64MarkInPoint != -1)
+ {
+ DoMediaSeek(i64MarkInPoint);
+
+ bPlayingInToOut = true;
+ bLoopingPlayback = true;
+
+ StartPlayback();
+ }
+ }
+
+ private void mniMedia_ClearMarks_Click(object sender, System.EventArgs e)
+ {
+ i64MarkInPoint = -1;
+ i64MarkOutPoint = -1;
+
+ // and make sure the bar gets updated
+ UpdateProgressBar();
+ }
+
+ // DLB. 27/6/2004. Added right-mouse click menu for easier access to
+ // use or Markers in the media editing.
+ private void lblProgressBar_ContextMarkIn_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_MarkIn_Click(sender, e);
+ }
+
+ private void lblProgressBar_ContextMarkOut_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_MarkOut_Click(sender, e);
+ }
+
+ private void lblProgressBar_ContextGotoIn_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_GotoIn_Click(sender, e);
+ }
+
+ private void lblProgressBar_ContextGotoOut_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_GotoOut_Click(sender, e);
+ }
+
+ private void lblProgressBar_ContextPlayInToOut_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_PlayInToOut_Click(sender, e);
+ }
+
+ private void lblProgressBar_ContextLoopInToOut_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_LoopInToOut_Click(sender, e);
+ }
+
+ private void lblProgressBar_ContextClearMarks_Click(object sender, System.EventArgs e)
+ {
+ mniMedia_ClearMarks_Click(sender, e);
+ }
+ // END DLB. 27/6/2004. Added right-mouse click menu for easier access to
+
+ private void mniProject_ExportCMML_Click(object sender, System.EventArgs e)
+ {
+ WriteCMMLToDefaultLocation();
+ }
+
+ private void mniProjectProperties_Click(object sender, System.EventArgs e)
+ {
+ frmProjectProperties locProjPropForm = new frmProjectProperties(mSettings, mPlayer);
+ locProjPropForm.ShowDialog(this);
+
+ // Any changes done in the dialog will be stored in the XML file
+ ProjectSettings locSettings = new ProjectSettings();
+ locSettings.loadSettingsXML(mSettings.ProjectLocation() + "\\" + mSettings.ProjectName() + ".anxproj");
+
+ // if the media file changed, set us up again
+ if (mSettings.MediaFileName() != locSettings.MediaFileName())
+ {
+ // Save the current CMML
+ WriteCMMLToDefaultLocation();
+
+ if (SetupForm(locSettings, false))
+ {
+ mniProject.Visible = true;
+ mniMedia.Visible = true;
+ mniEdit.Visible = true;
+ mniFile_SaveProject.Enabled = true;
+ }
+ else
+ {
+ mniProject.Visible = false;
+ mniMedia.Visible = false;
+ mniEdit.Visible = false;
+ mniFile_SaveProject.Enabled = false;
+ }
+ }
+
+ // If it was changed, update our current project information
+ if (mSettings.ProjectProfile() != locSettings.ProjectProfile())
+ {
+ mSettings.setProjectProfile(locSettings.ProjectProfile());
+ }
+ }
+
+ private void mniProject_CreateAnnodex_Click(object sender, System.EventArgs e)
+ {
+ // DLB. 18/7/2005. An extra check for a valid license.
+ LicenseDialog.LicenseInfo LicInfo = new LicenseDialog.LicenseInfo();
+ if (!LicenseDialog.IsValidLicense(LicInfo))
+ {
+ return;
+ }
+ // END DLB. 18/7/2005. An extra check for a valid license.
+
+ bool locWasOK = WriteCMMLToDefaultLocation();
+ if (locWasOK)
+ {
+ frmCreateAnnodex locAnxForm = new frmCreateAnnodex(mSettings, mPlayer.fileDuration(), mPlayer.fileSize(), true);
+ locAnxForm.ShowDialog(this);
+ }
+ }
+
+ private void mniProjectImportCMML_Click(object sender, System.EventArgs e)
+ {
+ OpenFileDialog locOpenDialog = new OpenFileDialog();
+ locOpenDialog.DefaultExt = ".cmml";
+ locOpenDialog.Title = "Import CMML...";
+ locOpenDialog.Filter = "CMML Files (*.cmml)|*.cmml|All Files (*.*)|*.*";
+ locOpenDialog.CheckFileExists = true;
+
+ DialogResult locResult = locOpenDialog.ShowDialog(this);
+
+ if (locResult == DialogResult.OK)
+ {
+ if (File.Exists(locOpenDialog.FileName))
+ {
+ CMMLError outCMMLError = new CMMLError();
+ if (!LoadExistingCMML(locOpenDialog.FileName, outCMMLError, null))
+ {
+ MessageBox.Show(
+ "Failed to load CMML file.\nBad Syntax on or before line #"+
+ outCMMLError.GetLineNumber(),
+ "CMML Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ // and bail out
+ ResetForm();
+ return;
+ }
+ }
+ }
+ }
+
+ private void mniProject_ExportCMMLAs_Click(object sender, System.EventArgs e)
+ {
+ SaveFileDialog locSaveDialog = new SaveFileDialog();
+
+ locSaveDialog.AddExtension = true;
+ locSaveDialog.DefaultExt = ".cmml";
+ locSaveDialog.OverwritePrompt = true;
+ locSaveDialog.Title = "Export CMML As...";
+ locSaveDialog.Filter = "CMML Files (*.cmml)|*.cmml|All Files (*.*)|*.*";
+
+
+ DialogResult locResult = locSaveDialog.ShowDialog();
+ if (locResult == DialogResult.OK)
+ {
+ bool locExportResult = ExportCMMLToFile(locSaveDialog.FileName);
+
+ }
+ }
+
+
+ private void mniHelp_About_Click(object sender, System.EventArgs e)
+ {
+ frmAbout locAboutForm = new frmAbout();
+ locAboutForm.ShowDialog(this);
+ }
+
+ #endregion
+
+ #region Command Button Event Handlers
+ private void cmdSkipBackward_Click(object sender, System.EventArgs e)
+ {
+
+ SkipBackwards(SEEK_DISTANCE);
+ }
+
+ private void cmdSkipForward_Click(object sender, System.EventArgs e)
+ {
+ SkipForwards(SEEK_DISTANCE);
+ }
+
+ private void cmdDeleteClip_Click(object sender, System.EventArgs e)
+ {
+ //UpdateClipData();
+
+ if (mWorkingClip != null)
+ {
+ mTrackList.RemoveClip(mWorkingClip);
+ mWorkingClip = null;
+ UpdateTree();
+ ShowSelectedClipTag();
+ }
+ else
+ {
+ MessageBox.Show("Working clip was null");
+ }
+ }
+
+ private void AddHeadMetaTag()
+ {
+ //Show the add tag dialog
+ frmMetaTag locMetaForm = new frmMetaTag();
+ locMetaForm.ShowDialog(this);
+ if (locMetaForm.WasOK)
+ {
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = locMetaForm.MetaName;
+ locListItem.SubItems.Add(locMetaForm.MetaValue);
+ locListItem.SubItems.Add(locMetaForm.Scheme);
+ lstEditHeadMetaTags.Items.Add(locListItem);
+ }
+ }
+ private void cmdEditHeadAddMeta_Click(object sender, System.EventArgs e)
+ {
+ AddHeadMetaTag();
+ }
+
+ private void cmdEditHeadRemoveMeta_Click(object sender, System.EventArgs e)
+ {
+ DeleteSelectedHeadMetaData();
+ }
+
+ private void cmdStepFrame_Click(object sender, System.EventArgs e)
+ {
+ FrameStep();
+ }
+
+ private void cmdStepFrameBack_Click(object sender, System.EventArgs e)
+ {
+ FrameStepBack();
+ }
+
+ /// <summary>
+ /// Handles clicks from the "New Track" button
+ /// </summary>
+ private void cmdNewTrack_Click(object sender, System.EventArgs e)
+ {
+ bool locAddedOK = false;
+ do
+ {
+ frmNewTrack locNewTrackForm = new frmNewTrack();
+ locNewTrackForm.ShowDialog(this);
+ if (locNewTrackForm.WasOK)
+ {
+ //mTrackList.AddTrack(locNewTrackForm.TrackName, locNewTrackForm.Language, locNewTrackForm.IsLTR, locNewTrackForm.ID);
+ //mWorkingTrackName = locNewTrackForm.TrackName;
+
+ try
+ {
+ NewTrack(locNewTrackForm.TrackName, locNewTrackForm.Language, locNewTrackForm.IsLTR);
+ locAddedOK = true;
+ }
+ catch
+ {
+ DialogResult locResult = MessageBox.Show("The track ("+locNewTrackForm.TrackName+") already exists or is an invalid name. Click OK to change the name.", "Invalid track name", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop);
+ if (locResult == DialogResult.Cancel)
+ {
+ return;
+ }
+ }
+ }
+ else
+ {
+ break;
+ }
+ } while (!locAddedOK);
+
+ this.UpdateTabControl();
+
+ StoreCurrentState(UndoStack);
+ //this.UpdateClipData();
+ //UpdateControls();
+ }
+
+ private void cmdCopyTrack_Click(object sender, System.EventArgs e)
+ {
+ String locOriginalTrackName = mWorkingTrackName;
+ bool locAddedOK = false;
+ do
+ {
+ frmNewTrack locNewTrackForm = new frmNewTrack();
+ locNewTrackForm.Text = "Copy Track";
+ locNewTrackForm.ShowDialog(this);
+ if (locNewTrackForm.WasOK)
+ {
+ //mTrackList.AddTrack(locNewTrackForm.TrackName, locNewTrackForm.Language, locNewTrackForm.IsLTR, locNewTrackForm.ID);
+ //mWorkingTrackName = locNewTrackForm.TrackName;
+
+ try
+ {
+ CopyTrack(locNewTrackForm.TrackName, locOriginalTrackName, locNewTrackForm.Language, locNewTrackForm.IsLTR);
+ locAddedOK = true;
+ }
+ catch
+ {
+ DialogResult locResult = MessageBox.Show("The track ("+locNewTrackForm.TrackName+") already exists or is an invalid name. Click OK to change the name.", "Invalid track name", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop);
+ if (locResult == DialogResult.Cancel)
+ {
+ return;
+ }
+ }
+ }
+ else
+ {
+ break;
+ }
+ } while (!locAddedOK);
+
+ this.UpdateTree();
+ this.UpdateTabControl();
+
+ StoreCurrentState(UndoStack);
+ }
+
+ /// <summary>
+ /// Handles clicks from the "Play" button
+ /// </summary>
+ private void cmdPlay_Click(object sender, System.EventArgs e)
+ {
+ // DLB. 21/6/2005. Pressing play ignores Markers.
+ bPlayingInToOut = false;
+
+ StartPlayback();
+ }
+
+ /// <summary>
+ /// Handles clicks from the "Pause" button
+ /// </summary>
+ private void cmdPause_Click(object sender, System.EventArgs e)
+ {
+ PausePlayback();
+ }
+
+ /// <summary>
+ /// Handles clicks from the "Stop" button
+ /// </summary>
+ private void cmdStop_Click(object sender, System.EventArgs e)
+ {
+ StopPlayback();
+ }
+
+ private void cmdDeleteTrack_Click(object sender, System.EventArgs e)
+ {
+ //UpdateClipData();
+ if (mWorkingTrackName != "")
+ {
+ CMMLTrack locTrack = mTrackList.GetTrack(mWorkingTrackName);
+ if (locTrack != null)
+ {
+ if (mTrackList.NumTracks() > 1)
+ {
+ Int32 locNumClips = locTrack.ClipList.Count;
+ if (locNumClips > 0)
+ {
+ //There's many clips here... confirm delete
+ DialogResult locResult = MessageBox.Show("There are "+locNumClips.ToString()+ " clips in this track ("+mWorkingTrackName+"). Are you sure you want to delete them all ?", "Confirm track delete...", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
+ if (locResult == DialogResult.Yes)
+ {
+ //Really want to delete it
+ doDeleteTrack(mWorkingTrackName);
+ }
+ }
+ else
+ {
+ //No clips in side so just delete it
+ doDeleteTrack(mWorkingTrackName);
+ }
+ }
+ else
+ {
+ MessageBox.Show("You must have at least one track", "Cannot delete track...", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
+ }
+ }
+ }
+ }
+
+ private void AddClipMetaTag()
+ {
+ //Show the add tag dialog
+ frmMetaTag locMetaForm = new frmMetaTag();
+ locMetaForm.ShowDialog(this);
+ if (locMetaForm.WasOK)
+ {
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = locMetaForm.MetaName;
+ locListItem.SubItems.Add(locMetaForm.MetaValue);
+ locListItem.SubItems.Add(locMetaForm.Scheme);
+ lstEditClipMetaTags.Items.Add(locListItem);
+ }
+ }
+ /// <summary>
+ /// Handles clicks from the "Add meta data" button
+ /// </summary>
+ private void cmdEditClipAddMeta_Click(object sender, System.EventArgs e)
+ {
+ AddClipMetaTag();
+ }
+
+ /// <summary>
+ /// Handles clicks from the "Remove Meta data" button
+ /// </summary>
+ private void cmdEditClipRemoveMeta_Click(object sender, System.EventArgs e)
+ {
+ DeleteSelectedClipMetaData();
+
+ }
+
+ /// <summary>
+ /// Handles clicks from the "New Clip" button
+ /// </summary>
+
+ public void doNewClip()
+ {
+ //TreeNode locClipNode = new TreeNode("New Clip");
+
+ if (grpEditClipTag.Enabled == true)
+ {
+ UpdateClipData();
+ }
+ else
+ {
+ grpEditClipTag.Enabled = true;
+ cmdDeleteClip.Enabled = true;
+ }
+
+ ClipTag locClip = new ClipTag();
+ //SSSS::: Temporal
+ //DONE
+
+ Int64 locCurrentMediaTime = 0;
+
+ // Changed by DLB. 21/6/2005. Allow use of In and Out markers to get clips
+ //locCurrentMediaTime = GetCurrentMediaTime();
+ if (i64MarkInPoint == -1 || i64MarkOutPoint == -1)
+ {
+ locCurrentMediaTime = GetCurrentMediaTime();
+ //Int64 locClipTime = locCurrentMediaTime / 1000;
+ }
+ else
+ {
+ // Do Marked In time
+ locCurrentMediaTime = i64MarkInPoint / 10000;
+
+ // And do Marked End time
+ String locClipTimeEndString = TimeConvert.toDisplayTimeString(i64MarkOutPoint);
+ locClip.setEnd(TimeConvert.displayTimeToNPTTime(locClipTimeEndString));
+
+ txtEditClipEnd.Text = locClipTimeEndString;
+ }
+ // END Changed by DLB. 21/6/2005
+
+ //SSSS::: Needs temporalising
+ //DONE
+ String locClipTimeString = TimeConvert.toDisplayTimeString(locCurrentMediaTime*10000);
+
+ locClip.setStart(TimeConvert.displayTimeToNPTTime(locClipTimeString));
+ locClip.setTrack(mWorkingTrackName);
+
+ bool locWasAdded = true;
+ bool locCancelOperation = false;
+ do
+ {
+ locWasAdded = true;
+ locCancelOperation = false;
+ try
+ {
+ mTrackList.AddClip(locClip);
+ }
+ catch (System.ArgumentException)
+ {
+ frmInvalidTime locInvalidTimeForm = new frmInvalidTime(locClipTimeString);
+ locInvalidTimeForm.ShowDialog();
+ if (locInvalidTimeForm.WasOK)
+ {
+ //SSSS::: Temporal - assume correct time
+ //DONE
+ locClipTimeString = locInvalidTimeForm.NewTime;
+ locClip.setStart(TimeConvert.displayTimeToNPTTime(locClipTimeString));
+ }
+ else
+ {
+ locCancelOperation = true;
+ }
+ locWasAdded = false;
+ }
+ } while ((locWasAdded == false) && (locCancelOperation == false));
+
+ if (locWasAdded)
+ {
+ mWorkingClip = locClip;
+ //SSSS::: Temporal - assume display time
+ //DONE
+ ResetClipEditBox(locClipTimeString);
+
+ // Temporary by DLB. 22/6/2005.
+ txtEditClipEnd.Text = TimeConvert.TimeStampToDisplayTime(locClip.end());
+
+ String locThumbFileName = mSettings.ProjectName()+"_"+locClip.track()+"_"+locCurrentMediaTime.ToString() + ".jpg";
+ Bitmap locBM = mPlayer.GetImage();
+ AssignBitmapToClip(locBM, locThumbFileName);
+ if (locBM != null)
+ {
+ txtEditClipImageURI.Text = locThumbFileName;
+ }
+ else
+ {
+ txtEditClipImageURI.Text = "";
+ }
+
+ // DLB. 20/5/2005. Added UpdateClipData to make the image in the clip draw
+ // immediately on Add.
+ UpdateClipData();
+
+ //XXXXX:::
+ //cplClipList.SelectClipByTime(locClipTime.ToString());
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[mWorkingTrackName];
+ //SSSS::: Temproal - assume display time
+ //DONE
+ locClipControl.SelectClipByTime(locClipTimeString);
+
+ // And copy the default Clip Meta Tags
+ CopyMetaTags(lstEditClipMetaTags, appOptions.listViewClipMetaTags);
+
+ //Put the cursor in the desc box
+ txtEditClipDescription.Focus();
+ }
+ }
+
+ private void cmdNewClip_Click(object sender, System.EventArgs e)
+ {
+ doNewClip();
+ }
+
+ private void cmdSkipBackward_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdPlay_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdPause_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdStop_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdSkipForward_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdStepFrame_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdStepFrameBack_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdNewTrack_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdDeleteTrack_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdNewClip_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdDeleteClip_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdEditHeadRemoveMeta_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdEditHeadAddMeta_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdEditClipRemoveMeta_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void cmdEditClipAddMeta_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+ #endregion
+
+ #region Other Event Handlers
+ private void tabHeadTag_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void tabTrackList_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void tabTrackList_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ // 4/8/2005. Removed by DLB.
+ // Only Save the project when the user asks us to so they can cancel
+ // changes if they want.
+ // WriteCMMLToDefaultLocation();
+ // 4/8/2005. END Removed by DLB.
+
+ //TODO::: Should check for return value.
+
+ int locTabPageIndex = tabTrackList.SelectedIndex;
+ if ( (locTabPageIndex != -1) && (mIgnoreTabEvents == false))
+ {
+
+ mWorkingTrackName = tabTrackList.TabPages[locTabPageIndex].Text;
+ UpdateClipData();
+ UpdateTree(); // since track has changed
+ ShowNamedTrackClipControl(mWorkingTrackName);
+ notifyClipSelection();
+ }
+ }
+
+ private void trkVolume_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void SetVolumeFromSlider()
+ {
+ if (mPlayer != null)
+ {
+ double locExp = (double) Math.Abs(40 - trkVolume.Value)/10.0;
+ Int32 locVolume = -(Int32)Math.Pow(10.0, locExp);
+ mPlayer.setVolume(locVolume);
+ //mPlayer.setVolume(trkVolume.Value);
+ }
+ }
+ private void trkVolume_ValueChanged(object sender, System.EventArgs e)
+ {
+ SetVolumeFromSlider();
+ }
+
+ private void frmEditTags_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void frmEditTags_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ mPlayer.repaint();
+ }
+ }
+
+ private void pnlVideoWindow_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ mPlayer.repaint();
+ }
+ }
+
+ private void pnlVideoWindow_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+// if (e.Button == MouseButtons.Left)
+// {
+// if (cmdPlay.Enabled == true)
+// {
+// StartPlayback();
+// }
+// else if (cmdPause.Enabled == true)
+// {
+// PausePlayback();
+// }
+// }
+
+ if (e.Button == MouseButtons.Left)
+ {
+ if (cmdPause.Enabled == true)
+ {
+ PausePlayback();
+ }
+ }
+ }
+
+ private void lstEditClipMetaTags_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Delete)
+ {
+ DeleteSelectedClipMetaData();
+ }
+ else if (e.KeyCode == Keys.Insert)
+ {
+ AddClipMetaTag();
+ }
+ else if (e.KeyCode == Keys.Enter)
+ {
+ EditSelectedClipMetaTag();
+ }
+ else
+ {
+ HandleWeirdHotKeys(e);
+ }
+ }
+
+ private void lstEditHeadMetaTags_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Delete)
+ {
+ DeleteSelectedHeadMetaData();
+ }
+ else if (e.KeyCode == Keys.Insert)
+ {
+ AddHeadMetaTag();
+ }
+ else if (e.KeyCode == Keys.Enter)
+ {
+ EditSelectedHeadMetaTag();
+ }
+ else
+ {
+ HandleWeirdHotKeys(e);
+ }
+ }
+
+
+ private void picEditClip_DoubleClick(object sender, System.EventArgs e)
+ {
+ //When you double-click the picture you get a dialog to select an image.
+ OpenFileDialog locOpenDialog = new OpenFileDialog();
+ locOpenDialog.Title = "Select image file...";
+ locOpenDialog.Filter = "Image Files (*.jpg; *.jpeg; *.gif; *.bmp; *.png)|*.jpg;*.jpeg;*.gif;*.bmp;*.png|All Files (*.*)|*.*";
+
+ locOpenDialog.CheckFileExists = true;
+
+ DialogResult locResult = locOpenDialog.ShowDialog();
+ if (locResult == DialogResult.OK)
+ {
+ if (File.Exists(locOpenDialog.FileName))
+ {
+ String locOpenFilename = locOpenDialog.FileName;
+ //Strip off the path... to leave just a filename.ext
+ String locOpenFilenameStripped = Path.GetFileName(locOpenFilename);
+
+ //Put it in the URI field.
+ txtEditClipImageURI.Text = locOpenFilenameStripped;
+
+ //Load the image into the picture box.
+ Bitmap locImage = null;
+ try
+ {
+ locImage = new Bitmap(locOpenFilename);
+ AssignBitmapToClip(locImage, locOpenFilenameStripped);
+ }
+ catch
+ {
+
+ }
+ }
+ }
+ }
+
+
+ private void tmrMediaEventCheck_Tick(object sender, System.EventArgs e)
+ {
+ if (mPlayer != null)
+ {
+ mPlayer.checkEvents();
+ }
+ }
+
+ private void tmrUpdateProgress_Tick(object sender, System.EventArgs e)
+ {
+ Int64 locMediaPos = -1;
+ if (mPlayer != null)
+ {
+ locMediaPos = mPlayer.queryPosition();
+ if (locMediaPos != -1)
+ {
+ mLastSync = locMediaPos;
+ mTicksElapsed = 0;
+
+ // DLB. 22/6/2005. Handle stopping and looping at EndMarker
+ if (bPlayingInToOut == true)
+ {
+ if (locMediaPos >= i64MarkOutPoint)
+ {
+ if (bLoopingPlayback == false)
+ {
+ this.PausePlayback();
+ }
+ else
+ {
+ DoMediaSeek(i64MarkInPoint);
+ }
+ }
+ }
+ // END DLB. 22/6/2005. Handle stopping and looping at EndMarker
+ }
+ else
+ {
+ MessageBox.Show("Failed to update time");
+ mTicksElapsed++;
+ }
+ }
+
+ UpdateProgressBar();
+ }
+
+
+ #endregion
+
+ private void txtMediaTimeDisplay_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ txtMediaTimeDisplay.DoDragDrop(txtMediaTimeDisplay.Text, DragDropEffects.Copy);
+ }
+
+ private void txtMediaTimeDisplay_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ HandleWeirdHotKeys(e);
+ }
+
+ private void txtEditClipStart_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ // DLB. 1/9/2005. Only if we want to allow this
+ // Currently, we don't .
+ //if (e.Data.GetDataPresent(DataFormats.Text) ||
+ // e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ if (e.Data.GetDataPresent(DataFormats.Text))
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ }
+
+ private void txtEditClipEnd_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ // DLB. 1/9/2005. Only if we want to allow this
+ // Currently, we don't .
+ //if (e.Data.GetDataPresent(DataFormats.Text) ||
+ // e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ if (e.Data.GetDataPresent(DataFormats.Text))
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ }
+
+ private void txtEditClipStart_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.Text))
+ {
+ txtEditClipStart.Text = e.Data.GetData(DataFormats.Text).ToString();
+ txtEditClipStart.Focus(); // DLB. 31/8/2005. And grab the focus
+ }
+ // DLB. 2/9/2005. Remove for the moment as users could easily make mistakes
+ // doing this.
+ // else if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ //{
+ // // DLB. 1/9/2005. Allow image to be dragged and dropped onto time things
+ // txtEditClipStart.Text = ((DragClass)e.Data.GetData("AnxCreate.frmEditTags+DragClass")).Edit.txtMediaTimeDisplay.Text;
+ // txtEditClipStart.Focus();
+ //}
+ }
+
+ private void txtEditClipEnd_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.Text))
+ {
+ txtEditClipEnd.Text = e.Data.GetData(DataFormats.Text).ToString();
+ txtEditClipEnd.Focus(); // DLB. 31/8/2005. And grab the focus
+ }
+ // DLB. 2/9/2005. Remove for the moment as users could easily make mistakes
+ // doing this.
+ //else if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ //{
+ // // DLB. 1/9/2005. Allow image to be dragged and dropped onto time things
+ // txtEditClipStart.Text = ((DragClass)e.Data.GetData("AnxCreate.frmEditTags+DragClass")).Edit.txtMediaTimeDisplay.Text;
+ // txtEditClipStart.Focus();
+ //}
+ }
+
+ private void picEditClip_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ Bitmap locBM = null;
+
+ if (e.Data.GetDataPresent(DataFormats.Bitmap))
+ {
+ locBM = (Bitmap)e.Data.GetData(DataFormats.Bitmap);
+ }
+ else if (e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ {
+ locBM = ((DragClass)e.Data.GetData("AnxCreate.frmEditTags+DragClass")).image;
+ }
+
+ if (locBM != null)
+ {
+ Int64 locCurrentMediaTime = GetCurrentMediaTime();
+ String locThumbFileName = mSettings.ProjectName()+"_"+mWorkingTrackName+"_"+locCurrentMediaTime.ToString() + ".jpg";
+ AssignBitmapToClip(locBM, locThumbFileName);
+ if (locBM != null)
+ {
+ txtEditClipImageURI.Text = locThumbFileName;
+ }
+ else
+ {
+ txtEditClipImageURI.Text = "";
+ }
+ picEditClip.Focus();
+ }
+
+ // DLB. 31/8/2005. And immediately update the image in the tree.
+ UpdateClipData();
+ }
+
+ private void picEditClip_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent(DataFormats.Bitmap) ||
+ e.Data.GetDataPresent("AnxCreate.frmEditTags+DragClass"))
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ }
+
+ private void EditSelectedHeadMetaTag()
+ {
+ ListView.SelectedListViewItemCollection locSelectedItems = lstEditHeadMetaTags.SelectedItems;
+ if (locSelectedItems.Count == 1)
+ {
+ foreach (ListViewItem locItem in locSelectedItems)
+ {
+ //ListViewItem locItem = locSelectedItems.Item[0];
+
+ //Show the edit tag dialog
+ frmMetaTag locMetaForm = new frmMetaTag(locItem.Text, locItem.SubItems[1].Text, locItem.SubItems[2].Text);
+ locMetaForm.ShowDialog(this);
+ if (locMetaForm.WasOK)
+ {
+ //Remove the current
+ locItem.Remove();
+
+ //Then add it after edited
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = locMetaForm.MetaName;
+ locListItem.SubItems.Add(locMetaForm.MetaValue);
+ locListItem.SubItems.Add(locMetaForm.Scheme);
+ lstEditHeadMetaTags.Items.Add(locListItem);
+ }
+ }
+ }
+ }
+
+ private void EditSelectedClipMetaTag()
+ {
+ ListView.SelectedListViewItemCollection locSelectedItems = lstEditClipMetaTags.SelectedItems;
+ if (locSelectedItems.Count == 1)
+ {
+ foreach (ListViewItem locItem in locSelectedItems)
+ {
+ //ListViewItem locItem = locSelectedItems.Item[0];
+
+ //Show the edit tag dialog
+ frmMetaTag locMetaForm = new frmMetaTag(locItem.Text, locItem.SubItems[1].Text, locItem.SubItems[2].Text);
+ locMetaForm.ShowDialog(this);
+ if (locMetaForm.WasOK)
+ {
+ //Remove the current
+ locItem.Remove();
+
+ //Then add it after edited
+
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = locMetaForm.MetaName;
+ locListItem.SubItems.Add(locMetaForm.MetaValue);
+ locListItem.SubItems.Add(locMetaForm.Scheme);
+ lstEditClipMetaTags.Items.Add(locListItem);
+ }
+ }
+ }
+ }
+
+ private void cmdEditHeadEditMeta_Click(object sender, System.EventArgs e)
+ {
+ EditSelectedHeadMetaTag();
+ }
+
+ private void cmdEditClipEditMeta_Click(object sender, System.EventArgs e)
+ {
+ EditSelectedClipMetaTag();
+ }
+
+ private void lstEditHeadMetaTags_DoubleClick(object sender, System.EventArgs e)
+ {
+ EditSelectedHeadMetaTag();
+ }
+
+ private void lstEditClipMetaTags_DoubleClick(object sender, System.EventArgs e)
+ {
+ EditSelectedClipMetaTag();
+ }
+
+ private bool CloseProject()
+ {
+ // if we have an open project, then ask if we should save it before closing
+ if (mPlayer != null)
+ {
+ DialogResult dResult = MessageBox.Show("Would you like to save the project before closing?",
+ "Save Project", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ if (dResult != System.Windows.Forms.DialogResult.Cancel)
+ {
+ if (dResult == System.Windows.Forms.DialogResult.Yes)
+ {
+ WriteCMMLToDefaultLocation();
+ }
+
+ ResetForm();
+
+ // DLB. 20/6/2005. And fix up menu item enables
+ mniProject.Visible = false;
+ mniMedia.Visible = false;
+ mniEdit.Visible = false;
+ mniFile_SaveProject.Enabled = false;
+ }
+ else
+ {
+ return false; // say we cancelled the close
+ }
+ }
+ return true;
+ }
+
+ private void mniFile_CloseProject_Click(object sender, System.EventArgs e)
+ {
+ CloseProject();
+ }
+
+ private void txtEditClipStart_Leave(object sender, System.EventArgs e)
+ {
+ if (grpEditClipTag.Enabled == true)
+ {
+ if (IsValidStartTime())
+ {
+ UpdateClipData();
+ }
+ else
+ {
+ MessageBox.Show("Invalid Time entered. You must enter time in seconds, or hh:mm:ss.nnn", "Invalid Time", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ txtEditClipStart.SelectAll();
+ txtEditClipStart.Focus();
+ }
+ }
+ }
+
+ private void txtEditClipDescription_Leave(object sender, System.EventArgs e)
+ {
+ if (grpEditClipTag.Enabled == true)
+ {
+ UpdateClipData();
+ }
+ }
+
+ private void txtEditClipAnchorText_Leave(object sender, System.EventArgs e)
+ {
+ if (grpEditClipTag.Enabled == true)
+ {
+ UpdateClipData();
+ }
+ }
+
+ private void txtEditClipEnd_Leave(object sender, System.EventArgs e)
+ {
+ if (grpEditClipTag.Enabled == true)
+ {
+ if (!IsValidEndTime())
+ {
+ MessageBox.Show("Invalid Time entered. You must enter time in seconds, or hh:mm:ss.nnn", "Invalid Time", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ txtEditClipEnd.SelectAll();
+ txtEditClipEnd.Focus();
+ }
+ }
+ }
+
+ private void mniProject_CreateOgg_Click(object sender, System.EventArgs e)
+ {
+ bool locWasOK = WriteCMMLToDefaultLocation();
+ if (locWasOK)
+ {
+ frmCreateAnnodex locAnxForm = new frmCreateAnnodex(mSettings, mPlayer.fileDuration(), mPlayer.fileSize(), false);
+ locAnxForm.ShowDialog(this);
+ }
+ }
+
+ private void mniHelpContents_Click(object sender, System.EventArgs e)
+ {
+ String sHelpPath = System.Windows.Forms.Application.StartupPath;
+ sHelpPath += "\\DMTagger.chm";
+ Help.ShowHelp(this, sHelpPath);
+ }
+
+ private void UpdateLicense_Click(object sender, System.EventArgs e)
+ {
+ LicenseDialog.LicenseInfo LicInfo = new LicenseDialog.LicenseInfo();
+
+ // if the license is invalid, or it's a trial license, display the licensing dialog
+ //if (!LicenseDialog.IsValidLicense(LicInfo) || LicInfo.LicenseDays != 0)
+ // always display the license dialog when they ask for it to be displayed.
+ {
+ // need to disable some controls here!
+ LicenseDialog locLicense = new LicenseDialog();
+ locLicense.ShowDialog();
+
+ // And check the new license
+ if (LicenseDialog.IsValidLicense(null))
+ {
+ mniFile_LoadProject.Enabled = true;
+ mniFile_NewProject.Enabled = true;
+ }
+ else
+ {
+ mniFile_LoadProject.Enabled = false;
+ mniFile_NewProject.Enabled = false;
+ }
+ }
+ }
+
+ private void txtID_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ RestrictKeypressCharacters(e, " !()|{}[];~+/<>,\\\"\'`");
+ }
+
+ private void txtEditClipAnchorURI_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ }
+
+ private void txtEditClipImageURI_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ }
+
+ private void txtEditClipStart_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ AllowKeypressCharacters(e, "0123456789:.\b");
+ }
+
+ private void txtEditClipEnd_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ AllowKeypressCharacters(e, "0123456789:.\b");
+ }
+
+ private void txtEditHeadBaseURI_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ }
+
+ private void txtEditClipAnchorText_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ RestrictKeypressCharacters(e, "<>\"");
+ }
+
+ private void txtEditClipDescription_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ RestrictKeypressCharacters(e, "<>\"");
+ }
+
+ private void txtEditHeadTitle_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ RestrictKeypressCharacters(e, "<>\"");
+ }
+
+ private void lstEditClipMetaTags_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ RestrictKeypressCharacters(e, "<>\"");
+ }
+
+ private void txtEditClipImageText_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
+ {
+ RestrictKeypressCharacters(e, "<>\"");
+ }
+
+ private void frmEditTags_Closing(object sender, System.ComponentModel.CancelEventArgs e)
+ {
+ // if we have a project open
+ if (mPlayer != null)
+ {
+ DialogResult dResult = MessageBox.Show("Would you like to save the project before closing?",
+ "Save Project", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+
+ if (dResult == System.Windows.Forms.DialogResult.Yes)
+ {
+ WriteCMMLToDefaultLocation();
+ }
+ else if (dResult == System.Windows.Forms.DialogResult.Cancel)
+ {
+ e.Cancel = true;
+ }
+ }
+ }
+
+ private void pnlVideoWindow_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("AnxCreate.cntrlSingleClip+DragClass"))
+ {
+ e.Effect = DragDropEffects.Copy;
+ }
+ else
+ {
+ e.Effect = DragDropEffects.None;
+ }
+ }
+
+ private void pnlVideoWindow_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("AnxCreate.cntrlSingleClip+DragClass"))
+ {
+ // It's meant for us.
+ cntrlSingleClip.DragClass oDragObject = (cntrlSingleClip.DragClass)e.Data.GetData("AnxCreate.cntrlSingleClip+DragClass");
+ oDragObject.parent.notifySelected(oDragObject.clip, oDragObject.time);
+ pnlVideoWindow.Focus();
+ }
+ }
+
+ public class DragClass
+ {
+ public Bitmap image;
+ public frmEditTags Edit;
+ };
+
+ private void pnlVideoWindow_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ if (e.Button == MouseButtons.Left)
+ {
+ if (mPlayer != null)
+ {
+ DragClass oDrag = new DragClass();
+ oDrag.image = mPlayer.GetImage();
+ oDrag.Edit = this;
+ if (oDrag.image != null)
+ {
+ pnlVideoWindow.DoDragDrop(oDrag, DragDropEffects.Copy);
+ }
+ }
+ }
+ }
+
+ private void frmEditTags_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ // DLB. 2/9/2005. Make the MouseWheel work!
+ if (e.Delta != 0 && mWorkingTrackName != "")
+ {
+ ((cntrlClipList)mClipListControls[mWorkingTrackName]).doWheelScroll(e.Delta);
+ }
+ }
+
+ private void tabTrackList_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ // default to no effect
+ e.Effect = DragDropEffects.None;
+
+ if (e.Data.GetDataPresent("AnxCreate.cntrlSingleClip+DragClass"))
+ {
+ //cntrlSingleClip.DragClass oDragObject = (cntrlSingleClip.DragClass)e.Data.GetData("AnxCreate.cntrlSingleClip+DragClass");
+
+ if ((e.KeyState & (KeyStateDefinitions.ShiftKey + KeyStateDefinitions.CtrlKey + KeyStateDefinitions.AltKey)) == 0)
+ {
+ // OK, so if we're dragging onto someone other than us, let them know visually
+ e.Effect = DragDropEffects.Move;
+ }
+ else if ((e.KeyState & (KeyStateDefinitions.ShiftKey + KeyStateDefinitions.CtrlKey + KeyStateDefinitions.AltKey))
+ == KeyStateDefinitions.CtrlKey)
+ {
+ // OK, so if we're dragging onto someone other than us, let them know visually
+ e.Effect = DragDropEffects.Copy;
+ }
+ }
+ }
+
+ private void tabTrackList_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
+ {
+ if (e.Data.GetDataPresent("AnxCreate.cntrlSingleClip+DragClass"))
+ {
+ cntrlSingleClip.DragClass oDragObject = (cntrlSingleClip.DragClass)e.Data.GetData("AnxCreate.cntrlSingleClip+DragClass");
+
+ int i=0;
+
+ for (i = 0; i < mTrackList.NumTracks(); i++)
+ {
+ Point locPoint = tabTrackList.PointToClient(new Point(e.X,e.Y));
+
+ if (tabTrackList.GetTabRect(i).Contains(locPoint))
+ {
+ ClipTag oOriginalClipTag = mTrackList.GetClipByTime(oDragObject.clip.ParentList().trackName(),
+ oDragObject.clip.clipTime());
+ ClipTag locClip = oOriginalClipTag.clone();
+
+ locClip.setTrack(tabTrackList.TabPages[i].Text);
+
+ bool locWasAdded = true;
+ bool locCancelOperation = false;
+ do
+ {
+ string locClipTimeString = TimeConvert.TimeStampToDisplayTime(locClip.start());
+
+ locWasAdded = true;
+ locCancelOperation = false;
+ try
+ {
+ mTrackList.AddClip(locClip);
+ }
+ catch (System.ArgumentException)
+ {
+ frmInvalidTime locInvalidTimeForm = new frmInvalidTime(locClipTimeString);
+ locInvalidTimeForm.ShowDialog();
+ if (locInvalidTimeForm.WasOK)
+ {
+ //SSSS::: Temporal - assume correct time
+ //DONE
+ locClipTimeString = locInvalidTimeForm.NewTime;
+ locClip.setStart(TimeConvert.displayTimeToNPTTime(locClipTimeString));
+ }
+ else
+ {
+ locCancelOperation = true;
+ }
+ locWasAdded = false;
+ }
+ } while ((locWasAdded == false) && (locCancelOperation == false));
+
+ // if the operation completed successfully
+ if (locCancelOperation == false)
+ {
+ // Only delete original if they didn't cancel, it added successfully, and
+ // it's a move operation
+ if ((e.KeyState & (KeyStateDefinitions.ShiftKey + KeyStateDefinitions.CtrlKey + KeyStateDefinitions.AltKey)) == 0)
+ {
+ // no ctrl key so it's a move. Delete the original
+ mTrackList.RemoveClip(oOriginalClipTag);
+ }
+
+ // select track to display
+ tabTrackList.SelectedIndex = i;
+
+ // select clip within track
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[mTrackList.GetTrackName(i)];
+ locClipControl.SelectClipByTime(TimeConvert.TimeStampToDisplayTime(locClip.start()));
+ }
+
+ // We found the tab page, no need to go on...
+ break;
+ }
+ }
+ }
+ }
+
+ private void txtEditClipStart_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ // accept enter key as finish of entry, so update
+ UpdateClipData();
+ }
+ }
+
+ private void txtEditClipEnd_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ // accept enter key as finish of entry, so update
+ UpdateClipData();
+ }
+ }
+
+ System.Collections.Stack UndoStack = new Stack();
+ System.Collections.Stack RedoStack = new Stack();
+
+ private void StoreCurrentState(System.Collections.Stack StoreStack)
+ {
+ // DLB. Setup original UNDO stack position
+ String locCurrentCMML;
+ UndoState locUndoState = new UndoState();
+ CMMLTrack locTrack = mTrackList.GetTrack(mWorkingTrackName);
+ locUndoState.TrackName = mWorkingTrackName;
+ locUndoState.TrackList = (TrackList)mTrackList.Clone();
+ if (mWorkingClip != null)
+ locUndoState.StartTime = mWorkingClip.start();
+ else
+ locUndoState.StartTime = TimeConvert.displayTimeToNPTTime("0:00:00.000");
+
+ GetCMMLString(out locCurrentCMML); // test !!!
+ locUndoState.CMML = locCurrentCMML;
+ StoreStack.Push(locUndoState);
+ // End DLB. Setup original UNDO stack position
+ }
+
+ private void menuEditUndo_Click(object sender, System.EventArgs e)
+ {
+ // DLB. 17/10/2005. In case they hit UNDO before exiting
+ // the description field.
+ UpdateClipData();
+
+ // Just to free up the memory as this uses heaps, and allows me to see how
+ // much I'm using. Also, keeps the app looking like it uses less memory.
+ System.GC.Collect();
+
+ /* Test for memory leak. Caused in DisplayEditable when mWorkingClip is re-assigned.
+ for (int i=0; i < 64; i++)
+ {
+ UpdateTabControl();
+ }
+ */
+
+ if (UndoStack.Count != 0)
+ {
+ StoreCurrentState(RedoStack);
+
+ UndoState locUndoState = (UndoState)UndoStack.Pop();
+
+ CMMLError outCMMLError = new CMMLError();
+ if (!LoadExistingCMML(null, outCMMLError, locUndoState.CMML))
+ {
+ MessageBox.Show("Failed to load the Undo CMML file.\nBad Syntax on or before line #"+outCMMLError.GetLineNumber(),
+ "CMML Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ else
+ {
+ TrackList locTrackList = locUndoState.TrackList;
+ for (int i=0; i < locTrackList.NumTracks(); i++)
+ {
+ CMMLTrack locTrack = locTrackList.GetTrack(i);
+ if (mTrackList.GetTrack(locTrack.TrackName()) == null)
+ {
+ // not there, so add it
+ NewTrack(locTrack.TrackName(), locTrack.Language(), locTrack.IsLTR());
+ }
+ }
+
+ mWorkingTrackName = locUndoState.TrackName;
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[locUndoState.TrackName];
+
+ // Need to strip the NPT at the front of the timestamp
+ locClipControl.SelectClipByTime(TimeConvert.TimeStampToDisplayTime(locUndoState.StartTime));
+ }
+
+ //UpdateTree(); // DLB. 1/9/2005.
+ UpdateTabControl(); // DLB. 2/9/2005. UpdateTree will select the first element, so UpdateTAB afterwards to fill in form on load
+ }
+ }
+
+ private void menuEditRedo_Click(object sender, System.EventArgs e)
+ {
+ // Just to free up the memory as this uses heaps, and allows me to see how
+ // much I'm using. Also, keeps the app looking like it uses less memory.
+ System.GC.Collect();
+
+ if (RedoStack.Count != 0)
+ {
+ StoreCurrentState(UndoStack);
+
+ UndoState locUndoState = (UndoState)RedoStack.Pop();
+
+ CMMLError outCMMLError = new CMMLError();
+ if (!LoadExistingCMML(null, outCMMLError, locUndoState.CMML))
+ {
+ MessageBox.Show("Failed to load the Redo CMML file.\nBad Syntax on or before line #"+outCMMLError.GetLineNumber(),
+ "CMML Failure", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ else
+ {
+ TrackList locTrackList = locUndoState.TrackList;
+ for (int i=0; i < locTrackList.NumTracks(); i++)
+ {
+ CMMLTrack locTrack = locTrackList.GetTrack(i);
+ if (mTrackList.GetTrack(locTrack.TrackName()) == null)
+ {
+ // not there, so add it
+ NewTrack(locTrack.TrackName(), locTrack.Language(), locTrack.IsLTR());
+ }
+ }
+
+ mWorkingTrackName = locUndoState.TrackName;
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[locUndoState.TrackName];
+
+ // Need to strip the NPT at the front of the timestamp
+ locClipControl.SelectClipByTime(TimeConvert.TimeStampToDisplayTime(locUndoState.StartTime));
+ }
+
+ //UpdateTree(); // DLB. 1/9/2005.
+ UpdateTabControl(); // DLB. 2/9/2005. UpdateTree will select the first element, so UpdateTAB afterwards to fill in form on load
+ }
+ }
+
+ private void tmrMediaControls_tick(object sender, System.EventArgs e)
+ {
+ if (this.cmdSkipForward.Focused)
+ {
+ SkipForwards(SEEK_DISTANCE);
+ }
+ else if (this.cmdSkipBackward.Focused)
+ {
+ SkipBackwards(SEEK_DISTANCE);
+ }
+ else if (this.cmdStepFrame.Focused)
+ {
+ this.FrameStep();
+ }
+ else if (this.cmdStepFrameBack.Focused)
+ {
+ this.FrameStepBack();
+ }
+ }
+
+ private void cmdMediaControl_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ this.tmrMediaControls.Start();
+ }
+
+ private void cmdMediaControl_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
+ {
+ this.tmrMediaControls.Stop();
+ }
+
+ private void cmdMediaControl_MouseLeave(object sender, System.EventArgs e)
+ {
+ this.tmrMediaControls.Stop();
+ }
+
+ private void mniFile_Options_Click(object sender, System.EventArgs e)
+ {
+ frmOptions locOptions = (frmOptions)appOptions.Clone();
+ //frmOptions locOptions = new frmOptions();
+ DialogResult locOpenRes = locOptions.ShowDialog(this);
+
+ if ((locOpenRes == DialogResult.OK))
+ {
+ appOptions = locOptions;
+ appOptions.SaveToFile("mOptionsFileName");
+ }
+ }
+
+ private void CopyMetaTags(ListView lstDest, ListView lstSrc)
+ {
+ foreach (ListViewItem locDefaultItem in lstSrc.Items)
+ {
+ // If the meta tag is already there, remove it.
+ foreach(ListViewItem locItem in lstDest.Items)
+ {
+ if (locItem.Text == locDefaultItem.Text)
+ {
+ lstDest.Items.Remove(locItem);
+ }
+ }
+
+ // and add the new meta tag
+ ListViewItem locListItem = (ListViewItem)locDefaultItem.Clone();
+ lstDest.Items.Add(locListItem);
+ }
+ }
+
+ private void btnCopyHeadDefaults_Click(object sender, System.EventArgs e)
+ {
+ // copy all the defaults for the Head Meta Tags
+ CopyMetaTags(lstEditHeadMetaTags, appOptions.listViewHeadMetaTags);
+ }
+
+ private void btnCopyClipDefaults_Click(object sender, System.EventArgs e)
+ {
+ DialogResult locRetryRes = MessageBox.Show("Do you want me to copy the Default Clip Meta Tags to all Clips in this track\n(selecting \"No\" will copy the Default Clip Meta Tags to this clip only)?", "Invalid media file", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
+ if (locRetryRes == DialogResult.Yes)
+ {
+ ClipTag locClipTag;
+
+ CMMLTrack locTrack = mTrackList.GetTrack(mWorkingTrackName);
+
+ for (int j=0; j < locTrack.ClipList.Count; j++)
+ {
+ locClipTag = (ClipTag)locTrack.ClipList.GetByIndex(j);
+
+ ListView locListViewMetaTags = new ListView();
+ //populate the clip meta tags
+ MetaTagList locMetaList = locClipTag.metaList();
+ for (UInt32 i = 0; i < locMetaList.numTags(); i++)
+ {
+ ListViewItem locItem = new ListViewItem(locMetaList.getTag(i).name());
+ locItem.SubItems.Add(locMetaList.getTag(i).content());
+ locItem.SubItems.Add(locMetaList.getTag(i).scheme());
+ locListViewMetaTags.Items.Add(locItem);
+ }
+
+ // Copy in the defaults
+ CopyMetaTags(locListViewMetaTags, appOptions.listViewClipMetaTags);
+
+ // Empty the meta tag list, and store the new values
+ locClipTag.metaList().emptyList();
+ foreach (ListViewItem locItem in locListViewMetaTags.Items)
+ {
+ MetaTag locMetaTag = new MetaTag();
+ locMetaTag.setName(locItem.Text);
+ locMetaTag.setContent(locItem.SubItems[1].Text);
+ locMetaTag.setScheme(locItem.SubItems[2].Text);
+ locClipTag.metaList().addTag(locMetaTag);
+ }
+ }
+
+ // And repopulate the Meta Tag list
+ lstEditClipMetaTags.Items.Clear();
+ MetaTagList locMetaList1 = mWorkingClip.metaList();
+ for (UInt32 i = 0; i < locMetaList1.numTags(); i++)
+ {
+ ListViewItem locItem = new ListViewItem(locMetaList1.getTag(i).name());
+ locItem.SubItems.Add(locMetaList1.getTag(i).content());
+ locItem.SubItems.Add(locMetaList1.getTag(i).scheme());
+ lstEditClipMetaTags.Items.Add(locItem);
+ }
+ }
+ else if (locRetryRes == DialogResult.No)
+ {
+ // just copy for this clip only
+ CopyMetaTags(lstEditClipMetaTags, appOptions.listViewClipMetaTags);
+ }
+
+ ValidateDisplayedTag();
+ }
+
+ private void cmdCopyClip_Click(object sender, System.EventArgs e)
+ {
+ // DLB. 8/9/2005. Copy clip and loop until valid time or cancelled.
+ ClipTag newClipTag = mWorkingClip.clone();
+
+ // If multiple tracks, allow choice
+ if (GetTrackList().NumTracks() > 1)
+ {
+ frmSelectTrack locSelectTrack = new frmSelectTrack(GetTrackList(), mWorkingTrackName);
+
+ DialogResult Result = locSelectTrack.ShowDialog();
+ if (Result == DialogResult.OK)
+ {
+ String locTrackName = locSelectTrack.comboBoxTrack.SelectedItem.ToString();
+ newClipTag.setTrack(locTrackName);
+
+ if (locTrackName == mWorkingTrackName)
+ {
+ // same track, so try incrementing by one
+ String locStartTime = TimeConvert.TimeStampToDisplayTime(newClipTag.start());
+ Int64 i64StartTime = TimeConvert.displayTimeToHunNanos(locStartTime) / 10000;
+ i64StartTime += 1;
+ newClipTag.setStart(TimeConvert.HunNanosToTimeStamp(i64StartTime*10000));
+ }
+ }
+ }
+
+ bool locWasAdded = true;
+ bool locCancelOperation = false;
+ do
+ {
+ string locClipTimeString = TimeConvert.TimeStampToDisplayTime(newClipTag.start());
+
+
+ locWasAdded = true;
+ locCancelOperation = false;
+ try
+ {
+ GetTrackList().AddClip(newClipTag);
+ }
+ catch (System.ArgumentException)
+ {
+ frmInvalidTime locInvalidTimeForm = new frmInvalidTime(locClipTimeString);
+ locInvalidTimeForm.ShowDialog();
+ if (locInvalidTimeForm.WasOK)
+ {
+ //SSSS::: Temporal - assume correct time
+ //DONE
+ locClipTimeString = locInvalidTimeForm.NewTime;
+ newClipTag.setStart(TimeConvert.displayTimeToNPTTime(locClipTimeString));
+ }
+ else
+ {
+ locCancelOperation = true;
+ }
+ locWasAdded = false;
+ }
+ } while ((locWasAdded == false) && (locCancelOperation == false));
+
+ // if the operation completed successfully
+ if (locCancelOperation == false)
+ {
+ mWorkingTrackName = newClipTag.track();
+ cntrlClipList locClipControl = (cntrlClipList)mClipListControls[mWorkingTrackName];
+
+ // Need to strip the NPT at the front of the timestamp. Select the clip.
+ locClipControl.SelectClipByTime(TimeConvert.TimeStampToDisplayTime(newClipTag.start()));
+
+ UpdateTree(); // DLB. 1/9/2005.
+ UpdateTabControl(); // DLB. 2/9/2005. UpdateTree will select the first element, so UpdateTAB afterwards to fill in form on load
+
+ StoreCurrentState(UndoStack);
+ }
+ }
+ }
+
+ class KeyStateDefinitions
+ {
+ public const int LeftMouseButton = 1;
+ public const int RightMouseButton = 2;
+ public const int ShiftKey = 4;
+ public const int CtrlKey = 8;
+ public const int MiddleMouseButton = 16;
+ public const int AltKey = 32;
+ };
+
+ class UndoState
+ {
+ public String TrackName;
+ public TrackList TrackList;
+ public String StartTime;
+ public String CMML;
+
+ public override String ToString()
+ {
+ return TrackName + "," + TrackList.ToString() +
+ "," + StartTime + "," + CMML;
+ }
+ }
+}
+
+
+/*
+ * Desired behaviour for clips is :
+ *
+ * On Startup :
+ * Clip window disbled
+ * No entries in clip list
+ *
+ * On first add :
+ * Clip window becomes enabled
+ * An entry in the clip list associated with the current clip window is added
+ * The entry in the clip list is highlighted
+ * Changes in the clip window are reflected in the clip list
+ *
+ * Subsequent adds:
+ * The entry is immediately added to the clip list
+ * This entry is highlighted
+ * This entry corresponds to the clip windows
+ * Changes in the clip window are reflected in the clip list
+ *
+ *
+ * General :
+ * If there is 1 or more entries in the clip list, one will *always* be selected and this one will refer to the current clip window
+ *
+ * The clip window will be disabled iff there are no clips in the clip list.
+ *
+ * The CMMLTrack object is the authorative list of clips, the clip list will always be updated from this
+ *
+ * No clips will be taken from the CMMLTrack object, with the expectation of long term use, since
+ * they may be deleted and regenerated at any time.
+ *
+ * The working clip is only to be set by the selection callback of the clip list, manipulation of current
+ * will be done here
+ *
+ * The working clip is only ever null iff there are no clips in the list, otherwise it refers to the selected clip
+ *
+ *
+ *
+ *
+ * Update Clip :
+ * This should put the widget data into the workingClip
+ *
+ *
+ * ======================================================================
+ *
+ * mWorkingTrackName :
+ * The string name of the current track that is being displayed by the clip list
+ * and the tab control.
+ *
+ * ======================================================================
+
+ */
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmEditTags.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmEditTags.resx
===================================================================
--- AnxCreator/AnxCreate/frmEditTags.resx (rev 0)
+++ AnxCreator/AnxCreate/frmEditTags.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,1722 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="grpEditClipTag.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipTag.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpEditClipTag.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipTag.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpEditClipTag.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipTag.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtID.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtID.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtID.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblIDFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblIDFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblIDFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpDescription.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpDescription.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpDescription.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpDescription.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpDescription.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpDescription.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipDescription.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipDescription.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditClipDescription.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipEnd.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipEnd.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditClipEnd.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipTimeToFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEditClipTimeToFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipTimeToFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipStart.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipStart.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditClipStart.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblClipEditTimeFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblClipEditTimeFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblClipEditTimeFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipMetaTags.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpEditClipMetaTags.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipMetaTags.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpEditClipMetaTags.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCopyClipDefaults.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnCopyClipDefaults.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCopyClipDefaults.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipEditMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditClipEditMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipEditMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstEditClipMetaTags.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lstEditClipMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstEditClipMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="colName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="colName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="colValue.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="colValue.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipRemoveMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditClipRemoveMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipRemoveMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipAddMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditClipAddMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipAddMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipAnchorTag.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipAnchorTag.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpEditClipAnchorTag.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipAnchorTag.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpEditClipAnchorTag.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipAnchorTag.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipAnchorURI.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipAnchorURI.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditClipAnchorURI.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipAnchorText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipAnchorText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipAnchorText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEditClipAnchorURIFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEditClipAnchorURIFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipAnchorURIFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipAnchorTextFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEditClipAnchorTextFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipAnchorTextFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipImageTag.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpEditClipImageTag.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpEditClipImageTag.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipImageTag.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpEditClipImageTag.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpEditClipImageTag.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipImageURIFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblEditClipImageURIFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblEditClipImageURIFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipImageURI.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipImageURI.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditClipImageURI.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipImageText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditClipImageText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditClipImageText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="picEditClip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="picEditClip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="picEditClip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdPlay.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdPlay.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdPlay.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdPlay.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAARVJREFUKFNlkb1O
+ hEAYRYfFlo5mlY6SloqaGCOFm1DyYkbjA9hauInxTdzEnzdYsEF+xnMng0EtTmbYOffOxxIGQXAPA7yA
+ hY1He/MXE0XRJ/TwwOElnHiJxYV/hRQ4whzHsU2S5Iv1meeLlajQUmIU6HygJzCmaWqzLJvZP/H7+UpW
+ MFSg5VDtM7IYCEx5ntuiKLR/5NafUQ1ip4BkNQtkMShQlqWFgec9wZ0LLGMgW8mIDsQR+qqqZrDw4QIS
+ V82SJU4gUbzBdV3XV4b21jdPfgSJGkM3vCLeIu6aptmyhga582OMBPSiEt/hzounhEKK3fdQoNU/opdE
+ OnB4o6tplLhZxOW7GMSjGjlUY414xvJPXALfiPWR+7ma43YAAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="cmdPause.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdPause.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdPause.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdPause.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAASBJREFUKFN1kK1u
+ hUAQhbchLRAsktRgkTgklVfiEDU4RE3b5+krcB/lmlreoCmkopv96TebvTQVFSfLnDPfzC43SZK8Z1l2
+ n+e5Vkrd8f2VpunDuq4X6jf0iPdBfsvpVVEUO/JlWbqqqmxd134YhidqxbAzp2SazCMnwGcspNlE4JVT
+ skUA8u+maZxIYWwC0GAxDJINz3gBiJkWv21bpzB2mUphkUECvFw3SCP6BQj2SNuu60zf9wGQDWxfZADS
+ cpI5JUA0Lca/gAwKAM0BoAjA6XQ6rsSWha0eafFRALZIW65i0AGwfYlZAMicwthj8QeQN/C2c5ysZdA4
+ jgHY4lQ7TZPBPB7N9iVmmswjp5gQABrtPM9GgutfEiDWmswj9wNKyM6H7Ze1EQAAAABJRU5ErkJggg==
+</value>
+ </data>
+ <data name="cmdStop.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdStop.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStop.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStop.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAOhJREFUKFNtkC0P
+ g0AQRLdB8JEgcYgmWBwWiUNikUj+bX9Je7q3ndncXmhTMTnEm8fc3YqieIjIHdGmaaSqqhu+pSxLHnbW
+ dZ2/BYVn27aKxK7rFIl93+swDDqOo07TlM95npWFQAh5JzgCjoAtKFgAx2VZosD8+jGzkK38A82ALSwE
+ TkAczHZa3Uz7uq5RYA80ckYyc4Jtv5oB67ZtKjBbIW22k+A/OBf4GumCBK3gm91MeN93FdhDej6bwq1X
+ 2AuEj+NQARzSXp/Cy+mv+auQNrvZCpzgM2hmzvNUgT2kzW6OV9jNhJkPt0feSIMe3oEAAAAASUVORK5C
+ YII=
+</value>
+ </data>
+ <data name="lblProgressBarOutline.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProgressBarOutline.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBarOutline.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdDeleteClip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdDeleteClip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdDeleteClip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdNewClip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdNewClip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdNewClip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdDeleteTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdDeleteTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdDeleteTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdNewTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdNewTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdNewTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrMediaEventCheck.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrMediaEventCheck.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="tmrMediaEventCheck.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrUpdateProgress.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrUpdateProgress.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>173, 17</value>
+ </data>
+ <data name="tmrUpdateProgress.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mnuMain.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mnuMain.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>320, 17</value>
+ </data>
+ <data name="mnuMain.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_NewProject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_NewProject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_LoadProject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_LoadProject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_SaveProject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_SaveProject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_CloseProject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_CloseProject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem5.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem5.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_Exit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniFile_Exit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniEdit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniEdit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuEditUndo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuEditUndo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuEditRedo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuEditRedo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniEditSeparator.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniEditSeparator.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem9.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem9.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem11.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem11.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem7.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem7.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Play.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Play.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Stop.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Stop.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem8.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem8.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Back2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Back2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Forward2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_Forward2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem10.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem10.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_FrameStepBack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_FrameStepBack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_FrameStep.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_FrameStep.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem14.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem14.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_MarkIn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_MarkIn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_MarkOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_MarkOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_GotoIn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_GotoIn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_GotoOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_GotoOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_PlayInToOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_PlayInToOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_LoopInToOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_LoopInToOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_ClearMarks.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniMedia_ClearMarks.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProjectImportCMML.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProjectImportCMML.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_ExportCMML.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_ExportCMML.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_ExportCMMLAs.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_ExportCMMLAs.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_CreateAnnodex.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_CreateAnnodex.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_CreateOgg.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProject_CreateOgg.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProjectProperties.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniProjectProperties.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniHelp.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniHelp.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuHelpContents.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuHelpContents.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem6.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem6.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniUpdateLicense.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniUpdateLicense.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniHelp_About.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniHelp_About.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpMediaControls.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpMediaControls.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpMediaControls.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpMediaControls.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpMediaControls.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpMediaControls.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mediaProgressCursorPointer.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="mediaProgressCursorPointer.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mediaProgressCursorPointer.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mediaProgressCursorPointer.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhCgAKAPIAAP4MDHx7e////9HR0f///wAAAAAAAAAAACH5BAEAAAQALAAAAAAKAAoAAAMZGBLc
+ vS7CSFQMo1qX68REyEydCJVig6ZlAgA7
+</value>
+ </data>
+ <data name="lblOutMarker.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblOutMarker.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOutMarker.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblOutMarker.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>R0lGODlhBgAGAPEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAGAAYAAAIKhH5gqCu9oJGgAAA7</value>
+ </data>
+ <data name="lblInMarker.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblInMarker.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblInMarker.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblInMarker.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>R0lGODlhBgAGAPEAAAAAAP///////wAAACH5BAEAAAIALAAAAAAGAAYAAAIKlA0nkMj+mJysAAA7</value>
+ </data>
+ <data name="cmdStepFrameBack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdStepFrameBack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStepFrameBack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStepFrameBack.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhDAAOAPIAAAAAAP////39+729vX9/fwQEBAMDA////yH5BAEAAAcALAAAAAAMAA4AAAMteLqg
+ 0MsBch5ltk6cs35bV4DhNJIlYaDpoZKUN8Da5YLxtsxtNA8aYOQwEBYTADs=
+</value>
+ </data>
+ <data name="txtMediaTimeDisplay.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMediaTimeDisplay.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtMediaTimeDisplay.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSkipBackward.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdSkipBackward.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSkipBackward.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSkipBackward.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAVdJREFUKFNdkjFL
+ w1AUhWOrW7EIdShxELK4ZAluHUS6ZssgxMnODuLqLioILiIFFxfB3V3UQf+B4OQgilOpg2JiE7/zfE8S
+ A5ck97vnnpt30/Tq1xSvCq/T6ex0u932aDR65LXh8pZtVmWCuqYR7YZhWCZJsh9FkclZ1oDtiTmhA23f
+ 9y8oLoHfcRyf8Dxji2YRnYsRuXJNCxYQXVnwwb1AeGodF2HXlmW9Xm/iHJcBDxWQAzXqAc7/WQErvFar
+ tREEwZsbQUl17Pf7E+73sJcqI18QpYfTkT4W+CWBhIyoyMm/WqYJDJNQ3IxK123rIJADdDAa9ZDiLSKT
+ i2UFeSM0a8B5neJ3khJ8CqZpOtThcJprsLFtlpH/dXR7wnmFrk+DwaAEThAPGdWsA7YKexYjzDpqYpyX
+ ENxa8TFC/UluKrE7sarwb6ec9BwFN7ieIaw1hs2Tv/wBu0qq6a1gYBgAAAAASUVORK5CYII=
+</value>
+ </data>
+ <data name="cmdSkipForward.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdSkipForward.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSkipForward.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdSkipForward.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ iVBORw0KGgoAAAANSUhEUgAAAA4AAAAMCAYAAABSgIzaAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAV9JREFUKFNNkj1L
+ w1AUhm+tDg2CIkbaQjp1CwjSsYvYwSFLyegmOju4OguC+ltcXFTwH4gf+DFJEUXBQZCoaNM2Pm84gRZe
+ 7s157nPvuWlcqVTaJ9PEkTLRT/M62SHz9jxho5hznudl5MQWqjhlC6qMT7BzUrPaZCFL/PB9PyO3zJfG
+ Tq7xfG3sgvqisXxjB0jIX7PZzMgri1dtQYP6PUmNPY+xci4GQSCpH4Zh1mq1tNEacoXxxqRfY1/U1vMT
+ AQkZISiDdrs96nQ6fWqHat+EASw1pg72chEoaWhggJhFUaT2f0wsWGosdYAEKUMaUiykF+YHsJ4xdVKw
+ NzbddbpT0YJ2I704jrdISP1BV2Ds20mPSNuwhsRPE9XeFcVNMscLq8LuEHRnsUvqG2QB5hzSt1oEnFHs
+ Mp8V0AcBkyjp1NiMMecA74AjwAqjx5vMPyn+szonqoNjskwq1HKm/AMETax0KHWKyQAAAABJRU5ErkJg
+ gg==
+</value>
+ </data>
+ <data name="cmdStepFrame.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdStepFrame.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStepFrame.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdStepFrame.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhDAAOAPIAAAAAAP////39+729vX9/fwQEBAMDA////yH5BAEAAAcALAAAAAAMAA4AAAMueACn
+ /YesOKFkl71Ll+6d13AZUGBTuRSk5xntS4DlMKbefKOA/QwToO/nGwwfCQA7
+</value>
+ </data>
+ <data name="trkVolume.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="trkVolume.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkVolume.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mediaProgressCursorLine.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="mediaProgressCursorLine.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mediaProgressCursorLine.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mediaProgressCursorLine.Image" type="System.Drawing.Bitmap, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ R0lGODlhAgAOAPIAAP4MDHx7e////9HR0f///wAAAAAAAAAAACH5BAEAAAQALAAAAAACAA4AAAMFCLrc
+ /gkAOw==
+</value>
+ </data>
+ <data name="lblMarkedClip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblMarkedClip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMarkedClip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBarControlBox.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProgressBarControlBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBarControlBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_contextMenu1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_contextMenu1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>417, 17</value>
+ </data>
+ <data name="lblProgressBar_contextMenu1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextMarkIn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextMarkIn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextMarkOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextMarkOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextGotoIn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextGotoIn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextGotoOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextGotoOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextPlayInToOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextPlayInToOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextLoopInToOut.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextLoopInToOut.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextClearMarks.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProgressBar_ContextClearMarks.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="pnlVideoWindow.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="pnlVideoWindow.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="pnlVideoWindow.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="pnlVideoWindow.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="pnlVideoWindow.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="pnlVideoWindow.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="ttpPicBox.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpPicBox.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>616, 17</value>
+ </data>
+ <data name="ttpPicBox.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabTrackList.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabTrackList.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabTrackList.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabTrackList.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabTrackList.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabTrackList.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="ttpMediaFileName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpMediaFileName.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>714, 17</value>
+ </data>
+ <data name="ttpMediaFileName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpEditTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpEditTags.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 54</value>
+ </data>
+ <data name="ttpEditTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditHeadBaseURI.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditHeadBaseURI.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditHeadBaseURI.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditHeadTitle.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtEditHeadTitle.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtEditHeadTitle.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDisplayHeadBaseUriFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblDisplayHeadBaseUriFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDisplayHeadBaseUriFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDisplayHeadTitleFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblDisplayHeadTitleFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDisplayHeadTitleFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadRemoveMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditHeadRemoveMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadRemoveMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadAddMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditHeadAddMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadAddMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadEditMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditHeadEditMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadEditMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCopyTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCopyTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCopyTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCopyClip.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCopyClip.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCopyClip.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabHeadTag.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabHeadTag.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabHeadTag.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabHeadTag.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabHeadTag.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabHeadTag.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="tabPage1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabPage1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPage1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPage1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPage1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPage1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="tabPage2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabPage2.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPage2.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPage2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPage2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPage2.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="btnCopyHeadDefaults.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnCopyHeadDefaults.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCopyHeadDefaults.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstEditHeadMetaTags.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lstEditHeadMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstEditHeadMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrMediaControls.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tmrMediaControls.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>125, 54</value>
+ </data>
+ <data name="tmrMediaControls.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="groupBox1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="groupBox1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox2.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="groupBox2.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="groupBox2.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmEditTags</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>91</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmEditTags.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmInvalidTime.cs
===================================================================
--- AnxCreator/AnxCreate/frmInvalidTime.cs (rev 0)
+++ AnxCreator/AnxCreate/frmInvalidTime.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,202 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using illiminable.libTemporalURIDotNET;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmInvalidTime.
+ /// </summary>
+ public class frmInvalidTime : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.Label lblMessage;
+ private System.Windows.Forms.TextBox txtNewTime;
+ private System.Windows.Forms.Button cmdOK;
+ private System.Windows.Forms.Button cmdCancel;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ private String mInvalidTime;
+ public String NewTime;
+ public bool WasOK;
+
+ public frmInvalidTime(String inInvalidTime)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ mInvalidTime = inInvalidTime;
+ NewTime = null;
+ WasOK = false;
+
+ lblMessage.Text = "The time " + mInvalidTime + " you specified already exists in this track. Please enter a new unique time below.";
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmInvalidTime));
+ this.lblMessage = new System.Windows.Forms.Label();
+ this.txtNewTime = new System.Windows.Forms.TextBox();
+ this.cmdOK = new System.Windows.Forms.Button();
+ this.cmdCancel = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // lblMessage
+ //
+ this.lblMessage.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.lblMessage.Location = new System.Drawing.Point(16, 24);
+ this.lblMessage.Name = "lblMessage";
+ this.lblMessage.Size = new System.Drawing.Size(304, 64);
+ this.lblMessage.TabIndex = 0;
+ //
+ // txtNewTime
+ //
+ this.txtNewTime.Location = new System.Drawing.Point(16, 96);
+ this.txtNewTime.Name = "txtNewTime";
+ this.txtNewTime.Size = new System.Drawing.Size(304, 20);
+ this.txtNewTime.TabIndex = 1;
+ this.txtNewTime.Text = "";
+ this.txtNewTime.TextChanged += new System.EventHandler(this.txtNewTime_TextChanged);
+ this.txtNewTime.KeyUp += new System.Windows.Forms.KeyEventHandler(this.txtNewTime_KeyUp);
+ //
+ // cmdOK
+ //
+ this.cmdOK.Enabled = false;
+ this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdOK.Location = new System.Drawing.Point(184, 128);
+ this.cmdOK.Name = "cmdOK";
+ this.cmdOK.Size = new System.Drawing.Size(64, 24);
+ this.cmdOK.TabIndex = 2;
+ this.cmdOK.Text = "&OK";
+ this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
+ //
+ // cmdCancel
+ //
+ this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCancel.Location = new System.Drawing.Point(256, 128);
+ this.cmdCancel.Name = "cmdCancel";
+ this.cmdCancel.Size = new System.Drawing.Size(64, 24);
+ this.cmdCancel.TabIndex = 3;
+ this.cmdCancel.Text = "&Cancel";
+ this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
+ //
+ // frmInvalidTime
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(336, 166);
+ this.Controls.Add(this.cmdCancel);
+ this.Controls.Add(this.cmdOK);
+ this.Controls.Add(this.txtNewTime);
+ this.Controls.Add(this.lblMessage);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmInvalidTime";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Invalid Time";
+ this.Load += new System.EventHandler(this.frmInvalidTime_Load);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void frmInvalidTime_Load(object sender, System.EventArgs e)
+ {
+ cmdOK.Enabled = false;
+ WasOK = false;
+ }
+
+ private void txtNewTime_TextChanged(object sender, System.EventArgs e)
+ {
+ if (txtNewTime.Text != "")
+ {
+ cmdOK.Enabled = true;
+ }
+ else
+ {
+
+ cmdOK.Enabled = false;
+ }
+ }
+
+ private void doCmdOK()
+ {
+ try
+ {
+ //SSSS:::
+ //DONE
+ //Int64 locTestTime = Convert.ToInt64(txtNewTime.Text);
+ Int64 locTestTime = TimeConvert.displayTimeToHunNanos(txtNewTime.Text);
+ if (locTestTime != -1)
+ {
+
+ WasOK = true;
+ NewTime = txtNewTime.Text;
+ Close();
+ }
+ else
+ {
+ MessageBox.Show("This is not a valid numeric time", "Invalid time", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ txtNewTime.SelectAll();
+ txtNewTime.Focus();
+ }
+ }
+ catch
+ {
+ MessageBox.Show("This is not a valid numeric time", "Invalid time", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ txtNewTime.SelectAll();
+ txtNewTime.Focus();
+ }
+ }
+
+ private void cmdOK_Click(object sender, System.EventArgs e)
+ {
+ doCmdOK();
+ }
+
+ private void cmdCancel_Click(object sender, System.EventArgs e)
+ {
+ WasOK = false;
+ Close();
+ }
+
+ private void txtNewTime_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
+ {
+ if (e.KeyCode == Keys.Enter)
+ {
+ doCmdOK();
+ }
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmInvalidTime.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmInvalidTime.resx
===================================================================
--- AnxCreator/AnxCreate/frmInvalidTime.resx (rev 0)
+++ AnxCreator/AnxCreate/frmInvalidTime.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,563 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="lblMessage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblMessage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMessage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtNewTime.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtNewTime.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtNewTime.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="comboBoxTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="comboBoxTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="comboBoxTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmInvalidTime</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmInvalidTime.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmLicense.cs
===================================================================
--- AnxCreator/AnxCreate/frmLicense.cs (rev 0)
+++ AnxCreator/AnxCreate/frmLicense.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,750 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+using System.Data;
+
+//#using <mscorlib.dll>
+//#using <System.dll>
+
+using Microsoft.Win32;
+using System.Security.Cryptography;
+using System.IO;
+using System.Text;
+
+//#include "getmac.h"
+//using <stdio.h>;
+//using <string.h>;
+
+using System.Diagnostics;
+using System.Management;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for Form1.
+ /// </summary>
+ public class LicenseDialog : System.Windows.Forms.Form
+ {
+ // this CLSID was generated using guidgen
+ //String LICENSE_COUNT_REGISTRY_SUBKEY = "S{907FFF06-A5E2-4f92-A87F-7C518BD43F95}";
+
+ public class LicenseInfo
+ {
+ public bool bLicenseValid;
+ public String MACAddress;
+ public String Product;
+ public String Version;
+ public Int16 LicenseDays;
+ public Int16 LicenseUsageCount;
+ public DateTime ExpiryDate;
+ };
+ private System.Windows.Forms.Button btnLicenseKeyOnline;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.GroupBox grpUpdateLicense;
+ private System.Windows.Forms.TextBox txtMACAddress;
+ private System.Windows.Forms.Label lblMACAddress;
+ private System.Windows.Forms.Label lblCurrentLicense;
+ private System.Windows.Forms.Label lblCurrentLicenseText;
+ private System.Windows.Forms.TextBox NewLicenseKey;
+ private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Button btnApply;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public LicenseDialog()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ RepaintForm();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(LicenseDialog));
+ this.lblMACAddress = new System.Windows.Forms.Label();
+ this.lblCurrentLicense = new System.Windows.Forms.Label();
+ this.lblCurrentLicenseText = new System.Windows.Forms.Label();
+ this.NewLicenseKey = new System.Windows.Forms.TextBox();
+ this.btnApply = new System.Windows.Forms.Button();
+ this.btnLicenseKeyOnline = new System.Windows.Forms.Button();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.grpUpdateLicense = new System.Windows.Forms.GroupBox();
+ this.button1 = new System.Windows.Forms.Button();
+ this.txtMACAddress = new System.Windows.Forms.TextBox();
+ this.grpUpdateLicense.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // lblMACAddress
+ //
+ this.lblMACAddress.Location = new System.Drawing.Point(24, 16);
+ this.lblMACAddress.Name = "lblMACAddress";
+ this.lblMACAddress.Size = new System.Drawing.Size(80, 23);
+ this.lblMACAddress.TabIndex = 1;
+ this.lblMACAddress.Text = "MAC Address";
+ //
+ // lblCurrentLicense
+ //
+ this.lblCurrentLicense.Location = new System.Drawing.Point(24, 48);
+ this.lblCurrentLicense.Name = "lblCurrentLicense";
+ this.lblCurrentLicense.Size = new System.Drawing.Size(88, 23);
+ this.lblCurrentLicense.TabIndex = 2;
+ this.lblCurrentLicense.Text = "Current License:";
+ //
+ // lblCurrentLicenseText
+ //
+ this.lblCurrentLicenseText.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.lblCurrentLicenseText.Location = new System.Drawing.Point(120, 48);
+ this.lblCurrentLicenseText.Name = "lblCurrentLicenseText";
+ this.lblCurrentLicenseText.Size = new System.Drawing.Size(232, 28);
+ this.lblCurrentLicenseText.TabIndex = 3;
+ this.lblCurrentLicenseText.Text = "None.";
+ //
+ // NewLicenseKey
+ //
+ this.NewLicenseKey.Enabled = false;
+ this.NewLicenseKey.Location = new System.Drawing.Point(8, 24);
+ this.NewLicenseKey.Name = "NewLicenseKey";
+ this.NewLicenseKey.Size = new System.Drawing.Size(312, 20);
+ this.NewLicenseKey.TabIndex = 5;
+ this.NewLicenseKey.Text = "";
+ //
+ // btnApply
+ //
+ this.btnApply.Enabled = false;
+ this.btnApply.Location = new System.Drawing.Point(208, 56);
+ this.btnApply.Name = "btnApply";
+ this.btnApply.Size = new System.Drawing.Size(104, 24);
+ this.btnApply.TabIndex = 6;
+ this.btnApply.Text = "Apply";
+ this.btnApply.Click += new System.EventHandler(this.btnApply_Click);
+ //
+ // btnLicenseKeyOnline
+ //
+ this.btnLicenseKeyOnline.Location = new System.Drawing.Point(24, 192);
+ this.btnLicenseKeyOnline.Name = "btnLicenseKeyOnline";
+ this.btnLicenseKeyOnline.Size = new System.Drawing.Size(144, 24);
+ this.btnLicenseKeyOnline.TabIndex = 7;
+ this.btnLicenseKeyOnline.Text = "Get License Key Online";
+ this.btnLicenseKeyOnline.Click += new System.EventHandler(this.btnLicenseKeyOnline_Click);
+ //
+ // btnOK
+ //
+ this.btnOK.Location = new System.Drawing.Point(288, 192);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.Size = new System.Drawing.Size(64, 24);
+ this.btnOK.TabIndex = 8;
+ this.btnOK.Text = "Close";
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // grpUpdateLicense
+ //
+ this.grpUpdateLicense.Controls.Add(this.btnApply);
+ this.grpUpdateLicense.Controls.Add(this.button1);
+ this.grpUpdateLicense.Controls.Add(this.NewLicenseKey);
+ this.grpUpdateLicense.Location = new System.Drawing.Point(24, 80);
+ this.grpUpdateLicense.Name = "grpUpdateLicense";
+ this.grpUpdateLicense.Size = new System.Drawing.Size(328, 96);
+ this.grpUpdateLicense.TabIndex = 9;
+ this.grpUpdateLicense.TabStop = false;
+ this.grpUpdateLicense.Text = "Update License";
+ //
+ // button1
+ //
+ this.button1.Location = new System.Drawing.Point(16, 56);
+ this.button1.Name = "button1";
+ this.button1.Size = new System.Drawing.Size(136, 24);
+ this.button1.TabIndex = 10;
+ this.button1.Text = "Change License Key";
+ this.button1.Click += new System.EventHandler(this.button1_Click);
+ //
+ // txtMACAddress
+ //
+ this.txtMACAddress.Enabled = false;
+ this.txtMACAddress.Location = new System.Drawing.Point(112, 16);
+ this.txtMACAddress.Name = "txtMACAddress";
+ this.txtMACAddress.Size = new System.Drawing.Size(240, 20);
+ this.txtMACAddress.TabIndex = 0;
+ this.txtMACAddress.Text = "";
+ //
+ // LicenseDialog
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(376, 230);
+ this.Controls.Add(this.btnOK);
+ this.Controls.Add(this.btnLicenseKeyOnline);
+ this.Controls.Add(this.txtMACAddress);
+ this.Controls.Add(this.lblCurrentLicenseText);
+ this.Controls.Add(this.lblCurrentLicense);
+ this.Controls.Add(this.lblMACAddress);
+ this.Controls.Add(this.grpUpdateLicense);
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "LicenseDialog";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "DMTagger License Dialog";
+ this.grpUpdateLicense.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void btnApply_Click(object sender, System.EventArgs e)
+ {
+ Char [] sBase64Message = new Char[NewLicenseKey.Text.Length];
+ NewLicenseKey.Text.CopyTo(0, sBase64Message, 0, NewLicenseKey.Text.Length);
+
+ // and check if it's valid
+ LicenseInfo LicInfo = new LicenseInfo();
+
+ if (GetLicenseInfo(sBase64Message, LicInfo))
+ {
+ // And store the value in the registry
+ RegistryKey DMTaggerRegistryKey = Registry.LocalMachine.CreateSubKey("Software\\CSIRO ICT\\DMTagger");
+ DMTaggerRegistryKey.SetValue("License", NewLicenseKey.Text);
+ DMTaggerRegistryKey.Close();
+
+ // Update the license count if necessary. This CLSID was generated using guidgen
+ // Don't change the count if it already exists.
+ if ((DMTaggerRegistryKey = Registry.ClassesRoot.OpenSubKey("CLSID\\{907FFF06-A5E2-4f92-A87F-7C518BD43F95}")) == null)
+ {
+ // So, the subkey doesn't exist. Create it and set the count.
+ DMTaggerRegistryKey = Registry.ClassesRoot.CreateSubKey("CLSID\\{907FFF06-A5E2-4f92-A87F-7C518BD43F95}");
+
+ Byte [] UsedCount = {(Byte)'0'};
+
+ // Encrypt it so it's VERY hard to change manually.
+ Byte [] text = AESEncrypt(UsedCount);
+
+ DMTaggerRegistryKey.SetValue("Entry", text);
+ }
+ else
+ {
+ // special case. If the key entry is bad for some reason,
+ // start the count from 0 in case it's all gone wrong.
+ Byte [] tempText = (Byte [])DMTaggerRegistryKey.GetValue("Entry");
+ Byte [] DecryptedText = AESDecrypt(tempText);
+ if (DecryptedText == null || DecryptedText.Length == 0)
+ {
+ RegistryKey DMTaggerRegistryKey1 = Registry.ClassesRoot.CreateSubKey("CLSID\\{907FFF06-A5E2-4f92-A87F-7C518BD43F95}");
+
+ // OK. The entry is bad so replace it
+ Byte [] UsedCount = {(Byte)'0'};
+
+ // Encrypt it so it's VERY hard to change manually.
+ Byte [] text = AESEncrypt(UsedCount);
+
+ DMTaggerRegistryKey1.SetValue("Entry", text);
+ DMTaggerRegistryKey1.Close();
+ }
+ }
+ DMTaggerRegistryKey.Close();
+
+ // And let them know all is OK.
+ MessageBox.Show("License Updated Successfully!", "License Updated",
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ RepaintForm();
+ }
+ else
+ {
+ MessageBox.Show("License Update Failed:\nInvalid License Key", "Invalid Key",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ }
+
+ private void btnOK_Click(object sender, System.EventArgs e)
+ {
+ this.Close();
+ }
+
+ private void btnLicenseKeyOnline_Click(object sender, System.EventArgs e)
+ {
+ //Process.Start("http://www.annodex.com");
+ StringBuilder buffer = new StringBuilder();
+
+ buffer.Append("http://www.aidabrowser.com/DMTagger/LicenseAgreement.php?UI=");
+ buffer.Append(txtMACAddress.Text);
+
+ //ASCIIEncoding textConverter = new ASCIIEncoding();
+ string URI_AsString = buffer.ToString();
+
+ Process.Start(URI_AsString);
+ }
+
+ public static string GetMACAddress()
+ {
+ ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
+ ManagementObjectCollection moc = mc.GetInstances();
+ string MACAddress=String.Empty;
+ foreach(ManagementObject mo in moc)
+ {
+ if(MACAddress==String.Empty) // only return MAC Address from first card
+ {
+ if((bool)mo["IPEnabled"] == true) MACAddress= mo["MacAddress"].ToString() ;
+ }
+ mo.Dispose();
+ }
+ MACAddress=MACAddress.Replace(":","");
+ return MACAddress;
+ }
+
+ public static bool IsValidLicense(LicenseInfo LicInfo)
+ {
+
+ // DLB. 4/1/2005. *** TEMP ONLY ****
+ // CSIRO is releasing as freeware for now so remove license provisions.
+ return true;
+ // END DLB. 4/1/2005. *** TEMP ONLY ****
+
+
+ if (LicInfo == null)
+ {
+ // if we didn't have one passed in, then just create a local one.
+ // they obviously don't want the info.
+ LicInfo = new LicenseInfo(); // Managed type so no delete required.
+ }
+
+ try
+ {
+ RegistryKey DMTaggerRegistryKey = Registry.LocalMachine.OpenSubKey("Software\\CSIRO ICT\\DMTagger");
+ String tmpText = DMTaggerRegistryKey.GetValue("License").ToString();
+ DMTaggerRegistryKey.Close();
+
+ Char [] sBase64Message = new Char[tmpText.Length];
+ tmpText.CopyTo(0, sBase64Message, 0, tmpText.Length);
+
+ if (GetLicenseInfo(sBase64Message, LicInfo))
+ {
+ // AdapterInfo.
+ char [] buffer = new char[50];
+
+ // and get the MAC address
+ string sMyMACAddress = GetMACAddress();
+/*
+ ManagementClass oMClass = new ManagementClass ("Win32_NetworkAdapterConfiguration");
+ ManagementObjectCollection colMObj = oMClass.GetInstances();
+ foreach (ManagementObject objMO in colMObj)
+ {
+ if (objMO[
+ sMyMACAddress = objMO["MacAddress"].ToString();
+ ; // only use first MAC
+ }
+*/
+ // this CLSID was generated using guidgen
+ RegistryKey DMTaggerRegistryKey1 = Registry.ClassesRoot.OpenSubKey("CLSID\\{907FFF06-A5E2-4f92-A87F-7C518BD43F95}");
+ Byte [] tempText = (Byte [])DMTaggerRegistryKey1.GetValue("Entry");
+ DMTaggerRegistryKey1.Close();
+
+ Byte [] DecryptedText = AESDecrypt(tempText);
+
+ // get the number of times we're still allowed to run our application
+ ASCIIEncoding textConverter = new ASCIIEncoding();
+ String sDecryptedAsString = textConverter.GetString(DecryptedText);
+
+ // get the number of times we're still allowed to run our application
+ Int16 UsedCount = Convert.ToInt16(sDecryptedAsString);
+
+ if ( (String.Compare(LicInfo.MACAddress, sMyMACAddress, true) == 0) &&
+ (LicInfo.LicenseDays == 0 ||
+ ((DateTime.Compare(DateTime.Now, LicInfo.ExpiryDate) <= 0) &&
+ UsedCount < LicInfo.LicenseUsageCount) )
+ )
+ {
+ return true;
+ }
+ }
+ }
+ catch (Exception)
+ {
+ // only error is invalid license key, caught outside here.
+ // MessageBox.Show("Invalid License Key", "Invalid Key",
+ // MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return false;
+ }
+
+ return false;
+ }
+
+ public static bool IncrementProductUsage()
+ {
+ try
+ {
+ // attempt to open SubKey for reading/writing
+ RegistryKey DMTaggerRegistryKey = Registry.ClassesRoot.OpenSubKey("CLSID\\{907FFF06-A5E2-4f92-A87F-7C518BD43F95}", true);
+ Byte [] tmpText = (Byte [])DMTaggerRegistryKey.GetValue("Entry");
+
+ Byte [] DecryptedText = AESDecrypt(tmpText);
+
+ // get the number of times we're still allowed to run our application
+ ASCIIEncoding textConverter = new ASCIIEncoding();
+ String sDecryptedAsString = textConverter.GetString(DecryptedText);
+
+ Int16 UsedCount = Convert.ToInt16(sDecryptedAsString);
+
+ LicenseInfo LicInfo = new LicenseInfo();
+ if (IsValidLicense(LicInfo))
+ {
+ if (UsedCount < LicInfo.LicenseUsageCount)
+ {
+ UsedCount++;
+
+ String s= UsedCount.ToString();
+ ASCIIEncoding textConverter1 = new ASCIIEncoding();
+ Byte [] UsedCountBytes = textConverter1.GetBytes(s);
+ Byte [] text = AESEncrypt(UsedCountBytes);
+
+ DMTaggerRegistryKey.SetValue("Entry", text);
+ }
+ }
+
+ DMTaggerRegistryKey.Close();
+ }
+ catch (Exception)
+ {
+ // only error is invalid license key, caught outside herehandle errors here.
+ MessageBox.Show("Invalid Product Use Count", "Invalid Use Count",
+ MessageBoxButtons.OK, MessageBoxIcon.Error);
+ return false;
+ }
+ return true;
+ }
+
+
+ private void RepaintForm()
+ {
+ // AdapterInfo.
+ //char [] buffer;
+
+ // and get the MAC address
+/*
+ //memset(buffer, 0, sizeof(buffer));
+ //getmac(buffer, sizeof(buffer)-1);
+ String sMyMACAddress=null;
+ ManagementClass oMClass = new ManagementClass ("Win32_NetworkAdapterConfiguration");
+ ManagementObjectCollection colMObj = oMClass.GetInstances();
+ foreach (ManagementObject objMO in colMObj)
+ {
+ sMyMACAddress = objMO["MacAddress"].ToString();
+ }
+*/
+
+ // StreamWriter sw = new StreamWriter("c:\\dlb1.log",true);
+ string sMyMACAddress = GetMACAddress();
+ txtMACAddress.Text = sMyMACAddress;
+
+ // Check the license
+ try
+ {
+ RegistryKey DMTaggerRegistryKey = Registry.LocalMachine.OpenSubKey("Software\\CSIRO ICT\\DMTagger");
+ String tempText = (String)DMTaggerRegistryKey.GetValue("License");
+ DMTaggerRegistryKey.Close();
+
+ // Display the existing license
+ StringBuilder License = new StringBuilder();
+ this.NewLicenseKey.Text = tempText.ToString();
+
+ Char [] sBase64Message = new Char[tempText.Length];
+ tempText.CopyTo(0, sBase64Message, 0, tempText.Length);
+
+ LicenseInfo LicInfo = new LicenseInfo();
+
+ if (GetLicenseInfo(sBase64Message, LicInfo))
+ {
+ StringBuilder LicenseText = new StringBuilder();
+ //String sMyMACAddress = buffer;
+
+ if (String.Compare(LicInfo.MACAddress, sMyMACAddress, true) == 0)
+ {
+ if (LicInfo.LicenseDays == 0)
+ {
+ LicenseText.Append("Full License.");
+ }
+ else
+ {
+ LicenseText.Append(LicInfo.LicenseDays.ToString());
+ LicenseText.Append(" Day Trial.");
+
+ if (DateTime.Compare(DateTime.Now, LicInfo.ExpiryDate) > 0)
+ {
+ LicenseText.Append(" Expired ");
+ LicenseText.Append(LicInfo.ExpiryDate.ToString("d"));
+ LicenseText.Append(".");
+ }
+ else
+ {
+ LicenseText.Append(" Expires ");
+ LicenseText.Append(LicInfo.ExpiryDate.ToString("d"));
+ LicenseText.Append(".");
+ }
+
+ // this CLSID was generated using guidgen
+ RegistryKey DMTaggerRegistryKey1 = Registry.ClassesRoot.OpenSubKey("CLSID\\{907FFF06-A5E2-4f92-A87F-7C518BD43F95}");
+ Byte [] tempText1 = (Byte [])DMTaggerRegistryKey1.GetValue("Entry");
+ DMTaggerRegistryKey1.Close();
+
+ Byte [] DecryptedText = AESDecrypt(tempText1);
+
+ ASCIIEncoding textConverter = new ASCIIEncoding();
+ String sDecryptedAsString = textConverter.GetString(DecryptedText);
+
+ // get the number of times we've run our application
+ Int16 UsedCount = Convert.ToInt16(sDecryptedAsString);
+
+ LicenseText.Append("\n"); // start this one the next line.
+ LicenseText.Append(LicInfo.LicenseUsageCount - UsedCount);
+ LicenseText.Append("/");
+ LicenseText.Append(LicInfo.LicenseUsageCount.ToString());
+ LicenseText.Append(" uses left.");
+ }
+ }
+ else
+ {
+ LicenseText.Append("Incorrect MAC Address!");
+ }
+
+ lblCurrentLicenseText.Text = LicenseText.ToString();
+ }
+ }
+
+ catch (Exception)
+ {
+ // only error is invalid license key, caught outside here handle errors here.
+ // MessageBox not necessary as it says in the license dialog that there is no
+ // license when it's invalid
+ // MessageBox.Show("Invalid License Key", "Invalid Key",
+ // MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+
+ btnOK.Select();
+ }
+
+ public static Byte [] AESDecrypt(Byte [] sBinaryData)
+ {
+ Byte [] sDecrypted;
+
+ try
+ {
+ // And grab the Initialisation Vector off the front
+ Byte [] IV = new Byte[16];
+ Byte [] sMessage = new Byte[sBinaryData.Length - 16];
+
+ // separate out the message data
+ Array.Copy(sBinaryData, IV, 16);
+ Array.Copy(sBinaryData, 16, sMessage, 0, sBinaryData.Length - 16);
+
+ // md5 of CSIRO ICT 221105 = d18c911cf657a1826d7d05f24ede1afc
+ Byte [] Key =
+ {
+ //'C','S','I','R','O',' ','I','C','T',' ','2','2','1','1','0','5',
+ // make sure it doesn't look like an obvious string if you look through the file
+ 0xd1,0x8c,0x91,0x1c,0xf6,0x57,0xa1,0x82,0x6d,0x7d,0x05,0xf2,0x4e,0xde,0x1a,0xfc
+ };
+
+ // Try RIJNDAEL
+ RijndaelManaged myRijndael = new RijndaelManaged();
+
+ myRijndael.Mode = System.Security.Cryptography.CipherMode.CBC;
+ myRijndael.KeySize = 128;
+
+ // Get a decryptor that uses the same key and IV as the encryptor.
+ ICryptoTransform decryptor = myRijndael.CreateDecryptor(Key, IV);
+
+ // Now decrypt the previously encrypted message using the decryptor
+ // obtained in the above step.
+ MemoryStream msDecrypt = new MemoryStream(sMessage);
+ CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read);
+ sDecrypted = new Byte[sMessage.Length];
+
+ // Read the data out of the crypto stream.
+ csDecrypt.Read(sDecrypted, 0, sMessage.Length);
+
+ msDecrypt.Close();
+ csDecrypt.Close();
+ }
+ catch (Exception)
+ {
+ return null;
+ }
+
+ return sDecrypted;
+ }
+
+ public static Byte [] AESEncrypt(Byte [] sBinaryData)
+ {
+ Byte [] sEncrypted;
+ try
+ {
+ // md5 of CSIRO ICT 221105 = d18c911cf657a1826d7d05f24ede1afc
+ Byte [] Key =
+ {
+ //'C','S','I','R','O',' ','I','C','T',' ','2','2','1','1','0','5',
+ // make sure it doesn't look like an obvious string if you look through the file
+ 0xd1,0x8c,0x91,0x1c,0xf6,0x57,0xa1,0x82,0x6d,0x7d,0x05,0xf2,0x4e,0xde,0x1a,0xfc
+ };
+
+ // Try RIJNDAEL
+ RijndaelManaged myRijndael = new RijndaelManaged();
+
+ myRijndael.Mode = System.Security.Cryptography.CipherMode.CBC;
+ myRijndael.KeySize = 128;
+
+ // get a new Initialization Vector
+ myRijndael.GenerateIV();
+ Byte [] IV = myRijndael.IV;
+
+ // Get an encryptor that uses this key and IV.
+ ICryptoTransform encryptor = myRijndael.CreateEncryptor(Key, IV);
+
+ // Now encrypt the message
+ MemoryStream msEncrypt = new MemoryStream();
+ CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
+
+ // Read the data out of the crypto stream.
+ csEncrypt.Write(sBinaryData, 0, sBinaryData.Length);
+ csEncrypt.FlushFinalBlock();
+
+ Byte [] sMessage = msEncrypt.ToArray();
+
+ msEncrypt.Close();
+ csEncrypt.Close();
+
+ // And Add the Initialisation Vector to the front
+
+ //Byte IV[] = new Byte[16 + sMessage.Length];
+ //Byte sMessage[] = new Byte[sBinaryData.Length - 16];
+
+ sEncrypted = new Byte[16 + sMessage.Length];
+ // combine the IV and message
+ Array.Copy(IV, sEncrypted, 16);
+ Array.Copy(sMessage, 0, sEncrypted, 16, sMessage.Length);
+ }
+ catch (Exception)
+ {
+ return null;
+ }
+
+ return sEncrypted;
+ }
+
+ private static bool GetLicenseInfo(Char [] sBase64Message, LicenseInfo LicInfo)
+ {
+ Byte [] decryptedData;
+
+ try
+ {
+ // turn it into managed bytes since the decryption function
+ // needs these.
+ Byte [] binaryData = Convert.FromBase64CharArray(sBase64Message, 0,
+ sBase64Message.Length);
+
+ if ((decryptedData = AESDecrypt(binaryData)) == null)
+ {
+ throw new IOException("Couldn't decrypt license information");
+ }
+ }
+ catch (Exception)
+ {
+ if (LicInfo != null)
+ {
+ LicInfo.bLicenseValid = false;
+ }
+ return false;
+ }
+
+ // if they want the actual info back, fill it in.
+ if (LicInfo != null)
+ {
+ LicInfo.bLicenseValid = true;
+
+ //Convert the Byte array into a String.
+ ASCIIEncoding textConverter = new ASCIIEncoding();
+ String sDecryptedAsString = textConverter.GetString(decryptedData);
+
+ // and split into its components
+ // MACAddress, Product, Version, LicenseDays, LicenseUsageCount, ExpiryDate
+ Char [] delimChars = {','};
+ String [] sSplit = sDecryptedAsString.Split(delimChars,10);
+ LicInfo.MACAddress = sSplit[0];
+
+ LicInfo.MACAddress = LicInfo.MACAddress.ToUpper();
+ Char[] cMAC = LicInfo.MACAddress.ToCharArray();
+ LicInfo.MACAddress = ""; // empty it
+
+ // When we heck the MAC address, we check against an address with only Hex characters
+ // and no delimiters. So, convert this to that format.
+ for (int i=0; i < cMAC.Length; i++)
+ {
+ if ((cMAC[i] >= '0' && cMAC[i] <= '9') ||
+ (cMAC[i] >= 'A' && cMAC[i] <= 'F'))
+ {
+ // keep only hex digits.
+ LicInfo.MACAddress += cMAC[i];
+ }
+ }
+
+ LicInfo.Product = sSplit[1];
+ LicInfo.Version = sSplit[2];
+ LicInfo.LicenseDays = Convert.ToInt16(sSplit[3]);
+ LicInfo.LicenseUsageCount = Convert.ToInt16(sSplit[4]);
+ // Bloody Microsoft! Doesn't seem to work. Put the -'s between days
+ // and just use parse.
+ //LicInfo.ExpiryDate = DateTime.ParseExact(sSplit[5],"yyyyMMdd",NULL);
+ // "0\0" is due to the PHP string handling of a 0 date in the PHP 'date' class.
+ if (sSplit[5].Length == 0 || sSplit[5].StartsWith("0"))
+ {
+ // set the expiry date to now since we need a valid date.
+ // it's not actually used in this case since the full
+ // license is determined by the number of usages
+ // allowed==0.
+ LicInfo.ExpiryDate = DateTime.Now;
+ }
+ else
+ {
+ LicInfo.ExpiryDate = DateTime.Parse(sSplit[5]);
+ }
+
+ }
+
+ return true;
+ }
+
+ private void button1_Click(object sender, System.EventArgs e)
+ {
+ this.NewLicenseKey.Enabled = true;
+ this.btnApply.Enabled = true;
+ }
+ }
+}
+
Property changes on: AnxCreator/AnxCreate/frmLicense.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmLicense.resx
===================================================================
--- AnxCreator/AnxCreate/frmLicense.resx (rev 0)
+++ AnxCreator/AnxCreate/frmLicense.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="lblMACAddress.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblMACAddress.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMACAddress.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblCurrentLicense.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblCurrentLicense.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblCurrentLicense.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblCurrentLicenseText.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblCurrentLicenseText.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblCurrentLicenseText.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="NewLicenseKey.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="NewLicenseKey.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="NewLicenseKey.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnApply.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnApply.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnApply.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnLicenseKeyOnline.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnLicenseKeyOnline.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnLicenseKeyOnline.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpUpdateLicense.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpUpdateLicense.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpUpdateLicense.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpUpdateLicense.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpUpdateLicense.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpUpdateLicense.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="button1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="button1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="button1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMACAddress.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMACAddress.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtMACAddress.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Name">
+ <value>LicenseDialog</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmLicense.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmMain.cs
===================================================================
--- AnxCreator/AnxCreate/frmMain.cs (rev 0)
+++ AnxCreator/AnxCreate/frmMain.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,214 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmMain.
+ /// </summary>
+ public class frmMain : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.MainMenu mainMenu1;
+ private System.Windows.Forms.MenuItem menuItem1;
+ private System.Windows.Forms.MenuItem menuItem2;
+ private System.Windows.Forms.MenuItem menuItem3;
+ private System.Windows.Forms.MenuItem menuItem4;
+ private System.Windows.Forms.MenuItem menuItem5;
+ private System.Windows.Forms.MenuItem menuItem6;
+ private System.Windows.Forms.MenuItem menuItem7;
+ private System.Windows.Forms.MenuItem mniLoadProject;
+ private System.Windows.Forms.MenuItem menuItem8;
+ private System.Windows.Forms.MenuItem menuItem9;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public frmMain()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.mainMenu1 = new System.Windows.Forms.MainMenu();
+ this.menuItem1 = new System.Windows.Forms.MenuItem();
+ this.menuItem2 = new System.Windows.Forms.MenuItem();
+ this.mniLoadProject = new System.Windows.Forms.MenuItem();
+ this.menuItem3 = new System.Windows.Forms.MenuItem();
+ this.menuItem4 = new System.Windows.Forms.MenuItem();
+ this.menuItem5 = new System.Windows.Forms.MenuItem();
+ this.menuItem6 = new System.Windows.Forms.MenuItem();
+ this.menuItem9 = new System.Windows.Forms.MenuItem();
+ this.menuItem8 = new System.Windows.Forms.MenuItem();
+ this.menuItem7 = new System.Windows.Forms.MenuItem();
+ //
+ // mainMenu1
+ //
+ this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.menuItem1,
+ this.menuItem6});
+ //
+ // menuItem1
+ //
+ this.menuItem1.Index = 0;
+ this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.menuItem2,
+ this.mniLoadProject,
+ this.menuItem3,
+ this.menuItem4,
+ this.menuItem5});
+ this.menuItem1.Text = "&File";
+ //
+ // menuItem2
+ //
+ this.menuItem2.Index = 0;
+ this.menuItem2.Text = "&New Project...";
+ this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
+ //
+ // mniLoadProject
+ //
+ this.mniLoadProject.Index = 1;
+ this.mniLoadProject.Text = "Load Project...";
+ this.mniLoadProject.Click += new System.EventHandler(this.mniLoadProject_Click);
+ //
+ // menuItem3
+ //
+ this.menuItem3.Index = 2;
+ this.menuItem3.Text = "&Save Project...";
+ //
+ // menuItem4
+ //
+ this.menuItem4.Index = 3;
+ this.menuItem4.Text = "-";
+ //
+ // menuItem5
+ //
+ this.menuItem5.Index = 4;
+ this.menuItem5.Text = "E&xit";
+ //
+ // menuItem6
+ //
+ this.menuItem6.Index = 1;
+ this.menuItem6.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
+ this.menuItem9,
+ this.menuItem8,
+ this.menuItem7});
+ this.menuItem6.Text = "Help";
+ //
+ // menuItem9
+ //
+ this.menuItem9.Index = 0;
+ this.menuItem9.Shortcut = System.Windows.Forms.Shortcut.F1;
+ this.menuItem9.Text = "&Contents";
+ this.menuItem9.Click += new System.EventHandler(this.mniHelpContents_Click);
+ //
+ // menuItem8
+ //
+ this.menuItem8.Index = 1;
+ this.menuItem8.Text = "-";
+ //
+ // menuItem7
+ //
+ this.menuItem7.Index = 2;
+ this.menuItem7.Text = "&About AnxCreator...";
+ //
+ // frmMain
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(768, 462);
+ this.IsMdiContainer = true;
+ this.Menu = this.mainMenu1;
+ this.Name = "frmMain";
+ this.Text = "Annodex Creator";
+ this.Load += new System.EventHandler(this.frmMain_Load);
+
+ }
+ #endregion
+
+ private void frmMain_Load(object sender, System.EventArgs e)
+ {
+
+ }
+
+ private void menuItem2_Click(object sender, System.EventArgs e)
+ {
+ //New project.
+ frmNewProjectWizard locWizard = new frmNewProjectWizard();
+ locWizard.ShowDialog(this);
+ if (locWizard.WasOK)
+ {
+ frmEditTags locEditor = new frmEditTags(locWizard.Settings, true);
+ locEditor.MdiParent = this;
+ locEditor.Show();
+ }
+ }
+
+ private void mniLoadProject_Click(object sender, System.EventArgs e)
+ {
+ OpenFileDialog locOpenDialog = new OpenFileDialog();
+ locOpenDialog.DefaultExt = ".anxproj";
+ locOpenDialog.Filter = "Annodex Projects (*.anxproj)|*.anxproj";
+
+ DialogResult locResult = locOpenDialog.ShowDialog(this);
+
+ if (locResult == DialogResult.OK)
+ {
+ ProjectSettings locSettings = new ProjectSettings();
+ bool locWasOK = locSettings.loadSettingsXML(locOpenDialog.FileName);
+
+ if (locWasOK)
+ {
+ frmEditTags locEditor = new frmEditTags(locSettings, false);
+ locEditor.MdiParent = this;
+ locEditor.Show();
+ }
+ else
+ {
+ MessageBox.Show("The project file you selected is invalid or corrupted", "Invalid Project File", MessageBoxButtons.OK, MessageBoxIcon.Error);
+
+ }
+
+ }
+
+
+ }
+
+ private void mniHelpContents_Click(object sender, System.EventArgs e)
+ {
+ Help.ShowHelp(this, "anxcreator.chm");
+ }
+
+
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmMain.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmMain.resx
===================================================================
--- AnxCreator/AnxCreate/frmMain.resx (rev 0)
+++ AnxCreator/AnxCreate/frmMain.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="mainMenu1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mainMenu1.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="mainMenu1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniLoadProject.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="mniLoadProject.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem5.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem5.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem6.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem6.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem9.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem9.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem8.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem8.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem7.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="menuItem7.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmMain</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmMain.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmMetaTag.cs
===================================================================
--- AnxCreator/AnxCreate/frmMetaTag.cs (rev 0)
+++ AnxCreator/AnxCreate/frmMetaTag.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,254 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmMetaTag.
+ /// </summary>
+ public class frmMetaTag : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.Label lblNameFixed;
+ private System.Windows.Forms.Label lblValueFixed;
+ private System.Windows.Forms.Button cmdOK;
+ private System.Windows.Forms.Button cmdCancel;
+ private System.Windows.Forms.TextBox txtName;
+ private System.Windows.Forms.TextBox txtValue;
+ private System.ComponentModel.IContainer components;
+
+
+ //My data
+ public String MetaName;
+ public String MetaValue;
+ public String Scheme;
+ private System.Windows.Forms.TextBox txtScheme;
+ private System.Windows.Forms.Label lblSchemeFixed;
+ private System.Windows.Forms.ToolTip ttpMetaTags;
+ public bool WasOK;
+ //
+ public frmMetaTag()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+ MetaName = "";
+ MetaValue = "";
+ Scheme = "";
+ txtName.Text = "";
+ txtValue.Text = "";
+ txtScheme.Text = "";
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ public frmMetaTag(String inMetaName, String inMetaValue, String inScheme)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+ MetaName = "";
+ MetaValue = "";
+ Scheme = "";
+ txtName.Text = inMetaName;
+ txtValue.Text = inMetaValue;
+ txtScheme.Text = inScheme;
+
+ CheckOKEnabledStatus();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmMetaTag));
+ this.lblNameFixed = new System.Windows.Forms.Label();
+ this.lblValueFixed = new System.Windows.Forms.Label();
+ this.cmdOK = new System.Windows.Forms.Button();
+ this.cmdCancel = new System.Windows.Forms.Button();
+ this.txtName = new System.Windows.Forms.TextBox();
+ this.txtValue = new System.Windows.Forms.TextBox();
+ this.txtScheme = new System.Windows.Forms.TextBox();
+ this.lblSchemeFixed = new System.Windows.Forms.Label();
+ this.ttpMetaTags = new System.Windows.Forms.ToolTip(this.components);
+ this.SuspendLayout();
+ //
+ // lblNameFixed
+ //
+ this.lblNameFixed.Location = new System.Drawing.Point(16, 16);
+ this.lblNameFixed.Name = "lblNameFixed";
+ this.lblNameFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblNameFixed.TabIndex = 0;
+ this.lblNameFixed.Text = "&Name";
+ this.ttpMetaTags.SetToolTip(this.lblNameFixed, "Name for a key-value pair of metadata");
+ //
+ // lblValueFixed
+ //
+ this.lblValueFixed.Location = new System.Drawing.Point(16, 48);
+ this.lblValueFixed.Name = "lblValueFixed";
+ this.lblValueFixed.Size = new System.Drawing.Size(80, 24);
+ this.lblValueFixed.TabIndex = 10;
+ this.lblValueFixed.Text = "&Value";
+ this.ttpMetaTags.SetToolTip(this.lblValueFixed, "Value for a key-value pair of metadata");
+ //
+ // cmdOK
+ //
+ this.cmdOK.Enabled = false;
+ this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdOK.Location = new System.Drawing.Point(200, 120);
+ this.cmdOK.Name = "cmdOK";
+ this.cmdOK.Size = new System.Drawing.Size(80, 24);
+ this.cmdOK.TabIndex = 50;
+ this.cmdOK.Text = "&OK";
+ this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
+ //
+ // cmdCancel
+ //
+ this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCancel.Location = new System.Drawing.Point(288, 120);
+ this.cmdCancel.Name = "cmdCancel";
+ this.cmdCancel.Size = new System.Drawing.Size(80, 24);
+ this.cmdCancel.TabIndex = 51;
+ this.cmdCancel.Text = "&Cancel";
+ this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
+ //
+ // txtName
+ //
+ this.txtName.Location = new System.Drawing.Point(104, 8);
+ this.txtName.Name = "txtName";
+ this.txtName.Size = new System.Drawing.Size(264, 20);
+ this.txtName.TabIndex = 1;
+ this.txtName.Text = "";
+ this.ttpMetaTags.SetToolTip(this.txtName, "Name for a key-value pair of metadata");
+ this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
+ //
+ // txtValue
+ //
+ this.txtValue.Location = new System.Drawing.Point(104, 48);
+ this.txtValue.Name = "txtValue";
+ this.txtValue.Size = new System.Drawing.Size(264, 20);
+ this.txtValue.TabIndex = 11;
+ this.txtValue.Text = "";
+ this.ttpMetaTags.SetToolTip(this.txtValue, " for a key-value pair of metadata");
+ this.txtValue.TextChanged += new System.EventHandler(this.txtValue_TextChanged);
+ //
+ // txtScheme
+ //
+ this.txtScheme.Location = new System.Drawing.Point(104, 88);
+ this.txtScheme.Name = "txtScheme";
+ this.txtScheme.Size = new System.Drawing.Size(264, 20);
+ this.txtScheme.TabIndex = 21;
+ this.txtScheme.Text = "";
+ this.ttpMetaTags.SetToolTip(this.txtScheme, "Optional scheme name for this key-value pair");
+ //
+ // lblSchemeFixed
+ //
+ this.lblSchemeFixed.Location = new System.Drawing.Point(16, 88);
+ this.lblSchemeFixed.Name = "lblSchemeFixed";
+ this.lblSchemeFixed.Size = new System.Drawing.Size(80, 24);
+ this.lblSchemeFixed.TabIndex = 20;
+ this.lblSchemeFixed.Text = "&Scheme";
+ this.ttpMetaTags.SetToolTip(this.lblSchemeFixed, "Optional scheme name for this key-value pair");
+ //
+ // frmMetaTag
+ //
+ this.AcceptButton = this.cmdOK;
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.CancelButton = this.cmdCancel;
+ this.ClientSize = new System.Drawing.Size(384, 152);
+ this.Controls.Add(this.txtScheme);
+ this.Controls.Add(this.lblSchemeFixed);
+ this.Controls.Add(this.txtValue);
+ this.Controls.Add(this.txtName);
+ this.Controls.Add(this.cmdCancel);
+ this.Controls.Add(this.cmdOK);
+ this.Controls.Add(this.lblValueFixed);
+ this.Controls.Add(this.lblNameFixed);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmMetaTag";
+ this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Meta Tag Editor";
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void cmdOK_Click(object sender, System.EventArgs e)
+ {
+ MetaName = txtName.Text;
+ MetaValue = txtValue.Text;
+ Scheme = txtScheme.Text;
+ //TODO::: Need validation ?
+ WasOK = true;
+ Close();
+
+ }
+
+ private void cmdCancel_Click(object sender, System.EventArgs e)
+ {
+ MetaName = "";
+ MetaValue = "";
+ Scheme = "";
+ WasOK = false;
+ Close();
+
+
+ }
+
+ private void CheckOKEnabledStatus()
+ {
+ if ((txtValue.Text != "") && (txtName.Text != ""))
+ {
+ cmdOK.Enabled = true;
+ }
+ else
+ {
+ cmdOK.Enabled = false;
+ }
+ }
+
+ private void txtValue_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+
+ private void txtName_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnabledStatus();
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmMetaTag.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmMetaTag.resx
===================================================================
--- AnxCreator/AnxCreate/frmMetaTag.resx (rev 0)
+++ AnxCreator/AnxCreate/frmMetaTag.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,590 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="lblNameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblNameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblNameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblValueFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblValueFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblValueFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtValue.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtValue.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtValue.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtScheme.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtScheme.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtScheme.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblSchemeFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblSchemeFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblSchemeFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpMetaTags.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="ttpMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmMetaTag</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmMetaTag.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmNewProjectWizard.cs
===================================================================
--- AnxCreator/AnxCreate/frmNewProjectWizard.cs (rev 0)
+++ AnxCreator/AnxCreate/frmNewProjectWizard.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,485 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.IO;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmNewProjectWizard.
+ /// </summary>
+ public class frmNewProjectWizard : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.GroupBox grpFiles;
+ private System.Windows.Forms.Button cmdOK;
+ private System.Windows.Forms.Button cmdCancel;
+ private System.Windows.Forms.Label lblMediaFileFixed;
+ private System.Windows.Forms.TextBox txtMediaFile;
+ private System.Windows.Forms.Button cmdBrowseMediaFile;
+ private System.ComponentModel.IContainer components;
+
+ public ProjectSettings Settings;
+ private System.Windows.Forms.Label lblProjLocationFixed;
+ private System.Windows.Forms.TextBox txtProjLocation;
+ private System.Windows.Forms.Button cmdBrowseProjLocation;
+ private System.Windows.Forms.Label lblProjectNameFixed;
+ private System.Windows.Forms.TextBox txtProjectName;
+ private System.Windows.Forms.ToolTip ttpProjectName;
+ private System.Windows.Forms.ToolTip ttpMediaFile;
+ private System.Windows.Forms.ToolTip ttpProjectLocation;
+ private System.Windows.Forms.Label lblDeviceProfileFixed;
+ private System.Windows.Forms.ListBox lstDeviceProfile;
+ private System.Windows.Forms.Button cmdNewProfile;
+ private System.Windows.Forms.Button cmdEditProfile;
+ private System.Windows.Forms.Button cmdDelete;
+ public bool WasOK;
+
+ public frmNewProjectWizard()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+ Settings = new ProjectSettings();
+ WasOK = false;
+ LoadProfiles();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmNewProjectWizard));
+ this.grpFiles = new System.Windows.Forms.GroupBox();
+ this.cmdDelete = new System.Windows.Forms.Button();
+ this.cmdEditProfile = new System.Windows.Forms.Button();
+ this.cmdNewProfile = new System.Windows.Forms.Button();
+ this.lstDeviceProfile = new System.Windows.Forms.ListBox();
+ this.lblDeviceProfileFixed = new System.Windows.Forms.Label();
+ this.txtProjectName = new System.Windows.Forms.TextBox();
+ this.lblProjectNameFixed = new System.Windows.Forms.Label();
+ this.cmdBrowseProjLocation = new System.Windows.Forms.Button();
+ this.txtProjLocation = new System.Windows.Forms.TextBox();
+ this.lblProjLocationFixed = new System.Windows.Forms.Label();
+ this.cmdBrowseMediaFile = new System.Windows.Forms.Button();
+ this.txtMediaFile = new System.Windows.Forms.TextBox();
+ this.lblMediaFileFixed = new System.Windows.Forms.Label();
+ this.cmdOK = new System.Windows.Forms.Button();
+ this.cmdCancel = new System.Windows.Forms.Button();
+ this.ttpProjectName = new System.Windows.Forms.ToolTip(this.components);
+ this.ttpMediaFile = new System.Windows.Forms.ToolTip(this.components);
+ this.ttpProjectLocation = new System.Windows.Forms.ToolTip(this.components);
+ this.grpFiles.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // grpFiles
+ //
+ this.grpFiles.Controls.Add(this.cmdDelete);
+ this.grpFiles.Controls.Add(this.cmdEditProfile);
+ this.grpFiles.Controls.Add(this.cmdNewProfile);
+ this.grpFiles.Controls.Add(this.lstDeviceProfile);
+ this.grpFiles.Controls.Add(this.lblDeviceProfileFixed);
+ this.grpFiles.Controls.Add(this.txtProjectName);
+ this.grpFiles.Controls.Add(this.lblProjectNameFixed);
+ this.grpFiles.Controls.Add(this.cmdBrowseProjLocation);
+ this.grpFiles.Controls.Add(this.txtProjLocation);
+ this.grpFiles.Controls.Add(this.lblProjLocationFixed);
+ this.grpFiles.Controls.Add(this.cmdBrowseMediaFile);
+ this.grpFiles.Controls.Add(this.txtMediaFile);
+ this.grpFiles.Controls.Add(this.lblMediaFileFixed);
+ this.grpFiles.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.grpFiles.Location = new System.Drawing.Point(8, 16);
+ this.grpFiles.Name = "grpFiles";
+ this.grpFiles.Size = new System.Drawing.Size(480, 256);
+ this.grpFiles.TabIndex = 0;
+ this.grpFiles.TabStop = false;
+ this.grpFiles.Enter += new System.EventHandler(this.grpFiles_Enter);
+ //
+ // cmdDelete
+ //
+ this.cmdDelete.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdDelete.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdDelete.Location = new System.Drawing.Point(216, 272);
+ this.cmdDelete.Name = "cmdDelete";
+ this.cmdDelete.Size = new System.Drawing.Size(48, 24);
+ this.cmdDelete.TabIndex = 44;
+ this.cmdDelete.Text = "&Delete";
+ //
+ // cmdEditProfile
+ //
+ this.cmdEditProfile.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditProfile.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditProfile.Location = new System.Drawing.Point(424, 176);
+ this.cmdEditProfile.Name = "cmdEditProfile";
+ this.cmdEditProfile.Size = new System.Drawing.Size(48, 24);
+ this.cmdEditProfile.TabIndex = 43;
+ this.cmdEditProfile.Text = "&Edit";
+ this.cmdEditProfile.Click += new System.EventHandler(this.cmdEditProfile_Click);
+ //
+ // cmdNewProfile
+ //
+ this.cmdNewProfile.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdNewProfile.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdNewProfile.Location = new System.Drawing.Point(424, 144);
+ this.cmdNewProfile.Name = "cmdNewProfile";
+ this.cmdNewProfile.Size = new System.Drawing.Size(48, 24);
+ this.cmdNewProfile.TabIndex = 42;
+ this.cmdNewProfile.Text = "&New";
+ this.cmdNewProfile.Click += new System.EventHandler(this.cmdNewProfile_Click);
+ //
+ // lstDeviceProfile
+ //
+ this.lstDeviceProfile.Location = new System.Drawing.Point(104, 136);
+ this.lstDeviceProfile.Name = "lstDeviceProfile";
+ this.lstDeviceProfile.Size = new System.Drawing.Size(312, 108);
+ this.lstDeviceProfile.TabIndex = 41;
+ this.lstDeviceProfile.SelectedIndexChanged += new System.EventHandler(this.lstDeviceProfile_SelectedIndexChanged);
+ //
+ // lblDeviceProfileFixed
+ //
+ this.lblDeviceProfileFixed.Location = new System.Drawing.Point(8, 144);
+ this.lblDeviceProfileFixed.Name = "lblDeviceProfileFixed";
+ this.lblDeviceProfileFixed.Size = new System.Drawing.Size(88, 24);
+ this.lblDeviceProfileFixed.TabIndex = 40;
+ this.lblDeviceProfileFixed.Text = "De&vice Profile";
+ //
+ // txtProjectName
+ //
+ this.txtProjectName.Location = new System.Drawing.Point(104, 24);
+ this.txtProjectName.Name = "txtProjectName";
+ this.txtProjectName.Size = new System.Drawing.Size(312, 20);
+ this.txtProjectName.TabIndex = 11;
+ this.txtProjectName.Text = "";
+ this.txtProjectName.TextChanged += new System.EventHandler(this.txtProjectName_TextChanged);
+ //
+ // lblProjectNameFixed
+ //
+ this.lblProjectNameFixed.Location = new System.Drawing.Point(8, 24);
+ this.lblProjectNameFixed.Name = "lblProjectNameFixed";
+ this.lblProjectNameFixed.Size = new System.Drawing.Size(88, 24);
+ this.lblProjectNameFixed.TabIndex = 10;
+ this.lblProjectNameFixed.Text = "&Project Name";
+ //
+ // cmdBrowseProjLocation
+ //
+ this.cmdBrowseProjLocation.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdBrowseProjLocation.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdBrowseProjLocation.Location = new System.Drawing.Point(424, 104);
+ this.cmdBrowseProjLocation.Name = "cmdBrowseProjLocation";
+ this.cmdBrowseProjLocation.Size = new System.Drawing.Size(24, 24);
+ this.cmdBrowseProjLocation.TabIndex = 32;
+ this.cmdBrowseProjLocation.Text = "...";
+ this.cmdBrowseProjLocation.Click += new System.EventHandler(this.cmdBrowseProjLocation_Click);
+ //
+ // txtProjLocation
+ //
+ this.txtProjLocation.Location = new System.Drawing.Point(104, 104);
+ this.txtProjLocation.Name = "txtProjLocation";
+ this.txtProjLocation.Size = new System.Drawing.Size(312, 20);
+ this.txtProjLocation.TabIndex = 31;
+ this.txtProjLocation.Text = "";
+ this.txtProjLocation.TextChanged += new System.EventHandler(this.txtProjLocation_TextChanged);
+ //
+ // lblProjLocationFixed
+ //
+ this.lblProjLocationFixed.Location = new System.Drawing.Point(8, 104);
+ this.lblProjLocationFixed.Name = "lblProjLocationFixed";
+ this.lblProjLocationFixed.Size = new System.Drawing.Size(88, 24);
+ this.lblProjLocationFixed.TabIndex = 30;
+ this.lblProjLocationFixed.Text = "Project &Location";
+ //
+ // cmdBrowseMediaFile
+ //
+ this.cmdBrowseMediaFile.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdBrowseMediaFile.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdBrowseMediaFile.Location = new System.Drawing.Point(424, 64);
+ this.cmdBrowseMediaFile.Name = "cmdBrowseMediaFile";
+ this.cmdBrowseMediaFile.Size = new System.Drawing.Size(24, 24);
+ this.cmdBrowseMediaFile.TabIndex = 22;
+ this.cmdBrowseMediaFile.Text = "...";
+ this.cmdBrowseMediaFile.Click += new System.EventHandler(this.cmdBrowseMediaFile_Click);
+ //
+ // txtMediaFile
+ //
+ this.txtMediaFile.Location = new System.Drawing.Point(104, 64);
+ this.txtMediaFile.Name = "txtMediaFile";
+ this.txtMediaFile.Size = new System.Drawing.Size(312, 20);
+ this.txtMediaFile.TabIndex = 21;
+ this.txtMediaFile.Text = "";
+ this.txtMediaFile.TextChanged += new System.EventHandler(this.txtMediaFile_TextChanged);
+ //
+ // lblMediaFileFixed
+ //
+ this.lblMediaFileFixed.Location = new System.Drawing.Point(8, 64);
+ this.lblMediaFileFixed.Name = "lblMediaFileFixed";
+ this.lblMediaFileFixed.Size = new System.Drawing.Size(56, 24);
+ this.lblMediaFileFixed.TabIndex = 20;
+ this.lblMediaFileFixed.Text = "&Media File";
+ //
+ // cmdOK
+ //
+ this.cmdOK.Enabled = false;
+ this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdOK.Location = new System.Drawing.Point(320, 280);
+ this.cmdOK.Name = "cmdOK";
+ this.cmdOK.Size = new System.Drawing.Size(80, 24);
+ this.cmdOK.TabIndex = 50;
+ this.cmdOK.Text = "&OK";
+ this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
+ //
+ // cmdCancel
+ //
+ this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCancel.Location = new System.Drawing.Point(408, 280);
+ this.cmdCancel.Name = "cmdCancel";
+ this.cmdCancel.Size = new System.Drawing.Size(80, 24);
+ this.cmdCancel.TabIndex = 60;
+ this.cmdCancel.Text = "&Cancel";
+ this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
+ //
+ // frmNewProjectWizard
+ //
+ this.AcceptButton = this.cmdOK;
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.CancelButton = this.cmdCancel;
+ this.ClientSize = new System.Drawing.Size(496, 312);
+ this.Controls.Add(this.cmdCancel);
+ this.Controls.Add(this.cmdOK);
+ this.Controls.Add(this.grpFiles);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmNewProjectWizard";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Start New Project...";
+ this.Load += new System.EventHandler(this.frmNewProjectWizard_Load);
+ this.grpFiles.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void cmdOK_Click(object sender, System.EventArgs e)
+ {
+ if (!File.Exists(txtMediaFile.Text))
+ {
+ MessageBox.Show("The media file " + txtMediaFile.Text + " does not exist or you don't have sufficient permissions. Please select a new media file", "File does not exist", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ txtMediaFile.SelectAll();
+ txtMediaFile.Focus();
+ return;
+ }
+
+ if (!Directory.Exists(txtProjLocation.Text))
+ {
+ DialogResult locResult = MessageBox.Show("The project directory " + txtProjLocation.Text + " does not exist. Would you like to create it ?", "Directory does not exist", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+ if (locResult == DialogResult.Yes)
+ {
+ try
+ {
+ DirectoryInfo locInfo = Directory.CreateDirectory(txtProjLocation.Text);
+ }
+ catch
+ {
+ MessageBox.Show("The specified project directory (" + txtProjLocation.Text +") cannot be created. Ensure it is a valid name, and you have permission.");
+ return;
+ }
+ }
+ else
+ {
+ return;
+ }
+
+ }
+
+ Settings.setMediaFileName(txtMediaFile.Text);
+ Settings.setProjectLocation(txtProjLocation.Text);
+ Settings.setProjectName(txtProjectName.Text);
+ Settings.setProjectProfile(lstDeviceProfile.Text);
+ Settings.writeSettingsXML();
+ WasOK = true;
+ Close();
+ }
+
+ private void LoadProfiles()
+ {
+ lstDeviceProfile.Items.Clear();
+ String[] locFiles = Directory.GetFiles(System.Windows.Forms.Application.StartupPath + "\\profiles\\", "*.dpml");
+ cmdEditProfile.Enabled = false;
+ for (int i = 0; i < locFiles.Length; i++)
+ {
+ String locProfName = Path.GetFileNameWithoutExtension(locFiles[i]);
+ lstDeviceProfile.Items.Add(locProfName);
+ if (i == 0)
+ {
+ lstDeviceProfile.SelectedIndex = 0;
+ cmdEditProfile.Enabled = true;
+ }
+ }
+ }
+
+ private void cmdCancel_Click(object sender, System.EventArgs e)
+ {
+ WasOK = false;
+ Close();
+ }
+
+ private void cmdBrowseMediaFile_Click(object sender, System.EventArgs e)
+ {
+ OpenFileDialog locBrowse = new OpenFileDialog();
+ locBrowse.Title = "Select media file...";
+ locBrowse.Filter = "Media Files (*.mpg; *.mpeg; *.mp3; *.wmv; *.wma; *.avi; *.ogg; *.oga; *.ogv; *.flac; *.spx; *.wav; *.cda)|*.mpg;*.mpeg;*.mp3;*.wmv;*.wma;*.avi;*.ogg;*.oga;*.ogv;*.flac;*.spx;*.wav;*.cda|All Files(*.*)|*.*";
+ locBrowse.CheckFileExists = true;
+ DialogResult locResult = locBrowse.ShowDialog();
+ if (locResult == DialogResult.OK)
+ {
+ if (File.Exists(locBrowse.FileName))
+ {
+ txtMediaFile.Text = locBrowse.FileName;
+
+ // DLB. 3/11/2005. And set our default project directory to this
+ this.txtProjLocation.Text = System.IO.Directory.GetCurrentDirectory();
+ }
+ }
+ }
+
+ private void txtMediaFile_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnableStatus();
+ }
+
+ private void cmdBrowseProjLocation_Click(object sender, System.EventArgs e)
+ {
+ FolderBrowserDialog locFolderDialog = new FolderBrowserDialog();
+ System.IO.Directory.GetCurrentDirectory();
+ locFolderDialog.SelectedPath = System.IO.Directory.GetCurrentDirectory();
+ DialogResult locResult = locFolderDialog.ShowDialog();
+ if (locResult == DialogResult.OK)
+ {
+ txtProjLocation.Text = locFolderDialog.SelectedPath;
+ }
+ }
+
+ private void frmNewProjectWizard_Load(object sender, System.EventArgs e)
+ {
+ ttpProjectName.SetToolTip(lblProjectNameFixed, "Name of the project, and the default name for the CMML file");
+ ttpProjectLocation.SetToolTip(lblProjLocationFixed, "The directory that generated CMML and Annodex go");
+ ttpMediaFile.SetToolTip(lblMediaFileFixed, "The original media file you wish to annotate");
+ CheckOKEnableStatus();
+
+ }
+
+ private void CheckOKEnableStatus()
+ {
+ if ((txtMediaFile.Text != "") && (txtProjectName.Text != "") && (txtProjLocation.Text != "") && (lstDeviceProfile.SelectedIndex != -1))
+ {
+ cmdOK.Enabled = true;
+ }
+ else
+ {
+ cmdOK.Enabled = false;
+ }
+
+// if (lstDeviceProfile.SelectedIndex != -1)
+// {
+// cmdDelete.Enabled = true;
+// }
+// else
+// {
+// cmdDelete.Enabled = false;
+// }
+ }
+
+ private void SelectNamedProfile(String inProfile)
+ {
+
+ }
+ private void cmdNewProfile_Click(object sender, System.EventArgs e)
+ {
+ frmDeviceProfile locDevProfForm = new frmDeviceProfile();
+ locDevProfForm.ShowDialog(this);
+
+ if (locDevProfForm.WasOK)
+ {
+ LoadProfiles();
+ lstDeviceProfile.Text = locDevProfForm.ProfileName;
+
+
+ }
+ CheckOKEnableStatus();
+ }
+
+ private void grpFiles_Enter(object sender, System.EventArgs e)
+ {
+
+ }
+
+ private void txtProjectName_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnableStatus();
+ }
+
+ private void txtProjLocation_TextChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnableStatus();
+ }
+
+ private void lstDeviceProfile_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ CheckOKEnableStatus();
+ if (lstDeviceProfile.SelectedIndex >= 0)
+ {
+ cmdEditProfile.Enabled = true;
+ }
+ else
+ {
+ cmdEditProfile.Enabled = false;
+ }
+ }
+
+ private void cmdEditProfile_Click(object sender, System.EventArgs e)
+ {
+ String locSelProfName = System.Windows.Forms.Application.StartupPath + "\\profiles\\" + lstDeviceProfile.Text + ".dpml";
+ frmDeviceProfile locDevProfForm = new frmDeviceProfile(locSelProfName);
+ locDevProfForm.ShowDialog(this);
+ if (locDevProfForm.WasOK)
+ {
+ LoadProfiles();
+ lstDeviceProfile.Text = locDevProfForm.ProfileName;
+
+ }
+ CheckOKEnableStatus();
+ }
+
+// private void cmdDelete_Click(object sender, System.EventArgs e)
+// {
+// MessageBox.Show("Deleting a device profile may affect other projects which use it. Are you sure you want to delete ?", "Delete War
+// }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmNewProjectWizard.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmNewProjectWizard.resx
===================================================================
--- AnxCreator/AnxCreate/frmNewProjectWizard.resx (rev 0)
+++ AnxCreator/AnxCreate/frmNewProjectWizard.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,689 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="grpFiles.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpFiles.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpFiles.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpFiles.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpFiles.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpFiles.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdDelete.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdDelete.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdDelete.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditProfile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditProfile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditProfile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdNewProfile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdNewProfile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdNewProfile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstDeviceProfile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstDeviceProfile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lstDeviceProfile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDeviceProfileFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblDeviceProfileFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblDeviceProfileFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjectName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjectName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtProjectName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjectNameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProjectNameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjectNameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdBrowseProjLocation.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdBrowseProjLocation.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdBrowseProjLocation.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjLocation.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjLocation.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtProjLocation.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjLocationFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProjLocationFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjLocationFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdBrowseMediaFile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdBrowseMediaFile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdBrowseMediaFile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMediaFile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMediaFile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtMediaFile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMediaFileFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblMediaFileFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMediaFileFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpProjectName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpProjectName.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="ttpProjectName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpMediaFile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpMediaFile.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>146, 17</value>
+ </data>
+ <data name="ttpMediaFile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpProjectLocation.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpProjectLocation.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>258, 17</value>
+ </data>
+ <data name="ttpProjectLocation.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmNewProjectWizard</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmNewProjectWizard.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmNewTrack.cs
===================================================================
--- AnxCreator/AnxCreate/frmNewTrack.cs (rev 0)
+++ AnxCreator/AnxCreate/frmNewTrack.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,252 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmNewTrack.
+ /// </summary>
+ public class frmNewTrack : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.GroupBox grpNewTrack;
+ private System.Windows.Forms.GroupBox grpLangDirn;
+ private System.Windows.Forms.RadioButton optRTL;
+ private System.Windows.Forms.RadioButton optLTR;
+ private System.Windows.Forms.ComboBox cboLanguage;
+ private System.Windows.Forms.Label lblLanguageFixed;
+ private System.Windows.Forms.TextBox txtTrackName;
+ private System.Windows.Forms.Label lblTrackNameFixed;
+ private System.Windows.Forms.Button cmdOK;
+ private System.Windows.Forms.Button cmdCancel;
+ private System.ComponentModel.IContainer components;
+
+ public String TrackName;
+ public String Language;
+ public bool IsLTR;
+ private System.Windows.Forms.ToolTip ttpNewTrack;
+ public bool WasOK;
+
+ public frmNewTrack()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ TrackName = "";
+
+ Language = "";
+ IsLTR = true;
+ cboLanguage.SelectedIndex = 0;
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmNewTrack));
+ this.grpNewTrack = new System.Windows.Forms.GroupBox();
+ this.grpLangDirn = new System.Windows.Forms.GroupBox();
+ this.optRTL = new System.Windows.Forms.RadioButton();
+ this.optLTR = new System.Windows.Forms.RadioButton();
+ this.cboLanguage = new System.Windows.Forms.ComboBox();
+ this.lblLanguageFixed = new System.Windows.Forms.Label();
+ this.txtTrackName = new System.Windows.Forms.TextBox();
+ this.lblTrackNameFixed = new System.Windows.Forms.Label();
+ this.cmdOK = new System.Windows.Forms.Button();
+ this.cmdCancel = new System.Windows.Forms.Button();
+ this.ttpNewTrack = new System.Windows.Forms.ToolTip(this.components);
+ this.grpNewTrack.SuspendLayout();
+ this.grpLangDirn.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // grpNewTrack
+ //
+ this.grpNewTrack.Controls.Add(this.grpLangDirn);
+ this.grpNewTrack.Controls.Add(this.cboLanguage);
+ this.grpNewTrack.Controls.Add(this.lblLanguageFixed);
+ this.grpNewTrack.Controls.Add(this.txtTrackName);
+ this.grpNewTrack.Controls.Add(this.lblTrackNameFixed);
+ this.grpNewTrack.Location = new System.Drawing.Point(8, 16);
+ this.grpNewTrack.Name = "grpNewTrack";
+ this.grpNewTrack.Size = new System.Drawing.Size(320, 128);
+ this.grpNewTrack.TabIndex = 7;
+ this.grpNewTrack.TabStop = false;
+ //
+ // grpLangDirn
+ //
+ this.grpLangDirn.Controls.Add(this.optRTL);
+ this.grpLangDirn.Controls.Add(this.optLTR);
+ this.grpLangDirn.Location = new System.Drawing.Point(200, 48);
+ this.grpLangDirn.Name = "grpLangDirn";
+ this.grpLangDirn.Size = new System.Drawing.Size(112, 72);
+ this.grpLangDirn.TabIndex = 40;
+ this.grpLangDirn.TabStop = false;
+ this.grpLangDirn.Text = "&Direction";
+ this.ttpNewTrack.SetToolTip(this.grpLangDirn, "Direction of the selected language");
+ //
+ // optRTL
+ //
+ this.optRTL.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.optRTL.Location = new System.Drawing.Point(8, 40);
+ this.optRTL.Name = "optRTL";
+ this.optRTL.Size = new System.Drawing.Size(96, 24);
+ this.optRTL.TabIndex = 42;
+ this.optRTL.Text = "&Right To Left";
+ //
+ // optLTR
+ //
+ this.optLTR.Checked = true;
+ this.optLTR.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.optLTR.Location = new System.Drawing.Point(8, 16);
+ this.optLTR.Name = "optLTR";
+ this.optLTR.Size = new System.Drawing.Size(96, 24);
+ this.optLTR.TabIndex = 41;
+ this.optLTR.TabStop = true;
+ this.optLTR.Text = "&Left To Right";
+ //
+ // cboLanguage
+ //
+ this.cboLanguage.Items.AddRange(new object[] {
+ "en",
+ "da",
+ "de",
+ "fr",
+ "it"});
+ this.cboLanguage.Location = new System.Drawing.Point(80, 56);
+ this.cboLanguage.Name = "cboLanguage";
+ this.cboLanguage.Size = new System.Drawing.Size(104, 21);
+ this.cboLanguage.TabIndex = 21;
+ this.ttpNewTrack.SetToolTip(this.cboLanguage, "Default langauge for this track");
+ //
+ // lblLanguageFixed
+ //
+ this.lblLanguageFixed.Location = new System.Drawing.Point(8, 56);
+ this.lblLanguageFixed.Name = "lblLanguageFixed";
+ this.lblLanguageFixed.Size = new System.Drawing.Size(64, 24);
+ this.lblLanguageFixed.TabIndex = 20;
+ this.lblLanguageFixed.Text = "La&nguage";
+ this.ttpNewTrack.SetToolTip(this.lblLanguageFixed, "Default langauge for this track");
+ //
+ // txtTrackName
+ //
+ this.txtTrackName.Location = new System.Drawing.Point(80, 16);
+ this.txtTrackName.Name = "txtTrackName";
+ this.txtTrackName.Size = new System.Drawing.Size(232, 20);
+ this.txtTrackName.TabIndex = 11;
+ this.txtTrackName.Text = "";
+ this.ttpNewTrack.SetToolTip(this.txtTrackName, "Name of the track to create");
+ this.txtTrackName.TextChanged += new System.EventHandler(this.txtTrackName_TextChanged);
+ //
+ // lblTrackNameFixed
+ //
+ this.lblTrackNameFixed.Location = new System.Drawing.Point(8, 16);
+ this.lblTrackNameFixed.Name = "lblTrackNameFixed";
+ this.lblTrackNameFixed.Size = new System.Drawing.Size(72, 24);
+ this.lblTrackNameFixed.TabIndex = 10;
+ this.lblTrackNameFixed.Text = "&Track Name";
+ this.ttpNewTrack.SetToolTip(this.lblTrackNameFixed, "Name of the track to create");
+ //
+ // cmdOK
+ //
+ this.cmdOK.Enabled = false;
+ this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdOK.Location = new System.Drawing.Point(176, 152);
+ this.cmdOK.Name = "cmdOK";
+ this.cmdOK.Size = new System.Drawing.Size(72, 24);
+ this.cmdOK.TabIndex = 100;
+ this.cmdOK.Text = "&OK";
+ this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
+ //
+ // cmdCancel
+ //
+ this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdCancel.Location = new System.Drawing.Point(256, 152);
+ this.cmdCancel.Name = "cmdCancel";
+ this.cmdCancel.Size = new System.Drawing.Size(72, 24);
+ this.cmdCancel.TabIndex = 101;
+ this.cmdCancel.Text = "&Cancel";
+ this.cmdCancel.Click += new System.EventHandler(this.cmdCancel_Click);
+ //
+ // frmNewTrack
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(336, 182);
+ this.Controls.Add(this.cmdCancel);
+ this.Controls.Add(this.cmdOK);
+ this.Controls.Add(this.grpNewTrack);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmNewTrack";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "New Track...";
+ this.Load += new System.EventHandler(this.frmNewTrack_Load);
+ this.grpNewTrack.ResumeLayout(false);
+ this.grpLangDirn.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void cmdOK_Click(object sender, System.EventArgs e)
+ {
+ WasOK = true;
+ TrackName = txtTrackName.Text;
+
+ Language = cboLanguage.Text;
+ IsLTR = optLTR.Checked;
+ Close();
+ }
+
+ private void cmdCancel_Click(object sender, System.EventArgs e)
+ {
+ WasOK = false;
+ Close();
+ }
+
+ private void txtTrackName_TextChanged(object sender, System.EventArgs e)
+ {
+ if (txtTrackName.Text != "")
+ {
+ cmdOK.Enabled = true;
+ }
+ else
+ {
+ cmdOK.Enabled = false;
+ }
+ }
+
+ private void frmNewTrack_Load(object sender, System.EventArgs e)
+ {
+
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmNewTrack.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmNewTrack.resx
===================================================================
--- AnxCreator/AnxCreate/frmNewTrack.resx (rev 0)
+++ AnxCreator/AnxCreate/frmNewTrack.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,626 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="grpNewTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpNewTrack.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpNewTrack.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpNewTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpNewTrack.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpNewTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpLangDirn.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="grpLangDirn.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="grpLangDirn.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpLangDirn.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="grpLangDirn.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="grpLangDirn.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optRTL.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="optRTL.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optRTL.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optLTR.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="optLTR.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="optLTR.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cboLanguage.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cboLanguage.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cboLanguage.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblLanguageFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblLanguageFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblLanguageFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtTrackName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtTrackName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtTrackName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTrackNameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblTrackNameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTrackNameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpNewTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="ttpNewTrack.Location" type="System.Drawing.Point, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>17, 17</value>
+ </data>
+ <data name="ttpNewTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmNewTrack</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmNewTrack.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmOptions.cs
===================================================================
--- AnxCreator/AnxCreate/frmOptions.cs (rev 0)
+++ AnxCreator/AnxCreate/frmOptions.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,678 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.IO;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmOptions.
+ /// </summary>
+ public class frmOptions : System.Windows.Forms.Form, ICloneable
+ {
+ private System.Windows.Forms.ColumnHeader columnHeader1;
+ private System.Windows.Forms.ColumnHeader columnHeader2;
+ private System.Windows.Forms.ColumnHeader columnHeader3;
+ private System.Windows.Forms.ColumnHeader columnHeader7;
+ private System.Windows.Forms.ColumnHeader columnHeader8;
+ private System.Windows.Forms.ColumnHeader columnHeader9;
+ private System.Windows.Forms.ColumnHeader columnHeader10;
+ private System.Windows.Forms.ColumnHeader columnHeader11;
+ private System.Windows.Forms.ColumnHeader columnHeader12;
+ private System.Windows.Forms.TabControl tabHeadTag;
+ private System.Windows.Forms.TabPage tabPageHeadMeta;
+ private System.Windows.Forms.Button cmdEditHeadEditMeta;
+ private System.Windows.Forms.Button cmdEditHeadRemoveMeta;
+ private System.Windows.Forms.Button cmdEditHeadAddMeta;
+ private System.Windows.Forms.ColumnHeader columnHeader4;
+ private System.Windows.Forms.ColumnHeader columnHeader5;
+ private System.Windows.Forms.ColumnHeader columnHeader6;
+ private System.Windows.Forms.ColumnHeader columnHeader13;
+ private System.Windows.Forms.ColumnHeader columnHeader14;
+ private System.Windows.Forms.ColumnHeader columnHeader15;
+ private System.Windows.Forms.ColumnHeader columnHeader16;
+ private System.Windows.Forms.ColumnHeader columnHeader17;
+ private System.Windows.Forms.ColumnHeader columnHeader18;
+ private System.Windows.Forms.ColumnHeader columnHeader19;
+ private System.Windows.Forms.ColumnHeader columnHeader20;
+ private System.Windows.Forms.ColumnHeader columnHeader21;
+ private System.Windows.Forms.TabPage tabPageClipMeta;
+ private System.Windows.Forms.ColumnHeader columnHeader22;
+ private System.Windows.Forms.ColumnHeader columnHeader23;
+ private System.Windows.Forms.ColumnHeader columnHeader24;
+ private System.Windows.Forms.GroupBox groupDefaultMetaTags;
+ private System.Windows.Forms.Button btnOK;
+ private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Button cmdEditClipEditMeta;
+ private System.Windows.Forms.Button cmdEditClipRemoveMeta;
+ private System.Windows.Forms.Button cmdEditClipAddMeta;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public System.Windows.Forms.ListView listViewHeadMetaTags;
+ public System.Windows.Forms.ListView listViewClipMetaTags;
+
+ public frmOptions()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ public object Clone()
+ {
+ frmOptions locFrmOptions = new frmOptions();
+ foreach (ListViewItem locItem in this.listViewHeadMetaTags.Items)
+ {
+ ListViewItem locListItem = (ListViewItem)locItem.Clone();
+ locFrmOptions.listViewHeadMetaTags.Items.Add(locListItem);
+ }
+
+ foreach (ListViewItem locItem in this.listViewClipMetaTags.Items)
+ {
+ ListViewItem locListItem = (ListViewItem)locItem.Clone();
+ locFrmOptions.listViewClipMetaTags.Items.Add(locListItem);
+ }
+
+ return locFrmOptions;
+ }
+
+ public bool SaveToFile(String storedOptionsFileName)
+ {
+ try
+ {
+ StreamWriter locOutStream = File.CreateText(storedOptionsFileName);
+
+ locOutStream.WriteLine("<defaults>");
+ locOutStream.WriteLine();
+
+ // Store default Head Meta Tags
+ locOutStream.WriteLine("<head>");
+ foreach (ListViewItem locItem in this.listViewHeadMetaTags.Items)
+ {
+ locOutStream.Write("<meta name=\"");
+ locOutStream.Write(locItem.SubItems[0].Text.ToString());
+ locOutStream.Write("\" content=\"");
+ locOutStream.Write(locItem.SubItems[1].Text.ToString());
+ locOutStream.Write("\" scheme=\"");
+ locOutStream.Write(locItem.SubItems[2].Text.ToString());
+
+ locOutStream.Write("\"/>");
+ locOutStream.WriteLine();
+ }
+ locOutStream.WriteLine("</head>");
+
+ // Store default Clip Meta Tags
+ locOutStream.WriteLine();
+ locOutStream.WriteLine("<clip>");
+ foreach (ListViewItem locItem in this.listViewClipMetaTags.Items)
+ {
+ locOutStream.Write("<meta name=\"");
+ locOutStream.Write(locItem.SubItems[0].Text.ToString());
+ locOutStream.Write("\" content=\"");
+ locOutStream.Write(locItem.SubItems[1].Text.ToString());
+ locOutStream.Write("\" scheme=\"");
+ locOutStream.Write(locItem.SubItems[2].Text.ToString());
+
+ locOutStream.Write("\"/>");
+ locOutStream.WriteLine();
+ }
+ locOutStream.WriteLine("</clip>");
+
+ locOutStream.WriteLine();
+ locOutStream.WriteLine("</defaults>");
+
+ locOutStream.Close();
+ }
+ catch
+ {
+ return false;
+ }
+ return true;
+ }
+
+ public bool LoadFromFile(String storedOptionsFileName)
+ {
+ try
+ {
+ StreamReader locInStream = File.OpenText(storedOptionsFileName);
+ String sTemp;
+ bool bInHead = false;
+ bool bInClip = false;
+
+ listViewHeadMetaTags.Items.Clear();
+ listViewClipMetaTags.Items.Clear();
+ while ((sTemp = locInStream.ReadLine()) != null)
+ {
+ if (sTemp == "<head>")
+ {
+ bInHead = true;
+ }
+ else if (sTemp == "</head>")
+ {
+ bInHead = false;
+ }
+ if (sTemp == "<clip>")
+ {
+ bInClip = true;
+ }
+ else if (sTemp == "</clip>")
+ {
+ bInClip = false;
+ }
+ else if (sTemp.StartsWith("<meta"))
+ {
+ char []dDelimiters = {'\"'};
+ int iName = sTemp.IndexOf("name=\"");
+ iName += "name=\"".Length;
+ int iNameEnd = sTemp.IndexOfAny(dDelimiters, iName);
+
+ int iContent = sTemp.IndexOf("content=\"");
+ iContent += "content=\"".Length;
+ int iContentEnd = sTemp.IndexOfAny(dDelimiters, iContent);
+
+ int iScheme = sTemp.IndexOf("scheme=\"");
+ iScheme += "scheme=\"".Length;
+ int iSchemeEnd = sTemp.IndexOfAny(dDelimiters, iScheme);
+
+ String sName = sTemp.Substring(iName, iNameEnd - iName);
+ String sContent = sTemp.Substring(iContent, iContentEnd - iContent);
+ String sScheme = sTemp.Substring(iScheme, iSchemeEnd - iScheme);
+
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = sName.ToString();
+ locListItem.SubItems.Add(sContent.ToString());
+ locListItem.SubItems.Add(sScheme.ToString());
+ if (bInHead)
+ {
+ listViewHeadMetaTags.Items.Add(locListItem);
+ }
+ else if (bInClip)
+ {
+ listViewClipMetaTags.Items.Add(locListItem);
+ }
+ }
+ }
+ locInStream.Close();
+ }
+ catch
+ {
+ return false;
+ }
+
+ return true;
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader7 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader8 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader9 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader10 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader11 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader12 = new System.Windows.Forms.ColumnHeader();
+ this.tabHeadTag = new System.Windows.Forms.TabControl();
+ this.tabPageHeadMeta = new System.Windows.Forms.TabPage();
+ this.cmdEditHeadEditMeta = new System.Windows.Forms.Button();
+ this.listViewHeadMetaTags = new System.Windows.Forms.ListView();
+ this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader5 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader6 = new System.Windows.Forms.ColumnHeader();
+ this.cmdEditHeadRemoveMeta = new System.Windows.Forms.Button();
+ this.cmdEditHeadAddMeta = new System.Windows.Forms.Button();
+ this.tabPageClipMeta = new System.Windows.Forms.TabPage();
+ this.cmdEditClipEditMeta = new System.Windows.Forms.Button();
+ this.listViewClipMetaTags = new System.Windows.Forms.ListView();
+ this.columnHeader22 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader23 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader24 = new System.Windows.Forms.ColumnHeader();
+ this.cmdEditClipRemoveMeta = new System.Windows.Forms.Button();
+ this.cmdEditClipAddMeta = new System.Windows.Forms.Button();
+ this.columnHeader13 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader14 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader15 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader16 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader17 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader18 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader19 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader20 = new System.Windows.Forms.ColumnHeader();
+ this.columnHeader21 = new System.Windows.Forms.ColumnHeader();
+ this.groupDefaultMetaTags = new System.Windows.Forms.GroupBox();
+ this.btnOK = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.tabHeadTag.SuspendLayout();
+ this.tabPageHeadMeta.SuspendLayout();
+ this.tabPageClipMeta.SuspendLayout();
+ this.groupDefaultMetaTags.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // columnHeader1
+ //
+ this.columnHeader1.Text = "Name";
+ this.columnHeader1.Width = 85;
+ //
+ // columnHeader2
+ //
+ this.columnHeader2.Text = "Value";
+ this.columnHeader2.Width = 118;
+ //
+ // columnHeader3
+ //
+ this.columnHeader3.Text = "Scheme";
+ this.columnHeader3.Width = 105;
+ //
+ // columnHeader7
+ //
+ this.columnHeader7.Text = "Name";
+ this.columnHeader7.Width = 85;
+ //
+ // columnHeader8
+ //
+ this.columnHeader8.Text = "Value";
+ this.columnHeader8.Width = 118;
+ //
+ // columnHeader9
+ //
+ this.columnHeader9.Text = "Scheme";
+ this.columnHeader9.Width = 105;
+ //
+ // columnHeader10
+ //
+ this.columnHeader10.Text = "Name";
+ this.columnHeader10.Width = 85;
+ //
+ // columnHeader11
+ //
+ this.columnHeader11.Text = "Value";
+ this.columnHeader11.Width = 118;
+ //
+ // columnHeader12
+ //
+ this.columnHeader12.Text = "Scheme";
+ this.columnHeader12.Width = 105;
+ //
+ // tabHeadTag
+ //
+ this.tabHeadTag.Controls.Add(this.tabPageHeadMeta);
+ this.tabHeadTag.Controls.Add(this.tabPageClipMeta);
+ this.tabHeadTag.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.tabHeadTag.Location = new System.Drawing.Point(16, 24);
+ this.tabHeadTag.Name = "tabHeadTag";
+ this.tabHeadTag.SelectedIndex = 0;
+ this.tabHeadTag.Size = new System.Drawing.Size(360, 152);
+ this.tabHeadTag.TabIndex = 16;
+ //
+ // tabPageHeadMeta
+ //
+ this.tabPageHeadMeta.Controls.Add(this.cmdEditHeadEditMeta);
+ this.tabPageHeadMeta.Controls.Add(this.listViewHeadMetaTags);
+ this.tabPageHeadMeta.Controls.Add(this.cmdEditHeadRemoveMeta);
+ this.tabPageHeadMeta.Controls.Add(this.cmdEditHeadAddMeta);
+ this.tabPageHeadMeta.Location = new System.Drawing.Point(4, 22);
+ this.tabPageHeadMeta.Name = "tabPageHeadMeta";
+ this.tabPageHeadMeta.Size = new System.Drawing.Size(352, 126);
+ this.tabPageHeadMeta.TabIndex = 1;
+ this.tabPageHeadMeta.Text = "Head Meta Tags";
+ this.tabPageHeadMeta.Visible = false;
+ //
+ // cmdEditHeadEditMeta
+ //
+ this.cmdEditHeadEditMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditHeadEditMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditHeadEditMeta.Location = new System.Drawing.Point(208, 96);
+ this.cmdEditHeadEditMeta.Name = "cmdEditHeadEditMeta";
+ this.cmdEditHeadEditMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditHeadEditMeta.TabIndex = 22;
+ this.cmdEditHeadEditMeta.Text = "Edit...";
+ this.cmdEditHeadEditMeta.Click += new System.EventHandler(this.cmdEditHeadEditMeta_Click);
+ //
+ // listViewHeadMetaTags
+ //
+ this.listViewHeadMetaTags.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader4,
+ this.columnHeader5,
+ this.columnHeader6});
+ this.listViewHeadMetaTags.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.listViewHeadMetaTags.FullRowSelect = true;
+ this.listViewHeadMetaTags.GridLines = true;
+ this.listViewHeadMetaTags.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
+ this.listViewHeadMetaTags.Location = new System.Drawing.Point(8, 8);
+ this.listViewHeadMetaTags.Name = "listViewHeadMetaTags";
+ this.listViewHeadMetaTags.Size = new System.Drawing.Size(336, 80);
+ this.listViewHeadMetaTags.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.listViewHeadMetaTags.TabIndex = 20;
+ this.listViewHeadMetaTags.View = System.Windows.Forms.View.Details;
+ //
+ // columnHeader4
+ //
+ this.columnHeader4.Text = "Name";
+ this.columnHeader4.Width = 85;
+ //
+ // columnHeader5
+ //
+ this.columnHeader5.Text = "Value";
+ this.columnHeader5.Width = 118;
+ //
+ // columnHeader6
+ //
+ this.columnHeader6.Text = "Scheme";
+ this.columnHeader6.Width = 105;
+ //
+ // cmdEditHeadRemoveMeta
+ //
+ this.cmdEditHeadRemoveMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditHeadRemoveMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditHeadRemoveMeta.Location = new System.Drawing.Point(280, 96);
+ this.cmdEditHeadRemoveMeta.Name = "cmdEditHeadRemoveMeta";
+ this.cmdEditHeadRemoveMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditHeadRemoveMeta.TabIndex = 23;
+ this.cmdEditHeadRemoveMeta.Text = "Remove";
+ this.cmdEditHeadRemoveMeta.Click += new System.EventHandler(this.cmdEditHeadRemoveMeta_Click);
+ //
+ // cmdEditHeadAddMeta
+ //
+ this.cmdEditHeadAddMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditHeadAddMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditHeadAddMeta.Location = new System.Drawing.Point(136, 96);
+ this.cmdEditHeadAddMeta.Name = "cmdEditHeadAddMeta";
+ this.cmdEditHeadAddMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditHeadAddMeta.TabIndex = 21;
+ this.cmdEditHeadAddMeta.Text = "Add...";
+ this.cmdEditHeadAddMeta.Click += new System.EventHandler(this.cmdEditHeadAddMeta_Click);
+ //
+ // tabPageClipMeta
+ //
+ this.tabPageClipMeta.Controls.Add(this.cmdEditClipEditMeta);
+ this.tabPageClipMeta.Controls.Add(this.listViewClipMetaTags);
+ this.tabPageClipMeta.Controls.Add(this.cmdEditClipRemoveMeta);
+ this.tabPageClipMeta.Controls.Add(this.cmdEditClipAddMeta);
+ this.tabPageClipMeta.Location = new System.Drawing.Point(4, 22);
+ this.tabPageClipMeta.Name = "tabPageClipMeta";
+ this.tabPageClipMeta.Size = new System.Drawing.Size(352, 126);
+ this.tabPageClipMeta.TabIndex = 3;
+ this.tabPageClipMeta.Text = "Clip Meta Tags";
+ this.tabPageClipMeta.Visible = false;
+ //
+ // cmdEditClipEditMeta
+ //
+ this.cmdEditClipEditMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditClipEditMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditClipEditMeta.Location = new System.Drawing.Point(208, 96);
+ this.cmdEditClipEditMeta.Name = "cmdEditClipEditMeta";
+ this.cmdEditClipEditMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditClipEditMeta.TabIndex = 22;
+ this.cmdEditClipEditMeta.Text = "Edit...";
+ this.cmdEditClipEditMeta.Click += new System.EventHandler(this.cmdEditClipEditMeta_Click);
+ //
+ // listViewClipMetaTags
+ //
+ this.listViewClipMetaTags.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+ this.columnHeader22,
+ this.columnHeader23,
+ this.columnHeader24});
+ this.listViewClipMetaTags.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.listViewClipMetaTags.FullRowSelect = true;
+ this.listViewClipMetaTags.GridLines = true;
+ this.listViewClipMetaTags.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
+ this.listViewClipMetaTags.Location = new System.Drawing.Point(8, 8);
+ this.listViewClipMetaTags.Name = "listViewClipMetaTags";
+ this.listViewClipMetaTags.Size = new System.Drawing.Size(336, 80);
+ this.listViewClipMetaTags.Sorting = System.Windows.Forms.SortOrder.Ascending;
+ this.listViewClipMetaTags.TabIndex = 20;
+ this.listViewClipMetaTags.View = System.Windows.Forms.View.Details;
+ //
+ // columnHeader22
+ //
+ this.columnHeader22.Text = "Name";
+ this.columnHeader22.Width = 85;
+ //
+ // columnHeader23
+ //
+ this.columnHeader23.Text = "Value";
+ this.columnHeader23.Width = 118;
+ //
+ // columnHeader24
+ //
+ this.columnHeader24.Text = "Scheme";
+ this.columnHeader24.Width = 105;
+ //
+ // cmdEditClipRemoveMeta
+ //
+ this.cmdEditClipRemoveMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditClipRemoveMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditClipRemoveMeta.Location = new System.Drawing.Point(280, 96);
+ this.cmdEditClipRemoveMeta.Name = "cmdEditClipRemoveMeta";
+ this.cmdEditClipRemoveMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditClipRemoveMeta.TabIndex = 23;
+ this.cmdEditClipRemoveMeta.Text = "Remove";
+ this.cmdEditClipRemoveMeta.Click += new System.EventHandler(this.cmdEditClipRemoveMeta_Click);
+ //
+ // cmdEditClipAddMeta
+ //
+ this.cmdEditClipAddMeta.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdEditClipAddMeta.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdEditClipAddMeta.Location = new System.Drawing.Point(136, 96);
+ this.cmdEditClipAddMeta.Name = "cmdEditClipAddMeta";
+ this.cmdEditClipAddMeta.Size = new System.Drawing.Size(64, 24);
+ this.cmdEditClipAddMeta.TabIndex = 21;
+ this.cmdEditClipAddMeta.Text = "Add...";
+ this.cmdEditClipAddMeta.Click += new System.EventHandler(this.cmdEditClipAddMeta_Click);
+ //
+ // columnHeader13
+ //
+ this.columnHeader13.Text = "Name";
+ this.columnHeader13.Width = 85;
+ //
+ // columnHeader14
+ //
+ this.columnHeader14.Text = "Value";
+ this.columnHeader14.Width = 118;
+ //
+ // columnHeader15
+ //
+ this.columnHeader15.Text = "Scheme";
+ this.columnHeader15.Width = 105;
+ //
+ // columnHeader16
+ //
+ this.columnHeader16.Text = "Name";
+ this.columnHeader16.Width = 85;
+ //
+ // columnHeader17
+ //
+ this.columnHeader17.Text = "Value";
+ this.columnHeader17.Width = 118;
+ //
+ // columnHeader18
+ //
+ this.columnHeader18.Text = "Scheme";
+ this.columnHeader18.Width = 105;
+ //
+ // columnHeader19
+ //
+ this.columnHeader19.Text = "Name";
+ this.columnHeader19.Width = 85;
+ //
+ // columnHeader20
+ //
+ this.columnHeader20.Text = "Value";
+ this.columnHeader20.Width = 118;
+ //
+ // columnHeader21
+ //
+ this.columnHeader21.Text = "Scheme";
+ this.columnHeader21.Width = 105;
+ //
+ // groupDefaultMetaTags
+ //
+ this.groupDefaultMetaTags.Controls.Add(this.tabHeadTag);
+ this.groupDefaultMetaTags.Location = new System.Drawing.Point(8, 16);
+ this.groupDefaultMetaTags.Name = "groupDefaultMetaTags";
+ this.groupDefaultMetaTags.Size = new System.Drawing.Size(392, 200);
+ this.groupDefaultMetaTags.TabIndex = 17;
+ this.groupDefaultMetaTags.TabStop = false;
+ this.groupDefaultMetaTags.Text = "Default Meta Tags";
+ //
+ // btnOK
+ //
+ this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
+ this.btnOK.Location = new System.Drawing.Point(208, 232);
+ this.btnOK.Name = "btnOK";
+ this.btnOK.TabIndex = 18;
+ this.btnOK.Text = "OK";
+ this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
+ //
+ // btnCancel
+ //
+ this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.btnCancel.Location = new System.Drawing.Point(312, 232);
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.TabIndex = 19;
+ this.btnCancel.Text = "Cancel";
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // frmOptions
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(416, 270);
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.btnOK);
+ this.Controls.Add(this.groupDefaultMetaTags);
+ this.Name = "frmOptions";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "frmOptions";
+ this.tabHeadTag.ResumeLayout(false);
+ this.tabPageHeadMeta.ResumeLayout(false);
+ this.tabPageClipMeta.ResumeLayout(false);
+ this.groupDefaultMetaTags.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void AddMetaTag(System.Windows.Forms.ListView locListView)
+ {
+ // Show the add tag dialog
+ frmMetaTag locMetaForm = new frmMetaTag();
+ locMetaForm.ShowDialog(this);
+ if (locMetaForm.WasOK)
+ {
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = locMetaForm.MetaName;
+ locListItem.SubItems.Add(locMetaForm.MetaValue);
+ locListItem.SubItems.Add(locMetaForm.Scheme);
+ locListView.Items.Add(locListItem);
+ }
+ }
+
+ private void EditSelectedMetaTag(System.Windows.Forms.ListView locListView)
+ {
+ ListView.SelectedListViewItemCollection locSelectedItems = locListView.SelectedItems;
+ if (locSelectedItems.Count == 1)
+ {
+ foreach (ListViewItem locItem in locSelectedItems)
+ {
+ //ListViewItem locItem = locSelectedItems.Item[0];
+
+ //Show the edit tag dialog
+ frmMetaTag locMetaForm = new frmMetaTag(locItem.Text, locItem.SubItems[1].Text, locItem.SubItems[2].Text);
+ locMetaForm.ShowDialog(this);
+ if (locMetaForm.WasOK)
+ {
+ //Remove the current
+ locItem.Remove();
+
+ //Then add it after edited
+ ListViewItem locListItem = new ListViewItem();
+ locListItem.Text = locMetaForm.MetaName;
+ locListItem.SubItems.Add(locMetaForm.MetaValue);
+ locListItem.SubItems.Add(locMetaForm.Scheme);
+ locListView.Items.Add(locListItem);
+ }
+ }
+ }
+ }
+
+ private void RemoveSelectedMetaTag(System.Windows.Forms.ListView locListView)
+ {
+ ListView.SelectedListViewItemCollection locSelectedItems = locListView.SelectedItems;
+
+ foreach (ListViewItem locItem in locSelectedItems)
+ {
+ locItem.Remove();
+ }
+ }
+
+ private void cmdEditHeadAddMeta_Click(object sender, System.EventArgs e)
+ {
+ AddMetaTag(listViewHeadMetaTags);
+ }
+
+ private void cmdEditHeadEditMeta_Click(object sender, System.EventArgs e)
+ {
+ EditSelectedMetaTag(listViewHeadMetaTags);
+ }
+
+ private void cmdEditHeadRemoveMeta_Click(object sender, System.EventArgs e)
+ {
+ RemoveSelectedMetaTag(listViewHeadMetaTags);
+ }
+
+ private void cmdEditClipAddMeta_Click(object sender, System.EventArgs e)
+ {
+ AddMetaTag(listViewClipMetaTags);
+ }
+
+ private void cmdEditClipEditMeta_Click(object sender, System.EventArgs e)
+ {
+ EditSelectedMetaTag(listViewClipMetaTags);
+ }
+
+ private void cmdEditClipRemoveMeta_Click(object sender, System.EventArgs e)
+ {
+ RemoveSelectedMetaTag(listViewClipMetaTags);
+ }
+
+ private void btnOK_Click(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+
+ private void btnCancel_Click(object sender, System.EventArgs e)
+ {
+ Close();
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmOptions.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmOptions.resx
===================================================================
--- AnxCreator/AnxCreate/frmOptions.resx (rev 0)
+++ AnxCreator/AnxCreate/frmOptions.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,436 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="columnHeader1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader1.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader2.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader3.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader7.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader7.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader8.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader8.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader9.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader9.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader10.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader10.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader11.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader11.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader12.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader12.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabHeadTag.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabHeadTag.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabHeadTag.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabHeadTag.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabHeadTag.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabHeadTag.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="tabPageHeadMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabPageHeadMeta.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPageHeadMeta.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPageHeadMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPageHeadMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPageHeadMeta.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="cmdEditHeadEditMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditHeadEditMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadEditMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="listViewHeadMetaTags.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="listViewHeadMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="listViewHeadMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader4.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader4.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader5.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader5.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader6.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader6.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadRemoveMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditHeadRemoveMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadRemoveMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadAddMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditHeadAddMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditHeadAddMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPageClipMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="tabPageClipMeta.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPageClipMeta.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="tabPageClipMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPageClipMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="tabPageClipMeta.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="cmdEditClipEditMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditClipEditMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipEditMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="listViewClipMetaTags.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="listViewClipMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="listViewClipMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader22.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader22.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader23.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader23.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader24.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader24.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipRemoveMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditClipRemoveMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipRemoveMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipAddMeta.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdEditClipAddMeta.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdEditClipAddMeta.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader13.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader13.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader14.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader14.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader15.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader15.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader16.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader16.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader17.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader17.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader18.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader18.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader19.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader19.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader20.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader20.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader21.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="columnHeader21.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupDefaultMetaTags.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupDefaultMetaTags.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="groupDefaultMetaTags.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupDefaultMetaTags.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="groupDefaultMetaTags.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupDefaultMetaTags.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmOptions</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmOptions.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmProjectProperties.cs
===================================================================
--- AnxCreator/AnxCreate/frmProjectProperties.cs (rev 0)
+++ AnxCreator/AnxCreate/frmProjectProperties.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,514 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.IO;
+
+using illiminable.libDSPlayDotNET;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmProjectProperties.
+ /// </summary>
+ public class frmProjectProperties : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.Label lblProjectNameFixed;
+ private System.Windows.Forms.Label lblCMMLFilenameFixed;
+ private System.Windows.Forms.Label lblAnnodexFilenameFixed;
+ private System.Windows.Forms.Label lblProfileNameFixed;
+ private System.Windows.Forms.Label lblMediaFilenameFixed;
+ private System.Windows.Forms.Button cmdOK;
+ private System.Windows.Forms.Label lblProjectLocationFixed;
+ private System.Windows.Forms.Label lblVideoInfoFixed;
+ private System.Windows.Forms.TextBox txtProjectName;
+ private System.Windows.Forms.TextBox txtProjectLocation;
+ private System.Windows.Forms.TextBox txtCMMLFilename;
+ private System.Windows.Forms.TextBox txtAnnodexFilename;
+ private System.Windows.Forms.TextBox txtMediaFilename;
+ private System.Windows.Forms.TextBox txtVideoInfo;
+ private System.Windows.Forms.ListBox lstDeviceProfile;
+ private System.Windows.Forms.Button btnEdit;
+ private System.Windows.Forms.Button btnNew;
+ private System.Windows.Forms.Button btnCancel;
+ private System.Windows.Forms.Button btnDelete;
+ private System.Windows.Forms.Button cmdBrowseMediaFile;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public frmProjectProperties(ProjectSettings inSettings, DSPlay inPlayer)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+
+ // DLB. 20/5/2005. Make these look disabled as they are not editable here.
+ // Don't just disable them though as we need to be able to see long
+ // path names.
+ System.Drawing.Color locForegroundColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.ControlDark);
+ System.Drawing.Color locBackgroundColor = System.Drawing.Color.FromKnownColor(System.Drawing.KnownColor.ControlLight);
+
+ txtProjectName.ForeColor = locForegroundColor;
+ txtProjectLocation.ForeColor = locForegroundColor;
+ txtCMMLFilename.ForeColor = locForegroundColor;
+ txtAnnodexFilename.ForeColor = locForegroundColor;
+ //txtMediaFilename.ForeColor = locForegroundColor;
+ txtVideoInfo.ForeColor = locForegroundColor;
+
+ txtProjectName.BackColor = locBackgroundColor;
+ txtProjectLocation.BackColor = locBackgroundColor;
+ txtCMMLFilename.BackColor = locBackgroundColor;
+ txtAnnodexFilename.BackColor = locBackgroundColor;
+ //txtMediaFilename.BackColor = locBackgroundColor;
+ txtVideoInfo.BackColor = locBackgroundColor;
+ // END DLB. 20/5/2005.
+
+
+ txtProjectName.Text = inSettings.ProjectName();
+ txtProjectLocation.Text = inSettings.ProjectLocation();
+ txtCMMLFilename.Text = inSettings.ProjectLocation() + "\\"+inSettings.ProjectName()+".cmml";
+ txtAnnodexFilename.Text = inSettings.ProjectLocation() + "\\"+inSettings.ProjectName()+".anx";
+ lstDeviceProfile.Text = inSettings.ProjectProfile();
+ txtMediaFilename.Text = inSettings.MediaFileName();
+
+ // DLB. 19/8/2005. Add profile changes to the properties page
+ LoadProfiles();
+ lstDeviceProfile.Text = inSettings.ProjectProfile();
+
+ if (inPlayer != null)
+ {
+ String locVidInfo = "";
+ if ((inPlayer.videoHeight() != 0) && (inPlayer.videoWidth() != 0))
+ {
+ locVidInfo = inPlayer.videoWidth().ToString() + " x " + inPlayer.videoHeight().ToString();
+
+ if ((inPlayer.averageFrameRate() != 0))
+ {
+ Int64 locWholePart = inPlayer.averageFrameRate();
+ Int64 locFractPart = locWholePart % 100;
+ locWholePart /= 100;
+
+ locVidInfo = locVidInfo + " @ " + locWholePart.ToString();
+
+ if (locFractPart != 0)
+ {
+ locVidInfo = locVidInfo + "."+locFractPart.ToString();
+ }
+
+ locVidInfo = locVidInfo + " fps";
+ }
+ }
+
+ txtVideoInfo.Text = locVidInfo;
+ }
+ else
+ {
+ txtVideoInfo.Text = "";
+ }
+ cmdOK.Focus();
+
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmProjectProperties));
+ this.lblProjectNameFixed = new System.Windows.Forms.Label();
+ this.lblCMMLFilenameFixed = new System.Windows.Forms.Label();
+ this.lblAnnodexFilenameFixed = new System.Windows.Forms.Label();
+ this.lblProfileNameFixed = new System.Windows.Forms.Label();
+ this.lblMediaFilenameFixed = new System.Windows.Forms.Label();
+ this.lblVideoInfoFixed = new System.Windows.Forms.Label();
+ this.cmdOK = new System.Windows.Forms.Button();
+ this.lblProjectLocationFixed = new System.Windows.Forms.Label();
+ this.txtProjectName = new System.Windows.Forms.TextBox();
+ this.txtProjectLocation = new System.Windows.Forms.TextBox();
+ this.txtCMMLFilename = new System.Windows.Forms.TextBox();
+ this.txtAnnodexFilename = new System.Windows.Forms.TextBox();
+ this.txtMediaFilename = new System.Windows.Forms.TextBox();
+ this.txtVideoInfo = new System.Windows.Forms.TextBox();
+ this.btnEdit = new System.Windows.Forms.Button();
+ this.lstDeviceProfile = new System.Windows.Forms.ListBox();
+ this.btnNew = new System.Windows.Forms.Button();
+ this.btnCancel = new System.Windows.Forms.Button();
+ this.btnDelete = new System.Windows.Forms.Button();
+ this.cmdBrowseMediaFile = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // lblProjectNameFixed
+ //
+ this.lblProjectNameFixed.Location = new System.Drawing.Point(8, 16);
+ this.lblProjectNameFixed.Name = "lblProjectNameFixed";
+ this.lblProjectNameFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblProjectNameFixed.TabIndex = 0;
+ this.lblProjectNameFixed.Text = "Project Name";
+ this.lblProjectNameFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // lblCMMLFilenameFixed
+ //
+ this.lblCMMLFilenameFixed.Location = new System.Drawing.Point(8, 80);
+ this.lblCMMLFilenameFixed.Name = "lblCMMLFilenameFixed";
+ this.lblCMMLFilenameFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblCMMLFilenameFixed.TabIndex = 20;
+ this.lblCMMLFilenameFixed.Text = "CMML File";
+ this.lblCMMLFilenameFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // lblAnnodexFilenameFixed
+ //
+ this.lblAnnodexFilenameFixed.Location = new System.Drawing.Point(8, 112);
+ this.lblAnnodexFilenameFixed.Name = "lblAnnodexFilenameFixed";
+ this.lblAnnodexFilenameFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblAnnodexFilenameFixed.TabIndex = 30;
+ this.lblAnnodexFilenameFixed.Text = "Annodex File";
+ this.lblAnnodexFilenameFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // lblProfileNameFixed
+ //
+ this.lblProfileNameFixed.Location = new System.Drawing.Point(8, 248);
+ this.lblProfileNameFixed.Name = "lblProfileNameFixed";
+ this.lblProfileNameFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblProfileNameFixed.TabIndex = 40;
+ this.lblProfileNameFixed.Text = "Device Profile";
+ this.lblProfileNameFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // lblMediaFilenameFixed
+ //
+ this.lblMediaFilenameFixed.Location = new System.Drawing.Point(8, 144);
+ this.lblMediaFilenameFixed.Name = "lblMediaFilenameFixed";
+ this.lblMediaFilenameFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblMediaFilenameFixed.TabIndex = 50;
+ this.lblMediaFilenameFixed.Text = "Media File";
+ this.lblMediaFilenameFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // lblVideoInfoFixed
+ //
+ this.lblVideoInfoFixed.Location = new System.Drawing.Point(8, 176);
+ this.lblVideoInfoFixed.Name = "lblVideoInfoFixed";
+ this.lblVideoInfoFixed.Size = new System.Drawing.Size(80, 16);
+ this.lblVideoInfoFixed.TabIndex = 60;
+ this.lblVideoInfoFixed.Text = "Video Info";
+ this.lblVideoInfoFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // cmdOK
+ //
+ this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdOK.Location = new System.Drawing.Point(248, 376);
+ this.cmdOK.Name = "cmdOK";
+ this.cmdOK.Size = new System.Drawing.Size(72, 24);
+ this.cmdOK.TabIndex = 70;
+ this.cmdOK.Text = "&OK";
+ this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
+ //
+ // lblProjectLocationFixed
+ //
+ this.lblProjectLocationFixed.Location = new System.Drawing.Point(8, 48);
+ this.lblProjectLocationFixed.Name = "lblProjectLocationFixed";
+ this.lblProjectLocationFixed.Size = new System.Drawing.Size(88, 16);
+ this.lblProjectLocationFixed.TabIndex = 10;
+ this.lblProjectLocationFixed.Text = "Project Location";
+ this.lblProjectLocationFixed.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
+ //
+ // txtProjectName
+ //
+ this.txtProjectName.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.txtProjectName.Location = new System.Drawing.Point(96, 16);
+ this.txtProjectName.Name = "txtProjectName";
+ this.txtProjectName.ReadOnly = true;
+ this.txtProjectName.Size = new System.Drawing.Size(384, 20);
+ this.txtProjectName.TabIndex = 1;
+ this.txtProjectName.Text = "";
+ //
+ // txtProjectLocation
+ //
+ this.txtProjectLocation.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.txtProjectLocation.Location = new System.Drawing.Point(96, 48);
+ this.txtProjectLocation.Name = "txtProjectLocation";
+ this.txtProjectLocation.ReadOnly = true;
+ this.txtProjectLocation.Size = new System.Drawing.Size(384, 20);
+ this.txtProjectLocation.TabIndex = 11;
+ this.txtProjectLocation.Text = "";
+ //
+ // txtCMMLFilename
+ //
+ this.txtCMMLFilename.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.txtCMMLFilename.Location = new System.Drawing.Point(96, 80);
+ this.txtCMMLFilename.Name = "txtCMMLFilename";
+ this.txtCMMLFilename.ReadOnly = true;
+ this.txtCMMLFilename.Size = new System.Drawing.Size(384, 20);
+ this.txtCMMLFilename.TabIndex = 21;
+ this.txtCMMLFilename.Text = "";
+ //
+ // txtAnnodexFilename
+ //
+ this.txtAnnodexFilename.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.txtAnnodexFilename.Location = new System.Drawing.Point(96, 112);
+ this.txtAnnodexFilename.Name = "txtAnnodexFilename";
+ this.txtAnnodexFilename.ReadOnly = true;
+ this.txtAnnodexFilename.Size = new System.Drawing.Size(384, 20);
+ this.txtAnnodexFilename.TabIndex = 31;
+ this.txtAnnodexFilename.Text = "";
+ //
+ // txtMediaFilename
+ //
+ this.txtMediaFilename.BackColor = System.Drawing.SystemColors.Window;
+ this.txtMediaFilename.Location = new System.Drawing.Point(96, 144);
+ this.txtMediaFilename.Name = "txtMediaFilename";
+ this.txtMediaFilename.ReadOnly = true;
+ this.txtMediaFilename.Size = new System.Drawing.Size(344, 20);
+ this.txtMediaFilename.TabIndex = 51;
+ this.txtMediaFilename.Text = "";
+ //
+ // txtVideoInfo
+ //
+ this.txtVideoInfo.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.txtVideoInfo.Location = new System.Drawing.Point(96, 176);
+ this.txtVideoInfo.Name = "txtVideoInfo";
+ this.txtVideoInfo.ReadOnly = true;
+ this.txtVideoInfo.Size = new System.Drawing.Size(344, 20);
+ this.txtVideoInfo.TabIndex = 61;
+ this.txtVideoInfo.Text = "";
+ //
+ // btnEdit
+ //
+ this.btnEdit.Location = new System.Drawing.Point(416, 280);
+ this.btnEdit.Name = "btnEdit";
+ this.btnEdit.TabIndex = 71;
+ this.btnEdit.Text = "&Edit";
+ this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
+ //
+ // lstDeviceProfile
+ //
+ this.lstDeviceProfile.Location = new System.Drawing.Point(96, 240);
+ this.lstDeviceProfile.Name = "lstDeviceProfile";
+ this.lstDeviceProfile.Size = new System.Drawing.Size(312, 108);
+ this.lstDeviceProfile.TabIndex = 72;
+ this.lstDeviceProfile.SelectedIndexChanged += new System.EventHandler(this.lstDeviceProfile_SelectedIndexChanged);
+ //
+ // btnNew
+ //
+ this.btnNew.Location = new System.Drawing.Point(416, 248);
+ this.btnNew.Name = "btnNew";
+ this.btnNew.TabIndex = 73;
+ this.btnNew.Text = "&New";
+ this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
+ //
+ // btnCancel
+ //
+ this.btnCancel.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.btnCancel.Location = new System.Drawing.Point(336, 376);
+ this.btnCancel.Name = "btnCancel";
+ this.btnCancel.Size = new System.Drawing.Size(72, 24);
+ this.btnCancel.TabIndex = 75;
+ this.btnCancel.Text = "&Cancel";
+ this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
+ //
+ // btnDelete
+ //
+ this.btnDelete.Location = new System.Drawing.Point(416, 312);
+ this.btnDelete.Name = "btnDelete";
+ this.btnDelete.TabIndex = 76;
+ this.btnDelete.Text = "&Delete";
+ this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
+ //
+ // cmdBrowseMediaFile
+ //
+ this.cmdBrowseMediaFile.FlatStyle = System.Windows.Forms.FlatStyle.System;
+ this.cmdBrowseMediaFile.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
+ this.cmdBrowseMediaFile.Location = new System.Drawing.Point(456, 144);
+ this.cmdBrowseMediaFile.Name = "cmdBrowseMediaFile";
+ this.cmdBrowseMediaFile.Size = new System.Drawing.Size(24, 24);
+ this.cmdBrowseMediaFile.TabIndex = 77;
+ this.cmdBrowseMediaFile.Text = "...";
+ this.cmdBrowseMediaFile.Click += new System.EventHandler(this.cmdBrowseMediaFile_Click);
+ //
+ // frmProjectProperties
+ //
+ this.AcceptButton = this.cmdOK;
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(506, 408);
+ this.Controls.Add(this.cmdBrowseMediaFile);
+ this.Controls.Add(this.btnDelete);
+ this.Controls.Add(this.btnCancel);
+ this.Controls.Add(this.btnNew);
+ this.Controls.Add(this.lstDeviceProfile);
+ this.Controls.Add(this.btnEdit);
+ this.Controls.Add(this.txtVideoInfo);
+ this.Controls.Add(this.txtMediaFilename);
+ this.Controls.Add(this.txtAnnodexFilename);
+ this.Controls.Add(this.txtCMMLFilename);
+ this.Controls.Add(this.txtProjectLocation);
+ this.Controls.Add(this.txtProjectName);
+ this.Controls.Add(this.lblProjectLocationFixed);
+ this.Controls.Add(this.cmdOK);
+ this.Controls.Add(this.lblVideoInfoFixed);
+ this.Controls.Add(this.lblMediaFilenameFixed);
+ this.Controls.Add(this.lblProfileNameFixed);
+ this.Controls.Add(this.lblAnnodexFilenameFixed);
+ this.Controls.Add(this.lblCMMLFilenameFixed);
+ this.Controls.Add(this.lblProjectNameFixed);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "frmProjectProperties";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Project Properties";
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ private void cmdOK_Click(object sender, System.EventArgs e)
+ {
+ ProjectSettings Settings = new ProjectSettings();
+
+ Settings.setProjectName(txtProjectName.Text);
+ Settings.setMediaFileName(txtMediaFilename.Text);
+ Settings.setProjectLocation(txtProjectLocation.Text);
+ Settings.setProjectProfile(lstDeviceProfile.Text);
+ Settings.writeSettingsXML();
+
+ Close();
+ }
+
+ private void btnEdit_Click(object sender, System.EventArgs e)
+ {
+ String locSelProfName = System.Windows.Forms.Application.StartupPath + "\\profiles\\" + lstDeviceProfile.Text + ".dpml";
+ frmDeviceProfile locDevProfForm = new frmDeviceProfile(locSelProfName);
+ locDevProfForm.ShowDialog(this);
+ if (locDevProfForm.WasOK)
+ {
+ LoadProfiles();
+ lstDeviceProfile.Text = locDevProfForm.ProfileName;
+ }
+ // CheckOKEnableStatus();
+ }
+
+ private void btnNew_Click(object sender, System.EventArgs e)
+ {
+ frmDeviceProfile locDevProfForm = new frmDeviceProfile();
+ locDevProfForm.ShowDialog(this);
+
+ if (locDevProfForm.WasOK)
+ {
+ LoadProfiles();
+ lstDeviceProfile.Text = locDevProfForm.ProfileName;
+ }
+ //CheckOKEnableStatus();
+ }
+
+ private void lstDeviceProfile_SelectedIndexChanged(object sender, System.EventArgs e)
+ {
+ //CheckOKEnableStatus();
+ if (lstDeviceProfile.SelectedIndex >= 0 &&
+ lstDeviceProfile.Text.Length != 0)
+ {
+ cmdOK.Enabled = true;
+ btnCancel.Enabled = true;
+ }
+ else
+ {
+ cmdOK.Enabled = false;
+ btnCancel.Enabled = false;
+ }
+ }
+
+ private void LoadProfiles()
+ {
+ lstDeviceProfile.Items.Clear();
+ String[] locFiles = Directory.GetFiles(System.Windows.Forms.Application.StartupPath + "\\profiles\\", "*.dpml");
+ //cmdEditProfile.Enabled = false;
+ for (int i = 0; i < locFiles.Length; i++)
+ {
+ String locProfName = Path.GetFileNameWithoutExtension(locFiles[i]);
+ lstDeviceProfile.Items.Add(locProfName);
+ if (i == 0)
+ {
+ lstDeviceProfile.SelectedIndex = 0;
+ //cmdEditProfile.Enabled = true;
+ }
+ }
+ }
+
+ private void btnCancel_Click(object sender, System.EventArgs e)
+ {
+ // Cancelled so don't save the new settings
+ Close();
+ }
+
+ private void btnDelete_Click(object sender, System.EventArgs e)
+ {
+ if (lstDeviceProfile.Items.Count < 2)
+ {
+ DialogResult locResult = MessageBox.Show("The profile " + lstDeviceProfile.Text + " is the only profile.\nYou must have at least one profile", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ }
+ else
+ {
+ DialogResult locResult = MessageBox.Show("The profile " + lstDeviceProfile.Text + " will be deleted.\nAre you sure?", "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
+ if (locResult == DialogResult.Yes)
+ {
+ // Really want to delete it
+ string locFilename = System.Windows.Forms.Application.StartupPath + "\\profiles\\" + lstDeviceProfile.Text + ".dpml";
+
+ File.Delete(locFilename);
+ LoadProfiles();
+
+ lstDeviceProfile.ClearSelected();
+ btnCancel.Enabled = false;
+ cmdOK.Enabled = false;
+ }
+ }
+ }
+
+ private void cmdBrowseMediaFile_Click(object sender, System.EventArgs e)
+ {
+ // And let them know all is OK.
+ DialogResult locResult = MessageBox.Show(
+ "Changing this setting will change your Media Source File.\n\nYou should only do this if the new media file content is the same.\nOtherwise, your indexed clip times will no longer line up with the selected clips.", "Media File Change",
+ MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
+
+ if (locResult == DialogResult.OK)
+ {
+ OpenFileDialog locBrowse = new OpenFileDialog();
+ locBrowse.Title = "Select media file...";
+ locBrowse.Filter = "Media Files (*.mpg; *.mpeg; *.mp3; *.wmv; *.wma; *.avi; *.ogg; *.oga; *.ogv; *.flac; *.spx; *.wav; *.cda)|*.mpg;*.mpeg;*.mp3;*.wmv;*.wma;*.avi;*.ogg;*.oga;*.ogv;*.flac;*.spx;*.wav;*.cda|All Files(*.*)|*.*";
+ locBrowse.CheckFileExists = true;
+ locResult = locBrowse.ShowDialog();
+ if (locResult == DialogResult.OK)
+ {
+ if (File.Exists(locBrowse.FileName))
+ {
+ txtMediaFilename.Text = locBrowse.FileName;
+ }
+ }
+ }
+ }
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmProjectProperties.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmProjectProperties.resx
===================================================================
--- AnxCreator/AnxCreate/frmProjectProperties.resx (rev 0)
+++ AnxCreator/AnxCreate/frmProjectProperties.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,689 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="lblProjectNameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProjectNameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjectNameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblCMMLFilenameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblCMMLFilenameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblCMMLFilenameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblAnnodexFilenameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblAnnodexFilenameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblAnnodexFilenameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProfileNameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProfileNameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProfileNameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMediaFilenameFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblMediaFilenameFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblMediaFilenameFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVideoInfoFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblVideoInfoFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblVideoInfoFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjectLocationFixed.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblProjectLocationFixed.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblProjectLocationFixed.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjectName.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjectName.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtProjectName.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjectLocation.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtProjectLocation.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtProjectLocation.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtCMMLFilename.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtCMMLFilename.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtCMMLFilename.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtAnnodexFilename.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtAnnodexFilename.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtAnnodexFilename.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMediaFilename.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtMediaFilename.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtMediaFilename.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVideoInfo.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="txtVideoInfo.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="txtVideoInfo.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnEdit.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnEdit.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnEdit.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstDeviceProfile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lstDeviceProfile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lstDeviceProfile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnNew.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnNew.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnNew.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnDelete.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="btnDelete.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="btnDelete.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdBrowseMediaFile.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="cmdBrowseMediaFile.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="cmdBrowseMediaFile.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmProjectProperties</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>
+ AAABAAYAMDAAAAEACACoDgAAZgAAACAgAAABAAgAqAgAAA4PAAAQEAAAAQAIAGgFAAC2FwAAMDAAAAEA
+ IACoJQAAHh0AACAgAAABACAAqBAAAMZCAAAQEAAAAQAgAGgEAABuUwAAKAAAADAAAABgAAAAAQAIAAAA
+ AACACgAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAACAgIAAwMDAAAAA
+ /wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMwAAAGYAAACZAAAAzAAAAP8AAAAAMwAAMzMAAGYzAACZMwAAzDMAAP8zAAAAZgAAM2YAAGZm
+ AACZZgAAzGYAAP9mAAAAmQAAM5kAAGaZAACZmQAAzJkAAP+ZAAAAzAAAM8wAAGbMAACZzAAAzMwAAP/M
+ AAAA/wAAM/8AAGb/AACZ/wAAzP8AAP//AAAAADMAMwAzAGYAMwCZADMAzAAzAP8AMwAAMzMAMzMzAGYz
+ MwCZMzMAzDMzAP8zMwAAZjMAM2YzAGZmMwCZZjMAzGYzAP9mMwAAmTMAM5kzAGaZMwCZmTMAzJkzAP+Z
+ MwAAzDMAM8wzAGbMMwCZzDMAzMwzAP/MMwAA/zMAM/8zAGb/MwCZ/zMAzP8zAP//MwAAAGYAMwBmAGYA
+ ZgCZAGYAzABmAP8AZgAAM2YAMzNmAGYzZgCZM2YAzDNmAP8zZgAAZmYAM2ZmAGZmZgCZZmYAzGZmAP9m
+ ZgAAmWYAM5lmAGaZZgCZmWYAzJlmAP+ZZgAAzGYAM8xmAGbMZgCZzGYAzMxmAP/MZgAA/2YAM/9mAGb/
+ ZgCZ/2YAzP9mAP//ZgAAAJkAMwCZAGYAmQCZAJkAzACZAP8AmQAAM5kAMzOZAGYzmQCZM5kAzDOZAP8z
+ mQAAZpkAM2aZAGZmmQCZZpkAzGaZAP9mmQAAmZkAM5mZAGaZmQCZmZkAzJmZAP+ZmQAAzJkAM8yZAGbM
+ mQCZzJkAzMyZAP/MmQAA/5kAM/+ZAGb/mQCZ/5kAzP+ZAP//mQAAAMwAMwDMAGYAzACZAMwAzADMAP8A
+ zAAAM8wAMzPMAGYzzACZM8wAzDPMAP8zzAAAZswAM2bMAGZmzACZZswAzGbMAP9mzAAAmcwAM5nMAGaZ
+ zACZmcwAzJnMAP+ZzAAAzMwAM8zMAGbMzACZzMwAzMzMAP/MzAAA/8wAM//MAGb/zACZ/8wAzP/MAP//
+ zAAAAP8AMwD/AGYA/wCZAP8AzAD/AP8A/wAAM/8AMzP/AGYz/wCZM/8AzDP/AP8z/wAAZv8AM2b/AGZm
+ /wCZZv8AzGb/AP9m/wAAmf8AM5n/AGaZ/wCZmf8AzJn/AP+Z/wAAzP8AM8z/AGbM/wCZzP8AzMz/AP/M
+ /wAA//8AM///AGb//wCZ//8AzP//AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAADjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ 4+Pj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAA
+ AOPj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+Pj4wAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AADj4+MAAAAAAAAA4+PjAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAA
+ 4+PjAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAAAAAADj4+PjAAAA4+PjAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAA4+Pj4wAAAADj4+MAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAOPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAADj4+MAAOPj4wAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAADj4+PjAOPj4wAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj
+ 4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAAAOPj
+ 4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4+Pj4+Pj4wAAAAAAAAAAAOPj4wAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAOPj4+PjAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA
+ 4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP/f/3///wAA/4f+H///AAD/x/4f//8AAP/D/g///wAA/+P+D///AAD/4/4H//8AAP/h
+ /Af//wAA//H8R///AAD/8fxD//8AAP/w/GP//wAA//j8Yf//AAD/+Phx//8AAP/4ePD//wAA/wAAAAD/
+ AAD/AAAAAP8AAP8AAAAA/wAA//4w/H//AAD//jH8P/8AAP/+Ef4//wAA//8R/h//AAD//xH/H/8AAP//
+ Af8f/wAA//+D/w//AAD//4P/j/8AAP//g/+H/wAA///D/8f/AAD//8P/x/8AAP//x//H/wAA///v/+//
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP//
+ /////wAA////////AAAoAAAAIAAAAEAAAAABAAgAAAAAAIAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA
+ gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAAZgAAAJkAAADMAAAA/wAAAAAz
+ AAAzMwAAZjMAAJkzAADMMwAA/zMAAABmAAAzZgAAZmYAAJlmAADMZgAA/2YAAACZAAAzmQAAZpkAAJmZ
+ AADMmQAA/5kAAADMAAAzzAAAZswAAJnMAADMzAAA/8wAAAD/AAAz/wAAZv8AAJn/AADM/wAA//8AAAAA
+ MwAzADMAZgAzAJkAMwDMADMA/wAzAAAzMwAzMzMAZjMzAJkzMwDMMzMA/zMzAABmMwAzZjMAZmYzAJlm
+ MwDMZjMA/2YzAACZMwAzmTMAZpkzAJmZMwDMmTMA/5kzAADMMwAzzDMAZswzAJnMMwDMzDMA/8wzAAD/
+ MwAz/zMAZv8zAJn/MwDM/zMA//8zAAAAZgAzAGYAZgBmAJkAZgDMAGYA/wBmAAAzZgAzM2YAZjNmAJkz
+ ZgDMM2YA/zNmAABmZgAzZmYAZmZmAJlmZgDMZmYA/2ZmAACZZgAzmWYAZplmAJmZZgDMmWYA/5lmAADM
+ ZgAzzGYAZsxmAJnMZgDMzGYA/8xmAAD/ZgAz/2YAZv9mAJn/ZgDM/2YA//9mAAAAmQAzAJkAZgCZAJkA
+ mQDMAJkA/wCZAAAzmQAzM5kAZjOZAJkzmQDMM5kA/zOZAABmmQAzZpkAZmaZAJlmmQDMZpkA/2aZAACZ
+ mQAzmZkAZpmZAJmZmQDMmZkA/5mZAADMmQAzzJkAZsyZAJnMmQDMzJkA/8yZAAD/mQAz/5kAZv+ZAJn/
+ mQDM/5kA//+ZAAAAzAAzAMwAZgDMAJkAzADMAMwA/wDMAAAzzAAzM8wAZjPMAJkzzADMM8wA/zPMAABm
+ zAAzZswAZmbMAJlmzADMZswA/2bMAACZzAAzmcwAZpnMAJmZzADMmcwA/5nMAADMzAAzzMwAZszMAJnM
+ zADMzMwA/8zMAAD/zAAz/8wAZv/MAJn/zADM/8wA///MAAAA/wAzAP8AZgD/AJkA/wDMAP8A/wD/AAAz
+ /wAzM/8AZjP/AJkz/wDMM/8A/zP/AABm/wAzZv8AZmb/AJlm/wDMZv8A/2b/AACZ/wAzmf8AZpn/AJmZ
+ /wDMmf8A/5n/AADM/wAzzP8AZsz/AJnM/wDMzP8A/8z/AAD//wAz//8AZv//AJn//wDM//8A////AAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAOMAAAAAAAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAOPj4+MAAAAAAAAA
+ AAAAAAAAAADj4+MAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAAAAAOPj4+MAAAAAAAAAAADj4+Pj4wAA
+ AAAAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAOPj4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA4+Pj
+ 4+PjAAAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAAAAAAAAAADj4+MAAAAAAAAA
+ 4+PjAOPj4wAAAAAAAAAAAAAAAAAAAOPj4wAAAAAAAADj4+MA4+Pj4wAAAAAAAAAAAAAAAAAA4+Pj4wAA
+ AAAAAOPj4wAA4+PjAAAAAAAAAAAAAAAAAAAA4+PjAAAAAAAA4+PjAADj4+PjAAAAAAAAAAAAAAAAAADj
+ 4+MAAAAAAOPj4+MAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+MAAAAA4+PjAAAAAOPj4+MAAAAAAAAAAOPj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj
+ 4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4wAAAAAAAADj4+MAAOPj4+MAAAAAAADj4+MA
+ AAAAAAAAAAAAAAAAAOPj4wAA4+PjAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4wDj4+MAAAAAAAAA
+ AOPj4wAAAAAAAAAAAAAAAAAA4+PjAOPj4wAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+MA4+PjAAAA
+ AAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4+Pj4+MAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAAAOPj4+Pj
+ AAAAAAAAAAAAAOPj4+MAAAAAAAAAAAAAAAAA4+Pj4+MAAAAAAAAAAAAAAOPj4wAAAAAAAAAAAAAAAADj
+ 4+Pj4wAAAAAAAAAAAAAA4+Pj4wAAAAAAAAAAAAAAAADj4+PjAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAA
+ AAAAAOPj4+MAAAAAAAAAAAAAAADj4+MAAAAAAAAAAAAAAAAA4+PjAAAAAAAAAAAAAAAAAOPj4wAAAAAA
+ AAAAAAAAAAAA4wAAAAAAAAAAAAAAAAAAAOMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAD//////////9//f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h4
+ 8P8AAAAAAAAAAAAAAAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H
+ /8f/7//v/////ygAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////ADMz
+ /wAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYAMwAAAAAAMwAzADMAMzMAABYWFgAcHBwAIiIiACkp
+ KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAD/MwAAAGYAAACZAAAA
+ zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
+ ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAz/wAA/wAzADMA
+ ZgAzAJkAMwDMADMA/wD/MwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
+ /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
+ mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
+ AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
+ /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
+ /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
+ mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
+ MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
+ zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
+ ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
+ MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
+ /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
+ 4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAA
+ AAAAAAAAAAAAAAACAAAAAAAAAgAAAAAAAAAAAgIAAAAAAgICAAAAAAAAAAICAAAAAAICAgAAAAAAAAAA
+ AgIAAAACAgICAAAAAAAAAAICAAAAAgICAgAAAAAAAAAAAgAAAAICAAICAAAAAAICAgICAgICAgICAgIC
+ AgICAgICAgICAgICAgICAgICAAAAAgIAAgIAAAACAgAAAAAAAAACAgICAAAAAgIAAAAAAAAAAgICAgAA
+ AAACAgAAAAAAAAICAgAAAAAAAgIAAAAAAAAAAgIAAAAAAAACAAAAAAAAAAICAAAAAAAAAgAAAAAAAAAA
+ AAAAAAAAAAAAAP//AAC/fwAAnj8AAJ4/AADOHwAAzh8AAO5PAAAAAAAAAAAAAOTnAADw5wAA8PMAAPHz
+ AAD5+wAA+fsAAP//AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAzM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
+ AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD/3/9///8AAP+H
+ /h///wAA/8f+H///AAD/w/4P//8AAP/j/g///wAA/+P+B///AAD/4fwH//8AAP/x/Ef//wAA//H8Q///
+ AAD/8Pxj//8AAP/4/GH//wAA//j4cf//AAD/+Hjw//8AAP8AAAAA/wAA/wAAAAD/AAD/AAAAAP8AAP/+
+ MPx//wAA//4x/D//AAD//hH+P/8AAP//Ef4f/wAA//8R/x//AAD//wH/H/8AAP//g/8P/wAA//+D/4//
+ AAD//4P/h/8AAP//w//H/wAA///D/8f/AAD//8f/x/8AAP//7//v/wAA////////AAD///////8AAP//
+ /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAKAAAACAA
+ AABAAAAAAQAgAAAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8zM///AAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAADMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8AAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//wAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAzM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz
+ //8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAADMz//8zM///MzP//zMz
+ //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//zMz//8AAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz//8zM///MzP//wAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzM///MzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzP//zMz
+ //8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz
+ //8zM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAzM///MzP//zMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAMzP//zMz//8zM///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAADMz//8zM///MzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAMzP//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAADMz//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////9//
+ f/+H/h//x/4f/8P+D//j/g//4/4H/+H8B//x/Ef/8fxD//D8Y//4/GH/+Phx//h48P8AAAAAAAAAAAAA
+ AAD+MPx//jH8P/4R/j//Ef4f/xH/H/8B/x//g/8P/4P/j/+D/4f/w//H/8P/x//H/8f/7//v/////ygA
+ AAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz
+ /wAzM/8AMzP/ADMz/wAzM/8AMzP/ADMz/wAzM/8AAAAAAAAAAAAAAAAAMzP/PjMz/4gzM/8sMzP/ADMz
+ /wEzM/8BMzP/ADMz/zMzM/9/MzP/FzMz/wIzM/8BMzP/AAAAAAAAAAAAAAAAADMz/y8zM//qMzP/2DMz
+ /wwzM/8CMzP/BDMz/wAzM/9+MzP//zMz/5YzM/8AMzP/AzMz/wAAAAAAAAAAAAAAAAAzM/8AMzP/XjMz
+ //8zM/8oMzP/ADMz/wYzM/8AMzP/dTMz//8zM//wMzP/KTMz/wAzM/8BMzP/AAAAAAAAAAAAMzP/BDMz
+ /ygzM//yMzP/jzMz/wAzM/8BMzP/BzMz/+AzM//WMzP//zMz/3QzM/8AMzP/BDMz/wAAAAAAAAAAADMz
+ /wozM/8AMzP/1DMz/9czM/8OMzP/BTMz/wAzM///MzP/fTMz/8czM//fMzP/ATMz/wUzM/8FMzP/BDMz
+ /wQzM/8AMzP/ADMz/0wzM///MzP/ITMz/wAzM/8qMzP//jMz/1MzM/8jMzP//zMz/1czM/8AMzP/ADMz
+ /wAzM/8AMzP/hTMz/38zM/+lMzP//zMz/8IzM/9/MzP/wjMz//0zM/+KMzP/gTMz//8zM//lMzP/fzMz
+ /4AzM/9/MzP/gDMz//8zM///MzP/+jMz//AzM///MzP//zMz//8zM///MzP//zMz//8zM//tMzP//zMz
+ //4zM///MzP//zMz//8zM/8EMzP/CDMz/wUzM/9lMzP//DMz/ywzM//qMzP/vTMz/wozM/8FMzP/IDMz
+ //kzM/+cMzP/ADMz/wYzM/8DMzP/ADMz/wAzM/8AMzP/IjMz//kzM/+LMzP/5TMz/4wzM/8AMzP/BjMz
+ /wAzM/+RMzP/+jMz/yczM/8AMzP/ADMz/wEzM/8AMzP/ATMz/wAzM//MMzP/2zMz//IzM/97MzP/ATMz
+ /wYzM/8AMzP/ITMz//8zM/9mMzP/ADMz/wcAAAAAMzP/ADMz/wQzM/8BMzP/ZTMz//8zM//vMzP/ETMz
+ /wAzM/8AMzP/AjMz/wwzM//RMzP/2zMz/wozM/8GAAAAAAAAAAAzM/8BMzP/ADMz/x8zM//vMzP//zMz
+ /xMzM/8AMzP/ADMz/wEzM/8AMzP/STMz//8zM/9MMzP/AAAAAAAAAAAAMzP/ADMz/wAzM/8AMzP/zDMz
+ /5wzM/8FMzP/AjMz/wAzM/8AMzP/ADMz/xczM//hMzP/OTMz/wAAAAAAAAAAADMz/wAzM/8CMzP/BDMz
+ /zszM/8AMzP/ADMz/wEzM/8AMzP/ADMz/wAzM/8AMzP/STMz/wAzM/8B//8AAL9/AACePwAAnj8AAM4f
+ AADOHwAA7k8AAAAAAAAAAAAA5OcAAPDnAADw8wAA8fMAAPn7AAD5+wAA//8AAA==
+</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmProjectProperties.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmSelectTrack.cs
===================================================================
--- AnxCreator/AnxCreate/frmSelectTrack.cs (rev 0)
+++ AnxCreator/AnxCreate/frmSelectTrack.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,118 @@
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+
+namespace AnxCreate
+{
+ /// <summary>
+ /// Summary description for frmSelectTrack.
+ /// </summary>
+ public class frmSelectTrack : System.Windows.Forms.Form
+ {
+ public System.Windows.Forms.ComboBox comboBoxTrack;
+ private System.Windows.Forms.Label lblTrack;
+ private System.Windows.Forms.Button trkOK;
+ private System.Windows.Forms.Button trkCancel;
+ public int ResultOK;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public frmSelectTrack(TrackList locTrackList, String locWorkingTrackName)
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ for (int i=0; i < locTrackList.NumTracks(); i++)
+ {
+ comboBoxTrack.Items.Add(locTrackList.GetTrackName(i));
+ }
+ comboBoxTrack.SelectedItem = locWorkingTrackName;
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if(components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.comboBoxTrack = new System.Windows.Forms.ComboBox();
+ this.lblTrack = new System.Windows.Forms.Label();
+ this.trkOK = new System.Windows.Forms.Button();
+ this.trkCancel = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // comboBoxTrack
+ //
+ this.comboBoxTrack.Location = new System.Drawing.Point(72, 16);
+ this.comboBoxTrack.Name = "comboBoxTrack";
+ this.comboBoxTrack.Size = new System.Drawing.Size(168, 21);
+ this.comboBoxTrack.TabIndex = 0;
+ //
+ // lblTrack
+ //
+ this.lblTrack.Location = new System.Drawing.Point(16, 16);
+ this.lblTrack.Name = "lblTrack";
+ this.lblTrack.Size = new System.Drawing.Size(40, 16);
+ this.lblTrack.TabIndex = 1;
+ this.lblTrack.Text = "Track";
+ //
+ // trkOK
+ //
+ this.trkOK.DialogResult = System.Windows.Forms.DialogResult.OK;
+ this.trkOK.Location = new System.Drawing.Point(104, 56);
+ this.trkOK.Name = "trkOK";
+ this.trkOK.Size = new System.Drawing.Size(64, 23);
+ this.trkOK.TabIndex = 2;
+ this.trkOK.Text = "&OK";
+ //
+ // trkCancel
+ //
+ this.trkCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.trkCancel.Location = new System.Drawing.Point(176, 56);
+ this.trkCancel.Name = "trkCancel";
+ this.trkCancel.Size = new System.Drawing.Size(64, 23);
+ this.trkCancel.TabIndex = 3;
+ this.trkCancel.Text = "&Cancel";
+ //
+ // frmSelectTrack
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(256, 94);
+ this.Controls.Add(this.trkCancel);
+ this.Controls.Add(this.trkOK);
+ this.Controls.Add(this.lblTrack);
+ this.Controls.Add(this.comboBoxTrack);
+ this.Name = "frmSelectTrack";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Select Track";
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+ }
+}
Property changes on: AnxCreator/AnxCreate/frmSelectTrack.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/frmSelectTrack.resx
===================================================================
--- AnxCreator/AnxCreate/frmSelectTrack.resx (rev 0)
+++ AnxCreator/AnxCreate/frmSelectTrack.resx 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="comboBoxTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="comboBoxTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="comboBoxTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTrack.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="lblTrack.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="lblTrack.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkOK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="trkOK.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkOK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkCancel.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="trkCancel.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="trkCancel.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.Name">
+ <value>frmSelectTrack</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/frmSelectTrack.resx
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/iSplice.csproj
===================================================================
--- AnxCreator/AnxCreate/iSplice.csproj (rev 0)
+++ AnxCreator/AnxCreate/iSplice.csproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,323 @@
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.10.3077"
+ SchemaVersion = "2.0"
+ ProjectGuid = "{A2DD4A46-9A05-4165-9E22-1CB027B7908E}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = "..\ico\anx_icon_8.ico"
+ AssemblyKeyContainerName = ""
+ AssemblyName = "iSpliceNoObf"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "WinExe"
+ PreBuildEvent = ""
+ PostBuildEvent = 'if $(ConfigurationName) == Release Goto Release
copy $(TargetDir)\iSpliceNoObf.exe $(TargetDir)\iSplice.exe
Goto Next
:Release
"%VCINSTALLDIR%\\PreEmptive Solutions\Dotfuscator Community Edition\dotfuscator.exe" $(TargetDir)\obfuscateiSplice.xml

:Next
copy $(TargetDir)\Obfuscated\iSpliceNoObf.exe $(TargetDir)\iSplice.exe
copy $(SolutionDir)\help\*.chm $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLParse\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLParse\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLTags\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\codecs\cmml\libCMMLTags\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\helper\libTemporal
URI\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\..\oggdsf\src\lib\helper\libTemporalURI\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\dsfAudioResampleFilter\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\dsfAudioResampleFilter\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\dsfVideoResampleFilter\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\dsfVideoResampleFilter\$(ConfigurationName)\*.pdb $(TargetDir)
copy $(SolutionDir)\libDSGraphManip\$(ConfigurationName)\*.dll $(TargetDir)
copy $(SolutionDir)\libDSGraphManip\$(ConfigurationName)\*.pdb $(TargetDir)
mkdir $(TargetDir)\profiles
copy $(SolutionDir)\profiles\*.dpml $(TargetDir)\profiles\

'
+ RootNamespace = "iSplice"
+ RunPostBuildEvent = "OnBuildSuccess"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "true"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+ />
+ <Reference
+ Name = "System.Drawing"
+ AssemblyName = "System.Drawing"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll"
+ />
+ <Reference
+ Name = "System.Windows.Forms"
+ AssemblyName = "System.Windows.Forms"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+ />
+ <Reference
+ Name = "libCMMLTagsDotNET"
+ Project = "{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libDSPlayDotNET"
+ Project = "{E274665B-12E3-4C7F-A749-FAB0C0A73522}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libDSEncodeDotNET"
+ Project = "{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libCMMLParseDotNET"
+ Project = "{150940C1-A4EF-474D-8703-DF7100ABDA52}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "libTemporalURIDotNET"
+ Project = "{E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}"
+ Package = "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}"
+ />
+ <Reference
+ Name = "WMPLib"
+ Guid = "{6BF52A50-394A-11D3-B153-00C04F79FAA6}"
+ VersionMajor = "1"
+ VersionMinor = "0"
+ Lcid = "0"
+ WrapperTool = "tlbimp"
+ />
+ <Reference
+ Name = "AxWMPLib"
+ Guid = "{6BF52A50-394A-11D3-B153-00C04F79FAA6}"
+ VersionMajor = "1"
+ VersionMinor = "0"
+ Lcid = "0"
+ WrapperTool = "aximp"
+ />
+ <Reference
+ Name = "System.Management"
+ AssemblyName = "System.Management"
+ HintPath = "..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Management.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "anx_icon_8.ico"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "App.ico"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "AssemblyInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "CMMLTrack.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "cntrlClipList.cs"
+ SubType = "UserControl"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "cntrlClipList.resx"
+ DependentUpon = "cntrlClipList.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "cntrlSingleClip.cs"
+ SubType = "UserControl"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "cntrlSingleClip.resx"
+ DependentUpon = "cntrlSingleClip.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "DeviceProfile.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmAbout.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmAbout.resx"
+ DependentUpon = "frmAbout.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmCreateAnnodex.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmCreateAnnodex.resx"
+ DependentUpon = "frmCreateAnnodex.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmDeviceProfile.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmDeviceProfile.resx"
+ DependentUpon = "frmDeviceProfile.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmEditTags.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmEditTags.resx"
+ DependentUpon = "frmEditTags.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmInvalidTime.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmInvalidTime.resx"
+ DependentUpon = "frmInvalidTime.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmLicense.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmLicense.resx"
+ DependentUpon = "frmLicense.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmMetaTag.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmMetaTag.resx"
+ DependentUpon = "frmMetaTag.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmNewProjectWizard.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmNewProjectWizard.resx"
+ DependentUpon = "frmNewProjectWizard.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmNewTrack.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmNewTrack.resx"
+ DependentUpon = "frmNewTrack.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmOptions.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmOptions.resx"
+ DependentUpon = "frmOptions.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "frmProjectProperties.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "frmProjectProperties.resx"
+ DependentUpon = "frmProjectProperties.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "INotifyClipSelection.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "iSplice.exe.manifest"
+ BuildAction = "None"
+ />
+ <File
+ RelPath = "ProjectSettings.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "TimeConvert.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "TrackList.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Property changes on: AnxCreator/AnxCreate/iSplice.csproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/iSplice.csproj.user
===================================================================
--- AnxCreator/AnxCreate/iSplice.csproj.user (rev 0)
+++ AnxCreator/AnxCreate/iSplice.csproj.user 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,48 @@
+<VisualStudioProject>
+ <CSHARP LastOpenVersion = "7.10.3077" >
+ <Build>
+ <Settings ReferencePath = "" >
+ <Config
+ Name = "Debug"
+ EnableASPDebugging = "false"
+ EnableASPXDebugging = "false"
+ EnableUnmanagedDebugging = "true"
+ EnableSQLServerDebugging = "false"
+ RemoteDebugEnabled = "false"
+ RemoteDebugMachine = ""
+ StartAction = "Project"
+ StartArguments = ""
+ StartPage = ""
+ StartProgram = ""
+ StartURL = ""
+ StartWorkingDirectory = ""
+ StartWithIE = "true"
+ />
+ <Config
+ Name = "Release"
+ EnableASPDebugging = "false"
+ EnableASPXDebugging = "false"
+ EnableUnmanagedDebugging = "false"
+ EnableSQLServerDebugging = "false"
+ RemoteDebugEnabled = "false"
+ RemoteDebugMachine = ""
+ StartAction = "Project"
+ StartArguments = ""
+ StartPage = ""
+ StartProgram = ""
+ StartURL = ""
+ StartWorkingDirectory = ""
+ StartWithIE = "true"
+ />
+ </Settings>
+ </Build>
+ <OtherProjectSettings
+ CopyProjectDestinationFolder = ""
+ CopyProjectUncPath = ""
+ CopyProjectOption = "0"
+ ProjectView = "ShowAllFiles"
+ ProjectTrust = "0"
+ />
+ </CSHARP>
+</VisualStudioProject>
+
Property changes on: AnxCreator/AnxCreate/iSplice.csproj.user
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/iSplice.exe.manifest
===================================================================
--- AnxCreator/AnxCreate/iSplice.exe.manifest (rev 0)
+++ AnxCreator/AnxCreate/iSplice.exe.manifest 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+<description>.NET control deployment tool</description>
+<dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="X86"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+</dependency>
+</assembly>
\ No newline at end of file
Property changes on: AnxCreator/AnxCreate/iSplice.exe.manifest
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/AnxCreate/mediaProgressCursor.bmp
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/mediaProgressCursor.bmp
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/mediaProgressCursorLine.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/mediaProgressCursorLine.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreate/mediaProgressCursorPointer.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/AnxCreate/mediaProgressCursorPointer.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/AnxCreator.sln
===================================================================
--- AnxCreator/AnxCreator.sln (rev 0)
+++ AnxCreator/AnxCreator.sln 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,1103 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AnxCreate", "AnxCreate\AnxCreate.csproj", "{A2DD4A46-9A05-4165-9E22-1CB027B7908E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSPlayDotNET", "..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj", "{E274665B-12E3-4C7F-A749-FAB0C0A73522}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6} = {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTags", "..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj", "{AD38DCC6-B431-4B32-8569-74F3376EF2DA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTagsDotNET", "..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj", "{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiWrapper", "..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj", "{FCFE729D-EADE-45BA-9506-7E82A46403F7}"
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "DMTaggerDistrib", "builds\AnxCreateDistrib\AnxCreateDistrib.vdproj", "{DB42C9D0-A8A6-43B1-8276-5B8097A8C548}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "testDotNETCMMLTags", "testDotNETCMMLTags\testDotNETCMMLTags.csproj", "{440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfAudioResampleFilter", "dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj", "{14CE2180-B8A2-43F9-B010-C2D5EA556A36}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseClasses", "C:\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj", "{4CBC0173-27E6-4218-AE06-5EFDCA7B2547}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfVideoResampleFilter", "dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj", "{E01FCE63-1828-4416-A928-53678B3C5568}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSGraphManip", "libDSGraphManip\libDSGraphManip.vcproj", "{B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2} = {899EB7AD-26BF-4495-9BE5-EADECCC288B2}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libilliCore", "..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj", "{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGraphManip", "testGraphManip\testGraphManip.vcproj", "{7FFAF860-C775-495F-8F8B-2666A1948E53}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transcodeToOgg", "transcodeToOgg\transcodeToOgg.vcproj", "{D1A3081E-4472-497B-BC7B-9C1840FF73A1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libWinCMMLParse", "..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj", "{23BAAF7B-AEC3-4812-AA91-7E5061E83A39}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMMLToAnx", "CMMLToAnx\CMMLToAnx.vcproj", "{BAFD65D0-6442-4FED-8E05-F32848F404C3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSEncodeDotNET", "libDSEncodeDotNET\libDSEncodeDotNET.vcproj", "{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLParseDotNET", "..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj", "{150940C1-A4EF-474D-8703-DF7100ABDA52}"
+ ProjectSection(ProjectDependencies) = postProject
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2} = {899EB7AD-26BF-4495-9BE5-EADECCC288B2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libTemporalURI", "..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj", "{37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLParse", "..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj", "{899EB7AD-26BF-4495-9BE5-EADECCC288B2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libTemporalURIDotNET", "..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj", "{E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "TranscodeToOggDistrib", "TranscodeToOggDistrib\TranscodeToOggDistrib.vdproj", "{A2241FCF-FC64-4C1F-9E5D-6D064B563A96}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug Unicode|Any CPU = Debug Unicode|Any CPU
+ Debug Unicode|Mixed Platforms = Debug Unicode|Mixed Platforms
+ Debug Unicode|Win32 = Debug Unicode|Win32
+ Debug__cdecl|Any CPU = Debug__cdecl|Any CPU
+ Debug__cdecl|Mixed Platforms = Debug__cdecl|Mixed Platforms
+ Debug__cdecl|Win32 = Debug__cdecl|Win32
+ Debug_Static|Any CPU = Debug_Static|Any CPU
+ Debug_Static|Mixed Platforms = Debug_Static|Mixed Platforms
+ Debug_Static|Win32 = Debug_Static|Win32
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|Win32 = Debug|Win32
+ Release Unicode|Any CPU = Release Unicode|Any CPU
+ Release Unicode|Mixed Platforms = Release Unicode|Mixed Platforms
+ Release Unicode|Win32 = Release Unicode|Win32
+ Release__cdecl|Any CPU = Release__cdecl|Any CPU
+ Release__cdecl|Mixed Platforms = Release__cdecl|Mixed Platforms
+ Release__cdecl|Win32 = Release__cdecl|Win32
+ Release_SSE|Any CPU = Release_SSE|Any CPU
+ Release_SSE|Mixed Platforms = Release_SSE|Mixed Platforms
+ Release_SSE|Win32 = Release_SSE|Win32
+ Release_SSE2|Any CPU = Release_SSE2|Any CPU
+ Release_SSE2|Mixed Platforms = Release_SSE2|Mixed Platforms
+ Release_SSE2|Win32 = Release_SSE2|Win32
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode|Win32.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug__cdecl|Win32.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug_Static|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug_Static|Win32.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode|Any CPU.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode|Win32.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release__cdecl|Any CPU.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release__cdecl|Win32.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE|Any CPU.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE|Win32.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2|Any CPU.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2|Win32.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release|Win32.ActiveCfg = Release|Any CPU
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug|Win32.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode|Any CPU.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode|Win32.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode|Win32.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release__cdecl|Any CPU.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release__cdecl|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release__cdecl|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release__cdecl|Win32.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release__cdecl|Win32.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2|Mixed Platforms.Build.0 = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release|Any CPU.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release|Win32.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release|Win32.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode|Any CPU.ActiveCfg = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode|Win32.ActiveCfg = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode|Win32.Build.0 = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug__cdecl|Any CPU.ActiveCfg = Debug__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug__cdecl|Mixed Platforms.Build.0 = Debug__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug__cdecl|Win32.ActiveCfg = Debug__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug__cdecl|Win32.Build.0 = Debug__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug_Static|Any CPU.ActiveCfg = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug_Static|Mixed Platforms.ActiveCfg = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug_Static|Mixed Platforms.Build.0 = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug_Static|Win32.ActiveCfg = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug_Static|Win32.Build.0 = Debug_Static|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug|Win32.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode|Any CPU.ActiveCfg = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode|Win32.ActiveCfg = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode|Win32.Build.0 = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release__cdecl|Any CPU.ActiveCfg = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release__cdecl|Mixed Platforms.ActiveCfg = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release__cdecl|Mixed Platforms.Build.0 = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release__cdecl|Win32.ActiveCfg = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release__cdecl|Win32.Build.0 = Release__cdecl|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2|Mixed Platforms.Build.0 = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release|Any CPU.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release|Win32.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release|Win32.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug|Win32.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode|Any CPU.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode|Win32.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode|Win32.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release__cdecl|Any CPU.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release__cdecl|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release__cdecl|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release__cdecl|Win32.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release__cdecl|Win32.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2|Mixed Platforms.Build.0 = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release|Any CPU.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release|Win32.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release|Win32.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug|Win32.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode|Any CPU.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode|Win32.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode|Win32.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release__cdecl|Any CPU.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release__cdecl|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release__cdecl|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release__cdecl|Win32.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release__cdecl|Win32.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2|Mixed Platforms.Build.0 = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release|Any CPU.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release|Win32.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release|Win32.Build.0 = Release|Win32
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode|Any CPU.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode|Any CPU.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode|Mixed Platforms.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode|Win32.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode|Win32.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug__cdecl|Any CPU.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug__cdecl|Any CPU.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug__cdecl|Mixed Platforms.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug__cdecl|Win32.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug__cdecl|Win32.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug_Static|Any CPU.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug_Static|Any CPU.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug_Static|Mixed Platforms.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug_Static|Mixed Platforms.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug_Static|Win32.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug_Static|Win32.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug|Any CPU.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug|Any CPU.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug|Mixed Platforms.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug|Win32.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug|Win32.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode|Any CPU.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode|Any CPU.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode|Mixed Platforms.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode|Mixed Platforms.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode|Win32.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode|Win32.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release__cdecl|Any CPU.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release__cdecl|Any CPU.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release__cdecl|Mixed Platforms.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release__cdecl|Mixed Platforms.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release__cdecl|Win32.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release__cdecl|Win32.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE|Any CPU.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE|Any CPU.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE|Mixed Platforms.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE|Win32.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE|Win32.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2|Any CPU.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2|Any CPU.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2|Mixed Platforms.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2|Win32.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2|Win32.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release|Any CPU.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release|Any CPU.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release|Mixed Platforms.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release|Win32.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release|Win32.Build.0 = Release
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug Unicode|Any CPU.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug Unicode|Any CPU.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug Unicode|Win32.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug__cdecl|Any CPU.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug__cdecl|Win32.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug_Static|Any CPU.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug_Static|Any CPU.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug_Static|Mixed Platforms.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug_Static|Win32.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release Unicode|Any CPU.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release Unicode|Any CPU.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release Unicode|Mixed Platforms.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release Unicode|Win32.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release__cdecl|Any CPU.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release__cdecl|Any CPU.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release__cdecl|Mixed Platforms.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release__cdecl|Win32.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE|Any CPU.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE|Any CPU.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE|Mixed Platforms.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE|Win32.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE2|Any CPU.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE2|Any CPU.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE2|Mixed Platforms.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release_SSE2|Win32.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}.Release|Win32.ActiveCfg = Release|Any CPU
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug|Win32.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug|Win32.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode|Win32.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE|Win32.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release|Any CPU.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release|Win32.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release|Win32.Build.0 = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode|Any CPU.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode|Win32.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug__cdecl|Any CPU.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug__cdecl|Win32.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug_Static|Any CPU.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug_Static|Mixed Platforms.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug_Static|Win32.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode|Any CPU.ActiveCfg = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode|Mixed Platforms.ActiveCfg = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release__cdecl|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release__cdecl|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release__cdecl|Win32.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release|Any CPU.ActiveCfg = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release|Win32.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug|Win32.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode|Win32.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE|Win32.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release|Any CPU.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release|Win32.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release|Win32.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug|Win32.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode|Win32.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE|Win32.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release|Any CPU.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release|Win32.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release|Win32.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode|Any CPU.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode|Win32.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode|Win32.Build.0 = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug__cdecl|Any CPU.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug__cdecl|Mixed Platforms.Build.0 = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug__cdecl|Win32.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug__cdecl|Win32.Build.0 = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug_Static|Any CPU.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug_Static|Mixed Platforms.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug_Static|Mixed Platforms.Build.0 = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug_Static|Win32.ActiveCfg = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug_Static|Win32.Build.0 = Debug__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug|Win32.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode|Any CPU.ActiveCfg = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode|Win32.ActiveCfg = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode|Win32.Build.0 = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release__cdecl|Any CPU.ActiveCfg = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release__cdecl|Mixed Platforms.ActiveCfg = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release__cdecl|Mixed Platforms.Build.0 = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release__cdecl|Win32.ActiveCfg = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release__cdecl|Win32.Build.0 = Release__cdecl|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2|Mixed Platforms.Build.0 = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release|Any CPU.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release|Win32.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release|Win32.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug|Win32.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode|Win32.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE|Win32.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release|Any CPU.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release|Win32.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release|Win32.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug|Win32.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode|Win32.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE|Win32.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release|Any CPU.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release|Win32.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release|Win32.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug|Win32.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug|Win32.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode|Any CPU.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode|Win32.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode|Win32.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release__cdecl|Any CPU.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release__cdecl|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release__cdecl|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release__cdecl|Win32.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release__cdecl|Win32.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE|Any CPU.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE|Mixed Platforms.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE|Mixed Platforms.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE|Win32.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE|Win32.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2|Any CPU.ActiveCfg = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2|Mixed Platforms.ActiveCfg = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2|Mixed Platforms.Build.0 = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2|Win32.ActiveCfg = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2|Win32.Build.0 = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release|Any CPU.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release|Win32.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release|Win32.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug|Win32.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode|Win32.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE|Win32.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release|Any CPU.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release|Win32.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release|Win32.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug|Win32.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode|Win32.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE|Win32.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release|Any CPU.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release|Win32.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release|Win32.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug|Win32.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug|Win32.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode|Win32.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE|Win32.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release|Any CPU.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release|Win32.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release|Win32.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug|Win32.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug|Win32.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode|Win32.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE|Win32.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release|Any CPU.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release|Win32.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release|Win32.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode|Any CPU.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode|Win32.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode|Win32.Build.0 = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug__cdecl|Any CPU.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug__cdecl|Mixed Platforms.Build.0 = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug__cdecl|Win32.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug__cdecl|Win32.Build.0 = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug_Static|Any CPU.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug_Static|Mixed Platforms.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug_Static|Mixed Platforms.Build.0 = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug_Static|Win32.ActiveCfg = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug_Static|Win32.Build.0 = Debug_Static|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug|Win32.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode|Win32.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE|Win32.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release|Any CPU.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release|Win32.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release|Win32.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode|Any CPU.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode|Mixed Platforms.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode|Win32.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode|Win32.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug__cdecl|Any CPU.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug__cdecl|Mixed Platforms.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug__cdecl|Win32.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug__cdecl|Win32.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug_Static|Any CPU.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug_Static|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug_Static|Mixed Platforms.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug_Static|Win32.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug_Static|Win32.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug|Win32.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode|Any CPU.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode|Mixed Platforms.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode|Mixed Platforms.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode|Win32.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode|Win32.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release__cdecl|Any CPU.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release__cdecl|Mixed Platforms.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release__cdecl|Mixed Platforms.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release__cdecl|Win32.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release__cdecl|Win32.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE|Any CPU.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE|Mixed Platforms.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE|Mixed Platforms.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE|Win32.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE|Win32.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2|Any CPU.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2|Mixed Platforms.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2|Mixed Platforms.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2|Win32.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2|Win32.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release|Any CPU.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release|Win32.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release|Win32.Build.0 = Release|Win32
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug Unicode|Any CPU.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug Unicode|Any CPU.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug Unicode|Mixed Platforms.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug Unicode|Mixed Platforms.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug Unicode|Win32.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug Unicode|Win32.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug__cdecl|Any CPU.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug__cdecl|Any CPU.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug__cdecl|Mixed Platforms.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug__cdecl|Mixed Platforms.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug__cdecl|Win32.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug__cdecl|Win32.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug_Static|Any CPU.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug_Static|Any CPU.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug_Static|Mixed Platforms.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug_Static|Mixed Platforms.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug_Static|Win32.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug_Static|Win32.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug|Any CPU.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug|Any CPU.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug|Mixed Platforms.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug|Mixed Platforms.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug|Win32.ActiveCfg = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Debug|Win32.Build.0 = Debug
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release Unicode|Any CPU.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release Unicode|Any CPU.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release Unicode|Mixed Platforms.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release Unicode|Mixed Platforms.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release Unicode|Win32.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release Unicode|Win32.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release__cdecl|Any CPU.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release__cdecl|Any CPU.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release__cdecl|Mixed Platforms.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release__cdecl|Mixed Platforms.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release__cdecl|Win32.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release__cdecl|Win32.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE|Any CPU.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE|Any CPU.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE|Mixed Platforms.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE|Mixed Platforms.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE|Win32.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE|Win32.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE2|Any CPU.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE2|Any CPU.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE2|Mixed Platforms.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE2|Mixed Platforms.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE2|Win32.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release_SSE2|Win32.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release|Any CPU.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release|Any CPU.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release|Mixed Platforms.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release|Mixed Platforms.Build.0 = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release|Win32.ActiveCfg = Release
+ {A2241FCF-FC64-4C1F-9E5D-6D064B563A96}.Release|Win32.Build.0 = Release
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
Property changes on: AnxCreator/AnxCreator.sln
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/CMMLToAnx/CMMLToAnx.cpp
===================================================================
--- AnxCreator/CMMLToAnx/CMMLToAnx.cpp (rev 0)
+++ AnxCreator/CMMLToAnx/CMMLToAnx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,119 @@
+// CMMLToAnx.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+#include <dshow.h>
+#include <string>
+using namespace std;
+
+#include "libillicore/StringHelper.h"
+#include "DSGraphHelper.h"
+
+int __cdecl _tmain(int argc, _TCHAR* argv[])
+{
+
+ CoInitialize(NULL);
+
+ if (argc < 2) {
+ cout << "Usage: CMMLToAnx <input CMML file> (optional output Annodex File)" << endl
+ << " e.g. CMMLToAnx foo.cmml bar.anx" << endl
+ << " or CMMLToAnx foo.someextension (output file will be named foo.anx)" << endl;
+ return 6;
+ }
+
+ //Setup the filenames from the command line args
+ string locInCMMLFile = argv[1];
+ string locOutAnnodexFile;
+ if (argc == 3) {
+ locOutAnnodexFile = argv[2];
+ } else {
+ size_t locDotSeparatorPosition = locInCMMLFile.rfind(".", locInCMMLFile.length() - 1);
+ if (locDotSeparatorPosition == string::npos) {
+ // Couldn't find a "." in the input filename: just add a .anx to the output filename
+ locOutAnnodexFile = locInCMMLFile + ".anx";
+ } else {
+ // "foo.extension" -> "foo.anx"
+ locOutAnnodexFile = locInCMMLFile.substr(0, locDotSeparatorPosition) + ".anx";
+ }
+ }
+
+ wstring locWInCMMLFile = StringHelper::toWStr(locInCMMLFile);
+ wstring locWOutAnnodexFile=StringHelper::toWStr(locOutAnnodexFile);
+
+ wcout<<L"CMML Source : "<<locWInCMMLFile<<endl;
+ wcout<<L"Annodex Output : "<<locWOutAnnodexFile<<endl;
+
+ //Load up the graph
+ IFilterGraph* locFilterGraph = DSGraphHelper::CreateAnnodexFromCMML(locWInCMMLFile, locWOutAnnodexFile);
+
+ if (locFilterGraph == NULL) {
+ cout<<"Couldn't build graph. Invalid filenames or you don't have the right codecs."<<endl;
+ return 3;
+ }
+
+ //Get the media control interface
+ IMediaControl* locMediaControl = NULL;
+ HRESULT locHR = locFilterGraph->QueryInterface(IID_IMediaControl, (void**)&locMediaControl);
+
+ if (locHR != S_OK) {
+ locFilterGraph->Release();
+ cout<<"FAILED TO Get media controller"<<endl;
+ return 1;
+ }
+
+ //Get the media Event interface
+ IMediaEvent* locMediaEvent = NULL;
+ locHR = locFilterGraph->QueryInterface(IID_IMediaEvent, (void**)&locMediaEvent);
+
+ if (locHR != S_OK) {
+ locMediaControl->Release();
+ locFilterGraph->Release();
+ cout<<"FAILED TO Get media event handler"<<endl;
+ return 2;
+ }
+
+ //Get event handles
+ HANDLE hEvent;
+ long evCode, param1, param2;
+ BOOLEAN bDone = FALSE;
+ HRESULT hr = S_OK;
+ hr = locMediaEvent->GetEventHandle((OAEVENT*)&hEvent);
+ if (FAILED(hr)) {
+ locMediaControl->Release();
+ locMediaEvent->Release();
+ locFilterGraph->Release();
+ cout<<"Couldn't get event handle"<<endl;
+ return 4;
+ /* Insert failure-handling code here. */
+ }
+
+ cout<<"Calling run on the graph..."<<endl;
+
+ //Start the graph
+ locHR = locMediaControl->Run();
+
+ if (FAILED(locHR)) {
+ cout<<"Couldn't run graph."<<endl;
+ return 5;
+ }
+
+ //Sit in a message loop until we're done.
+ while(!bDone) {
+ if (WAIT_OBJECT_0 == WaitForSingleObject(hEvent, 100)) {
+ while (hr = locMediaEvent->GetEvent(&evCode, ¶m1, ¶m2, 0), SUCCEEDED(hr)) {
+ cout<<"Event : "<<evCode<<" Params : "<<param1<<", "<<param2<<endl;
+ locMediaEvent->FreeEventParams(evCode, param1, param2);
+ bDone = (EC_COMPLETE == evCode);
+ }
+ }
+ }
+
+ //Release everything
+ locMediaControl->Release();
+ locMediaEvent->Release();
+ locFilterGraph->Release();
+ CoUninitialize();
+ cout<<"Finished..."<<endl;
+ return 0;
+}
+
Property changes on: AnxCreator/CMMLToAnx/CMMLToAnx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/CMMLToAnx/CMMLToAnx.vcproj
===================================================================
--- AnxCreator/CMMLToAnx/CMMLToAnx.vcproj (rev 0)
+++ AnxCreator/CMMLToAnx/CMMLToAnx.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="CMMLToAnx"
+ ProjectGUID="{BAFD65D0-6442-4FED-8E05-F32848F404C3}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libDSGraphManip;..\..\oggdsf\src\lib\helper;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/CMMLToAnx.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/CMMLToAnx.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libDSGraphManip;..\..\oggdsf\src\lib\helper;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/CMMLToAnx.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\CMMLToAnx.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=".\stdafx.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/CMMLToAnx/CMMLToAnx.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/CMMLToAnx/ReadMe.txt
===================================================================
--- AnxCreator/CMMLToAnx/ReadMe.txt (rev 0)
+++ AnxCreator/CMMLToAnx/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,32 @@
+========================================================================
+ CONSOLE APPLICATION : CMMLToAnx Project Overview
+========================================================================
+
+AppWizard has created this CMMLToAnx application for you.
+This file contains a summary of what you will find in each of the files that
+make up your CMMLToAnx application.
+
+
+CMMLToAnx.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+CMMLToAnx.cpp
+ This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named CMMLToAnx.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/CMMLToAnx/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/CMMLToAnx/stdafx.cpp
===================================================================
--- AnxCreator/CMMLToAnx/stdafx.cpp (rev 0)
+++ AnxCreator/CMMLToAnx/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// CMMLToAnx.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Property changes on: AnxCreator/CMMLToAnx/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/CMMLToAnx/stdafx.h
===================================================================
--- AnxCreator/CMMLToAnx/stdafx.h (rev 0)
+++ AnxCreator/CMMLToAnx/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,12 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#include <iostream>
+#include <tchar.h>
+
+// TODO: reference additional headers your program requires here
Property changes on: AnxCreator/CMMLToAnx/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/DMTagger.sln
===================================================================
--- AnxCreator/DMTagger.sln (rev 0)
+++ AnxCreator/DMTagger.sln 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,370 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DMTagger", "AnxCreate\DMTagger.csproj", "{A2DD4A46-9A05-4165-9E22-1CB027B7908E}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSPlayDotNET", "..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj", "{E274665B-12E3-4C7F-A749-FAB0C0A73522}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6} = {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTags", "..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj", "{AD38DCC6-B431-4B32-8569-74F3376EF2DA}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTagsDotNET", "..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj", "{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiWrapper", "..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj", "{FCFE729D-EADE-45BA-9506-7E82A46403F7}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "DMTaggerDistrib", "builds\AnxCreateDistrib\AnxCreateDistrib.vdproj", "{DB42C9D0-A8A6-43B1-8276-5B8097A8C548}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfAudioResampleFilter", "dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj", "{14CE2180-B8A2-43F9-B010-C2D5EA556A36}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseClasses", "..\..\..\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj", "{4CBC0173-27E6-4218-AE06-5EFDCA7B2547}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfVideoResampleFilter", "dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj", "{E01FCE63-1828-4416-A928-53678B3C5568}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSGraphManip", "libDSGraphManip\libDSGraphManip.vcproj", "{B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2} = {899EB7AD-26BF-4495-9BE5-EADECCC288B2}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libilliCore", "..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj", "{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGraphManip", "testGraphManip\testGraphManip.vcproj", "{7FFAF860-C775-495F-8F8B-2666A1948E53}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transcodeToOgg", "transcodeToOgg\transcodeToOgg.vcproj", "{D1A3081E-4472-497B-BC7B-9C1840FF73A1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libWinCMMLParse", "..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj", "{23BAAF7B-AEC3-4812-AA91-7E5061E83A39}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMMLToAnx", "CMMLToAnx\CMMLToAnx.vcproj", "{BAFD65D0-6442-4FED-8E05-F32848F404C3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSEncodeDotNET", "libDSEncodeDotNET\libDSEncodeDotNET.vcproj", "{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLParseDotNET", "..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj", "{150940C1-A4EF-474D-8703-DF7100ABDA52}"
+ ProjectSection(ProjectDependencies) = postProject
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2} = {899EB7AD-26BF-4495-9BE5-EADECCC288B2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libTemporalURI", "..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj", "{37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLParse", "..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj", "{899EB7AD-26BF-4495-9BE5-EADECCC288B2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libTemporalURIDotNET", "..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj", "{E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "TranscodeToOggDistrib", "TranscodeToOggDistrib\TranscodeToOggDistrib.vdproj", "{38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Debug Unicode = Debug Unicode
+ Release = Release
+ Release Unicode = Release Unicode
+ Release_SSE = Release_SSE
+ Release_SSE2 = Release_SSE2
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug.ActiveCfg = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug.Build.0 = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode.ActiveCfg = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode.Build.0 = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release.Build.0 = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode.Build.0 = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE.Build.0 = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2.Build.0 = Release|.NET
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release.Build.0 = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode.Build.0 = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE.Build.0 = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2.ActiveCfg = Release
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2.Build.0 = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug.ActiveCfg = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug.Build.0 = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode.Build.0 = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release.ActiveCfg = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release.Build.0 = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode.ActiveCfg = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode.Build.0 = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE.Build.0 = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE.Build.0 = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2.Build.0 = Release|Win32
+ {38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}.Debug.ActiveCfg = Debug
+ {38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}.Debug Unicode.ActiveCfg = Debug
+ {38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}.Release.ActiveCfg = Release
+ {38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}.Release Unicode.ActiveCfg = Release
+ {38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}.Release_SSE.ActiveCfg = Release
+ {38CD90AF-7CAA-485E-99AA-A64F0FA89E1F}.Release_SSE2.ActiveCfg = Release
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Property changes on: AnxCreator/DMTagger.sln
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/NSIS/transcodeToOgg.nsi
===================================================================
--- AnxCreator/NSIS/transcodeToOgg.nsi (rev 0)
+++ AnxCreator/NSIS/transcodeToOgg.nsi 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,193 @@
+; Script generated by the HM NIS Edit Script Wizard.
+
+; HM NIS Edit Wizard helper defines
+!define PRODUCT_NAME "TranscodeToOgg"
+!define PRODUCT_VERSION "0.9"
+!define PRODUCT_PUBLISHER "CSIRO ICT Centre"
+!define PRODUCT_WEB_SITE "http://www.dmtagger.com/tools/"
+!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\transcodeToOgg.exe"
+!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
+!define PRODUCT_UNINST_ROOT_KEY "HKLM"
+
+
+; Location of Visual Studio runtime libraries on the compiling system
+; ************* Change this to match the path where msvcp71.dll and msvcr71.dll live ******************
+!define VS_RUNTIME_LOCATION "c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin"
+; *****************************************************************************************************
+
+
+SetCompressor lzma
+
+; MUI 1.67 compatible ------
+!include "MUI.nsh"
+
+; MUI Settings
+!define MUI_ABORTWARNING
+!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
+!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
+
+; Language Selection Dialog Settings
+!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
+!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
+!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
+
+; Welcome page
+!insertmacro MUI_PAGE_WELCOME
+; Directory page
+!insertmacro MUI_PAGE_DIRECTORY
+; Instfiles page
+!insertmacro MUI_PAGE_INSTFILES
+; Finish page
+!insertmacro MUI_PAGE_FINISH
+
+; Uninstaller pages
+!insertmacro MUI_UNPAGE_INSTFILES
+
+; Language files
+!insertmacro MUI_LANGUAGE "Albanian"
+!insertmacro MUI_LANGUAGE "Arabic"
+!insertmacro MUI_LANGUAGE "Belarusian"
+!insertmacro MUI_LANGUAGE "Bosnian"
+!insertmacro MUI_LANGUAGE "Breton"
+!insertmacro MUI_LANGUAGE "Bulgarian"
+!insertmacro MUI_LANGUAGE "Catalan"
+!insertmacro MUI_LANGUAGE "Croatian"
+!insertmacro MUI_LANGUAGE "Czech"
+!insertmacro MUI_LANGUAGE "Danish"
+!insertmacro MUI_LANGUAGE "Dutch"
+!insertmacro MUI_LANGUAGE "English"
+!insertmacro MUI_LANGUAGE "Estonian"
+!insertmacro MUI_LANGUAGE "Farsi"
+!insertmacro MUI_LANGUAGE "Finnish"
+!insertmacro MUI_LANGUAGE "French"
+!insertmacro MUI_LANGUAGE "German"
+!insertmacro MUI_LANGUAGE "Greek"
+!insertmacro MUI_LANGUAGE "Hebrew"
+!insertmacro MUI_LANGUAGE "Hungarian"
+!insertmacro MUI_LANGUAGE "Icelandic"
+!insertmacro MUI_LANGUAGE "Indonesian"
+!insertmacro MUI_LANGUAGE "Italian"
+!insertmacro MUI_LANGUAGE "Japanese"
+!insertmacro MUI_LANGUAGE "Korean"
+!insertmacro MUI_LANGUAGE "Kurdish"
+!insertmacro MUI_LANGUAGE "Latvian"
+!insertmacro MUI_LANGUAGE "Lithuanian"
+!insertmacro MUI_LANGUAGE "Luxembourgish"
+!insertmacro MUI_LANGUAGE "Macedonian"
+!insertmacro MUI_LANGUAGE "Malay"
+!insertmacro MUI_LANGUAGE "Mongolian"
+!insertmacro MUI_LANGUAGE "Norwegian"
+!insertmacro MUI_LANGUAGE "Polish"
+!insertmacro MUI_LANGUAGE "Portuguese"
+!insertmacro MUI_LANGUAGE "PortugueseBR"
+!insertmacro MUI_LANGUAGE "Romanian"
+!insertmacro MUI_LANGUAGE "Russian"
+!insertmacro MUI_LANGUAGE "Serbian"
+!insertmacro MUI_LANGUAGE "SerbianLatin"
+!insertmacro MUI_LANGUAGE "SimpChinese"
+!insertmacro MUI_LANGUAGE "Slovak"
+!insertmacro MUI_LANGUAGE "Slovenian"
+!insertmacro MUI_LANGUAGE "Spanish"
+!insertmacro MUI_LANGUAGE "Swedish"
+!insertmacro MUI_LANGUAGE "Thai"
+!insertmacro MUI_LANGUAGE "TradChinese"
+!insertmacro MUI_LANGUAGE "Turkish"
+!insertmacro MUI_LANGUAGE "Ukrainian"
+
+; Reserve files
+!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+; MUI end ------
+
+Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
+OutFile "Setup.exe"
+InstallDir "$PROGRAMFILES\TranscodeToOgg"
+InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
+ShowInstDetails show
+ShowUnInstDetails show
+
+Function .onInit
+ !insertmacro MUI_LANGDLL_DISPLAY
+FunctionEnd
+
+Section "TranscodeToOgg" SEC01
+ SetOutPath "$INSTDIR"
+ SetOverwrite on
+
+ ; Runtime libraries from visual studio - 2
+ File "${VS_RUNTIME_LOCATION}\msvcr71.dll"
+ File "${VS_RUNTIME_LOCATION}\msvcp71.dll"
+
+ File "..\dsfAudioResampleFilter\Release\dsfAudioResampleFilter.dll"
+ File "..\dsfVideoResampleFilter\Release\dsfVideoResampleFilter.dll"
+ File "..\libDSGraphManip\Release\libDSGraphManip.dll"
+ File "..\transcodeToOgg\Release\transcodeToOgg.exe"
+ File "..\..\oggdsf\src\lib\codecs\cmml\libCMMLParse\Release\libCMMLParse.dll"
+ File "..\..\oggdsf\src\lib\codecs\cmml\libCMMLTags\Release\libCMMLTags.dll"
+ File "..\..\oggdsf\src\lib\helper\libTemporalURI\Release\libTemporalURI.dll"
+
+
+ ExecWait 'regsvr32 "/s" "$INSTDIR\dsfAudioResampleFilter.dll"'
+ ExecWait 'regsvr32 "/s" "$INSTDIR\dsfVideoResampleFilter.dll"'
+SectionEnd
+
+Section -AdditionalIcons
+ WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
+ CreateDirectory "$SMPROGRAMS\TranscodeToOgg"
+ CreateShortCut "$SMPROGRAMS\TranscodeToOgg\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
+ CreateShortCut "$SMPROGRAMS\TranscodeToOgg\Uninstall.lnk" "$INSTDIR\uninst.exe"
+SectionEnd
+
+Section -Post
+ WriteUninstaller "$INSTDIR\uninst.exe"
+ WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\transcodeToOgg.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\transcodeToOgg.exe"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
+ WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
+SectionEnd
+
+
+Function un.onUninstSuccess
+ HideWindow
+ MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
+FunctionEnd
+
+Function un.onInit
+!insertmacro MUI_UNGETLANGUAGE
+ MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
+ Abort
+FunctionEnd
+
+Section Uninstall
+
+
+ ExecWait 'regsvr32 "/s" "/u" "$INSTDIR\dsfAudioResampleFilter.dll"'
+ ExecWait 'regsvr32 "/s" "/u" "$INSTDIR\dsfVideoResampleFilter.dll"'
+
+ Delete "$INSTDIR\${PRODUCT_NAME}.url"
+ Delete "$INSTDIR\uninst.exe"
+ Delete "$INSTDIR\libTemporalURI.dll"
+ Delete "$INSTDIR\libCMMLTags.dll"
+ Delete "$INSTDIR\libCMMLParse.dll"
+ Delete "$INSTDIR\transcodeToOgg.exe"
+ Delete "$INSTDIR\libDSGraphManip.dll"
+ Delete "$INSTDIR\dsfVideoResampleFilter.dll"
+ Delete "$INSTDIR\dsfAudioResampleFilter.dll"
+
+ Delete "$INSTDIR\msvcr71.dll"
+ Delete "$INSTDIR\msvcp71.dll"
+
+
+ Delete "$SMPROGRAMS\TranscodeToOgg\Uninstall.lnk"
+ Delete "$SMPROGRAMS\TranscodeToOgg\Website.lnk"
+
+ RMDir "$SMPROGRAMS\TranscodeToOgg"
+ RMDir "$INSTDIR"
+
+ DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
+ DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
+ SetAutoClose true
+SectionEnd
\ No newline at end of file
Property changes on: AnxCreator/NSIS/transcodeToOgg.nsi
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/TranscodeToOggDistrib/TranscodeToOggDistrib.vdproj
===================================================================
--- AnxCreator/TranscodeToOggDistrib/TranscodeToOggDistrib.vdproj (rev 0)
+++ AnxCreator/TranscodeToOggDistrib/TranscodeToOggDistrib.vdproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,907 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:TranscodeToOggDistrib"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+ "Hierarchy"
+ {
+ "Entry"
+ {
+ "MsmKey" = "8:_707DB0A4A336462EB2B93534CBE8321C"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_7AF59BCDA974416D87459BED14B0EAD5"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_869CF2E539D545BCA3BD55F05927FBFE"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_91A57CCA6A6641409D8752FC4E1C1344"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_A7FC1985877044859C2720496CC72CFA"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_CE03D9B98BAE4DAAB4456E60EB6C1A22"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_F8F84B123DE946298C12F0636AD536DD"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ }
+ "Configurations"
+ {
+ "Debug"
+ {
+ "DisplayName" = "8:Debug"
+ "IsDebugOnly" = "11:TRUE"
+ "IsReleaseOnly" = "11:FALSE"
+ "OutputFilename" = "8:Debug\\TranscodeToOggDistrib.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"
+ {
+ }
+ }
+ }
+ "Release"
+ {
+ "DisplayName" = "8:Release"
+ "IsDebugOnly" = "11:FALSE"
+ "IsReleaseOnly" = "11:TRUE"
+ "OutputFilename" = "8:Release\\TranscodeToOggDistrib.msi"
+ "PackageFilesAs" = "3:2"
+ "PackageFileSize" = "3:-2147483648"
+ "CabType" = "3:1"
+ "Compression" = "3:3"
+ "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"
+ {
+ }
+ }
+ }
+ }
+ "Deployable"
+ {
+ "CustomAction"
+ {
+ }
+ "DefaultFeature"
+ {
+ "Name" = "8:DefaultFeature"
+ "Title" = "8:"
+ "Description" = "8:"
+ }
+ "ExternalPersistence"
+ {
+ "LaunchCondition"
+ {
+ }
+ }
+ "File"
+ {
+ }
+ "FileType"
+ {
+ }
+ "Folder"
+ {
+ "{1525181F-901A-416C-8A58-119130FE478E}:_338B8E04E5F34775A8E6A098959381B5"
+ {
+ "Name" = "8:#1919"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:ProgramMenuFolder"
+ "Folders"
+ {
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_C6CCB3CE30974CA7BEB3215E17FA27AC"
+ {
+ "Name" = "8:#1916"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:DesktopFolder"
+ "Folders"
+ {
+ }
+ }
+ "{3C67513D-01DD-4637-8A68-80971EB9504F}:_FD059A55963F47DAB4C0B571B43E8D68"
+ {
+ "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"
+ }
+ "Product"
+ {
+ "Name" = "8:Microsoft Visual Studio"
+ "ProductName" = "8:TranscodeToOgg"
+ "ProductCode" = "8:{5A6659A5-E9D9-4F50-B8B0-1743BEF70751}"
+ "PackageCode" = "8:{547D8E53-0272-4DF7-AD7E-9A053CC24F9A}"
+ "UpgradeCode" = "8:{569050B0-FE8C-4795-AA2C-CEF0415FB17C}"
+ "RestartWWWService" = "11:FALSE"
+ "RemovePreviousVersions" = "11:TRUE"
+ "DetectNewerInstalledVersion" = "11:TRUE"
+ "InstallAllUsers" = "11:FALSE"
+ "ProductVersion" = "8:1.0.0"
+ "Manufacturer" = "8:CSIRO ICT Centre"
+ "ARPHELPTELEPHONE" = "8:"
+ "ARPHELPLINK" = "8:"
+ "Title" = "8:TranscodeToOgg"
+ "Subject" = "8:"
+ "ARPCONTACT" = "8:CSIRO ICT Centre"
+ "Keywords" = "8:"
+ "ARPCOMMENTS" = "8:Transcoding tool for Ogg."
+ "ARPURLINFOABOUT" = "8:www.dmtagger.com/tools/"
+ "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}:_2E29C9FED8FB4DD6BC644BAABD9EF860"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6A6B880AD2204ED7AA3B6641B7F82F82"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCU"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_F1EB8F21EFB7477FB7DEFB00D7D78B6F"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_6E04420DA10F4BE293FB97031ADB12AB"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCR"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKU"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKPU"
+ {
+ "Keys"
+ {
+ }
+ }
+ }
+ "Sequences"
+ {
+ }
+ "Shortcut"
+ {
+ }
+ "UserInterface"
+ {
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0A8A34FC3C034A7C9E7046919F2068D4"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:2"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_D6179E4A1529432CB6CBEC9926BBBF91"
+ {
+ "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}:_0C404A5BDC0F48E4AA24E94D49E95F16"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:1"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1E1F533D566B453595D3FDCAB1E5CB82"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_1AB8013D74654C089AF5EEE0D2C2C8E7"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_3F49EDCA04ED4A83966A2C9B1DE01009"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:1"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_3F96C3E03CE04963900A6847743D98CB"
+ {
+ "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}:_84C45B0D4099405DA4391AAA9B0741FC"
+ {
+ "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"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C3657DB70116430DA1D59C6912497D78"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_59AD05CDB2BE4392ACE71F540D533CB5"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:2"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_64514D9FDBC7437F98E877806E62E150"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_BA043DFA8FF94B3B9349D516F15120D6"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:1"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_7976C870ED424C45A5F0764A92D51BE2"
+ {
+ "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}:_D585421E92AD473596D755FBFDDF8D9E"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F384FE2272EC46BC8D723A913E57F887"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:2"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_325799BCC4C844D8ABF5E595FA60116A"
+ {
+ "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}:_3A4BEE560C524FDEA5B4AC2214EFB410"
+ {
+ "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"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_ACDF13C622364F7BBF2D1B9A644F1A4A"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ }
+ "MergeModule"
+ {
+ }
+ "ProjectOutput"
+ {
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_707DB0A4A336462EB2B93534CBE8321C"
+ {
+ "SourcePath" = "8:..\\dsfAudioResampleFilter\\Release\\dsfAudioResampleFilter.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:4"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{14CE2180-B8A2-43F9-B010-C2D5EA556A36}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7AF59BCDA974416D87459BED14B0EAD5"
+ {
+ "SourcePath" = "8:..\\..\\oggdsf\\src\\lib\\codecs\\cmml\\libCMMLTags\\Release\\libCMMLTags.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:{AD38DCC6-B431-4B32-8569-74F3376EF2DA}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_869CF2E539D545BCA3BD55F05927FBFE"
+ {
+ "SourcePath" = "8:..\\dsfVideoResampleFilter\\Release\\dsfVideoResampleFilter.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:4"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{E01FCE63-1828-4416-A928-53678B3C5568}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_91A57CCA6A6641409D8752FC4E1C1344"
+ {
+ "SourcePath" = "8:..\\libDSGraphManip\\Release\\libDSGraphManip.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:{B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A7FC1985877044859C2720496CC72CFA"
+ {
+ "SourcePath" = "8:..\\transcodeToOgg\\Release\\transcodeToOgg.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:{D1A3081E-4472-497B-BC7B-9C1840FF73A1}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_CE03D9B98BAE4DAAB4456E60EB6C1A22"
+ {
+ "SourcePath" = "8:..\\..\\oggdsf\\src\\lib\\codecs\\cmml\\libCMMLParse\\Release\\libCMMLParse.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:{899EB7AD-26BF-4495-9BE5-EADECCC288B2}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F8F84B123DE946298C12F0636AD536DD"
+ {
+ "SourcePath" = "8:..\\..\\oggdsf\\src\\lib\\helper\\libTemporalURI\\Release\\libTemporalURI.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_FD059A55963F47DAB4C0B571B43E8D68"
+ "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:{37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ }
+ }
+}
Property changes on: AnxCreator/TranscodeToOggDistrib/TranscodeToOggDistrib.vdproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/UpgradeLog.XML
===================================================================
--- AnxCreator/UpgradeLog.XML (rev 0)
+++ AnxCreator/UpgradeLog.XML 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type='text/xsl' href='_UpgradeReport_Files/UpgradeReport.xslt'?><UpgradeLog>
+<Properties><Property Name="Solution" Value="AnxCreator">
+</Property><Property Name="Solution File" Value="E:\_marcin\_devel\ogg\AnxCreator\AnxCreator.sln">
+</Property><Property Name="Date" Value="Wednesday, 25 July 2007">
+</Property><Property Name="Time" Value="20:00 PM">
+</Property></Properties><Event ErrorLevel="2" Project="AnxCreate" Source="AnxCreate\AnxCreate.csproj" Description="Unable open project file to perform upgrade. ">
+</Event><Event ErrorLevel="0" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="0" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="IMPORTANT: The support for CLR code in the C++ language has changed considerably with this release of Visual Studio. The 'Use Managed Extensions' property, which equated to the C/C++ Compiler switch /clr in Visual Studio 2002 and 2003, has been expanded to several values in order to support new features. /clr has been converted to /clr:oldSyntax for you, but there are a variety of switch compatibility issues that you need to be aware of. (For instance, /Zl was added to projects that were created with Visual Studio 2003, but may no longer be appropriate. Because it may be appropriate to your particular project we have not removed it if it existed, but you may want to).
Please see MSDN for details and additional information. (You may find the topic 'Managed Extensions for C++ Syntax Upgrade Checklist' helpful).">
+</Event><Event ErrorLevel="1" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.">
+</Event><Event ErrorLevel="1" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libDSPlayDotNET" Source="..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.">
+</Event><Event ErrorLevel="1" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libCMMLTags" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="0" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="IMPORTANT: The support for CLR code in the C++ language has changed considerably with this release of Visual Studio. The 'Use Managed Extensions' property, which equated to the C/C++ Compiler switch /clr in Visual Studio 2002 and 2003, has been expanded to several values in order to support new features. /clr has been converted to /clr:oldSyntax for you, but there are a variety of switch compatibility issues that you need to be aware of. (For instance, /Zl was added to projects that were created with Visual Studio 2003, but may no longer be appropriate. Because it may be appropriate to your particular project we have not removed it if it existed, but you may want to).
Please see MSDN for details and additional information. (You may find the topic 'Managed Extensions for C++ Syntax Upgrade Checklist' helpful).">
+</Event><Event ErrorLevel="1" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.">
+</Event><Event ErrorLevel="1" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libCMMLTagsDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="0" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="IMPORTANT: The support for CLR code in the C++ language has changed considerably with this release of Visual Studio. The 'Use Managed Extensions' property, which equated to the C/C++ Compiler switch /clr in Visual Studio 2002 and 2003, has been expanded to several values in order to support new features. /clr has been converted to /clr:oldSyntax for you, but there are a variety of switch compatibility issues that you need to be aware of. (For instance, /Zl was added to projects that were created with Visual Studio 2003, but may no longer be appropriate. Because it may be appropriate to your particular project we have not removed it if it existed, but you may want to).
Please see MSDN for details and additional information. (You may find the topic 'Managed Extensions for C++ Syntax Upgrade Checklist' helpful).">
+</Event><Event ErrorLevel="1" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.">
+</Event><Event ErrorLevel="1" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libiWrapper" Source="..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="testDotNETCMMLTags" Source="testDotNETCMMLTags\testDotNETCMMLTags.csproj" Description="Project converted successfully">
+</Event><Event ErrorLevel="3" Project="testDotNETCMMLTags" Source="testDotNETCMMLTags\testDotNETCMMLTags.csproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="dsfAudioResampleFilter" Source="dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="dsfAudioResampleFilter" Source="dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="dsfAudioResampleFilter" Source="dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="dsfAudioResampleFilter" Source="dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="dsfAudioResampleFilter" Source="dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="dsfAudioResampleFilter" Source="dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="baseclasses" Source="C:\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="baseclasses" Source="C:\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="dsfVideoResampleFilter" Source="dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="dsfVideoResampleFilter" Source="dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="dsfVideoResampleFilter" Source="dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="dsfVideoResampleFilter" Source="dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="dsfVideoResampleFilter" Source="dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="dsfVideoResampleFilter" Source="dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libDSGraphManip" Source="libDSGraphManip\libDSGraphManip.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libDSGraphManip" Source="libDSGraphManip\libDSGraphManip.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="libDSGraphManip" Source="libDSGraphManip\libDSGraphManip.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libDSGraphManip" Source="libDSGraphManip\libDSGraphManip.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libDSGraphManip" Source="libDSGraphManip\libDSGraphManip.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libDSGraphManip" Source="libDSGraphManip\libDSGraphManip.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.">
+</Event><Event ErrorLevel="1" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libilliCore" Source="..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="testGraphManip" Source="testGraphManip\testGraphManip.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="testGraphManip" Source="testGraphManip\testGraphManip.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="testGraphManip" Source="testGraphManip\testGraphManip.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="testGraphManip" Source="testGraphManip\testGraphManip.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="testGraphManip" Source="testGraphManip\testGraphManip.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="testGraphManip" Source="testGraphManip\testGraphManip.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="transcodeToOgg" Source="transcodeToOgg\transcodeToOgg.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="transcodeToOgg" Source="transcodeToOgg\transcodeToOgg.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="transcodeToOgg" Source="transcodeToOgg\transcodeToOgg.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="transcodeToOgg" Source="transcodeToOgg\transcodeToOgg.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="transcodeToOgg" Source="transcodeToOgg\transcodeToOgg.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="transcodeToOgg" Source="transcodeToOgg\transcodeToOgg.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="The C/C++ compiler switch /Og has been deprecated and has been removed from your project settings. It is recommended that you use /O1 or /O2 instead.">
+</Event><Event ErrorLevel="1" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libWinCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="CMMLToAnx" Source="CMMLToAnx\CMMLToAnx.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="CMMLToAnx" Source="CMMLToAnx\CMMLToAnx.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="CMMLToAnx" Source="CMMLToAnx\CMMLToAnx.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="CMMLToAnx" Source="CMMLToAnx\CMMLToAnx.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="CMMLToAnx" Source="CMMLToAnx\CMMLToAnx.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="CMMLToAnx" Source="CMMLToAnx\CMMLToAnx.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="0" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="IMPORTANT: The support for CLR code in the C++ language has changed considerably with this release of Visual Studio. The 'Use Managed Extensions' property, which equated to the C/C++ Compiler switch /clr in Visual Studio 2002 and 2003, has been expanded to several values in order to support new features. /clr has been converted to /clr:oldSyntax for you, but there are a variety of switch compatibility issues that you need to be aware of. (For instance, /Zl was added to projects that were created with Visual Studio 2003, but may no longer be appropriate. Because it may be appropriate to your particular project we have not removed it if it existed, but you may want to).
Please see MSDN for details and additional information. (You may find the topic 'Managed Extensions for C++ Syntax Upgrade Checklist' helpful).">
+</Event><Event ErrorLevel="1" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libDSEncodeDotNET" Source="libDSEncodeDotNET\libDSEncodeDotNET.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="0" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="IMPORTANT: The support for CLR code in the C++ language has changed considerably with this release of Visual Studio. The 'Use Managed Extensions' property, which equated to the C/C++ Compiler switch /clr in Visual Studio 2002 and 2003, has been expanded to several values in order to support new features. /clr has been converted to /clr:oldSyntax for you, but there are a variety of switch compatibility issues that you need to be aware of. (For instance, /Zl was added to projects that were created with Visual Studio 2003, but may no longer be appropriate. Because it may be appropriate to your particular project we have not removed it if it existed, but you may want to).
Please see MSDN for details and additional information. (You may find the topic 'Managed Extensions for C++ Syntax Upgrade Checklist' helpful).">
+</Event><Event ErrorLevel="1" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libCMMLParseDotNET" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libTemporalURI" Source="..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libTemporalURI" Source="..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="libTemporalURI" Source="..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libTemporalURI" Source="..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libTemporalURI" Source="..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libTemporalURI" Source="..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="1" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="The C/C++ compiler switch /YX is lo longer supported. /YX has been removed from your project settings.">
+</Event><Event ErrorLevel="1" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libCMMLParse" Source="..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="Visual C++ now provides improved safety in its C and C++ Libraries. This includes new and improved functions, additional checking and validation, and internal design changes. These libraries are turned on by default. You may see some warnings about unsafe functions or parameters when you build your project. The warnings will generally suggest an alternative safer coding style or function. It is advised that you correct these warnings, in order to make your code more safe. Full details can be found in the documentation by searching for 'Security Enhancements in the CRT' and for 'Checked Iterators'.">
+</Event><Event ErrorLevel="0" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="The C/C++ compiler default settings have been modified to be more compliant with ISO Standard C++. Included in those changes are enforcing Standard C++ for loop scoping and supporting wchar_t as a native type. These changes may cause existing code to no longer compile without changes to the code or the compiler options with which it is built.">
+</Event><Event ErrorLevel="0" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="IMPORTANT: The support for CLR code in the C++ language has changed considerably with this release of Visual Studio. The 'Use Managed Extensions' property, which equated to the C/C++ Compiler switch /clr in Visual Studio 2002 and 2003, has been expanded to several values in order to support new features. /clr has been converted to /clr:oldSyntax for you, but there are a variety of switch compatibility issues that you need to be aware of. (For instance, /Zl was added to projects that were created with Visual Studio 2003, but may no longer be appropriate. Because it may be appropriate to your particular project we have not removed it if it existed, but you may want to).
Please see MSDN for details and additional information. (You may find the topic 'Managed Extensions for C++ Syntax Upgrade Checklist' helpful).">
+</Event><Event ErrorLevel="1" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="Due to the requirement that Visual C++ projects produce an embedded (by default) Windows SxS manifest, manifest files in the project are automatically excluded from building with the Manifest Tool. It is recommended that the dependency information contained in any manifest files be converted to "#pragma comment(linker,"<insert dependency here>")" in a header file that is included from your source code. If your project already embeds a manifest in the RT_MANIFEST resource section through a resource (.rc) file, the line will need to be commented out before the project will build correctly.">
+</Event><Event ErrorLevel="1" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="Due to a conformance change in the C++ compiler, code change may be required before your project will build without errors. Previous versions of the C++ compiler allowed specification of member function pointers by member function name (e.g. MemberFunctionName). The C++ standard requires a fully qualified name with the use of the address-of operator (e.g. &ClassName::MemberFunctionName). If your project contains forms or controls used in the Windows Forms Designer, you may have to change code in InitializeComponent because the designer generated code used the non-conformant syntax in delegate construction (used in event handlers).">
+</Event><Event ErrorLevel="0" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="Project upgraded successfully.">
+</Event><Event ErrorLevel="3" Project="libTemporalURIDotNET" Source="..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj" Description="Converted">
+</Event><Event ErrorLevel="2" Project="BaseClasses" Source="C:\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj" Description="">
+</Event><Event ErrorLevel="0" Project="" Source="AnxCreator.sln" Description="Solution converted successfully">
+</Event><Event ErrorLevel="3" Project="" Source="AnxCreator.sln" Description="Converted">
+</Event><Event ErrorLevel="0" Project="AnxCreateDistrib.vdproj" Source="builds\AnxCreateDistrib\AnxCreateDistrib.vdproj" Description="Project converted successfully">
+</Event><Event ErrorLevel="3" Project="AnxCreateDistrib.vdproj" Source="builds\AnxCreateDistrib\AnxCreateDistrib.vdproj" Description="Converted">
+</Event><Event ErrorLevel="0" Project="testDotNETCMMLTags" Source="testDotNETCMMLTags\testDotNETCMMLTags.csproj" Description="Scan complete: Upgrade not required for project files.">
+</Event></UpgradeLog>
\ No newline at end of file
Property changes on: AnxCreator/UpgradeLog.XML
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/_UpgradeReport_Files/UpgradeReport.css
===================================================================
--- AnxCreator/_UpgradeReport_Files/UpgradeReport.css (rev 0)
+++ AnxCreator/_UpgradeReport_Files/UpgradeReport.css 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,207 @@
+BODY
+{
+ BACKGROUND-COLOR: white;
+ FONT-FAMILY: "Verdana", sans-serif;
+ FONT-SIZE: 100%;
+ MARGIN-LEFT: 0px;
+ MARGIN-TOP: 0px
+}
+P
+{
+ FONT-FAMILY: "Verdana", sans-serif;
+ FONT-SIZE: 70%;
+ LINE-HEIGHT: 12pt;
+ MARGIN-BOTTOM: 0px;
+ MARGIN-LEFT: 10px;
+ MARGIN-TOP: 10px
+}
+.note
+{
+ BACKGROUND-COLOR: #ffffff;
+ COLOR: #336699;
+ FONT-FAMILY: "Verdana", sans-serif;
+ FONT-SIZE: 100%;
+ MARGIN-BOTTOM: 0px;
+ MARGIN-LEFT: 0px;
+ MARGIN-TOP: 0px;
+ PADDING-RIGHT: 10px
+}
+.infotable
+{
+ BACKGROUND-COLOR: #f0f0e0;
+ BORDER-BOTTOM: #ffffff 0px solid;
+ BORDER-COLLAPSE: collapse;
+ BORDER-LEFT: #ffffff 0px solid;
+ BORDER-RIGHT: #ffffff 0px solid;
+ BORDER-TOP: #ffffff 0px solid;
+ FONT-SIZE: 70%;
+ MARGIN-LEFT: 10px
+}
+.issuetable
+{
+ BACKGROUND-COLOR: #ffffe8;
+ BORDER-COLLAPSE: collapse;
+ COLOR: #000000;
+ FONT-SIZE: 100%;
+ MARGIN-BOTTOM: 10px;
+ MARGIN-LEFT: 13px;
+ MARGIN-TOP: 0px
+}
+.issuetitle
+{
+ BACKGROUND-COLOR: #ffffff;
+ BORDER-BOTTOM: #dcdcdc 1px solid;
+ BORDER-TOP: #dcdcdc 1px;
+ COLOR: #003366;
+ FONT-WEIGHT: normal
+}
+.header
+{
+ BACKGROUND-COLOR: #cecf9c;
+ BORDER-BOTTOM: #ffffff 1px solid;
+ BORDER-LEFT: #ffffff 1px solid;
+ BORDER-RIGHT: #ffffff 1px solid;
+ BORDER-TOP: #ffffff 1px solid;
+ COLOR: #000000;
+ FONT-WEIGHT: bold
+}
+.issuehdr
+{
+ BACKGROUND-COLOR: #E0EBF5;
+ BORDER-BOTTOM: #dcdcdc 1px solid;
+ BORDER-TOP: #dcdcdc 1px solid;
+ COLOR: #000000;
+ FONT-WEIGHT: normal
+}
+.issuenone
+{
+ BACKGROUND-COLOR: #ffffff;
+ BORDER-BOTTOM: 0px;
+ BORDER-LEFT: 0px;
+ BORDER-RIGHT: 0px;
+ BORDER-TOP: 0px;
+ COLOR: #000000;
+ FONT-WEIGHT: normal
+}
+.content
+{
+ BACKGROUND-COLOR: #e7e7ce;
+ BORDER-BOTTOM: #ffffff 1px solid;
+ BORDER-LEFT: #ffffff 1px solid;
+ BORDER-RIGHT: #ffffff 1px solid;
+ BORDER-TOP: #ffffff 1px solid;
+ PADDING-LEFT: 3px
+}
+.issuecontent
+{
+ BACKGROUND-COLOR: #ffffff;
+ BORDER-BOTTOM: #dcdcdc 1px solid;
+ BORDER-TOP: #dcdcdc 1px solid;
+ PADDING-LEFT: 3px
+}
+A:link
+{
+ COLOR: #cc6633;
+ TEXT-DECORATION: underline
+}
+A:visited
+{
+ COLOR: #cc6633;
+}
+A:active
+{
+ COLOR: #cc6633;
+}
+A:hover
+{
+ COLOR: #cc3300;
+ TEXT-DECORATION: underline
+}
+H1
+{
+ BACKGROUND-COLOR: #003366;
+ BORDER-BOTTOM: #336699 6px solid;
+ COLOR: #ffffff;
+ FONT-SIZE: 130%;
+ FONT-WEIGHT: normal;
+ MARGIN: 0em 0em 0em -20px;
+ PADDING-BOTTOM: 8px;
+ PADDING-LEFT: 30px;
+ PADDING-TOP: 16px
+}
+H2
+{
+ COLOR: #000000;
+ FONT-SIZE: 80%;
+ FONT-WEIGHT: bold;
+ MARGIN-BOTTOM: 3px;
+ MARGIN-LEFT: 10px;
+ MARGIN-TOP: 20px;
+ PADDING-LEFT: 0px
+}
+H3
+{
+ COLOR: #000000;
+ FONT-SIZE: 80%;
+ FONT-WEIGHT: bold;
+ MARGIN-BOTTOM: -5px;
+ MARGIN-LEFT: 10px;
+ MARGIN-TOP: 20px
+}
+H4
+{
+ COLOR: #000000;
+ FONT-SIZE: 70%;
+ FONT-WEIGHT: bold;
+ MARGIN-BOTTOM: 0px;
+ MARGIN-TOP: 15px;
+ PADDING-BOTTOM: 0px
+}
+UL
+{
+ COLOR: #000000;
+ FONT-SIZE: 70%;
+ LIST-STYLE: square;
+ MARGIN-BOTTOM: 0pt;
+ MARGIN-TOP: 0pt
+}
+OL
+{
+ COLOR: #000000;
+ FONT-SIZE: 70%;
+ LIST-STYLE: square;
+ MARGIN-BOTTOM: 0pt;
+ MARGIN-TOP: 0pt
+}
+LI
+{
+ LIST-STYLE: square;
+ MARGIN-LEFT: 0px
+}
+.expandable
+{
+ CURSOR: hand
+}
+.expanded
+{
+ color: black
+}
+.collapsed
+{
+ DISPLAY: none
+}
+.foot
+{
+BACKGROUND-COLOR: #ffffff;
+BORDER-BOTTOM: #cecf9c 1px solid;
+BORDER-TOP: #cecf9c 2px solid
+}
+.settings
+{
+MARGIN-LEFT: 25PX;
+}
+.help
+{
+TEXT-ALIGN: right;
+margin-right: 10px;
+}
Property changes on: AnxCreator/_UpgradeReport_Files/UpgradeReport.css
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/_UpgradeReport_Files/UpgradeReport.xslt
===================================================================
--- AnxCreator/_UpgradeReport_Files/UpgradeReport.xslt (rev 0)
+++ AnxCreator/_UpgradeReport_Files/UpgradeReport.xslt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl='urn:schemas-microsoft-com:xslt'>
+
+ <xsl:key name="ProjectKey" match="Event" use="@Project" />
+
+ <xsl:template match="Events" mode="createProjects">
+ <projects>
+ <xsl:for-each select="Event">
+ <!--xsl:sort select="@Project" order="descending"/-->
+ <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Project != @Project)">
+
+ <xsl:variable name="ProjectName" select="@Project"/>
+
+ <project>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@Project"/>
+ </xsl:attribute>
+
+ <xsl:if test="@Project=''">
+ <xsl:attribute name="solution">
+ <xsl:value-of select="@Solution"/>
+ </xsl:attribute>
+ </xsl:if>
+
+ <xsl:for-each select="key('ProjectKey', $ProjectName)">
+ <!--xsl:sort select="@Source" /-->
+ <xsl:if test="(1=position()) or (preceding-sibling::*[1]/@Source != @Source)">
+
+ <source>
+ <xsl:attribute name="name">
+ <xsl:value-of select="@Source"/>
+ </xsl:attribute>
+
+ <xsl:variable name="Source">
+ <xsl:value-of select="@Source"/>
+ </xsl:variable>
+
+ <xsl:for-each select="key('ProjectKey', $ProjectName)[ @Source = $Source ]">
+
+ <event>
+ <xsl:attribute name="error-level">
+ <xsl:value-of select="@ErrorLevel"/>
+ </xsl:attribute>
+ <xsl:attribute name="description">
+ <xsl:value-of select="@Description"/>
+ </xsl:attribute>
+ </event>
+ </xsl:for-each>
+ </source>
+ </xsl:if>
+ </xsl:for-each>
+
+ </project>
+ </xsl:if>
+ </xsl:for-each>
+ </projects>
+ </xsl:template>
+
+ <xsl:template match="projects">
+ <xsl:for-each select="project">
+ <xsl:sort select="@Name" order="ascending"/>
+ <h2>
+ <xsl:if test="@solution">Solution: <xsl:value-of select="@solution"/></xsl:if>
+ <xsl:if test="not(@solution)">Project: <xsl:value-of select="@name"/>
+ <xsl:for-each select="source">
+ <xsl:variable name="Hyperlink" select="@name"/>
+ <xsl:for-each select="event[@error-level='4']">
+  <A class="note"><xsl:attribute name="HREF"><xsl:value-of select="$Hyperlink"/></xsl:attribute><xsl:value-of select="@description"/></A>
+ </xsl:for-each>
+ </xsl:for-each>
+ </xsl:if>
+ </h2>
+
+ <table cellpadding="2" cellspacing="0" width="98%" border="1" bordercolor="white" class="infotable">
+ <tr>
+ <td nowrap="1" class="header" _locID="Filename">Filename</td>
+ <td nowrap="1" class="header" _locID="Status">Status</td>
+ <td nowrap="1" class="header" _locID="Errors">Errors</td>
+ <td nowrap="1" class="header" _locID="Warnings">Warnings</td>
+ </tr>
+
+ <xsl:for-each select="source">
+ <xsl:sort select="@name" order="ascending"/>
+ <xsl:variable name="source-id" select="generate-id(.)"/>
+
+ <xsl:if test="count(event)!=count(event[@error-level='4'])">
+
+ <tr class="row">
+ <td class="content">
+ <A HREF="javascript:"><xsl:attribute name="onClick">javascript:document.images['<xsl:value-of select="$source-id"/>'].click()</xsl:attribute><IMG border="0" alt="expand/collapse section" class="expandable" height="11" onclick="changepic()" src="_UpgradeReport_Files/UpgradeReport_Plus.gif" width="9" ><xsl:attribute name="name"><xsl:value-of select="$source-id"/></xsl:attribute><xsl:attribute name="child">src<xsl:value-of select="$source-id"/></xsl:attribute></IMG></A> <xsl:value-of select="@name"/>
+ </td>
+ <td class="content">
+ <xsl:if test="count(event[@error-level='3'])=1">
+ <xsl:for-each select="event[@error-level='3']">
+ <xsl:if test="@description='Converted'">Converted</xsl:if>
+ <xsl:if test="@description!='Converted'"><xsl:value-of select="@description"/></xsl:if>
+ </xsl:for-each>
+ </xsl:if>
+ <xsl:if test="count(event[@error-level='3'])!=1 and count(event[@error-level='3' and @description='Converted'])!=0">Converted
+ </xsl:if>
+ </td>
+ <td class="content"><xsl:value-of select="count(event[@error-level='2'])"/></td>
+ <td class="content"><xsl:value-of select="count(event[@error-level='1'])"/></td>
+ </tr>
+
+ <tr class="collapsed" bgcolor="#ffffff">
+ <xsl:attribute name="id">src<xsl:value-of select="$source-id"/></xsl:attribute>
+
+ <td colspan="7">
+ <table width="97%" border="1" bordercolor="#dcdcdc" rules="cols" class="issuetable">
+ <tr>
+ <td colspan="7" class="issuetitle" _locID="ConversionIssues">Conversion Issues - <xsl:value-of select="@name"/>:</td>
+ </tr>
+
+ <xsl:for-each select="event[@error-level!='3']">
+ <xsl:if test="@error-level!='4'">
+ <tr>
+ <td class="issuenone" style="border-bottom:solid 1 lightgray">
+ <xsl:value-of select="@description"/>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:for-each>
+ </table>
+ </td>
+ </tr>
+ </xsl:if>
+ </xsl:for-each>
+
+ <tr valign="top">
+ <td class="foot">
+ <xsl:if test="count(source)!=1">
+ <xsl:value-of select="count(source)"/> files
+ </xsl:if>
+ <xsl:if test="count(source)=1">
+ 1 file
+ </xsl:if>
+ </td>
+ <td class="foot">
+ Converted: <xsl:value-of select="count(source/event[@error-level='3' and @description='Converted'])"/><BR />
+ Not converted <xsl:value-of select="count(source) - count(source/event[@error-level='3' and @description='Converted'])"/>
+ </td>
+ <td class="foot"><xsl:value-of select="count(source/event[@error-level='2'])"/></td>
+ <td class="foot"><xsl:value-of select="count(source/event[@error-level='1'])"/></td>
+ </tr>
+ </table>
+ </xsl:for-each>
+ </xsl:template>
+
+ <xsl:template match="Property">
+ <xsl:if test="@Name!='Date' and @Name!='Time' and @Name!='LogNumber' and @Name!='Solution'">
+ <tr><td nowrap="1"><b><xsl:value-of select="@Name"/>: </b><xsl:value-of select="@Value"/></td></tr>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="UpgradeLog">
+ <html>
+ <head>
+ <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" />
+ <link rel="stylesheet" href="_UpgradeReport_Files\UpgradeReport.css" />
+ <title>Conversion Report 
+ <xsl:if test="Properties/Property[@Name='LogNumber']">
+ <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/>
+ </xsl:if>
+ </title>
+ <script language="javascript">
+ function outliner () {
+ oMe = window.event.srcElement
+ //get child element
+ var child = document.all[event.srcElement.getAttribute("child",false)];
+ //if child element exists, expand or collapse it.
+ if (null != child)
+ child.className = child.className == "collapsed" ? "expanded" : "collapsed";
+ }
+
+ function changepic() {
+ uMe = window.event.srcElement;
+ var check = uMe.src.toLowerCase();
+ if (check.lastIndexOf("upgradereport_plus.gif") != -1)
+ {
+ uMe.src = "_UpgradeReport_Files/UpgradeReport_Minus.gif"
+ }
+ else
+ {
+ uMe.src = "_UpgradeReport_Files/UpgradeReport_Plus.gif"
+ }
+ }
+ </script>
+ </head>
+ <body topmargin="0" leftmargin="0" rightmargin="0" onclick="outliner();">
+ <h1 _locID="ConversionReport">Conversion Report - <xsl:value-of select="Properties/Property[@Name='Solution']/@Value"/></h1>
+
+ <p><span class="note">
+ <b>Time of Conversion:</b>  <xsl:value-of select="Properties/Property[@Name='Date']/@Value"/>  <xsl:value-of select="Properties/Property[@Name='Time']/@Value"/><br/>
+ </span></p>
+
+ <xsl:variable name="SortedEvents">
+ <Events>
+ <xsl:for-each select="Event">
+ <xsl:sort select="@Project" order="ascending"/>
+ <xsl:sort select="@Source" order="ascending"/>
+ <xsl:sort select="@ErrorLevel" order="ascending"/>
+ <Event>
+ <xsl:attribute name="Project"><xsl:value-of select="@Project"/> </xsl:attribute>
+ <xsl:attribute name="Solution"><xsl:value-of select="/UpgradeLog/Properties/Property[@Name='Solution']/@Value"/> </xsl:attribute>
+ <xsl:attribute name="Source"><xsl:value-of select="@Source"/> </xsl:attribute>
+ <xsl:attribute name="ErrorLevel"><xsl:value-of select="@ErrorLevel"/> </xsl:attribute>
+ <xsl:attribute name="Description"><xsl:value-of select="@Description"/> </xsl:attribute>
+ </Event>
+ </xsl:for-each>
+ </Events>
+ </xsl:variable>
+
+ <xsl:variable name="Projects">
+ <xsl:apply-templates select="msxsl:node-set($SortedEvents)/*" mode="createProjects"/>
+ </xsl:variable>
+
+ <xsl:apply-templates select="msxsl:node-set($Projects)/*"/>
+
+ <p></p><p>
+ <table class="note">
+ <tr>
+ <td nowrap="1">
+ <b>Conversion Settings</b>
+ </td>
+ </tr>
+ <xsl:apply-templates select="Properties"/>
+ </table></p>
+ </body>
+ </html>
+ </xsl:template>
+</xsl:stylesheet>
Property changes on: AnxCreator/_UpgradeReport_Files/UpgradeReport.xslt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/_UpgradeReport_Files/UpgradeReport_Minus.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/_UpgradeReport_Files/UpgradeReport_Minus.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/_UpgradeReport_Files/UpgradeReport_Plus.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/_UpgradeReport_Files/UpgradeReport_Plus.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/builds/AnxCreateDistrib/AnxCreateDistrib.vdproj
===================================================================
--- AnxCreator/builds/AnxCreateDistrib/AnxCreateDistrib.vdproj (rev 0)
+++ AnxCreator/builds/AnxCreateDistrib/AnxCreateDistrib.vdproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,1606 @@
+"DeployProject"
+{
+"VSVersion" = "3:800"
+"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
+"IsWebType" = "8:FALSE"
+"ProjectName" = "8:DMTaggerDistrib"
+"LanguageId" = "3:1033"
+"CodePage" = "3:1252"
+"UILanguageId" = "3:1033"
+"SccProjectName" = "8:"
+"SccLocalPath" = "8:"
+"SccAuxPath" = "8:"
+"SccProvider" = "8:"
+ "Hierarchy"
+ {
+ "Entry"
+ {
+ "MsmKey" = "8:_01CA7793D7C14B4C8C9DB98D14814A4F"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_1C4F3466796A4D9793E2D99237119F5A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_2785E858677545B3B61E3C48C26C720C"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_68D868321E7F4AA8B8D573CF25303455"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_7D9DE7306B83486B92C800CCD666728E"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_8121AB73E8CD45F69094E79B68B8C480"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_9997701305CD4AEC843F5314CC0BF569"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_A1DFA537913D455FA1FEDF339F361ADA"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B270F453465F4E7489783EE68E6623BD"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_B6767F027BFE4BA780C2FD627D532A48"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_BCEC26C92D48481B85314718C6CB7CC8"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_C8716F384ADF47FAA43BB8E6DD06B629"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_D13B557C099B46DC861DB62D57C324C9"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_D8A9CC86DDED409DABEEBC665E7D9B1A"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_E010E61C3DE844A78E297616B7865C93"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_E7061A3E35ED4CF8AF1FF1B9D7DE2908"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_EE11734219624B2A913D5D1BA8B4C018"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_F0089670872E40708293078CA85D679C"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ "Entry"
+ {
+ "MsmKey" = "8:_F7FE734C85104925893EB5A5C4B5D88D"
+ "OwnerKey" = "8:_UNDEFINED"
+ "MsmSig" = "8:_UNDEFINED"
+ }
+ }
+ "Configurations"
+ {
+ "Debug"
+ {
+ "DisplayName" = "8:Debug"
+ "IsDebugOnly" = "11:TRUE"
+ "IsReleaseOnly" = "11:FALSE"
+ "OutputFilename" = "8:Debug\\AnxCreateDistrib.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"
+ {
+ }
+ }
+ }
+ "Release"
+ {
+ "DisplayName" = "8:Release"
+ "IsDebugOnly" = "11:FALSE"
+ "IsReleaseOnly" = "11:TRUE"
+ "OutputFilename" = "8:Release\\DMTaggerDistrib.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"
+ {
+ }
+ }
+ }
+ }
+ "Deployable"
+ {
+ "CustomAction"
+ {
+ }
+ "DefaultFeature"
+ {
+ "Name" = "8:DefaultFeature"
+ "Title" = "8:"
+ "Description" = "8:"
+ }
+ "ExternalPersistence"
+ {
+ "LaunchCondition"
+ {
+ "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_F54F35A4866C4E5D89C7241DB1584410"
+ {
+ "Name" = "8:.NET Framework"
+ "Message" = "8:[VSDNETMSG]"
+ "Version" = "8:2.0.50727"
+ "AllowLaterVersions" = "11:FALSE"
+ "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832"
+ "SupportedRuntimes" = "8:1.1.4322"
+ }
+ }
+ }
+ "File"
+ {
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_BCEC26C92D48481B85314718C6CB7CC8"
+ {
+ "SourcePath" = "8:..\\..\\profiles\\default.dpml"
+ "TargetName" = "8:default.dpml"
+ "Tag" = "8:"
+ "Folder" = "8:_C662CD562DD54275B8C0D168DF4ACBC1"
+ "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}:_D13B557C099B46DC861DB62D57C324C9"
+ {
+ "SourcePath" = "8:..\\..\\help\\DMTagger.chm"
+ "TargetName" = "8:DMTagger.chm"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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}:_EE11734219624B2A913D5D1BA8B4C018"
+ {
+ "SourcePath" = "8:..\\..\\ico\\anx_icon_8.ico"
+ "TargetName" = "8:anx_icon.ico"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:"
+ }
+ }
+ "FileType"
+ {
+ }
+ "Folder"
+ {
+ "{3C67513D-01DD-4637-8A68-80971EB9504F}:_1945BB15840B4084A6F90C387275F98C"
+ {
+ "DefaultLocation" = "8:[ProgramFilesFolder][Manufacturer]\\DMTagger"
+ "Name" = "8:#1925"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:TARGETDIR"
+ "Folders"
+ {
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_C662CD562DD54275B8C0D168DF4ACBC1"
+ {
+ "Name" = "8:profiles"
+ "AlwaysCreate" = "11:TRUE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_0FE4F7AB85CC4837BE99335B93335F1D"
+ "Folders"
+ {
+ }
+ }
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_B78143D0210D4828A066CCBD4A680572"
+ {
+ "Name" = "8:#1919"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:ProgramMenuFolder"
+ "Folders"
+ {
+ "{9EF0B969-E518-4E46-987F-47570745A589}:_36328F7A62664D1F866EDA5C4DA11E89"
+ {
+ "Name" = "8:DMTagger"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:_163499B239D7427EA64B5866EAFCD1C3"
+ "Folders"
+ {
+ }
+ }
+ }
+ }
+ "{1525181F-901A-416C-8A58-119130FE478E}:_BCA59E41D0E74755B43D52800B29A903"
+ {
+ "Name" = "8:#1916"
+ "AlwaysCreate" = "11:FALSE"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "Property" = "8:DesktopFolder"
+ "Folders"
+ {
+ }
+ }
+ }
+ "LaunchCondition"
+ {
+ }
+ "Locator"
+ {
+ }
+ "MsiBootstrapper"
+ {
+ "LangId" = "3:1033"
+ }
+ "Product"
+ {
+ "Name" = "8:Microsoft Visual Studio"
+ "ProductName" = "8:DMTagger 1.23"
+ "ProductCode" = "8:{81193C2F-DF96-4DB9-AC82-6C606CF8CC46}"
+ "PackageCode" = "8:{4A26179E-C0CD-43A7-A50D-FC3172240C7B}"
+ "UpgradeCode" = "8:{14A5AB59-0A64-4815-A0B2-39B8F713C1F8}"
+ "RestartWWWService" = "11:FALSE"
+ "RemovePreviousVersions" = "11:FALSE"
+ "DetectNewerInstalledVersion" = "11:TRUE"
+ "InstallAllUsers" = "11:FALSE"
+ "ProductVersion" = "8:1.23"
+ "Manufacturer" = "8:CSIRO ICT Centre"
+ "ARPHELPTELEPHONE" = "8:"
+ "ARPHELPLINK" = "8:"
+ "Title" = "8:DMTagger"
+ "Subject" = "8:"
+ "ARPCONTACT" = "8:CSIRO ICT Centre"
+ "Keywords" = "8:DMTagger Annodex"
+ "ARPCOMMENTS" = "8:DMTagger Annodex Creator"
+ "ARPURLINFOABOUT" = "8:www.csiro.au"
+ "ARPPRODUCTICON" = "8:_EE11734219624B2A913D5D1BA8B4C018"
+ "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}:_BD9A0000C48542B3B420AB12FE942423"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_ADCFF7B870384BB09403C7FD27085569"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCU"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_69DC2860A9EF474DA47C248FEA3D232C"
+ {
+ "Name" = "8:Software"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_639BD9ECAE6B43F2BC7AFF837AE74F77"
+ {
+ "Name" = "8:[Manufacturer]"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ }
+ "HKCR"
+ {
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_795B191E7A46405C845B52AB26583114"
+ {
+ "Name" = "8:Applications"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_833676F3EB044FB4AEED49C13795C66F"
+ {
+ "Name" = "8:DMTagger.exe"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_38E8B163E22A422AB56D49BF2B618623"
+ {
+ "Name" = "8:shell"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_45DFD0EA82BF4A85AFCDC1B0D31FFB4A"
+ {
+ "Name" = "8:Open"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_7429C8DEAC544752A0056A9A9C39233C"
+ {
+ "Name" = "8:command"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_909CE19BE7B24557A055599AA67C647E"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:\"[TARGETDIR]DMTagger.exe\" \"%1\""
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_F6E00EB2EC03484EADB43820FC6C22BC"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:Open with DMTagger"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_BD35B8A02D1C438890AD3860B2C883AB"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:open"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_A0996AFB1B0842FA8D0611705988C3BF"
+ {
+ "Name" = "8:FriendlyAppName"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:DMTagger"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EC9DEC1EE03E4014B5F575EF69FA63C4"
+ {
+ "Name" = "8:CSIRO.anxproj.1"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_3C9FF70CC7954B27BBA8A29B0CEA69EA"
+ {
+ "Name" = "8:shell"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_99C38AA396534BD7BE356C687B5AE679"
+ {
+ "Name" = "8:Open"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_0FD2F10003624CA49BAA61C89629F1EC"
+ {
+ "Name" = "8:command"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_D9C9F98562B84043AE7EEABBF1CE0312"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:\"[TARGETDIR]DMTagger.exe\" \"%1\""
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_6A1051FBCA1A4F458D94D530C99AF4A5"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:Open with DMTagger"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_12215A85D53E4C7FBABE7C235FD0DA41"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:open"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_05AC66DDE1714C09BE09CA51BC629111"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:DMTagger"
+ }
+ }
+ }
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_EE554D14AE324C629E7A668461FDAFE5"
+ {
+ "Name" = "8:.anxproj"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_25790E69C5CC45BCA02D33BBE7B15BBE"
+ {
+ "Name" = "8:OpenWithList"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ "{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_9930AD387A9D4180A887A34D0468B467"
+ {
+ "Name" = "8:DMTagger.exe"
+ "Condition" = "8:"
+ "AlwaysCreate" = "11:FALSE"
+ "DeleteAtUninstall" = "11:FALSE"
+ "Transitive" = "11:FALSE"
+ "Keys"
+ {
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_3AAB94A9898545D8AF7AEBE0B4EB45E5"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:"
+ }
+ }
+ }
+ }
+ "Values"
+ {
+ }
+ }
+ }
+ "Values"
+ {
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_0C0BEE2CBDED4DE886F5784EBCE36B92"
+ {
+ "Name" = "8:Content Type"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:text/xml"
+ }
+ "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_7B34E52B110D4D8F8A2EE4427C0E8D69"
+ {
+ "Name" = "8:"
+ "Condition" = "8:"
+ "Transitive" = "11:FALSE"
+ "ValueTypes" = "3:1"
+ "Value" = "8:CSIRO.anxproj.1"
+ }
+ }
+ }
+ }
+ }
+ "HKU"
+ {
+ "Keys"
+ {
+ }
+ }
+ "HKPU"
+ {
+ "Keys"
+ {
+ }
+ }
+ }
+ "Sequences"
+ {
+ }
+ "Shortcut"
+ {
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_5216FC8CB73D4ED6A8B1188679EBC646"
+ {
+ "Name" = "8:DMTagger"
+ "Arguments" = "8:"
+ "Description" = "8:DMTagger Annodex Creator"
+ "ShowCmd" = "3:1"
+ "IconIndex" = "3:0"
+ "Transitive" = "11:FALSE"
+ "Target" = "8:_1C4F3466796A4D9793E2D99237119F5A"
+ "Folder" = "8:_36328F7A62664D1F866EDA5C4DA11E89"
+ "WorkingFolder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "Icon" = "8:_EE11734219624B2A913D5D1BA8B4C018"
+ "Feature" = "8:"
+ }
+ "{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_8452565763764AB5BB9A60F87F8D4512"
+ {
+ "Name" = "8:DMTagger"
+ "Arguments" = "8:"
+ "Description" = "8:DMTagger Annodex Creator"
+ "ShowCmd" = "3:1"
+ "IconIndex" = "3:0"
+ "Transitive" = "11:FALSE"
+ "Target" = "8:_1C4F3466796A4D9793E2D99237119F5A"
+ "Folder" = "8:_BCA59E41D0E74755B43D52800B29A903"
+ "WorkingFolder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "Icon" = "8:_EE11734219624B2A913D5D1BA8B4C018"
+ "Feature" = "8:"
+ }
+ }
+ "UserInterface"
+ {
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_34B7ABC125064A27AC1B86BF7DB328E7"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:1"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_726214E4467C4C68968E9D3BED5BE5E3"
+ {
+ "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"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_A8A00679BB614E528AB7F5F76747501B"
+ {
+ "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}:_AD3D287168A843549ED0C192D5AA190A"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5DEDD2B4174A40FC8CF12330C824FF77"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:2"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_33002EFDC9D74750AA89D6647893B410"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_7BF41291A67D4A279636430C096C6A69"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_9F489548AEA6404392F8BB191BE9C0C8"
+ {
+ "Name" = "8:#1902"
+ "Sequence" = "3:1"
+ "Attributes" = "3:3"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_6C7E483BD9124B769424AFFDD5A6A34A"
+ {
+ "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}:_AEE0299EDF0D49C891F9501909DCE25B"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:1"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_8CE05E5BFB2249FBB20843C464D40131"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_D3DAD5C7FD50415287AE63908FD765A8"
+ {
+ "Name" = "8:#1900"
+ "Sequence" = "3:2"
+ "Attributes" = "3:1"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_2414617A61E14B4189D2141C85781F63"
+ {
+ "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"
+ }
+ }
+ }
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_54EBDC5D6D444DDEB24FE463B923492E"
+ {
+ "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}:_B546DB4D79FE470488D4366D09555283"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{DF760B10-853B-4699-99F2-AFF7185B4A62}:_E1A456F3C7F0402E9EC08400FE5D2FED"
+ {
+ "Name" = "8:#1901"
+ "Sequence" = "3:2"
+ "Attributes" = "3:2"
+ "Dialogs"
+ {
+ "{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4609511436094AAF9B261D0A51C15E95"
+ {
+ "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"
+ }
+ }
+ }
+ }
+ }
+ "{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_F32B2587A23741CDB26D296B9D203ADE"
+ {
+ "UseDynamicProperties" = "11:FALSE"
+ "IsDependency" = "11:FALSE"
+ "SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
+ }
+ }
+ "MergeModule"
+ {
+ }
+ "ProjectOutput"
+ {
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_01CA7793D7C14B4C8C9DB98D14814A4F"
+ {
+ "SourcePath" = "8:..\\..\\debug\\libTemporalURIDotNET.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_1C4F3466796A4D9793E2D99237119F5A"
+ {
+ "SourcePath" = "8:..\\..\\AnxCreate\\obj\\Debug\\DMTaggerNoObf.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{A2DD4A46-9A05-4165-9E22-1CB027B7908E}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_2785E858677545B3B61E3C48C26C720C"
+ {
+ "SourcePath" = "8:..\\..\\debug\\libCMMLParseDotNET.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{150940C1-A4EF-474D-8703-DF7100ABDA52}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_68D868321E7F4AA8B8D573CF25303455"
+ {
+ "SourcePath" = "8:..\\..\\..\\oggdsf\\src\\lib\\helper\\libiwrapper\\debug\\libiWrapper.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{FCFE729D-EADE-45BA-9506-7E82A46403F7}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_7D9DE7306B83486B92C800CCD666728E"
+ {
+ "SourcePath" = "8:..\\..\\..\\oggdsf\\src\\lib\\codecs\\cmml\\libcmmltagsdotnet\\debug\\libCMMLTagsDotNET.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8121AB73E8CD45F69094E79B68B8C480"
+ {
+ "SourcePath" = "8:..\\..\\dsfaudioresamplefilter\\debug\\dsfAudioResampleFilter.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:4"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{14CE2180-B8A2-43F9-B010-C2D5EA556A36}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9997701305CD4AEC843F5314CC0BF569"
+ {
+ "SourcePath" = "8:..\\..\\..\\oggdsf\\src\\lib\\codecs\\cmml\\libcmmltags\\debug\\libCMMLTags.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{AD38DCC6-B431-4B32-8569-74F3376EF2DA}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_A1DFA537913D455FA1FEDF339F361ADA"
+ {
+ "SourcePath" = "8:..\\..\\..\\oggdsf\\src\\lib\\helper\\libtemporaluri\\debug\\libTemporalURI.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B270F453465F4E7489783EE68E6623BD"
+ {
+ "SourcePath" = "8:..\\..\\libdsgraphmanip\\debug\\libDSGraphManip.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B6767F027BFE4BA780C2FD627D532A48"
+ {
+ "SourcePath" = "8:..\\..\\..\\oggdsf\\src\\lib\\player\\libdsplaydotnet\\debug\\libDSPlayDotNET.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{E274665B-12E3-4C7F-A749-FAB0C0A73522}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_C8716F384ADF47FAA43BB8E6DD06B629"
+ {
+ "SourcePath" = "8:..\\..\\debug\\libDSEncodeDotNET.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_D8A9CC86DDED409DABEEBC665E7D9B1A"
+ {
+ "SourcePath" = "8:..\\..\\testgraphmanip\\debug\\testGraphManip.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{7FFAF860-C775-495F-8F8B-2666A1948E53}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E010E61C3DE844A78E297616B7865C93"
+ {
+ "SourcePath" = "8:..\\..\\..\\oggdsf\\src\\lib\\codecs\\cmml\\libcmmlparse\\debug\\libCMMLParse.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{899EB7AD-26BF-4495-9BE5-EADECCC288B2}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_E7061A3E35ED4CF8AF1FF1B9D7DE2908"
+ {
+ "SourcePath" = "8:..\\..\\dsfvideoresamplefilter\\debug\\dsfVideoResampleFilter.dll"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:4"
+ "OutputConfiguration" = "8:"
+ "OutputGroupCanonicalName" = "8:Built"
+ "OutputProjectGuid" = "8:{E01FCE63-1828-4416-A928-53678B3C5568}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F0089670872E40708293078CA85D679C"
+ {
+ "SourcePath" = "8:..\\..\\cmmltoanx\\debug\\CMMLToAnx.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{BAFD65D0-6442-4FED-8E05-F32848F404C3}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F7FE734C85104925893EB5A5C4B5D88D"
+ {
+ "SourcePath" = "8:..\\..\\transcodetoogg\\debug\\transcodeToOgg.exe"
+ "TargetName" = "8:"
+ "Tag" = "8:"
+ "Folder" = "8:_1945BB15840B4084A6F90C387275F98C"
+ "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:{D1A3081E-4472-497B-BC7B-9C1840FF73A1}"
+ "ShowKeyOutput" = "11:TRUE"
+ "ExcludeFilters"
+ {
+ }
+ }
+ }
+ }
+}
Property changes on: AnxCreator/builds/AnxCreateDistrib/AnxCreateDistrib.vdproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/docs/create_anx_intf_041231.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/create_anx_intf_041231.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/create_anx_intf_050105.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/create_anx_intf_050105.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/eg_dev_prof_041220.xml
===================================================================
--- AnxCreator/docs/eg_dev_prof_041220.xml (rev 0)
+++ AnxCreator/docs/eg_dev_prof_041220.xml 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,5 @@
+<mobdevprofile version="1.0">
+ <device name="Nokia 2000+" desc="A phone i made up." />
+ <video width="240" height="160" framerate="15" />
+ <audio samplerate="16000" samplewidth="16 bit" />
+</mobdevprofile>
\ No newline at end of file
Property changes on: AnxCreator/docs/eg_dev_prof_041220.xml
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/docs/intf_041206_1308.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041206_1308.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041206_1350.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041206_1350.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041220.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041220.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041220_device.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041220_device.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041220_device_aud.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041220_device_aud.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041220_device_vid.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041220_device_vid.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041230.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041230.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_041230_0911.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_041230_0911.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_050101.jpeg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_050101.jpeg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_050104.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_050104.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_050105.jpeg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_050105.jpeg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_050120.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_050120.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/intf_050125.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/intf_050125.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/make_anx.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/make_anx.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/docs/resample_graphedit.JPG
===================================================================
(Binary files differ)
Property changes on: AnxCreator/docs/resample_graphedit.JPG
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.cpp
===================================================================
--- AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.cpp (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,514 @@
+#include "StdAfx.h"
+#include ".\audioresamplefilter.h"
+
+
+//COM Factory Template
+CFactoryTemplate g_Templates[] =
+{
+ {
+ L"Audio Resample Filter", // Name
+ &CLSID_AudioResampleFilter, // CLSID
+ AudioResampleFilter::CreateInstance, // Method to create an instance of Speex Decoder
+ NULL, // Initialization function
+ NULL // Set-up information (for filters)
+ }
+
+};
+
+// Generic way of determining the number of items in the template
+int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
+
+
+
+CUnknown* WINAPI AudioResampleFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) {
+ //This routine is the COM implementation to create a new Filter
+ AudioResampleFilter *pNewObject = new AudioResampleFilter();
+ if (pNewObject == NULL) {
+ *pHr = E_OUTOFMEMORY;
+ }
+ return pNewObject;
+
+
+
+
+}
+STDMETHODIMP AudioResampleFilter::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
+ if (riid == IID_IAudioResampleSettings) {
+ *ppv = (IAudioResampleSettings*)this;
+ ((IUnknown*)*ppv)->AddRef();
+ return NOERROR;
+ }
+ return CTransformFilter::NonDelegatingQueryInterface(riid, ppv);
+}
+AudioResampleFilter::AudioResampleFilter(void)
+ : CTransformFilter(NAME("Audio Resampler"), NULL, CLSID_AudioResampleFilter)
+ , mParamsSet(false)
+ //, mDesiredNumChannels(0)
+ //, mDesiredSampleRate(0)
+ //, mDesiredSampleWidth(0)
+ //, mWorkingBuffer(NULL)
+ //, mWorkingBufferSize(0)
+ //, mWorkingBufferContains(0)
+
+{
+ mResampleParams.desiredNumChannels = 0;
+ mResampleParams.desiredSampleRate = 0;
+ mResampleParams.desiredSampleWidth = 0;
+
+
+ //mDesiredNumChannels = 1;
+ //mDesiredSampleRate = ;
+ //mDesiredSampleWidth;
+
+}
+
+AudioResampleFilter::~AudioResampleFilter(void)
+{
+}
+
+
+
+
+
+IAudioResampleSettings::eSettingsResult AudioResampleFilter::ValidateParams(sAudioResampleParams inParams)
+{
+ //Valid path is here.
+ mResampleParams = inParams;
+
+ bool locWasModified = false;
+
+ //Validate Channel settings
+ if ((inParams.desiredNumChannels == 0) || (inParams.desiredNumChannels > mInputParams.nChannels)) {
+ //We allow upchanneling from 1 to 2
+
+ //The special case for input of 1 and output of 2 means we just leave it how it was, otherwise we
+ // make the output the same as the input.
+ if (!((mInputParams.nChannels == 1) && (inParams.desiredNumChannels == 2))) {
+ mResampleParams.desiredNumChannels = mInputParams.nChannels;
+ locWasModified = true;
+ }
+ }
+
+ //Validate SampleRate Settings
+ if ((inParams.desiredSampleRate == 0) || (inParams.desiredSampleRate > mInputParams.nSamplesPerSec)) {
+ mResampleParams.desiredSampleRate = mInputParams.nSamplesPerSec;
+ locWasModified = true;
+ }
+
+ //Validate SampleWidth Settings
+ if ((inParams.desiredSampleWidth == 0) || (inParams.desiredSampleWidth > mInputParams.wBitsPerSample)) {
+ mResampleParams.desiredSampleWidth = mInputParams.wBitsPerSample;
+ locWasModified = true;
+ }
+
+ mParamsSet = true;
+ if (locWasModified) {
+ return IAudioResampleSettings::eSettingsResult::SETS_ACCEPTED_MODIFIED;
+ } else {
+ return IAudioResampleSettings::eSettingsResult::SETS_OK;
+ }
+}
+
+STDMETHODIMP_(IAudioResampleSettings::eSettingsResult) AudioResampleFilter::setParams(sAudioResampleParams inParams) {
+ if (m_pInput->IsConnected() == TRUE) {
+ if (m_pOutput->IsConnected() == TRUE) {
+ return IAudioResampleSettings::eSettingsResult::SETS_OUTPUT_PIN_IS_CONNECTED;
+ } else {
+ return ValidateParams(inParams);
+ }
+ } else {
+
+ return IAudioResampleSettings::eSettingsResult::SETS_INPUT_PIN_NOT_CONNECTED;
+ }
+}
+STDMETHODIMP_(sAudioResampleParams) AudioResampleFilter::getParams() {
+ return mResampleParams;
+}
+
+HRESULT AudioResampleFilter::CheckInputType(const CMediaType* inInputMediaType) {
+ if ( (inInputMediaType->majortype == MEDIATYPE_Audio) &&
+ (inInputMediaType->subtype == MEDIASUBTYPE_PCM) &&
+ (inInputMediaType->formattype == FORMAT_WaveFormatEx) ){
+
+ WAVEFORMATEX* locWaveFormat = (WAVEFORMATEX*)inInputMediaType->pbFormat;
+
+ if ((locWaveFormat->nChannels <= 2) && (locWaveFormat->wBitsPerSample == 16)) {
+ //debugLog<<"Input Type Accepted"<<endl;
+ return S_OK;
+ } else {
+ return VFW_E_TYPE_NOT_ACCEPTED;
+ }
+ } else {
+ return VFW_E_TYPE_NOT_ACCEPTED;
+ }
+}
+HRESULT AudioResampleFilter::CheckTransform(const CMediaType* inInputMediaType, const CMediaType* inOutputMediaType) {
+ if ( (inInputMediaType->majortype == MEDIATYPE_Audio) &&
+ (inInputMediaType->subtype == MEDIASUBTYPE_PCM) &&
+ (inInputMediaType->formattype == FORMAT_WaveFormatEx) &&
+ (inOutputMediaType->majortype == MEDIATYPE_Audio) &&
+ (inOutputMediaType->subtype == MEDIASUBTYPE_PCM) &&
+ (inOutputMediaType->formattype == FORMAT_WaveFormatEx) ){
+
+
+
+ //debugLog << "Transform Accepted"<<endl;
+ return S_OK;
+ } else {
+ return VFW_E_TYPE_NOT_ACCEPTED;
+ }
+
+}
+HRESULT AudioResampleFilter::DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES* inPropertyRequest) {
+
+
+ HRESULT locHR = S_OK;
+
+ ALLOCATOR_PROPERTIES locReqAlloc;
+ ALLOCATOR_PROPERTIES locActualAlloc;
+
+ //TODO::: Do we really need all these buffers ?
+ //Are they big enough ? Too big ?
+
+ const unsigned long MIN_BUFFER_SIZE = 1048576;
+ const unsigned long DEFAULT_BUFFER_SIZE = 1048576;
+ const unsigned long MIN_NUM_BUFFERS = 5;
+ const unsigned long DEFAULT_NUM_BUFFERS = 10;
+
+
+
+
+ if (inPropertyRequest->cbAlign <= 0) {
+ locReqAlloc.cbAlign = 1;
+ } else {
+ locReqAlloc.cbAlign = inPropertyRequest->cbAlign;
+ }
+
+
+ if (inPropertyRequest->cbBuffer < MIN_BUFFER_SIZE) {
+ locReqAlloc.cbBuffer = DEFAULT_BUFFER_SIZE;
+ } else {
+ locReqAlloc.cbBuffer = inPropertyRequest->cbBuffer;
+ }
+
+
+ if (inPropertyRequest->cbPrefix < 0) {
+ locReqAlloc.cbPrefix = 0;
+ } else {
+ locReqAlloc.cbPrefix = inPropertyRequest->cbPrefix;
+ }
+
+
+ if (inPropertyRequest->cBuffers < MIN_NUM_BUFFERS) {
+ locReqAlloc.cBuffers = DEFAULT_NUM_BUFFERS;
+ } else {
+ locReqAlloc.cBuffers = inPropertyRequest->cBuffers;
+ }
+
+
+ locHR = inAllocator->SetProperties(&locReqAlloc, &locActualAlloc);
+
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ locHR = inAllocator->Commit();
+
+ return locHR;
+}
+HRESULT AudioResampleFilter::GetMediaType(int inPosition, CMediaType* outMediaType) {
+ if (inPosition < 0) {
+ return E_INVALIDARG;
+ } else if ((inPosition == 0) && (m_pInput->IsConnected() == TRUE)) {
+ outMediaType->majortype = MEDIATYPE_Audio;
+ outMediaType->subtype = MEDIASUBTYPE_PCM;
+ outMediaType->formattype = FORMAT_WaveFormatEx;
+ WAVEFORMATEX* locWaveFormat = (WAVEFORMATEX*)outMediaType->AllocFormatBuffer(sizeof(WAVEFORMATEX));
+
+ *locWaveFormat = mInputParams;
+
+ //This will correctly make them within the valid ranges.
+ ValidateParams(mResampleParams);
+
+
+ if (mResampleParams.desiredSampleRate != 0) {
+ locWaveFormat->nSamplesPerSec = mResampleParams.desiredSampleRate;
+ } else {
+ mResampleParams.desiredSampleRate = locWaveFormat->nSamplesPerSec;
+ }
+
+ if (mResampleParams.desiredNumChannels != 0) {
+ locWaveFormat->nChannels = mResampleParams.desiredNumChannels;
+ } else {
+ mResampleParams.desiredNumChannels = locWaveFormat->nChannels;
+ }
+
+ if (mResampleParams.desiredSampleWidth != 0) {
+ locWaveFormat->wBitsPerSample = mResampleParams.desiredSampleWidth;
+ } else {
+ mResampleParams.desiredSampleWidth = locWaveFormat->wBitsPerSample;
+ }
+
+ mParamsSet = true;
+
+ locWaveFormat->nBlockAlign = (locWaveFormat->nChannels) * (locWaveFormat->wBitsPerSample >> 3);
+ locWaveFormat->nAvgBytesPerSec = ((locWaveFormat->nChannels) * (locWaveFormat->wBitsPerSample >> 3)) * locWaveFormat->nSamplesPerSec;
+
+ //Need to set waveformat ex here.
+ return S_OK;
+ } else {
+ return VFW_S_NO_MORE_ITEMS;
+ }
+}
+HRESULT AudioResampleFilter::SetMediaType(PIN_DIRECTION inPinDirection, const CMediaType* inMediaType) {
+ if (inPinDirection == PINDIR_INPUT) {
+ mInputParams = *((WAVEFORMATEX*)inMediaType->pbFormat);
+ //ASSERT(mInputParams.wBitsPerSample % 8 == 0)
+ //delete mWorkingBuffer;
+ //mWorkingBuffer = NULL;
+ //mWorkingBufferContains = 0;
+ //mWorkingBufferSize = mInputParams.nSamplesPerSec * mInputParams.nChannels * (mInputParams.wBitsPerSample / 8);
+ //mWorkingBuffer = new unsigned char[mWorkingBufferSize];
+ }
+ CTransformFilter::SetMediaType(inPinDirection, inMediaType);
+ return S_OK;
+
+}
+
+HRESULT AudioResampleFilter::Transform(IMediaSample* inSample, IMediaSample* outSample) {
+ unsigned long locSize = inSample->GetActualDataLength();
+
+ BYTE* locInBuff = NULL;
+ BYTE* locOutBuff = NULL;
+ HRESULT locHR = S_FALSE;
+
+
+ if ((locSize <= outSample->GetSize())) {
+ //First resample
+ //Second rechannel
+ //Third resize sample
+
+ //Setup the pointers
+ locHR = inSample->GetPointer(&locInBuff);
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ locHR = outSample->GetPointer(&locOutBuff);
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ unsigned short locSampleWidth = mInputParams.wBitsPerSample / 8;
+ ASSERT(locSampleWidth == 2);
+
+ unsigned long locDesiredSampleRate = 0;
+ if ((mResampleParams.desiredSampleRate == 0) || (mResampleParams.desiredSampleRate >= mInputParams.nSamplesPerSec)) {
+ locDesiredSampleRate = mInputParams.nSamplesPerSec;
+ } else {
+ locDesiredSampleRate = mResampleParams.desiredSampleRate;
+ }
+ //unsigned long locIntRatio = (mInputParams.nSamplesPerSec * 65536) / mDesiredSampleRate;
+ double locRatio = (double)mInputParams.nSamplesPerSec / (double)locDesiredSampleRate;
+
+
+ unsigned long locNumChannels = mInputParams.nChannels;
+ unsigned long locNumOutputChannels = 0;
+
+
+ if ((mResampleParams.desiredNumChannels == 0) ) {
+ locNumOutputChannels = mInputParams.nChannels;
+ } else {
+ locNumOutputChannels = mResampleParams.desiredNumChannels;
+ }
+
+ unsigned short locOutputSampleWidth = 0;
+
+ if ((mResampleParams.desiredSampleWidth == 0) || (mResampleParams.desiredSampleWidth/8 == locSampleWidth)) {
+ locOutputSampleWidth = locSampleWidth; //Note this is bytes not bits
+ ASSERT(locOutputSampleWidth == 2);
+
+ } else {
+ locOutputSampleWidth = mResampleParams.desiredSampleWidth / 8;
+ ASSERT(locOutputSampleWidth == 1);
+ }
+
+ unsigned long locFrameWidth = locSampleWidth * locNumChannels;
+ unsigned long locOutputFrameWidth = locOutputSampleWidth * locNumOutputChannels;
+
+ //I think this is unnecessary... i'm pretty sure all filters obey the block sizing and won't send partial
+ // frames.
+ unsigned long locHowMuchToProcess = inSample->GetActualDataLength() - (inSample->GetActualDataLength() % locFrameWidth);
+
+ //This is the number of new samples that will be in the output... basically the number of samples in the input
+ // divided by the samplerate ratio.
+ unsigned long locNumNewSamples = (locHowMuchToProcess/locRatio) / locFrameWidth;
+
+ double locNewSamplePoint = 0;
+ unsigned long locPrevSample = 0;
+ unsigned long locNextSample = 0;
+
+ double locNewSampleInter = 0;
+
+ //ASSUMES 16 bit sample input !!!
+ if (locOutputSampleWidth == 2) {
+ //16 bit output !
+ short* locOutShortBuff = (short*)locOutBuff;
+ unsigned long locOutShortBuffUpto = 0;
+ double temp = 0;
+
+
+ //For each sample in the new desired output...
+ for (unsigned long samp = 0; samp < locNumNewSamples; samp++) {
+ //This is a floating point location of the new sample
+ locNewSamplePoint = samp * locRatio;
+
+ //Calculate the next and previous sample for interpolation
+ locPrevSample = (unsigned long)locNewSamplePoint;
+ locNextSample = locPrevSample + 1;
+
+ if (locNextSample >= locNumNewSamples) {
+ locNextSample = locPrevSample;
+ }
+
+ //This is a double between 0 and 1 which represents where the new sample point lies between two existing samples.
+ locNewSampleInter = locNewSamplePoint - locPrevSample;
+
+
+
+ ASSERT (mResampleParams.desiredNumChannels <= 2);
+
+ // INPUT DESIRED OUTPUT
+ // 1 1 1
+ // 1 2 2
+ // 2 1 1
+ // 2 2 2
+ if ((mResampleParams.desiredNumChannels == mInputParams.nChannels)) {
+ //Keep the same number of channels
+ //----
+ // This path is taken for having the same number of channels in input and output
+ //----
+
+ for (unsigned long chan = 0; chan < mInputParams.nChannels; chan++) {
+ //For each channel we get the weighted average of the previous and next sample.
+ // Note: the temp here is reset on every channel, so output channel samples are independant.
+
+ //Linear interpolation between two samples.
+ temp = (*((short*)(locInBuff + (locPrevSample*locFrameWidth) + (chan * locSampleWidth) ))) * (1-locNewSampleInter);
+ temp += (*((short*)(locInBuff + (locNextSample*locFrameWidth) + (chan * locSampleWidth) ))) * locNewSampleInter;
+
+ //Put the new sample in to the output buffer which is in 16 bits chunks.
+ // Note: Each iteration of this inner loop generates one sample in each channel.
+ locOutShortBuff[locOutShortBuffUpto + chan] = (short)temp; //Should this divide by 2 - NO: The average is implicit in the intersample interpolation??
+ }
+ //Advance the channel output buffer pointer.
+ locOutShortBuffUpto += mInputParams.nChannels;
+ } else {
+ // Change the number of channels.
+ //----
+ // This path is taken if we are changing the number of channels.
+ // Etiher changing 2 channls to 1 *or* 1 up to 2
+ //----
+
+
+ //Reduce to 1 channel
+ temp = 0;
+ for (unsigned long chan = 0; chan < mInputParams.nChannels; chan++) {
+ //For each sample/channel block we average it out to put it all in one channel.
+ // Note: Each iteration of this loop merely keeps a running total... after the loop, one sample is generated.
+ temp += (*((short*)(locInBuff + (locPrevSample*locFrameWidth) + (chan * locSampleWidth) ))) * (1-locNewSampleInter);
+ temp += (*((short*)(locInBuff + (locNextSample*locFrameWidth) + (chan * locSampleWidth) ))) * locNewSampleInter;
+
+ }
+
+ //At this point temp represents a single channel... either the only channel that existed or the average of the two channels
+ // in the input.
+ //--
+ // If we are going from 2 to 1... we can just write the averaged sample to a single channel in the output
+ // If we are going from 1 to 2... we can just write the single channel sample twice to the output.
+
+ if (mResampleParams.desiredNumChannels == 1) {
+ //Add a sample which is the average of all the channels in that position.
+ locOutShortBuff[locOutShortBuffUpto] = (short)(temp/mInputParams.nChannels);
+ locOutShortBuffUpto++;
+ } else if (mResampleParams.desiredNumChannels == 2) {
+ //Add a sample which is the average of all the channels in that position twice, once in each channel of output
+ locOutShortBuff[locOutShortBuffUpto] = (short)(temp/mInputParams.nChannels);
+ locOutShortBuffUpto++;
+ locOutShortBuff[locOutShortBuffUpto] = (short)(temp/mInputParams.nChannels);
+ locOutShortBuffUpto++;
+ } else {
+ throw 0;
+ }
+
+
+
+ }
+ }
+ } else if (locOutputSampleWidth == 1) {
+ //short* locOutShortBuff = (short*)locOutBuff;
+ unsigned long locOutBuffUpto = 0;
+ double temp = 0;
+
+
+ //For each sample in the new desired output...
+ for (unsigned long samp = 0; samp < locNumNewSamples; samp++) {
+ //This is a floating point location of the new sample
+ locNewSamplePoint = samp * locRatio;
+
+ //Calculate the next and previous sample for interpolation
+ locPrevSample = (unsigned long)locNewSamplePoint;
+ locNextSample = locPrevSample + 1;
+
+ //This is a double between 0 and 1 which represents where the new sample point lies between two existing samples.
+ locNewSampleInter = locNewSamplePoint - locPrevSample;
+
+
+ ASSERT (mResampleParams.desiredNumChannels <= 2);
+
+ if ((mResampleParams.desiredNumChannels == 0) || (mResampleParams.desiredNumChannels == mInputParams.nChannels)) {
+ //Keep the same number of channels ie 2
+ for (unsigned long chan = 0; chan < mInputParams.nChannels; chan++) {
+ //For each channel we get the weighted average of the previous and next sample.
+ // Note: the temp here is reset on every channel, so output channel samples are independant.
+ temp = (*((short*)(locInBuff + (locPrevSample*locFrameWidth) + (chan * locSampleWidth) ))) * (1-locNewSampleInter);
+ temp += (*((short*)(locInBuff + (locNextSample*locFrameWidth) + (chan * locSampleWidth) ))) * locNewSampleInter;
+
+ //Put the new sample in to the output buffer which is in 16 bits chunks.
+ // Note: Each iteration of this inner loop generates one sample in each channel.
+ locOutBuff[locOutBuffUpto + chan] = (unsigned char) ((((short)temp) / 256) + 128);
+ }
+ //Advance the channel output buffer pointer.
+ locOutBuffUpto += mInputParams.nChannels;
+ } else {
+ ASSERT (mResampleParams.desiredNumChannels == 1);
+
+ //Reduce to 1 channel or leave in 1 channel if it already was.
+ temp = 0;
+ for (unsigned long chan = 0; chan < mInputParams.nChannels; chan++) {
+ //For each sample/channel block we average it out to put it all in one channel.
+ // Note: Each iteration of this loop merely keeps a running total... after the loop, one sample is generated.
+ temp += (*((short*)(locInBuff + (locPrevSample*locFrameWidth) + (chan * locSampleWidth) ))) * (1-locNewSampleInter);
+ temp += (*((short*)(locInBuff + (locNextSample*locFrameWidth) + (chan * locSampleWidth) ))) * locNewSampleInter;
+
+ }
+ //Add a sample which is the average of all the channels in that position.
+ locOutBuff[locOutBuffUpto] = (unsigned char) ((((short)(temp/2)) /256) + 128);
+ locOutBuffUpto++;
+
+ }
+ }
+
+
+ } else {
+ throw 0;
+ }
+
+ //****************** TODO::: The two represents 16 bits !!!!!!!!!!!!!!111
+ outSample->SetActualDataLength(locNumNewSamples*locNumOutputChannels* locOutputSampleWidth);
+
+ return S_OK;
+ } else {
+ throw 0;
+ }
+}
Property changes on: AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.def
===================================================================
--- AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.def (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.def 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+LIBRARY dsfAudioResampleFilter
+EXPORTS
+ DllMain PRIVATE
+ DllGetClassObject PRIVATE
+ DllCanUnloadNow PRIVATE
+ DllRegisterServer PRIVATE
+ DllUnregisterServer PRIVATE
+
Property changes on: AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.def
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.h
===================================================================
--- AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.h (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,49 @@
+#pragma once
+#include "audioresamplefilterdllstuff.h"
+#include "sAudioResampleParams.h"
+#include "IAudioResampleSettings.h"
+class AudioResampleFilter
+ : public CTransformFilter
+ , public IAudioResampleSettings
+{
+public:
+ AudioResampleFilter(void);
+ ~AudioResampleFilter(void);
+
+ //COM Creator Function
+ DECLARE_IUNKNOWN
+ static CUnknown* WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
+ STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+
+ //Implement the Tranform filter interface
+ HRESULT CheckInputType(const CMediaType* inInputMediaType);
+ HRESULT CheckTransform(const CMediaType* inInputMediaType, const CMediaType* inOutputMediaType);
+ HRESULT DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES* inPropertyRequest);
+ HRESULT GetMediaType(int inPosition, CMediaType* outMediaType);
+ HRESULT Transform(IMediaSample* inSample, IMediaSample* outSample);
+
+
+ virtual HRESULT SetMediaType(PIN_DIRECTION inPinDirection, const CMediaType* inMediaType);
+
+ //IAudioresampleSettings Implementation
+ virtual STDMETHODIMP_(eSettingsResult) setParams(sAudioResampleParams inParams);
+ virtual STDMETHODIMP_(sAudioResampleParams) getParams();
+protected:
+ //HRESULT doAudioProcessing(BYTE* inBuff, BYTE* outBuff);
+ //unsigned long mDesiredNumChannels;
+ //unsigned long mDesiredSampleRate;
+ //unsigned long mDesiredSampleWidth;
+
+ IAudioResampleSettings::eSettingsResult ValidateParams(sAudioResampleParams inParams);
+ bool mParamsSet;
+
+ sAudioResampleParams mResampleParams;
+
+ //unsigned char* mWorkingBuffer;
+ //unsigned long mWorkingBufferSize;
+ //unsigned long mWorkingBufferContains;
+
+ WAVEFORMATEX mInputParams;
+
+
+};
Property changes on: AnxCreator/dsfAudioResampleFilter/AudioResampleFilter.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/IAudioResampleSettings.h
===================================================================
--- AnxCreator/dsfAudioResampleFilter/IAudioResampleSettings.h (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/IAudioResampleSettings.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,33 @@
+#pragma once
+#ifndef __IAUDIORESAMPLESETTINGS__
+#define __IAUDIORESAMPLESETTINGS__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "sAudioResampleParams.h"
+
+DECLARE_INTERFACE_(IAudioResampleSettings, IUnknown) {
+
+ enum eSettingsResult {
+ SETS_OK,
+ SETS_ACCEPTED_MODIFIED,
+ SETS_INPUT_PIN_NOT_CONNECTED,
+ SETS_OUTPUT_PIN_IS_CONNECTED,
+
+ INVALID = 1000
+
+ };
+
+ virtual STDMETHODIMP_(eSettingsResult) setParams(sAudioResampleParams inParams) PURE;
+ virtual STDMETHODIMP_(sAudioResampleParams) getParams() PURE;
+
+
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
\ No newline at end of file
Property changes on: AnxCreator/dsfAudioResampleFilter/IAudioResampleSettings.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/ReadMe.txt
===================================================================
--- AnxCreator/dsfAudioResampleFilter/ReadMe.txt (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,40 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : dsfAudioResampleFilter Project Overview
+========================================================================
+
+AppWizard has created this dsfAudioResampleFilter DLL for you.
+This file contains a summary of what you will find in each of the files that
+make up your dsfAudioResampleFilter application.
+
+
+dsfAudioResampleFilter.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+dsfAudioResampleFilter.cpp
+ This is the main DLL source file.
+
+ When created, this DLL does not export any symbols. As a result, it
+ will not produce a .lib file when it is built. If you wish this project
+ to be a project dependency of some other project, you will either need to
+ add code to export some symbols from the DLL so that an export library
+ will be produced, or you can set the Ignore Input Library property to Yes
+ on the General propert page of the Linker folder in the project's Property
+ Pages dialog box.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named dsfAudioResampleFilter.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/dsfAudioResampleFilter/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.cpp
===================================================================
--- AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.cpp (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,70 @@
+
+#include "StdAfx.h"
+#include "audioresamplefilterdllstuff.h"
+
+extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);
+BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved)
+{
+ return DllEntryPoint((HINSTANCE)(hModule), dwReason, lpReserved);
+}
+
+
+
+//The folowing two functions do the registration and deregistration of the dll and it's contained com objects.
+STDAPI DllRegisterServer()
+{
+
+
+ HRESULT hr;
+ IFilterMapper2* locFilterMapper = NULL;
+
+ hr = AMovieDllRegisterServer2(TRUE);
+
+
+
+
+ hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER, IID_IFilterMapper2, (void **)&locFilterMapper);
+
+
+ hr = locFilterMapper->RegisterFilter(
+ CLSID_AudioResampleFilter, // Filter CLSID.
+ L"Audio Resample Filter", // Filter name.
+ NULL, // Device moniker.
+ &CLSID_LegacyAmFilterCategory, // Direct Show general category
+ L"Audio Resample Filter", // Instance data. ???????
+ &AudioResampleFilterReg // Pointer to filter information.
+ );
+
+ locFilterMapper->Release();
+
+ return hr;
+
+}
+
+STDAPI DllUnregisterServer()
+{
+ HRESULT hr;
+ IFilterMapper2* locFilterMapper = NULL;
+
+ hr = AMovieDllRegisterServer2(FALSE);
+ if (FAILED(hr)) {
+
+ return hr;
+ }
+
+ hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER,
+ IID_IFilterMapper2, (void **)&locFilterMapper);
+
+ if (FAILED(hr)) {
+ return hr;
+ }
+
+
+ hr = locFilterMapper->UnregisterFilter(&CLSID_LegacyAmFilterCategory, L"Audio Resample Filter", CLSID_AudioResampleFilter);
+
+
+ //
+ locFilterMapper->Release();
+ return hr;
+
+}
\ No newline at end of file
Property changes on: AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.h
===================================================================
--- AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.h (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,62 @@
+
+#pragma once
+#include <streams.h>
+#include <pullpin.h>
+#include <initguid.h>
+
+// {56582236-EFE8-4311-9AF5-E2FA2204FCE0}
+DEFINE_GUID(CLSID_AudioResampleFilter,
+0x56582236, 0xefe8, 0x4311, 0x9a, 0xf5, 0xe2, 0xfa, 0x22, 0x4, 0xfc, 0xe0);
+
+// {1D653984-D3B4-4539-8D9D-4777AF23BD2B}
+DEFINE_GUID(IID_IAudioResampleSettings,
+0x1d653984, 0xd3b4, 0x4539, 0x8d, 0x9d, 0x47, 0x77, 0xaf, 0x23, 0xbd, 0x2b);
+
+//This structure defines the type of input we accept on the input pin... Stream/Annodex
+
+const REGPINTYPES AudioResampleOutputTypes = {
+ &MEDIATYPE_Audio,
+ &MEDIASUBTYPE_PCM
+};
+
+const REGPINTYPES AudioResampleInputTypes = {
+ &MEDIATYPE_Audio,
+ &MEDIASUBTYPE_PCM
+};
+const REGFILTERPINS AudioResamplePinReg[] = {
+ {
+ L"PCM Input", //Name (obsoleted)
+ FALSE, //Renders from this pin ?? Not sure about this.
+ FALSE, //Not an output pin
+ FALSE, //Cannot have zero instances of this pin
+ FALSE, //Cannot have more than one instance of this pin
+ NULL, //Connects to filter (obsoleted)
+ NULL, //Connects to pin (obsoleted)
+ 1, //upport two media type
+ &AudioResampleInputTypes //Pointer to media type (Audio/Vorbis or Audio/Speex)
+ } ,
+
+ {
+ L"Resampled PCM Output", //Name (obsoleted)
+ FALSE, //Renders from this pin ?? Not sure about this.
+ TRUE, //Is an output pin
+ FALSE, //Cannot have zero instances of this pin
+ FALSE, //Cannot have more than one instance of this pin
+ NULL, //Connects to filter (obsoleted)
+ NULL, //Connects to pin (obsoleted)
+ 1, //Only support one media type
+ &AudioResampleOutputTypes //Pointer to media type (Audio/PCM)
+
+ }
+};
+
+
+
+const REGFILTER2 AudioResampleFilterReg = {
+ 1,
+ MERIT_DO_NOT_USE,
+ 2,
+ AudioResamplePinReg
+
+};
+
Property changes on: AnxCreator/dsfAudioResampleFilter/audioresamplefilterdllstuff.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.cpp
===================================================================
Property changes on: AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.vcproj
===================================================================
--- AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.vcproj (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="dsfAudioResampleFilter"
+ ProjectGUID="{14CE2180-B8A2-43F9-B010-C2D5EA556A36}"
+ RootNamespace="dsfAudioResampleFilter"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFAUDIORESAMPLEFILTER_EXPORTS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Strmbasd.lib Msvcrtd.lib Winmm.lib Strmiids.lib Quartz.lib"
+ OutputFile="$(OutDir)/dsfAudioResampleFilter.dll"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug""
+ ModuleDefinitionFile="AudioResampleFilter.def"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/dsfAudioResampleFilter.pdb"
+ SubSystem="2"
+ ImportLibrary="$(OutDir)/dsfAudioResampleFilter.lib"
+ 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="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""C:\Program Files\Microsoft Platform SDK\Include";"C:\Program Files\Microsoft Platform SDK\Samples\Multimedia\DirectShow\BaseClasses";"C:\Program Files\Microsoft DirectX SDK (April 2007)\Include""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFAUDIORESAMPLEFILTER_EXPORTS"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Strmbase.lib Winmm.lib Strmiids.lib Quartz.lib"
+ OutputFile="$(OutDir)/dsfAudioResampleFilter.dll"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""C:\Program Files\Microsoft Platform SDK\Lib";"C:\Program Files\Microsoft Platform SDK\Samples\Multimedia\DirectShow\BaseClasses\SRV2003_RETAIL";"C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib""
+ ModuleDefinitionFile="AudioResampleFilter.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(OutDir)/dsfAudioResampleFilter.lib"
+ 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;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\AudioResampleFilter.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\AudioResampleFilter.def"
+ >
+ </File>
+ <File
+ RelativePath=".\audioresamplefilterdllstuff.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=".\AudioResampleFilter.h"
+ >
+ </File>
+ <File
+ RelativePath=".\audioresamplefilterdllstuff.h"
+ >
+ </File>
+ <File
+ RelativePath=".\IAudioResampleSettings.h"
+ >
+ </File>
+ <File
+ RelativePath=".\sAudioResampleParams.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"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/dsfAudioResampleFilter/dsfAudioResampleFilter.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/sAudioResampleParams.h
===================================================================
--- AnxCreator/dsfAudioResampleFilter/sAudioResampleParams.h (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/sAudioResampleParams.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,9 @@
+#pragma once
+
+
+struct sAudioResampleParams {
+ unsigned long desiredSampleRate;
+ unsigned long desiredSampleWidth;
+ unsigned short desiredNumChannels;
+ signed short desiredVorbisQuality;
+};
\ No newline at end of file
Property changes on: AnxCreator/dsfAudioResampleFilter/sAudioResampleParams.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/stdafx.cpp
===================================================================
--- AnxCreator/dsfAudioResampleFilter/stdafx.cpp (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// dsfAudioResampleFilter.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Property changes on: AnxCreator/dsfAudioResampleFilter/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfAudioResampleFilter/stdafx.h
===================================================================
--- AnxCreator/dsfAudioResampleFilter/stdafx.h (rev 0)
+++ AnxCreator/dsfAudioResampleFilter/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,13 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+// Windows Header Files:
+#include <windows.h>
+
+// TODO: reference additional headers your program requires here
Property changes on: AnxCreator/dsfAudioResampleFilter/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/IVideoResampleSettings.h
===================================================================
--- AnxCreator/dsfVideoResampleFilter/IVideoResampleSettings.h (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/IVideoResampleSettings.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,33 @@
+#pragma once
+#ifndef __IVIDEORESAMPLESETTINGS__
+#define __IVIDEORESAMPLESETTINGS__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "sVideoResampleParams.h"
+
+DECLARE_INTERFACE_(IVideoResampleSettings, IUnknown) {
+
+ enum eSettingsResult {
+ SETS_OK,
+ SETS_ACCEPTED_MODIFIED,
+ SETS_INPUT_PIN_NOT_CONNECTED,
+ SETS_OUTPUT_PIN_IS_CONNECTED,
+
+ INVALID = 1000
+
+ };
+
+ virtual STDMETHODIMP_(eSettingsResult) setParams(sVideoResampleParams inParams) PURE;
+ virtual STDMETHODIMP_(sVideoResampleParams) getParams() PURE;
+
+
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
\ No newline at end of file
Property changes on: AnxCreator/dsfVideoResampleFilter/IVideoResampleSettings.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/ReadMe.txt
===================================================================
--- AnxCreator/dsfVideoResampleFilter/ReadMe.txt (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,40 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : dsfVideoResampleFilter Project Overview
+========================================================================
+
+AppWizard has created this dsfVideoResampleFilter DLL for you.
+This file contains a summary of what you will find in each of the files that
+make up your dsfVideoResampleFilter application.
+
+
+dsfVideoResampleFilter.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+dsfVideoResampleFilter.cpp
+ This is the main DLL source file.
+
+ When created, this DLL does not export any symbols. As a result, it
+ will not produce a .lib file when it is built. If you wish this project
+ to be a project dependency of some other project, you will either need to
+ add code to export some symbols from the DLL so that an export library
+ will be produced, or you can set the Ignore Input Library property to Yes
+ on the General propert page of the Linker folder in the project's Property
+ Pages dialog box.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named dsfVideoResampleFilter.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/dsfVideoResampleFilter/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.cpp
===================================================================
--- AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.cpp (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,1540 @@
+#include "StdAfx.h"
+#include ".\videoresamplefilter.h"
+
+
+//COM Factory Template
+CFactoryTemplate g_Templates[] =
+{
+ {
+ L"Video Resample Filter", // Name
+ &CLSID_VideoResampleFilter, // CLSID
+ VideoResampleFilter::CreateInstance, // Method to create an instance of Speex Decoder
+ NULL, // Initialization function
+ NULL // Set-up information (for filters)
+ }
+
+};
+
+// Generic way of determining the number of items in the template
+int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
+
+
+
+CUnknown* WINAPI VideoResampleFilter::CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr) {
+ //This routine is the COM implementation to create a new Filter
+ VideoResampleFilter *pNewObject = new VideoResampleFilter();
+ if (pNewObject == NULL) {
+ *pHr = E_OUTOFMEMORY;
+ }
+ return pNewObject;
+}
+STDMETHODIMP VideoResampleFilter::NonDelegatingQueryInterface(REFIID riid, void **ppv) {
+
+ if (riid == IID_IVideoResampleSettings) {
+ *ppv = (IVideoResampleSettings*)this;
+ ((IUnknown*)*ppv)->AddRef();
+ return NOERROR;
+ }
+ return CTransformFilter::NonDelegatingQueryInterface(riid, ppv);
+}
+VideoResampleFilter::VideoResampleFilter(void)
+ : CTransformFilter(NAME("Video Resampler"), NULL, CLSID_VideoResampleFilter)
+ , mWidth(0)
+ , mHeight(0)
+ , mBuffer1(NULL)
+ , mBuffer2(NULL)
+ , mNumReductions(0)
+ , mUptoTime(0)
+
+
+{
+#ifdef OGGCODECS_LOGGING
+ debugLog.open("G:\\logs\\vidresample.log", ios_base::out);
+#endif
+
+ mResampleParams.desiredFrameRate = 0;
+ //mResampleParams.desiredFrameRateDenom = 0;
+ mResampleParams.desiredHeight = 0;
+ mResampleParams.desiredWidth = 0;
+
+
+ //mDesiredWidth = 208;
+ //mDesiredHeight = 174;
+ //mDesiredWidth = 160;
+ //mDesiredHeight = 120;
+
+
+ mBuffer1 = new unsigned char[1024*1024*3];
+ mBuffer2 = new unsigned char[1024*1024*3];
+
+ unsigned char temp = 1;
+ for (int i = 0; i < 8; i++) {
+ SPO2[i] = temp;
+ temp *= 2;
+ }
+
+
+}
+
+VideoResampleFilter::~VideoResampleFilter(void)
+{
+ debugLog.close();
+ delete mBuffer1;
+ delete mBuffer2;
+}
+
+//bool VideoResampleFilter::
+IVideoResampleSettings::eSettingsResult VideoResampleFilter::ValidateParams(sVideoResampleParams inParams) {
+
+ mResampleParams = inParams;
+
+ bool locWasModified = false;
+
+ if ((inParams.desiredFrameRate == 0) || (100000 / inParams.desiredFrameRate) <= ((mInputParams.AvgTimePerFrame + 50)/100)) {
+ //Leave this as 0... since it is checked below, and is less error prone than converting
+ mResampleParams.desiredFrameRate = 0;
+ locWasModified = true;
+ }
+
+
+ if ((inParams.desiredHeight == 0) || (inParams.desiredHeight > mInputParams.bmiHeader.biHeight)) {
+ mResampleParams.desiredHeight = mInputParams.bmiHeader.biHeight;
+ locWasModified = true;
+ }
+
+ if ((inParams.desiredWidth == 0) || (inParams.desiredWidth > mInputParams.bmiHeader.biWidth)) {
+ mResampleParams.desiredWidth = mInputParams.bmiHeader.biWidth;
+ locWasModified = true;
+ }
+
+ //ASSERT (desired <= input)
+ double locHeightRatio = (double)mInputParams.bmiHeader.biHeight / (double)mResampleParams.desiredHeight;
+ double locWidthRatio = (double)mInputParams.bmiHeader.biWidth / (double)mResampleParams.desiredWidth;
+
+ double locRatioDiff = locHeightRatio - locWidthRatio;
+
+ if ((locRatioDiff > (double)0.001) || (locRatioDiff < (double)-0.001)) {
+ //If theres a greater that 1 pixel to 1000 difference then we change to maintain ratio
+ double locUsableRatio = (locHeightRatio > locWidthRatio) ? locHeightRatio
+ : locWidthRatio;
+
+ //+0.05 just to make sure a small amount off in calcs doesn't unnecessarily lose a pixel.
+ unsigned long locTempWidth = ((mInputParams.bmiHeader.biWidth / locUsableRatio) + 0.05);
+ unsigned long locTempHeight = ((mInputParams.bmiHeader.biHeight / locUsableRatio)+0.05);
+
+ //Make sure we have multiple of 2... rounding down if required
+ mResampleParams.desiredWidth = (locTempWidth >> 1) << 1;
+ mResampleParams.desiredHeight = (locTempHeight >> 1) << 1;
+ locWasModified = true;
+
+
+ }
+
+
+ if (locWasModified) {
+ return IVideoResampleSettings::eSettingsResult::SETS_ACCEPTED_MODIFIED;
+ } else {
+ return IVideoResampleSettings::eSettingsResult::SETS_OK;
+ }
+
+}
+
+STDMETHODIMP_(IVideoResampleSettings::eSettingsResult) VideoResampleFilter::setParams(sVideoResampleParams inParams) {
+ //TODO::: Do error checking !!
+ //Input pin must be connected but output pin can't be...
+
+ if (m_pInput->IsConnected() == TRUE) {
+ if (m_pOutput->IsConnected() == TRUE) {
+ return IVideoResampleSettings::eSettingsResult::SETS_OUTPUT_PIN_IS_CONNECTED;
+ } else {
+ //Valid path is here.
+ //mResampleParams = inParams;
+ //return IVideoResampleSettings::eSettingsResult::SETS_OK;
+ return ValidateParams(inParams);
+ }
+ } else {
+
+ return IVideoResampleSettings::eSettingsResult::SETS_INPUT_PIN_NOT_CONNECTED;
+ }
+
+
+}
+
+STDMETHODIMP_(sVideoResampleParams) VideoResampleFilter::getParams() {
+
+ return mResampleParams;
+}
+
+
+HRESULT VideoResampleFilter::CheckInputType(const CMediaType* inInputMediaType) {
+ if ( ((inInputMediaType->majortype == MEDIATYPE_Video)
+ &&
+ (inInputMediaType->formattype == FORMAT_VideoInfo))
+
+ && ((inInputMediaType->subtype == MEDIASUBTYPE_YV12)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_YUY2)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_AYUV)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_RGB32)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_RGB24)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_IYUV)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_YVYU)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_UYVY))
+ ){
+
+ //debugLog<<"Input Type Accepted"<<endl;
+ return S_OK;
+ } else {
+ return VFW_E_TYPE_NOT_ACCEPTED;
+ }
+}
+HRESULT VideoResampleFilter::CheckTransform(const CMediaType* inInputMediaType, const CMediaType* inOutputMediaType) {
+ if ( (inInputMediaType->majortype == MEDIATYPE_Video) &&
+ ( (inInputMediaType->subtype == MEDIASUBTYPE_YV12)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_YUY2)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_AYUV)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_RGB32)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_RGB24)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_IYUV)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_YVYU)
+ || (inInputMediaType->subtype == MEDIASUBTYPE_UYVY)) &&
+
+ (inInputMediaType->formattype == FORMAT_VideoInfo) &&
+ (inOutputMediaType->majortype == MEDIATYPE_Video) &&
+ (inOutputMediaType->subtype == MEDIASUBTYPE_YV12) &&
+ (inOutputMediaType->formattype == FORMAT_VideoInfo) ){
+
+ //debugLog << "Transform Accepted"<<endl;
+ return S_OK;
+ } else {
+ return VFW_E_TYPE_NOT_ACCEPTED;
+ }
+
+}
+HRESULT VideoResampleFilter::DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES* inPropertyRequest) {
+ //FIX::: Abstract this out properly
+
+ HRESULT locHR = S_OK;
+
+ ALLOCATOR_PROPERTIES locReqAlloc;
+ ALLOCATOR_PROPERTIES locActualAlloc;
+
+ const unsigned long MIN_BUFFER_SIZE = 1024*1024*3;
+ const unsigned long DEFAULT_BUFFER_SIZE = 1024*1024*3;
+ const unsigned long MIN_NUM_BUFFERS = 3;
+ const unsigned long DEFAULT_NUM_BUFFERS = 3;
+
+
+
+
+ if (inPropertyRequest->cbAlign <= 0) {
+ locReqAlloc.cbAlign = 1;
+ } else {
+ locReqAlloc.cbAlign = inPropertyRequest->cbAlign;
+ }
+
+
+ if (inPropertyRequest->cbBuffer < MIN_BUFFER_SIZE) {
+ locReqAlloc.cbBuffer = DEFAULT_BUFFER_SIZE;
+ } else {
+ locReqAlloc.cbBuffer = inPropertyRequest->cbBuffer;
+ }
+
+
+ if (inPropertyRequest->cbPrefix < 0) {
+ locReqAlloc.cbPrefix = 0;
+ } else {
+ locReqAlloc.cbPrefix = inPropertyRequest->cbPrefix;
+ }
+
+
+ if (inPropertyRequest->cBuffers < MIN_NUM_BUFFERS) {
+ locReqAlloc.cBuffers = DEFAULT_NUM_BUFFERS;
+ } else {
+ locReqAlloc.cBuffers = inPropertyRequest->cBuffers;
+ }
+
+
+ locHR = inAllocator->SetProperties(&locReqAlloc, &locActualAlloc);
+
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ locHR = inAllocator->Commit();
+
+ return locHR;
+}
+HRESULT VideoResampleFilter::GetMediaType(int inPosition, CMediaType* outMediaType) {
+ if (inPosition < 0) {
+ return E_INVALIDARG;
+ } else if ((inPosition == 0) && (m_pInput->IsConnected() == TRUE)) {
+ outMediaType->majortype = MEDIATYPE_Video;
+ outMediaType->subtype = MEDIASUBTYPE_YV12;
+ outMediaType->formattype = FORMAT_VideoInfo;
+ VIDEOINFOHEADER* locVideoFormat = (VIDEOINFOHEADER*)outMediaType->AllocFormatBuffer(sizeof(VIDEOINFOHEADER));
+ *locVideoFormat = mInputParams;
+
+
+ //TODO::: *************** Do the manipulation of the format types here **************
+ if ((mResampleParams.desiredWidth != 0) && (mResampleParams.desiredHeight != 0)) {
+ debugLog<<"Desired fps = "<<mResampleParams.desiredFrameRate<<endl;
+ debugLog<<"Current tpf = "<<locVideoFormat->AvgTimePerFrame<<endl;
+ //debugLog<<"Desired tpf/100 = "<<(100000 / mResampleParams.desiredFrameRate)<<endl;
+ debugLog<<"Current tpf/100 = "<<((locVideoFormat->AvgTimePerFrame + 50)/100)<<endl;
+ //TODO::: May need to tweak these !!
+ if (! ( (mResampleParams.desiredFrameRate == 0)
+ || ( (100000 / mResampleParams.desiredFrameRate) == ((locVideoFormat->AvgTimePerFrame + 50)/100) )
+ )
+ ) {
+ debugLog<<"Changed time per frame from "<<locVideoFormat->AvgTimePerFrame<<" to ";
+ locVideoFormat->AvgTimePerFrame = UNITS / mResampleParams.desiredFrameRate;
+ debugLog<<locVideoFormat->AvgTimePerFrame<<endl;
+
+ }
+ //locVideoFormat->dwBitRate = locFilter->mTheoraFormatInfo->targetBitrate;
+
+ //FIXED PART----------------
+ locVideoFormat->bmiHeader.biBitCount = 12; //12 bits per pixel
+ locVideoFormat->bmiHeader.biClrImportant = 0; //All colours important
+ locVideoFormat->bmiHeader.biClrUsed = 0; //Use max colour depth
+ locVideoFormat->bmiHeader.biCompression = MAKEFOURCC('Y','V','1','2');
+ locVideoFormat->bmiHeader.biPlanes = 1; //Must be 1
+ locVideoFormat->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); //????? Size of what ?
+ //----------------------------------
+
+
+
+ locVideoFormat->bmiHeader.biHeight = mResampleParams.desiredHeight;
+ locVideoFormat->bmiHeader.biWidth = mResampleParams.desiredWidth;
+ locVideoFormat->bmiHeader.biSizeImage = (mResampleParams.desiredHeight * mResampleParams.desiredWidth * 3) /2;
+
+ locVideoFormat->rcSource.top = 0;
+ locVideoFormat->rcSource.bottom = mResampleParams.desiredHeight;
+ locVideoFormat->rcSource.left = 0;
+ locVideoFormat->rcSource.right = mResampleParams.desiredWidth;
+
+ locVideoFormat->rcTarget.top = 0;
+ locVideoFormat->rcTarget.bottom = mResampleParams.desiredHeight;
+ locVideoFormat->rcTarget.left = 0;
+ locVideoFormat->rcTarget.right = mResampleParams.desiredWidth;
+ }
+
+ return S_OK;
+ } else {
+ return VFW_S_NO_MORE_ITEMS;
+ }
+}
+HRESULT VideoResampleFilter::SetMediaType(PIN_DIRECTION inPinDirection, const CMediaType* inMediaType) {
+ if (inPinDirection == PINDIR_INPUT) {
+ mInputParams = *((VIDEOINFOHEADER*)inMediaType->pbFormat);
+ mPinInputType = *inMediaType;
+ mHeight = mInputParams.bmiHeader.biHeight;
+ mWidth = mInputParams.bmiHeader.biWidth;
+ mTimePerFrame = mInputParams.AvgTimePerFrame;
+
+
+ }
+ CTransformFilter::SetMediaType(inPinDirection, inMediaType);
+ return S_OK;
+
+}
+
+bool VideoResampleFilter::ReduceByTwo() {
+
+ unsigned char* locSource = NULL;
+ unsigned char* locDest = NULL;
+
+ unsigned long locTemp = 0;
+
+ mBuffer1IsBigger = !mBuffer1IsBigger;
+ if (mBuffer1IsBigger) {
+ locSource = mBuffer1;
+ locDest = mBuffer2;
+ } else {
+ locSource = mBuffer2;
+ locDest = mBuffer1;
+ }
+
+ unsigned long locSourceWidth = mInputParams.bmiHeader.biWidth / SPO2[mNumReductions];
+ unsigned long locSourceHeight = mInputParams.bmiHeader.biHeight / SPO2[mNumReductions];
+
+ //Y for Yellow Samples
+
+ //Loop 2 lines and 2 cols at a time, turning 4 pixel blocks into a single pixel.
+ for (unsigned long lines = 0; lines < locSourceHeight; lines += 2) {
+ for (unsigned long cols = 0; cols < locSourceWidth; cols += 2) {
+
+ locTemp = (locSource[lines*locSourceWidth + cols]
+ + locSource[lines*locSourceWidth + cols+1]
+ + locSource[(lines+1)*locSourceWidth + cols]
+ + locSource[(lines+1)*locSourceWidth +cols+ 1]) / 4;
+ locDest[(lines/2) * (locSourceWidth / 2) + (cols / 2)] = locTemp;
+ }
+ }
+
+ locSource += locSourceWidth * locSourceHeight;
+ locDest += (locSourceWidth * locSourceHeight) / 4;
+
+ //V for Victor Samples
+
+ unsigned long locChromaWidth = locSourceWidth / 2;
+ unsigned long locChromaHeight = locSourceHeight / 2;
+
+ for (unsigned long lines = 0; lines < locChromaHeight; lines += 2) {
+ for (unsigned long cols = 0; cols < locChromaWidth; cols +=2) {
+
+ locTemp = (locSource[lines*locChromaWidth + cols]
+ + locSource[lines*locChromaWidth + 1+ cols]
+ + locSource[(lines+1)*locChromaWidth+ cols]
+ + locSource[(lines+1)*locChromaWidth + 1+ cols]) / 4;
+ locDest[(lines/2) * (locChromaWidth / 2) + (cols / 2)] = locTemp;
+ }
+ }
+
+ locSource += locChromaWidth * locChromaHeight;
+ locDest += (locChromaWidth * locChromaHeight) / 4;
+
+ //U for Ugly samples
+
+ for (unsigned long lines = 0; lines < locChromaHeight; lines += 2) {
+ for (unsigned long cols = 0; cols < locChromaWidth; cols += 2) {
+
+ locTemp = (locSource[lines*locChromaWidth+ cols]
+ + locSource[lines*locChromaWidth + 1 + cols]
+ + locSource[(lines+1)*locChromaWidth+ cols]
+ + locSource[(lines+1)*locChromaWidth + 1 + cols]) / 4;
+ locDest[(lines/2) * (locChromaWidth / 2) + (cols / 2)] = locTemp;
+ }
+ }
+
+ mNumReductions++;
+
+
+ if (((locSourceWidth / 2) < mResampleParams.desiredWidth) && ((locSourceHeight / 2) < mResampleParams.desiredHeight)) {
+ //We've reduced it enough !
+ return false;
+ } else {
+ return true;
+ }
+}
+
+void VideoResampleFilter::InterpolateInto(unsigned char* inOutputBuffer) {
+
+ //Now using our two images...
+ // Cycle through the pixels at the desired dimension...
+ // Find the line that passes through our desired pixel and the equivalent scaled position
+ // on the bigger and smaller image.
+ // Take the 2d weighted average of the 4 surrounding pixels on each image.
+ // Take the 1d weighted average (based on the dimension ratios of the large and small image)
+ // vs our desired image
+
+ unsigned char* locBigImage = NULL;
+ unsigned char* locSmallImage = NULL;
+
+ if (mBuffer1IsBigger) {
+ locBigImage = mBuffer1;
+ locSmallImage = mBuffer2;
+
+ } else {
+ locBigImage = mBuffer2;
+ locSmallImage = mBuffer1;
+ }
+
+
+
+ //ASSERT (mNumReductions > 0)
+
+ unsigned long locBigWidth = (mInputParams.bmiHeader.biWidth / SPO2[mNumReductions - 1]);
+ unsigned long locBigHeight = (mInputParams.bmiHeader.biHeight / SPO2[mNumReductions - 1]);
+ unsigned long locSmallWidth = (mInputParams.bmiHeader.biWidth / SPO2[mNumReductions]);
+ unsigned long locSmallHeight = (mInputParams.bmiHeader.biHeight / SPO2[mNumReductions]);
+
+
+ double locBigXRatio = (double)locBigWidth / (double)mResampleParams.desiredWidth;
+ double locSmallXRatio = (double)locSmallWidth / (double)mResampleParams.desiredWidth;
+ double locBigYRatio = (double)locBigHeight / (double)mResampleParams.desiredHeight;
+ double locSmallYRatio = (double)locSmallHeight / (double)mResampleParams.desiredHeight;
+
+ //TODO::: This could be weird... need to worry about aspect ratios
+ double locZRatio = ((double)mResampleParams.desiredWidth - (double)locSmallWidth) / ((double)locBigWidth - (double)locSmallWidth);
+
+
+ unsigned long locTopLeftX = 0;
+ unsigned long locTopLeftY = 0;
+
+ unsigned long locSmallValue = 0;
+ unsigned long locBigValue = 0;
+
+ double locInterX = 0;
+ double locInterY = 0;
+
+ double locActualX = 0;
+ double locActualY = 0;
+
+ double locTopLine = 0;
+ double locBottomLine = 0;
+
+ double locBigInterPixel = 0;
+ double locSmallInterPixel = 0;
+
+
+ for (unsigned long line = 0; line < mResampleParams.desiredHeight; line++) {
+ for (unsigned long col = 0; col < mResampleParams.desiredWidth; col++) {
+ //Work on the big image first
+ locActualX = col * locBigXRatio;
+ locActualY = line * locBigYRatio;
+
+ //Converting to integer drops the fractional part.
+ locTopLeftX = locActualX;
+ locTopLeftY = locActualY;
+
+ //Get the fractional part.
+ locInterX = locActualX - locTopLeftX;
+ locInterY = locActualY - locTopLeftY;
+
+ //The weigthed value of the top left pixel
+ locTopLine = locBigImage[locTopLeftY * locBigWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weighted calue of the top right pixel.
+ locTopLine += locBigImage[locTopLeftY * locBigWidth + locTopLeftX + 1] * (locInterX);
+
+ //The weighted value of the bottom left pixel.
+ locBottomLine = locBigImage[(locTopLeftY + 1) * locBigWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weight value of the bottom right pixel.
+ locBottomLine += locBigImage[(locTopLeftY + 1) * locBigWidth + locTopLeftX + 1] * (locInterX);
+
+
+
+ locBigInterPixel = (locTopLine * (1 - locInterY)) + (locBottomLine * (locInterY));
+
+
+ //Now work on the small image
+ locActualX = col * locSmallXRatio;
+ locActualY = line * locSmallYRatio;
+
+ //Converting to integer drops the fractional part.
+ locTopLeftX = locActualX;
+ locTopLeftY = locActualY;
+
+ //Get the fractional part.
+ locInterX = locActualX - locTopLeftX;
+ locInterY = locActualY - locTopLeftY;
+
+ //The weigthed value of the top left pixel
+ locTopLine = locSmallImage[locTopLeftY * locSmallWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weighted calue of the top right pixel.
+ locTopLine += locSmallImage[locTopLeftY * locSmallWidth + locTopLeftX + 1] * (locInterX);
+
+ //The weighted value of the bottom left pixel.
+ locBottomLine = locSmallImage[(locTopLeftY + 1) * locSmallWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weight value of the bottom right pixel.
+ locBottomLine += locSmallImage[(locTopLeftY + 1) * locSmallWidth + locTopLeftX + 1] * (locInterX);
+
+ locSmallInterPixel = (locTopLine * (1 - locInterY)) + (locBottomLine * (locInterY));
+
+ inOutputBuffer[line * mResampleParams.desiredWidth + col] = (locBigInterPixel * locZRatio) + (locSmallInterPixel * (1-locZRatio));
+
+
+ }
+ }
+
+ inOutputBuffer += mResampleParams.desiredWidth * mResampleParams.desiredHeight;
+ locBigImage += locBigWidth * locBigHeight;
+ locSmallImage += locSmallWidth * locSmallHeight;
+
+ unsigned long locBigChromaWidth = locBigWidth / 2;
+ unsigned long locBigChromaHeight = locBigHeight / 2;
+ unsigned long locSmallChromaWidth = locSmallWidth / 2;
+ unsigned long locSmallChromaHeight = locSmallHeight / 2;
+
+ unsigned long locDesiredChromaWidth = mResampleParams.desiredWidth / 2;
+ unsigned long locDesiredChromaHeight = mResampleParams.desiredHeight / 2;
+ //U for ugly data...
+
+ for (unsigned long line = 0; line < locDesiredChromaHeight; line++) {
+ for (unsigned long col = 0; col < locDesiredChromaWidth; col++) {
+ //Work on the big image first
+ locActualX = col * locBigXRatio;
+ locActualY = line * locBigYRatio;
+
+ //Converting to integer drops the fractional part.
+ locTopLeftX = locActualX;
+ locTopLeftY = locActualY;
+
+ //Get the fractional part.
+ locInterX = locActualX - locTopLeftX;
+ locInterY = locActualY - locTopLeftY;
+
+ //The weigthed value of the top left pixel
+ locTopLine = locBigImage[locTopLeftY * locBigChromaWidth + locTopLeftX] * (1-locInterX);
+
+ //Add the weighted calue of the top right pixel.
+ locTopLine += locBigImage[locTopLeftY * locBigChromaWidth + locTopLeftX + 1] * (locInterX);
+
+ //The weighted value of the bottom left pixel.
+ locBottomLine = locBigImage[(locTopLeftY + 1) * locBigChromaWidth + locTopLeftX] * (1-locInterX);
+
+ //Add the weight value of the bottom right pixel.
+ locBottomLine += locBigImage[(locTopLeftY + 1) * locBigChromaWidth + locTopLeftX + 1] * (locInterX);
+
+
+
+ locBigInterPixel = (locTopLine * (1-locInterY)) + (locBottomLine * (locInterY));
+
+
+ //Now work on the small image
+ locActualX = col * locSmallXRatio;
+ locActualY = line * locSmallYRatio;
+
+ //Converting to integer drops the fractional part.
+ locTopLeftX = locActualX;
+ locTopLeftY = locActualY;
+
+ //Get the fractional part.
+ locInterX = locActualX - locTopLeftX;
+ locInterY = locActualY - locTopLeftY;
+
+ //The weigthed value of the top left pixel
+ locTopLine = locSmallImage[locTopLeftY * locSmallChromaWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weighted calue of the top right pixel.
+ locTopLine += locSmallImage[locTopLeftY * locSmallChromaWidth + locTopLeftX + 1] * (locInterX);
+
+ //The weighted value of the bottom left pixel.
+ locBottomLine = locSmallImage[(locTopLeftY + 1) * locSmallChromaWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weight value of the bottom right pixel.
+ locBottomLine += locSmallImage[(locTopLeftY + 1) * locSmallChromaWidth + locTopLeftX + 1] * (locInterX);
+
+ locSmallInterPixel = (locTopLine * (1 - locInterY)) + (locBottomLine * (locInterY));
+
+ inOutputBuffer[line * locDesiredChromaWidth + col] = (locBigInterPixel * locZRatio) + (locSmallInterPixel * (1 - locZRatio));
+
+
+ }
+ }
+
+ inOutputBuffer += (mResampleParams.desiredWidth * mResampleParams.desiredHeight) / 4;
+ locBigImage += (locBigWidth * locBigHeight) / 4;
+ locSmallImage += (locSmallWidth * locSmallHeight) / 4;
+
+
+ //V for victor data
+ for (unsigned long line = 0; line < locDesiredChromaHeight; line++) {
+ for (unsigned long col = 0; col < locDesiredChromaWidth; col++) {
+ //Work on the big image first
+ locActualX = col * locBigXRatio;
+ locActualY = line * locBigYRatio;
+
+ //Converting to integer drops the fractional part.
+ locTopLeftX = locActualX;
+ locTopLeftY = locActualY;
+
+ //Get the fractional part.
+ locInterX = locActualX - locTopLeftX;
+ locInterY = locActualY - locTopLeftY;
+
+ //The weigthed value of the top left pixel
+ locTopLine = locBigImage[locTopLeftY * locBigChromaWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weighted calue of the top right pixel.
+ locTopLine += locBigImage[locTopLeftY * locBigChromaWidth + locTopLeftX + 1] * (locInterX);
+
+ //The weighted value of the bottom left pixel.
+ locBottomLine = locBigImage[(locTopLeftY + 1) * locBigChromaWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weight value of the bottom right pixel.
+ locBottomLine += locBigImage[(locTopLeftY + 1) * locBigChromaWidth + locTopLeftX + 1] * (locInterX);
+
+
+
+ locBigInterPixel = (locTopLine * (1 - locInterY)) + (locBottomLine * (locInterY));
+
+
+ //Now work on the small image
+ locActualX = col * locSmallXRatio;
+ locActualY = line * locSmallYRatio;
+
+ //Converting to integer drops the fractional part.
+ locTopLeftX = locActualX;
+ locTopLeftY = locActualY;
+
+ //Get the fractional part.
+ locInterX = locActualX - locTopLeftX;
+ locInterY = locActualY - locTopLeftY;
+
+ //The weigthed value of the top left pixel
+ locTopLine = locSmallImage[locTopLeftY * locSmallChromaWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weighted calue of the top right pixel.
+ locTopLine += locSmallImage[locTopLeftY * locSmallChromaWidth + locTopLeftX + 1] * (locInterX);
+
+ //The weighted value of the bottom left pixel.
+ locBottomLine = locSmallImage[(locTopLeftY + 1) * locSmallChromaWidth + locTopLeftX] * (1 - locInterX);
+
+ //Add the weight value of the bottom right pixel.
+ locBottomLine += locSmallImage[(locTopLeftY + 1) * locSmallChromaWidth + locTopLeftX + 1] * (locInterX);
+
+ locSmallInterPixel = (locTopLine * (1 - locInterY)) + (locBottomLine * (locInterY));
+
+ inOutputBuffer[line * locDesiredChromaWidth + col] = (locBigInterPixel * locZRatio) + (locSmallInterPixel * (1 - locZRatio));
+
+
+ }
+ }
+
+
+}
+
+HRESULT VideoResampleFilter::Transform(IMediaSample* inSample, IMediaSample* outSample) {
+ unsigned long locSize = inSample->GetActualDataLength();
+
+ BYTE* locInBuff = NULL;
+ BYTE* locOutBuff = NULL;
+ HRESULT locHR = S_FALSE;
+
+ //unsigned long tempy = outSample->GetSize();
+ //if ((locSize <= outSample->GetSize())) {
+ //Setup the pointers
+ locHR = inSample->GetPointer(&locInBuff);
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ locHR = outSample->GetPointer(&locOutBuff);
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ LONGLONG locStart = 0;
+ LONGLONG locEnd = 0;
+
+ inSample->GetTime(&locStart, &locEnd);
+
+
+ if ((mResampleParams.desiredFrameRate == 0) || ((100000 / mResampleParams.desiredFrameRate) == ((mTimePerFrame + 50)/100))) {
+ debugLog<<"Not changing frame rate"<<endl;
+ if ((mResampleParams.desiredHeight != 0) && (mResampleParams.desiredWidth != 0)) {
+ bool locIsOK = InitialiseBuffer(locInBuff, locSize);
+
+ mBuffer1IsBigger = false; //This is false now... because it will be notted to become true after first reduction.
+ mNumReductions = 0;
+
+ //Side effect condition
+ while ( ReduceByTwo() );
+ //memcpy((void*)locOutBuff, (const void*)mBuffer1, (mDesiredWidth*mDesiredHeight*3)/2);
+
+ InterpolateInto(locOutBuff);
+ outSample->SetActualDataLength((mResampleParams.desiredWidth * mResampleParams.desiredHeight * 3) / 2);
+ } else {
+ //Just copy into the output buffer as is
+ debugLog<<"***** Shouldn't be here !!! Need to copy bufer"<<endl;
+ }
+ return S_OK;
+ } else {
+ debugLog<<"Changing frame rate..."<<endl;
+ debugLog<<"mUpto = "<<mUptoTime<<endl;
+ debugLog<<"In frame = "<<locStart<<" to "<<locEnd<<endl;
+
+ if ((mUptoTime <= locEnd)) {
+
+ if ((mResampleParams.desiredHeight != 0) && (mResampleParams.desiredWidth != 0)) {
+ bool locIsOK = InitialiseBuffer(locInBuff, locSize);
+
+ mBuffer1IsBigger = false; //This is false now... because it will be notted to become true after first reduction.
+ mNumReductions = 0;
+
+ //Side effect condition
+ while ( ReduceByTwo() );
+ //memcpy((void*)locOutBuff, (const void*)mBuffer1, (mDesiredWidth*mDesiredHeight*3)/2);
+
+ InterpolateInto(locOutBuff);
+ outSample->SetActualDataLength((mResampleParams.desiredWidth * mResampleParams.desiredHeight * 3) / 2);
+
+ LONGLONG locNewStart = mUptoTime;
+ mUptoTime += (10000000 / mResampleParams.desiredFrameRate);
+ LONGLONG locNewEnd = mUptoTime;
+
+ debugLog<<"++++ OutFrame "<<locNewStart<<" to "<<locNewEnd<<endl;
+ outSample->SetTime(&locNewStart, &locNewEnd);
+ } else {
+ //Just copy into the output buffer as is
+ debugLog<<"***** Shouldn't be here !!! Need to copy bufer"<<endl;
+ }
+ return S_OK;
+ } else {
+ debugLog<<"----- DROPPED FRAME"<<endl;
+ //mUptoTime += (10000000 / mResampleParams.desiredFrameRate);
+ //Drop this frame
+ return S_FALSE;
+ }
+
+
+
+
+
+ }
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+bool VideoResampleFilter::InitialiseBuffer(unsigned char* inBuf, long inNumBytes) {
+ if (mPinInputType.subtype == MEDIASUBTYPE_YV12) {
+ memcpy((void*)mBuffer1, (const void*)inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_YUY2) {
+ encodeYUY2ToYV12(inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_AYUV) {
+ encodeAYUVToYV12(inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_RGB32) {
+ encodeRGB32ToYV12(inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_RGB24) {
+ encodeRGB24ToYV12(inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_IYUV) {
+ encodeIYUVToYV12(inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_YVYU) {
+ encodeYVYUToYV12(inBuf, inNumBytes);
+ } else if (mPinInputType.subtype == MEDIASUBTYPE_UYVY) {
+ encodeUYVYToYV12(inBuf, inNumBytes);
+ } else {
+ return false;
+ }
+
+ return true;
+}
+
+//Colourspace conversions...
+//
+//All this code is taken from the oggcodecs - theora encode filter and slightly modified.
+//
+
+long VideoResampleFilter::encodeRGB24ToYV12(unsigned char* inBuf, long inNumBytes) {
+ //Blue Green Red Blue Green Red.
+ unsigned long locNumPixels = (inNumBytes/3);
+
+
+ //unsigned char* locAYUVBuf = new unsigned char[locNumPixels<<2]; //4 bytes per pixel
+
+
+ //We use mBuffer2 because we convert to AYUV into mBuffer2 then to YV12 back to mBuffer1
+ unsigned char* locAYUVBuf = mBuffer2;
+
+
+
+ /*
+
+ Conversion from RGB to YUV is defined by starting with the following:
+
+ L = Kr * R + Kb * B + (1 Kr Kb) * G
+
+ The YUV values are then obtained as follows:
+
+ Y = floor(2^(M-8) * (219*(LZ)/S + 16) + 0.5)
+ U = clip3(0, 2^M-1, floor(2^(M-8) * (112*(B-L) / ((1-Kb)*S) + 128) + 0.5))
+ V = clip3(0, 2^M-1, floor(2^(M-8) * (112*(R-L) / ((1-Kr)*S) + 128) + 0.5))
+
+ where Z = 16
+ S = 219
+ M = 8 bits per sample.
+
+ ==>
+ Y = floor(L + 0.5)
+ U = (112*(B-L) / ((1-Kb)*S) + 128)
+
+
+ Kr' = Kr * 65536
+ Kb' = Kb * 65536
+ G_FACTOR = (1 - Kr - Kb) * 65536
+
+ L' = (Kr' * R) + (Kb' * B) + (G_FACTOR * G)
+ = 65536 * ( (Kr * R) + (Kb * B) + ((1 - Kr - Kb) * G) )
+ = 65536 * L
+
+ Y = round( 219 * (L-Z)/S + 16 )
+ = round ( L-Z + 16 )
+ = round( L )
+
+ Y' = L'
+ = 65536 * L
+
+ Y = L' >> 16
+
+ U_FACTOR = ( 1 - Kb) * S
+ U_FACTOR' = 12716213
+
+ = 65536 * U_FACTOR
+
+ V_FACTOR' = 10061022
+
+ B' = 65536 * B
+ R' = 65536 * R
+
+ _U_ = round( 112 * (B-L) / ( (1-Kb)*S ) + 128 )
+ = round( (112 * (B-L) / U_FACTOR) + 128 )
+ = (112 * (B' - L') / U_FACTOR') + 128
+ = (112 * 65536 * (B - L) / (U_FACTOR * 65536)) + 128
+ = (112 * (B - L) / U_FACTOR) + 128
+
+ Hence integerisation scaling cancels
+ ==>
+ _U_ = (112 * (B' - L') / U_FACTOR') + 128
+
+ _V_ = (112 * (R' - L') / V_FACTOR') + 128
+
+ */
+
+ /*
+ Kr = 0.299
+ Kb = 0.114
+
+
+ */
+
+ //Scaled by factor of 65536 to integerise.
+ const int KR = 19596;
+ const int KB = 7472;
+
+ const int ROUNDER = 32768;
+
+ const int G_FACTOR = 38470;
+ const int U_FACTOR = 12716213;
+ const int V_FACTOR = 10061022;
+
+ int locL = 0;
+ int locB = 0;
+ int locR = 0;
+
+ //unsigned char* locSourcePtr = inBuf;
+ unsigned char* locDestPtr = locAYUVBuf;
+
+ //SOURCE: Blue Green Red Blue Green Red.
+ //DEST: v u y a
+
+ unsigned char* locSourceEnds = inBuf + (locNumPixels * 3);
+
+ //Upside down... Upside down !
+ //for (unsigned char* locSourcePtr = inBuf; locSourcePtr < locSourceEnds; locSourcePtr += 3) {
+ // locB = locSourcePtr[0]; //Blue
+ // locL = KB * (locB); //Blue
+ //
+ // locL += G_FACTOR * (locSourcePtr[1]); //Green
+
+ // locR = locSourcePtr[2]; //Red
+ // locL += KR * (locR); //Red
+
+ //
+ // *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locR<<16) - locL)) / V_FACTOR) + 128); //V for Victor
+ // *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locB<<16) - locL)) / U_FACTOR) + 128); //U for ugly
+ // *(locDestPtr++) = CLIP3(0, 255, locL >> 16); //Y for yellow
+ // *(locDestPtr++) = 255; //A for alpha
+ //}
+
+
+ unsigned char* locColSourcePtr = NULL;
+ unsigned char* locColEndPtr = NULL;
+ unsigned long locLineLength = mWidth * 3;
+ unsigned long col = 0;
+ for (unsigned char* locSourcePtr = locSourceEnds - locLineLength; locSourcePtr >= inBuf; locSourcePtr -= locLineLength) {
+ //
+ //for(unsigned char* locColSourcePtr = locSourcePtr, int i = 0; i < mWidth; i++, locColSourcePtr +=4) {
+ //
+ locColSourcePtr = locSourcePtr;
+ locColEndPtr = locColSourcePtr + locLineLength;
+ while (locColSourcePtr < locColEndPtr) {
+ locB = locColSourcePtr[0]; //Blue
+ locL = KB * (locB); //Blue
+
+ locL += G_FACTOR * (locColSourcePtr[1]); //Green
+
+ locR = locColSourcePtr[2]; //Red
+ locL += KR * (locR); //Red
+
+
+ *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locR<<16) - locL)) / V_FACTOR) + 128); //V for Victor
+ *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locB<<16) - locL)) / U_FACTOR) + 128); //U for ugly
+ *(locDestPtr++) = CLIP3(0, 255, locL >> 16); //Y for yellow
+ *(locDestPtr++) = 255; //A for alpha
+
+ //debugCount++;
+ locColSourcePtr+=3;
+
+ }
+
+
+ }
+
+
+ //Still need to pass through to the AYUV conversion.
+ encodeAYUVToYV12(locAYUVBuf, locNumPixels<<2);
+ //delete[] locAYUVBuf;
+ locAYUVBuf = NULL;
+
+ return 0;
+}
+long VideoResampleFilter::encodeYUY2ToYV12(unsigned char* inBuf, long inNumBytes) {
+
+
+
+ unsigned char* locSourceUptoPtr = inBuf; //View only... don't delete locUptoPtr
+
+ //YUY2 is Y0 U0 Y1 V0 Y2 U1 Y3 V1
+ // it has twice as much sampling height as YV12 so downsample it.
+
+ unsigned char* locYUpto = mBuffer1;
+ unsigned char* locVUpto = locYUpto + (mWidth*mHeight);
+ unsigned char* locUUpto = locVUpto + ((mWidth*mHeight) / 4);
+
+
+
+
+ //After downsampling... from each block of 8, we get 4 y samples and 1 each of u and v
+
+
+ for (int i = 0; i < mHeight / 2; i++) {
+ //TO DO: Draw memory layouts.
+
+ //***Part of the average method... store the pointer to the last of the previous line
+ //locLastUUpto = locUUpto;
+ //locLastVUpto = locVUpto;
+ //***
+
+ for (int j = 0; j < mWidth / 2; j++) {
+ *(locYUpto++) = *(locSourceUptoPtr++);
+ *(locUUpto++) = *(locSourceUptoPtr++);
+ *(locYUpto++) = *(locSourceUptoPtr++);
+ *(locVUpto++) = *(locSourceUptoPtr++);
+ }
+
+
+ //***Drop line method
+ for (int j = 0; j < mWidth / 2; j++) {
+ //Ignore the second line
+ *(locYUpto++) = *(locSourceUptoPtr++);
+ locSourceUptoPtr++;
+ *(locYUpto++) = *(locSourceUptoPtr++);
+ locSourceUptoPtr++;
+ }
+ //***
+
+ //*** PArt of the Alternate method to average...
+ //for (int j = 0; j < mWidth / 2; j++) {
+ // //Ignore the second line
+ // *(locYUpto++) = *(locSourceUptoPtr++);
+ // *(locLastUUpto++) = ((short)(*locLastUUpto) + ((short)(*locUUpto))) / 2;
+ //
+ // *(locYUpto++) = *(locSourceUptoPtr++);
+ // *(locLastVUpto++) = ((short)(*locLastVUpto) + ((short)(*locVUpto))) / 2;
+ //
+ //}
+ //***
+
+
+
+ }
+ return 0;
+}
+
+
+long VideoResampleFilter::encodeAYUVToYV12(unsigned char* inBuf, long inNumBytes) {
+
+
+
+ //Victor Ugly Yellow Alpha --fonts are fuzzy late at night-- (Yellow is not colour yellow)
+
+ //AYUV is VUYA VUYA VUYA VUYA 4:4:4 sampling
+ // Twice the vertical and horizontal sampling of YV12 in chrominance
+
+ //Strategy : Process two lines and 2 cols at a time averaging 4 U and V around the position where a
+ // YV12 chroma sample will be... leave luminance samples... ignore alpha samples
+
+ //debugLog<<"Encode AYUV To YV12 :"<<endl;
+
+ const int PIXEL_BYTE_SIZE = 4;
+ ASSERT (mHeight % 2 == 0);
+ ASSERT (mWidth % 2 == 0);
+
+ unsigned char* locSourceUptoPtr = inBuf; //View only... don't delete locUptoPtr
+ unsigned char* locSourceNextLine = locSourceUptoPtr + (mWidth * PIXEL_BYTE_SIZE); //View only don't delete
+
+ //char* locYUpto = mYUV.y;
+ //char* locUUpto = mYUV.u;
+ //char* locVUpto = mYUV.v;
+
+ unsigned char* locYUpto = mBuffer1;
+ unsigned char* locVUpto = locYUpto + (mWidth*mHeight);
+ unsigned char* locUUpto = locVUpto + ((mWidth*mHeight) / 4);
+
+
+
+
+ //Pointer to the same pixel on next line
+ unsigned char* locDestNextLine = locYUpto + (mWidth); //View only... don't delete
+
+ int temp = 0;
+
+ //Process 2 lines at a time
+ for (int line = 0; line < mHeight; line += 2) {
+ //debugLog<<"Encode AYUV To YV12 : ++ Line = "<<line<<endl;
+
+ ASSERT (locSourceUptoPtr == (inBuf + (line * (mWidth * PIXEL_BYTE_SIZE))));
+ ASSERT (locSourceNextLine == locSourceUptoPtr + (mWidth * PIXEL_BYTE_SIZE));
+ ASSERT (locYUpto == (mBuffer1 + (line * mWidth)));
+ ASSERT (locDestNextLine == locYUpto + (mWidth));
+
+
+ //Columns also done 2 at a time
+ for (int col = 0; col < mWidth; col += 2) {
+ //debugLog<<"Encode AYUV To YV12 : ++++++ Col = "<<col<<endl;
+
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ //====================
+ //V for Victor samples
+ //====================
+ temp = *(locSourceUptoPtr++); //Current pixel
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ //This is three as we already advanced one and are pointing to a u not a v
+ temp += *(locSourceUptoPtr + 3); //Pixel to right
+ temp += *(locSourceNextLine++); //Pixel below
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ temp += *(locSourceNextLine + 3); //Pixel below right
+ temp >>= 2; //Divide by 4 to average.
+ *(locVUpto++) = (unsigned char)temp;
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ //====================
+ //U for Ugly samples
+ //====================
+ temp = *(locSourceUptoPtr++); //Current pixel
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ temp += *(locSourceUptoPtr + 3); //Pixel to right
+ temp += *(locSourceNextLine++); //Pixel below
+
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ temp += *(locSourceNextLine + 3); //Pixel below right
+ temp >>= 2; //Divide by 4 to average.
+ *(locUUpto++) = (unsigned char)temp;
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ //====================
+ //Y for Yellow samples.
+ //====================
+
+ *(locYUpto++) = *(locSourceUptoPtr++);
+ *(locDestNextLine++) = *(locSourceNextLine++);
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ //Ignore the alpha channel
+ //--
+ //locSourceUptoPtr++; //Optimised away... merged into increment below
+ //locSourceNextLine++; // " " " " " " " " " " "
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+
+ //--
+ //Source and next pointer have advanced four bytes so far.
+ //Added 2 Y for yellows (one from each line) and one each of U and V, ignore an A on each line
+ //--
+
+ //Current line extra Y for yellows.
+ locSourceUptoPtr += 3; //Skip the A and U and V samples
+ *(locYUpto++) = *(locSourceUptoPtr); //get the Y for yellow sample
+ locSourceUptoPtr += 2; //Advance 1 for the Y for yellow and Skip the A sample.
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+
+ //Next line extra Y for yellows.
+ locSourceNextLine += 3; //Skip the A and U and V samples
+ *(locDestNextLine++) = *(locSourceNextLine); //get the Y for yellow sample
+ locSourceNextLine += 2; //Advance 1 for the Y for yellow and Skip the A sample.
+
+ // v u y a v u y a
+ //SourceUpto ^
+ //NextUpto ^
+
+ //--
+ //In total source and next pointer advanced 8 bytes on each line, and we got 4 Y for yellows (2 each line)
+ // and one each U, V, ignored 4 A's (2 each line)
+ //--
+
+
+ }
+ //Overall this loop will advance :
+ //Sourceupto by = 8 bytes * (mWidth in pixels / 2 pixels at a time) * 2 lines
+ // = 8 * mWidth
+ // = 2 lines of 4 byte pixels of pixel width mWidth
+ //and the same for sourcenextline
+ //--
+ //At the end of this loop sourceupto points to the end of the current line (start of next line)
+ // and nextupto points to the end of the next line
+ //
+ //On the next iteration we want the sourceupto to point 2 lines down from where it did on the previous one
+ // This is the same place that the sourcenextline points at the end of the iteration.
+ //--
+
+ //Ensures source will point to lines 2, 4, 6 etc.
+ locSourceUptoPtr = locSourceNextLine;
+ //Ensures nextlinesource is one line ahead of the main source.
+ locSourceNextLine += (mWidth * PIXEL_BYTE_SIZE);
+
+ //Ensures the current destination buffer skips a line ie points to line 2, 4, 6 etc
+ locYUpto = locDestNextLine;
+ //Ensures the nextlinedest skips a
+ locDestNextLine += (mWidth);
+ }
+ return 0;
+}
+
+long VideoResampleFilter::encodeRGB32ToYV12(unsigned char* inBuf, long inNumBytes) {
+ //Blue Green Red Alpha Blue Green Red Alpha
+ //debugLog<<"EncodeRGB32 To YV12 :"<<endl;
+
+ unsigned long locNumPixels = (inNumBytes/4);
+
+ //debugLog<<"EncodeRGB32 To YV12 : Num pixels = "<<locNumPixels<<endl;
+ //debugLog<<"EncodeRGB32 To YV12 : Num BYtes = "<<inNumBytes<<endl;
+
+
+ //unsigned char* locAYUVBuf = new unsigned char[inNumBytes]; //4 bytes per pixel
+
+
+ //We put this one in buffer 2 because this function converts RGB32 to AYUV, then
+ // uses the AYUV to YV12 conversion which will put it into buffer1 for rescaling.
+ unsigned char* locAYUVBuf = mBuffer2;
+
+
+ //debugLog<<"EncodeRGB32 To YV12 :"<<endl;
+
+ //Scaled by factor of 65536 to integerise.
+ const int KR = 19596;
+ const int KB = 7472;
+
+ const int ROUNDER = 32768;
+
+ const int G_FACTOR = 38470;
+ const int U_FACTOR = 12716213;
+ const int V_FACTOR = 10061022;
+
+ int locL = 0;
+ int locB = 0;
+ int locR = 0;
+
+ //unsigned char* locSourcePtr = inBuf;
+ unsigned char* locDestPtr = locAYUVBuf;
+
+ //SOURCE: Blue Green Red Blue Green Red.
+ //DEST: v u y a
+
+ unsigned char* locSourceEnds = inBuf + (inNumBytes);
+ //debugLog<<"EncodeRGB32 To YV12 : Source Starts = "<<(int)inBuf<<endl;
+ //debugLog<<"EncodeRGB32 To YV12 : Source Ends = "<<(int)locSourceEnds<<endl;
+
+ //Debugging only... all refs to debugCount remove later
+ //unsigned long debugCount = 0;
+ //
+
+ //Upside down !!
+ //for (unsigned char* locSourcePtr = inBuf; locSourcePtr < locSourceEnds; locSourcePtr += 4) {
+ // locB = locSourcePtr[0]; //Blue
+ // locL = KB * (locB); //Blue
+ //
+ // locL += G_FACTOR * (locSourcePtr[1]); //Green
+
+ // locR = locSourcePtr[2]; //Red
+ // locL += KR * (locR); //Red
+
+ //
+ // *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locR<<16) - locL)) / V_FACTOR) + 128); //V for Victor
+ // *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locB<<16) - locL)) / U_FACTOR) + 128); //U for ugly
+ // *(locDestPtr++) = CLIP3(0, 255, locL >> 16); //Y for yellow
+ // *(locDestPtr++) = locSourcePtr[3]; //A for alpha
+
+ // debugCount++;
+ //}
+ unsigned char* locColSourcePtr = NULL;
+ unsigned char* locColEndPtr = NULL;
+ unsigned long locLineLength = mWidth * 4;
+ unsigned long col = 0;
+ for (unsigned char* locSourcePtr = locSourceEnds - locLineLength; locSourcePtr >= inBuf; locSourcePtr -= locLineLength) {
+ //
+ //for(unsigned char* locColSourcePtr = locSourcePtr, int i = 0; i < mWidth; i++, locColSourcePtr +=4) {
+ //
+ locColSourcePtr = locSourcePtr;
+ locColEndPtr = locColSourcePtr + locLineLength;
+ while (locColSourcePtr < locColEndPtr) {
+ locB = locColSourcePtr[0]; //Blue
+ locL = KB * (locB); //Blue
+
+ locL += G_FACTOR * (locColSourcePtr[1]); //Green
+
+ locR = locColSourcePtr[2]; //Red
+ locL += KR * (locR); //Red
+
+
+ *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locR<<16) - locL)) / V_FACTOR) + 128); //V for Victor
+ *(locDestPtr++) = CLIP3(0, 255, ((112 * ( (locB<<16) - locL)) / U_FACTOR) + 128); //U for ugly
+ *(locDestPtr++) = CLIP3(0, 255, locL >> 16); //Y for yellow
+ *(locDestPtr++) = locColSourcePtr[3]; //A for alpha
+
+ //debugCount++;
+ locColSourcePtr+=4;
+
+ }
+
+
+ }
+
+ //debugLog<<"EncodeRGB32 To YV12 : debugCount = "<<debugCount<<endl;
+
+ //ASSERT(debugCount == locNumPixels);
+
+ ASSERT(locDestPtr == (locAYUVBuf + inNumBytes));
+
+ //debugLog<<"EncodeRGB32 To YV12 : Calling AYUV to YV12 conversion"<<endl;
+ //Still need to pass through to the AYUV conversion.
+
+ encodeAYUVToYV12(locAYUVBuf, inNumBytes);
+ //delete[] locAYUVBuf;
+ locAYUVBuf = NULL;
+
+ return 0;
+}
+
+long VideoResampleFilter::encodeIYUVToYV12(unsigned char* inBuf, long inNumBytes) {
+
+ //Same as YV12 but planes U and V are reversed.
+
+ //Source Buffer all in one buffer
+
+ //IYUV memory layout for directshow
+ //=================================
+ //YYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYY
+ //YYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYY
+ //YYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYY
+ //YYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYY
+
+ //UUUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUUU
+
+ //VVVVVVVVVVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVVVVVVVVVV
+
+
+
+ //Destination buffer Y, U, V in seperate planes, lowercase are line padding, "." height padding
+ //.............................. ..............................
+ //.............................. ..............................
+ //yyyyyyYYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYYyyyyyy
+ //yyyyyyYYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYYyyyyyy
+ //yyyyyyYYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYYyyyyyy
+ //yyyyyyYYYYYYYYYYYYYYYYYYYYYYYY YYYYYYYYYYYYYYYYYYYYYYYYyyyyyy
+ //.............................. ..............................
+ //.............................. ..............................
+
+ //.............................. ..............................
+ //uuuUUUUUUUUUUUUUUUUUUUUUUUUuuu uuuUUUUUUUUUUUUUUUUUUUUUUUUuuu
+ //.............................. ..............................
+
+ //.............................. ..............................
+ //vvvVVVVVVVVVVVVVVVVVVVVVVVVvvv vvvVVVVVVVVVVVVVVVVVVVVVVVVvvv
+ //.............................. ..............................
+
+
+
+ //NOTE : mHeight, mWidth are the actual video sizes and are the sizes of the incoming buffer
+
+
+ //Setup the source pointer
+ unsigned char* locSourceUptoPtr = inBuf; //View only... don't delete
+ //
+
+ //========
+ //Y DATA |
+ //=========================================================================================================
+
+ //Setup the destination pointer
+ //char* locDestUptoPtr = mYUV.y;
+ unsigned char* locDestUptoPtr = mBuffer1;
+
+
+ memcpy((void*)locDestUptoPtr, (const void*)locSourceUptoPtr, mWidth*mHeight);
+ //for (long line = 0; line < mHeight; line++) {
+ // memcpy((void*)locDestUptoPtr, (const void*)locSourceUptoPtr, mWidth);
+ // locSourceUptoPtr += mWidth;
+ // locDestUptoPtr += mWidth;
+ //}
+
+ locSourceUptoPtr += (mWidth*mHeight);
+
+
+ //========
+ //U DATA |
+ //=========================================================================================================
+
+ //Set the destination pointer
+ // Since the U and V planes are reversed... We put the destination ptr 5/4 * (yplane size)
+ // this puts the U data which is the second plane in IYUV into the third plane which is U in YV12.
+ locDestUptoPtr = mBuffer1 + ((mWidth * mHeight * 5) /4);
+
+ //
+
+ //The U plane is one quarter the size of the Y plane which is width*height.
+ memcpy((void*)locDestUptoPtr, (const void*)locSourceUptoPtr, (mWidth * mHeight) / 4);
+ locSourceUptoPtr += (mWidth * mHeight) / 4;
+ //========
+ //V DATA |
+ //=========================================================================================================
+
+ //Set the destination poitner
+ // The U and V planes are reversed... so the third plane in IYUV which is V, is put into the
+ // second plane of YV12.
+ locDestUptoPtr = mBuffer1 + (mWidth*mHeight);;
+ //
+
+ memcpy((void*)locDestUptoPtr, (const void*)locSourceUptoPtr, (mWidth * mHeight) / 4);
+
+ //======================================================================================================
+ return 0;
+
+}
+long VideoResampleFilter::encodeYVYUToYV12(unsigned char* inBuf, long inNumBytes) {
+ //YVYU - Yellow Victor Yellow Ugly
+ unsigned char* locSourceUptoPtr = inBuf; //View only... don't delete locUptoPtr
+
+ //YUY2 is Y0 U0 Y1 V0 Y2 U1 Y3 V1
+ //YVYU is Y0 V0 Y1 U0 Y2 V1 Y3 U1
+ // it has twice as much sampling height as YV12 so downsample it.
+
+ //char* locYUpto = mYUV.y;
+ //char* locUUpto = mYUV.u;
+ //char* locVUpto = mYUV.v;
+ unsigned char* locYUpto = mBuffer1;
+ unsigned char* locVUpto = locYUpto + (mWidth*mHeight);
+ unsigned char* locUUpto = locVUpto + ((mWidth*mHeight) / 4);
+
+
+
+ //After downsampling... from each block of 8, we get 4 y samples and 1 each of u and v
+
+
+ for (int i = 0; i < mHeight / 2; i++) {
+ //TO DO: Draw memory layouts.
+
+
+
+ for (int j = 0; j < mWidth / 2; j++) {
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for Yellow
+ *(locVUpto++) = *(locSourceUptoPtr++); //V for victor
+
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for Yellow
+ *(locUUpto++) = *(locSourceUptoPtr++); //U for Ugly
+ }
+
+
+ //***Drop line method
+ for (int j = 0; j < mWidth / 2; j++) {
+ //Ignore the second line
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for Yellow
+ locSourceUptoPtr++; //V for victor
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for yellow
+ locSourceUptoPtr++; //U for ugly.
+ }
+
+ }
+ return 0;
+}
+long VideoResampleFilter::encodeUYVYToYV12(unsigned char* inBuf, long inNumBytes) {
+ //UYVY :: U0 Y0 V0 Y1 - Ugly Yellow Victor Yello
+ unsigned char* locSourceUptoPtr = inBuf; //View only... don't delete locUptoPtr
+
+ //UYVY is U0 Y0 V0 Y1 U0 Y2 V0 Y3
+ //YUY2 is Y0 U0 Y1 V0 Y2 U1 Y3 V1
+ // it has twice as much sampling height as YV12 so downsample it.
+
+ //char* locYUpto = mYUV.y;
+ //char* locUUpto = mYUV.u;
+ //char* locVUpto = mYUV.v;
+ unsigned char* locYUpto = mBuffer1;
+ unsigned char* locVUpto = locYUpto + (mWidth*mHeight);
+ unsigned char* locUUpto = locVUpto + ((mWidth*mHeight) / 4);
+
+
+ //After downsampling... from each block of 8, we get 4 y samples and 1 each of u and v
+
+
+ for (int i = 0; i < mHeight / 2; i++) {
+ //TO DO: Draw memory layouts.
+
+
+ for (int j = 0; j < mWidth / 2; j++) {
+ *(locUUpto++) = *(locSourceUptoPtr++); //U for Ugly
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for Yellow
+
+ *(locVUpto++) = *(locSourceUptoPtr++); //V for Victor
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for Yellow
+
+ }
+
+
+ //***Drop line method
+ for (int j = 0; j < mWidth / 2; j++) {
+ //Ignore the second line
+
+ locSourceUptoPtr++; //U for ugly
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for yellow
+
+ locSourceUptoPtr++; //V for victor
+ *(locYUpto++) = *(locSourceUptoPtr++); //Y for yellow
+
+ }
+
+
+ }
+ return 0;
+}
Property changes on: AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.def
===================================================================
--- AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.def (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.def 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,7 @@
+LIBRARY dsfVideoResampleFilter
+EXPORTS
+ DllMain PRIVATE
+ DllGetClassObject PRIVATE
+ DllCanUnloadNow PRIVATE
+ DllRegisterServer PRIVATE
+ DllUnregisterServer PRIVATE
Property changes on: AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.def
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.h
===================================================================
--- AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.h (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,85 @@
+#pragma once
+#include "videoresampledllstuff.h"
+#include "sVideoResampleParams.h"
+#include "IVideoResampleSettings.h"
+
+#include <fstream>
+using namespace std;
+
+
+#define CLIP3(x,y,z) ((z < x) ? x : ((z > y) ? y : z))
+
+class VideoResampleFilter
+ : public CTransformFilter
+ , public IVideoResampleSettings
+{
+public:
+ VideoResampleFilter(void);
+ ~VideoResampleFilter(void);
+
+
+ //COM Creator Function
+ DECLARE_IUNKNOWN
+ static CUnknown* WINAPI CreateInstance(LPUNKNOWN pUnk, HRESULT *pHr);
+ STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv);
+
+ //Implement the Tranform filter interface
+ HRESULT CheckInputType(const CMediaType* inInputMediaType);
+ HRESULT CheckTransform(const CMediaType* inInputMediaType, const CMediaType* inOutputMediaType);
+ HRESULT DecideBufferSize(IMemAllocator* inAllocator, ALLOCATOR_PROPERTIES* inPropertyRequest);
+ HRESULT GetMediaType(int inPosition, CMediaType* outMediaType);
+ HRESULT Transform(IMediaSample* inSample, IMediaSample* outSample);
+
+
+ virtual HRESULT SetMediaType(PIN_DIRECTION inPinDirection, const CMediaType* inMediaType);
+
+ //IVideoResampleSettings Impementation
+ virtual STDMETHODIMP_(eSettingsResult) setParams(sVideoResampleParams inParams);
+ virtual STDMETHODIMP_(sVideoResampleParams) getParams();
+
+
+protected:
+ bool ReduceByTwo();
+ void InterpolateInto(unsigned char* inOutputBuff);
+
+ bool InitialiseBuffer(unsigned char* inBuf, long inNumBytes);
+ long encodeYUY2ToYV12(unsigned char* inBuf, long inNumBytes);
+ long encodeAYUVToYV12(unsigned char* inBuf, long inNumBytes);
+ long encodeRGB32ToYV12(unsigned char* inBuf, long inNumBytes);
+ long encodeRGB24ToYV12(unsigned char* inBuf, long inNumBytes);
+ long encodeIYUVToYV12(unsigned char* inBuf, long inNumBytes);
+ long encodeYVYUToYV12(unsigned char* inBuf, long inNumBytes);
+ long encodeUYVYToYV12(unsigned char* inBuf, long inNumBytes);
+
+
+
+ //DEBUG
+ fstream debugLog;
+ //
+
+ //unsigned long mDesiredWidth;
+ //unsigned long mDesiredHeight;
+
+ IVideoResampleSettings::eSettingsResult ValidateParams(sVideoResampleParams inParams);
+ sVideoResampleParams mResampleParams;
+
+ unsigned char* mBuffer1;
+ unsigned char* mBuffer2;
+
+ bool mBuffer1IsBigger;
+
+ unsigned long mHeight;
+ unsigned long mWidth;
+ LONGLONG mTimePerFrame;
+
+ unsigned long mNumReductions;
+
+ LONGLONG mUptoTime;
+
+ unsigned char SPO2[8];
+
+ VIDEOINFOHEADER mInputParams;
+ CMediaType mPinInputType;
+
+
+};
Property changes on: AnxCreator/dsfVideoResampleFilter/VideoResampleFilter.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.cpp
===================================================================
Property changes on: AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.vcproj
===================================================================
--- AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.vcproj (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="dsfVideoResampleFilter"
+ ProjectGUID="{E01FCE63-1828-4416-A928-53678B3C5568}"
+ RootNamespace="dsfVideoResampleFilter"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses""
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFVIDEORESAMPLEFILTER_EXPORTS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Strmbasd.lib Msvcrtd.lib Winmm.lib Strmiids.lib Quartz.lib"
+ OutputFile="$(OutDir)/dsfVideoResampleFilter.dll"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""C:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug""
+ ModuleDefinitionFile="VideoResampleFilter.def"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/dsfVideoResampleFilter.pdb"
+ SubSystem="2"
+ ImportLibrary="$(OutDir)/dsfVideoResampleFilter.lib"
+ 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="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""C:\Program Files\Microsoft Platform SDK\Include";"C:\Program Files\Microsoft Platform SDK\Samples\Multimedia\DirectShow\BaseClasses";"C:\Program Files\Microsoft DirectX SDK (April 2007)\Include""
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFVIDEORESAMPLEFILTER_EXPORTS"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Strmbase.lib Winmm.lib Strmiids.lib Quartz.lib"
+ OutputFile="$(OutDir)/dsfVideoResampleFilter.dll"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""C:\Program Files\Microsoft Platform SDK\Lib";"C:\Program Files\Microsoft Platform SDK\Samples\Multimedia\DirectShow\BaseClasses\SRV2003_RETAIL";"C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib""
+ ModuleDefinitionFile="VideoResampleFilter.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(OutDir)/dsfVideoResampleFilter.lib"
+ 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;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <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=".\videoresampledllstuff.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\VideoResampleFilter.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\VideoResampleFilter.def"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\IVideoResampleSettings.h"
+ >
+ </File>
+ <File
+ RelativePath=".\stdafx.h"
+ >
+ </File>
+ <File
+ RelativePath=".\sVideoResampleParams.h"
+ >
+ </File>
+ <File
+ RelativePath=".\videoresampledllstuff.h"
+ >
+ </File>
+ <File
+ RelativePath=".\VideoResampleFilter.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/dsfVideoResampleFilter/dsfVideoResampleFilter.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/sVideoResampleParams.h
===================================================================
--- AnxCreator/dsfVideoResampleFilter/sVideoResampleParams.h (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/sVideoResampleParams.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,12 @@
+#pragma once
+
+
+struct sVideoResampleParams {
+ unsigned long desiredWidth;
+ unsigned long desiredHeight;
+ unsigned long desiredFrameRate;
+ unsigned short desiredTheoraQuality;
+ unsigned long desiredTheoraBitrate;
+ //unsigned long desiredFrameRateDenom;
+
+};
\ No newline at end of file
Property changes on: AnxCreator/dsfVideoResampleFilter/sVideoResampleParams.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/stdafx.cpp
===================================================================
--- AnxCreator/dsfVideoResampleFilter/stdafx.cpp (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// dsfVideoResampleFilter.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Property changes on: AnxCreator/dsfVideoResampleFilter/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/stdafx.h
===================================================================
--- AnxCreator/dsfVideoResampleFilter/stdafx.h (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,13 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+// Windows Header Files:
+#include <windows.h>
+
+// TODO: reference additional headers your program requires here
Property changes on: AnxCreator/dsfVideoResampleFilter/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.cpp
===================================================================
--- AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.cpp (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,70 @@
+
+#include "StdAfx.h"
+#include "videoresampledllstuff.h"
+
+extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);
+BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved)
+{
+ return DllEntryPoint((HINSTANCE)(hModule), dwReason, lpReserved);
+}
+
+
+
+//The folowing two functions do the registration and deregistration of the dll and it's contained com objects.
+STDAPI DllRegisterServer()
+{
+
+
+ HRESULT hr;
+ IFilterMapper2* locFilterMapper = NULL;
+
+ hr = AMovieDllRegisterServer2(TRUE);
+
+
+
+
+ hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER, IID_IFilterMapper2, (void **)&locFilterMapper);
+
+
+ hr = locFilterMapper->RegisterFilter(
+ CLSID_VideoResampleFilter, // Filter CLSID.
+ L"Video Resample Filter", // Filter name.
+ NULL, // Device moniker.
+ &CLSID_LegacyAmFilterCategory, // Direct Show general category
+ L"Video Resample Filter", // Instance data. ???????
+ &VideoResampleFilterReg // Pointer to filter information.
+ );
+
+ locFilterMapper->Release();
+
+ return hr;
+
+}
+
+STDAPI DllUnregisterServer()
+{
+ HRESULT hr;
+ IFilterMapper2* locFilterMapper = NULL;
+
+ hr = AMovieDllRegisterServer2(FALSE);
+ if (FAILED(hr)) {
+
+ return hr;
+ }
+
+ hr = CoCreateInstance(CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER,
+ IID_IFilterMapper2, (void **)&locFilterMapper);
+
+ if (FAILED(hr)) {
+ return hr;
+ }
+
+
+ hr = locFilterMapper->UnregisterFilter(&CLSID_LegacyAmFilterCategory, L"Video Resample Filter", CLSID_VideoResampleFilter);
+
+
+ //
+ locFilterMapper->Release();
+ return hr;
+
+}
\ No newline at end of file
Property changes on: AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.h
===================================================================
--- AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.h (rev 0)
+++ AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,63 @@
+
+#pragma once
+#include <streams.h>
+#include <pullpin.h>
+#include <initguid.h>
+
+// {6439B18E-09D1-4909-9513-2D1422000094}
+DEFINE_GUID(CLSID_VideoResampleFilter,
+0x6439b18e, 0x9d1, 0x4909, 0x95, 0x13, 0x2d, 0x14, 0x22, 0x0, 0x0, 0x94);
+
+// {92DB8831-8A47-4c71-9DF5-7DBEA49DFC10}
+DEFINE_GUID(IID_IVideoResampleSettings,
+0x92db8831, 0x8a47, 0x4c71, 0x9d, 0xf5, 0x7d, 0xbe, 0xa4, 0x9d, 0xfc, 0x10);
+
+
+//This structure defines the type of input we accept on the input pin... Stream/Annodex
+
+const REGPINTYPES VideoResampleOutputTypes = {
+ &MEDIATYPE_Video,
+ &MEDIASUBTYPE_PCM
+};
+
+const REGPINTYPES VideoResampleInputTypes = {
+ &MEDIATYPE_Video,
+ &MEDIASUBTYPE_PCM
+};
+const REGFILTERPINS VideoResamplePinReg[] = {
+ {
+ L"PCM Input", //Name (obsoleted)
+ FALSE, //Renders from this pin ?? Not sure about this.
+ FALSE, //Not an output pin
+ FALSE, //Cannot have zero instances of this pin
+ FALSE, //Cannot have more than one instance of this pin
+ NULL, //Connects to filter (obsoleted)
+ NULL, //Connects to pin (obsoleted)
+ 1, //upport two media type
+ &VideoResampleInputTypes //Pointer to media type (Audio/Vorbis or Audio/Speex)
+ } ,
+
+ {
+ L"Resampled PCM Output", //Name (obsoleted)
+ FALSE, //Renders from this pin ?? Not sure about this.
+ TRUE, //Is an output pin
+ FALSE, //Cannot have zero instances of this pin
+ FALSE, //Cannot have more than one instance of this pin
+ NULL, //Connects to filter (obsoleted)
+ NULL, //Connects to pin (obsoleted)
+ 1, //Only support one media type
+ &VideoResampleOutputTypes //Pointer to media type (Video/PCM)
+
+ }
+};
+
+
+
+const REGFILTER2 VideoResampleFilterReg = {
+ 1,
+ MERIT_DO_NOT_USE,
+ 2,
+ VideoResamplePinReg
+
+};
+
Property changes on: AnxCreator/dsfVideoResampleFilter/videoresampledllstuff.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/AnxCreator.chm
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/AnxCreator.chm
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/AnxCreator.hhp
===================================================================
--- AnxCreator/help/AnxCreator.hhp (rev 0)
+++ AnxCreator/help/AnxCreator.hhp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,26 @@
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file=AnxCreator.chm
+Contents file=AnxCreatorTOC.hhc
+Default topic=IntroducingAnxCreator.htm
+Display compile progress=No
+Full text search stop list file=AnxCreatorSrch
+Full-text search=Yes
+Language=0xc09 English (Australia)
+Title=Anx Creator
+
+
+[FILES]
+WhatsNew.htm
+CreateAnnodex.htm
+CreatingClips.htm
+CreatingTracks.htm
+DeviceProfile.htm
+GettingStarted.htm
+IntroducingAnxCreator.htm
+MediaControls.htm
+OpeningProjects.htm
+ClipWindow.htm
+
+[INFOTYPES]
+
Property changes on: AnxCreator/help/AnxCreator.hhp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/AnxCreatorTOC.hhc
===================================================================
--- AnxCreator/help/AnxCreatorTOC.hhc (rev 0)
+++ AnxCreator/help/AnxCreatorTOC.hhc 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML>
+<HEAD>
+<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
+<!-- Sitemap 1.0 -->
+</HEAD><BODY>
+<OBJECT type="text/site properties">
+ <param name="Window Styles" value="0x800025">
+</OBJECT>
+<UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Introducing Anx Creator">
+ <param name="Local" value="IntroducingAnxCreator.htm">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="What's New In This Release?">
+ <param name="Local" value="WhatsNew.htm">
+ <param name="New" value="1">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Getting Started">
+ <param name="Local" value="GettingStarted.htm">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Opening Projects">
+ <param name="Local" value="OpeningProjects.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Media Controls">
+ <param name="Local" value="MediaControls.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Device Profiles">
+ <param name="Local" value="DeviceProfile.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Managing Clips">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Clips">
+ <param name="Local" value="CreatingClips.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Clip Window">
+ <param name="Local" value="ClipWindow.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Managing Tracks">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Tracks">
+ <param name="Local" value="CreatingTracks.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Exporting">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Annodex Files">
+ <param name="Local" value="CreateAnnodex.htm">
+ </OBJECT>
+ </UL>
+</UL>
+</BODY></HTML>
Property changes on: AnxCreator/help/AnxCreatorTOC.hhc
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/ClipWindow.htm
===================================================================
--- AnxCreator/help/ClipWindow.htm (rev 0)
+++ AnxCreator/help/ClipWindow.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,24 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Creating Clips</title>
+</head>
+
+<body>
+
+<p><b>Clip Window</b></p>
+<p>The clip window displays in a columnar format all of the current clips that
+exist for the current track.</p>
+<p><img border="0" src="images/ClipWindow.jpg" width="261" height="582"></p>
+<p>Each clip consists of the time, the anchor, a thumbnail and the description.
+By clicking on a clip you will get the full details of the clip information in
+the clip information section. By double-clicking on a clip the media window will
+move to that location in the media file.</p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/ClipWindow.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/CreateAnnodex.htm
===================================================================
--- AnxCreator/help/CreateAnnodex.htm (rev 0)
+++ AnxCreator/help/CreateAnnodex.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,19 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Creating Annodex Files</title>
+</head>
+
+<body>
+
+<p><b>Creating Annodex Files</b></p>
+
+<p><img border="0" src="images/createannodex.jpg" width="430" height="310"></p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/CreateAnnodex.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/CreateOgg.htm
===================================================================
--- AnxCreator/help/CreateOgg.htm (rev 0)
+++ AnxCreator/help/CreateOgg.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,19 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Creating Ogg Files</title>
+</head>
+
+<body>
+
+<p><b>Creating Ogg Files</b></p>
+
+<p><img border="0" src="images/createogg.jpg" width="430" height="310"></p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/CreateOgg.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/CreatingClips.htm
===================================================================
--- AnxCreator/help/CreatingClips.htm (rev 0)
+++ AnxCreator/help/CreatingClips.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,25 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Creating Clips</title>
+</head>
+
+<body>
+
+<p><b>Creating Clips</b></p>
+
+<p>Using the <a href="MediaControls.htm">media controls</a> move to the position
+in the media you want to specify as the starting point of a new
+<a href="ClipWindow.htm">clip</a>.</p>
+
+<p>Click on the <img border="0" src="images/newclip.jpg" width="80" height="24">
+button to create a new clip.</p>
+<p> </p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/CreatingClips.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/CreatingTracks.htm
===================================================================
--- AnxCreator/help/CreatingTracks.htm (rev 0)
+++ AnxCreator/help/CreatingTracks.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,25 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Creating Tracks</title>
+</head>
+
+<body>
+
+<p><b>Creating Tracks</b></p>
+
+<p>A new track is created by clicking on the <img border="0" src="images/newbutton.jpg" > in the <img border="0" src="images/trackbuttons.jpg" > controls.</p>
+<p> </p>
+A new dialog will be displayed.<p>
+<img border="0" src="images/newtrack.jpg" >
+<P><B>Track Name</B> is the name to use for the new track
+<P><B>Language</B> is the language the annotations in the new track will be written in
+<P><B>Language Direction</B> specifies whether the selected langauge is left to right or right to left.
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/CreatingTracks.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/DMTagger.chm
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/DMTagger.chm
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/DMTagger.hhp
===================================================================
--- AnxCreator/help/DMTagger.hhp (rev 0)
+++ AnxCreator/help/DMTagger.hhp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,32 @@
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file=DMTagger.chm
+Contents file=DMTaggerTOC.hhc
+Default topic=IntroducingDMTagger.htm
+Display compile progress=No
+Full text search stop list file=DMTaggerSrch
+Full-text search=Yes
+Language=0xc09 English (Australia)
+Title=DMTagger
+
+
+[FILES]
+WhatsNew.htm
+CreateAnnodex.htm
+CreatingClips.htm
+CreatingTracks.htm
+DeviceProfile.htm
+GettingStarted.htm
+IntroducingDMTagger.htm
+MediaControls.htm
+OpeningProjects.htm
+ClipWindow.htm
+GeneralTroubleshooting.htm
+GettingALicense.htm
+Prerequisites.htm
+UsingDMTagger.htm
+ProjectProperties.htm
+CreateOgg.htm
+
+[INFOTYPES]
+
Property changes on: AnxCreator/help/DMTagger.hhp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/DMTaggerTOC.hhc
===================================================================
--- AnxCreator/help/DMTaggerTOC.hhc (rev 0)
+++ AnxCreator/help/DMTaggerTOC.hhc 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,97 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML>
+<HEAD>
+<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
+<!-- Sitemap 1.0 -->
+</HEAD><BODY>
+<OBJECT type="text/site properties">
+ <param name="Window Styles" value="0x800025">
+</OBJECT>
+<UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Introducing DMTagger">
+ <param name="Local" value="IntroducingDMTagger.htm">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="What's New In This Release?">
+ <param name="Local" value="WhatsNew.htm">
+ <param name="New" value="1">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Using DMTagger">
+ <param name="Local" value="UsingDMTagger.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Getting Started">
+ <param name="Local" value="GettingStarted.htm">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Prerequisites">
+ <param name="Local" value="Prerequisites.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Opening Projects">
+ <param name="Local" value="OpeningProjects.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Media Controls">
+ <param name="Local" value="MediaControls.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Device Profiles">
+ <param name="Local" value="DeviceProfile.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Managing Clips">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Clips">
+ <param name="Local" value="CreatingClips.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Clip Window">
+ <param name="Local" value="ClipWindow.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Managing Tracks">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Tracks">
+ <param name="Local" value="CreatingTracks.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Exporting">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Annodex Files">
+ <param name="Local" value="CreateAnnodex.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Ogg Files">
+ <param name="Local" value="CreateOgg.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Troubleshooting">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="General Troubleshooting">
+ <param name="Local" value="GeneralTroubleshooting.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Project Properties">
+ <param name="Local" value="ProjectProperties.htm">
+ </OBJECT>
+ </UL>
+</UL>
+</BODY></HTML>
Property changes on: AnxCreator/help/DMTaggerTOC.hhc
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/DMTaggerhelp.css
===================================================================
--- AnxCreator/help/DMTaggerhelp.css (rev 0)
+++ AnxCreator/help/DMTaggerhelp.css 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,51 @@
+a:link
+{
+ color: rgb(255,204,0);
+}
+a:visited
+{
+ color: rgb(153,204,204);
+}
+a:active
+{
+ color: rgb(102,255,0);
+}
+body
+{
+ font-family: Garamond, Times New Roman, Times;
+ background-color: rgb(51,102,204);
+ color: rgb(255,255,153);
+}
+table
+{
+ table-border-color-light: rgb(153,255,204);
+ table-border-color-dark: rgb(0,0,51);
+}
+h1, h2, h3, h4, h5, h6
+{
+ font-family: Verdana, Arial, Helvetica;
+}
+h1
+{
+ color: rgb(255,204,0);
+}
+h2
+{
+ color: rgb(153,255,51);
+}
+h3
+{
+ color: rgb(0,255,204);
+}
+h4
+{
+ color: rgb(255,204,0);
+}
+h5
+{
+ color: rgb(153,255,51);
+}
+h6
+{
+ color: rgb(0,255,204);
+}
Property changes on: AnxCreator/help/DMTaggerhelp.css
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/DeviceProfile.htm
===================================================================
--- AnxCreator/help/DeviceProfile.htm (rev 0)
+++ AnxCreator/help/DeviceProfile.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,47 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Device Profile</title>
+</head>
+
+<body>
+
+<p><b>Device Profile</b></p>
+<p>Device Profiles allow you to set up different device characteristics to use
+when generating annodex files.</p>
+<p>A device profile contains profile name and description of the type of media
+stream it will create.</p>
+<p><img border="0" src="images/deviceprofile.jpg" width="344" height="288"></p>
+<p> </p>
+<p>On the video TAB of the device profile window you can select your required
+video characteristics:</p>
+<p><img border="0" src="images/deviceprofilevideo.jpg" width="344" height="288"></p>
+<ul>
+ <li>Width - The video frame width in pixels. A setting of 0 means use the
+ value in the original source.</li>
+ <li>Height - The video frame height in pixels. A setting of 0 means use the
+ value in the original source.</li>
+ <li>Frame Rate - The frame rate to generate in frames per second.</li>
+ <li>Target Bitrate - The approximate bitrate requested to be used.</li>
+ <li>Quality - The picture quality desired. This is a measure of the amount of
+ compression to use. Higher quality means a higher bitrate may be required.</li>
+</ul>
+<p>On the audio TAB of the device profile window you can select your required
+audio characteristics:</p>
+<p><img border="0" src="images/deviceprofileaudio.jpg" width="344" height="288"></p>
+<ul>
+ <li>Sample Rate - The sample rate in bits per second. A setting of o means use
+ the value in the original source.</li>
+ <li>Sample Width - The number of bits to allocate for each sample. The higher
+ the number, the better the quality.</li>
+ <li>Channels - As it is or convert to stereo or mono.</li>
+ <li>Quality - The amount of compression to use.</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/DeviceProfile.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/GeneralTroubleshooting.htm
===================================================================
--- AnxCreator/help/GeneralTroubleshooting.htm (rev 0)
+++ AnxCreator/help/GeneralTroubleshooting.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,25 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>General Troubleshooting</title>
+</head>
+
+<body>
+
+<p><b>General Troubleshooting</b></p>
+<p>The following components are required for DMTagger to run correctly. These can
+be downloaded from the internet:</p>
+
+<ul>
+ <li>DirectX Version 9 or later</li>
+ <li>oggcodecs (used to create Annodex files)</li>
+ <li>ffdshow (required for some media types)</li>
+</ul>
+
+</body>
+
+</html>
Property changes on: AnxCreator/help/GeneralTroubleshooting.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/GettingALicense.htm
===================================================================
--- AnxCreator/help/GettingALicense.htm (rev 0)
+++ AnxCreator/help/GettingALicense.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,35 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Getting a License</title>
+</head>
+
+<body>
+
+<p><b>Getting a License</b></p>
+<p>DMTagger licenses can be obtained online. </p>
+<p>DMTagger licenses are tied to the MAC address of the computer they are running
+on will only work on that computer.</p>
+<p>To obtain an DMTagger license, start DMTagger. You will be taken to the License
+dialog unless you have a full license.</p>
+<p><img border="0" src="images/licensing.jpg" width="384" height="288"></p>
+
+<p>If you do not yet have a license key, click on the
+<img border="0" src="images/licensekeyonlinebutton.jpg" width="144" height="24">
+to be taken to the DMTagger website where you can obtain a license.</p>
+
+<p>If you have received your email with your license key in it, copy the entire
+license key from the email and paste it into the section:</p>
+
+<p><img border="0" src="images/updatelicensebox.jpg" width="328" height="112"></p>
+
+<p>click "Update License" and your new license information will be displayed.
+Select OK to close the dialog.</p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/GettingALicense.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/GettingStarted.htm
===================================================================
--- AnxCreator/help/GettingStarted.htm (rev 0)
+++ AnxCreator/help/GettingStarted.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,26 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Getting Started</title>
+</head>
+
+<body>
+
+<p><b>Getting Started</b></p>
+
+<p>To get started with DMTagger you'll need to:</p>
+
+<ol>
+ <li><a href="Prerequisites.htm">check the prerequisites</a>. </li>
+ <li><a href="OpeningProjects.htm">open an existing project or create a new project </a></li>
+ <li><a href="CreatingTracks.htm">create tracks</a></li>
+ <li><a href="creatingclips.htm">create clips</a></li>
+ <li><a href="CreateAnnodex.htm">create an Annodex file</a></li>
+</ol>
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/GettingStarted.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/IntroducingAnxCreator.htm
===================================================================
--- AnxCreator/help/IntroducingAnxCreator.htm (rev 0)
+++ AnxCreator/help/IntroducingAnxCreator.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,21 @@
+<html>
+
+<head>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Introducing Anx Creator</title>
+</head>
+
+<body>
+<b>Introducing Anx Creator</b><p>Anx Creator was developed by the
+<a href="http://www.ict.csiro.au/">CSIRO ICT centre</a> to enable the easy creation of
+.ANX media files. ANX Creator is a GUI based .ANX media creator utilising common
+media controls like play, pause, stop and rewind. It imports existing video files
+and allows the user to add time-based links in the media stream. Thus, as the video
+is played, the links change to ensure relevant information is only a click away.</p>
+<p>To find out more about Annodex click <a href="http://www.annodex.net">here</a>.</p>
+<p> </p>
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/IntroducingAnxCreator.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/IntroducingDMTagger.htm
===================================================================
--- AnxCreator/help/IntroducingDMTagger.htm (rev 0)
+++ AnxCreator/help/IntroducingDMTagger.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,21 @@
+<html>
+
+<head>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Introducing DMTagger</title>
+</head>
+
+<body>
+<b>Introducing DMTagger</b><p>DMTagger was developed by the
+<a href="http://www.ict.csiro.au/">CSIRO ICT centre</a> to enable the easy creation of
+.ANX media files. DMTagger is a GUI based .ANX media creator utilising common
+media controls like play, pause, stop and rewind. It imports existing video files
+and allows the user to add time-based links in the media stream. Thus, as the video
+is played, the links change to ensure relevant information is only a click away.</p>
+<p>To find out more about Annodex click <a href="http://www.annodex.net">here</a>.</p>
+<p> </p>
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/IntroducingDMTagger.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/IntroducingiSplice.htm
===================================================================
--- AnxCreator/help/IntroducingiSplice.htm (rev 0)
+++ AnxCreator/help/IntroducingiSplice.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,21 @@
+<html>
+
+<head>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Introducing iSplice</title>
+</head>
+
+<body>
+<b>Introducing iSplice</b><p>iSplice was developed by the
+<a href="http://www.ict.csiro.au/">CSIRO ICT centre</a> to enable the easy creation of
+.ANX media files. iSplice is a GUI based .ANX media creator utilising common
+media controls like play, pause, stop and rewind. It imports existing video files
+and allows the user to add time-based links in the media stream. Thus, as the video
+is played, the links change to ensure relevant information is only a click away.</p>
+<p>To find out more about Annodex click <a href="http://www.annodex.net">here</a>.</p>
+<p> </p>
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/IntroducingiSplice.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/MediaControls.htm
===================================================================
--- AnxCreator/help/MediaControls.htm (rev 0)
+++ AnxCreator/help/MediaControls.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,49 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Media Controls</title>
+</head>
+
+<body>
+
+<p><b>Media Controls</b></font></p>
+
+<p>The playback of the media file is controlled using the media controls.</p>
+<p><img border="0" src="images/mediacontrol.jpg" width="360" height="88"></p>
+<ul>
+ <li>press <img border="0" src="images/playbutton.jpg" width="40" height="24"> to play
+ the media file.</li>
+ <li>press <img border="0" src="images/pausebutton.jpg" width="24" height="24"> to
+ pause the playback of the media file.</li>
+ <li>press <img border="0" src="images/stopbutton.jpg" width="24" height="24"> to stop
+ the playback of the media file.</li>
+ <li>press <img border="0" src="images/rewindbutton.jpg" width="24" height="24"> to
+ wind back the media file by 2 seconds.</li>
+ <li>press <img border="0" src="images/fastforwardbutton.jpg" width="24" height="24">
+ to fast forward the media file by 2 seconds.</li>
+ <li>press <img border="0" src="images/framestepbutton.jpg" width="24" height="24"> to
+ step the media file forward by one frame.</li>
+ <li>press <img border="0" src="images/framestepbackbutton.jpg" width="24" height="24">
+ to step the media file back by one frame.</li>
+</ul>
+<p> </p>
+<p>The timeline bar is the bar at the bottom of the media controls:</p>
+<blockquote>
+<p><img border="0" src="images/timelinebar.jpg" width="311" height="38"></p>
+</blockquote>
+<p>It represents how far we are along in the media file.</p>
+<p> </p>
+<p>The timeline is also expressed numerically.</p>
+<blockquote>
+<p> <img border="0" src="images/timelinedisplay.jpg" width="120" height="26"></p>
+</blockquote>
+<p>This gives the frame-accurate position of where we are at in the current media.</p>
+<p> </p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/MediaControls.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/OpeningProjects.htm
===================================================================
--- AnxCreator/help/OpeningProjects.htm (rev 0)
+++ AnxCreator/help/OpeningProjects.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,40 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Opening Projects</title>
+</head>
+
+<body>
+
+<p><b>Opening Projects</b></p>
+<p>You can either create a new project or open an existing project.</p>
+<ul>
+ <li>To create a new project, in the <b>file</b> menu select <b>Create Project</b>.<li>To
+ open an existing project, in the <b>file</b> menu select <b>Open Project</b>.</li>
+</ul>
+<p>A dialog similar to the following will appear:</p>
+<p><img border="0" src="images/startnewproject.jpg" width="502" height="344"></p>
+<ul>
+ <li>Project Name - The name of the file you want your project to be called. A
+ .anxproj file will be generated with this name.</li>
+ <li>Media File - The name of the media file you want to import and create an
+ annodexed file from. This would be the name of your media source material.
+ Browsing for a location can be done by selecting the
+ <img border="0" src="images/browsebutton.jpg" width="48" height="24"> button.</li>
+ <li>Project Location - Location on your hard disk to store the project, cmml
+ and annodex files. Browsing for a location can be done by selecting the
+ <img border="0" src="images/browsebutton.jpg" width="48" height="24"> button.</li>
+ <li>Device Profile - Profile of the final render file you wish to create. This
+ includes video frame rates and audio sampling rates. A new profile can be
+ created by selecting the
+ <img border="0" src="images/newbutton.jpg" width="48" height="24"> button. See
+ <a href="DeviceProfile.htm">DeviceProfile</a> for more information.</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/OpeningProjects.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/Prerequisites.htm
===================================================================
--- AnxCreator/help/Prerequisites.htm (rev 0)
+++ AnxCreator/help/Prerequisites.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,26 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Prerequisites</title>
+</head>
+
+<body>
+
+<p><b>Prerequisites</b></p>
+
+<p>The following components are required for DMTagger to run correctly. These can
+be downloaded from the internet:</p>
+
+<ul>
+ <li>DirectX Version 9 or later</li>
+ <li>oggcodecs (used to create Annodex files)</li>
+ <li>ffdshow (required for some media types)</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/Prerequisites.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/ProjectProperties.htm
===================================================================
--- AnxCreator/help/ProjectProperties.htm (rev 0)
+++ AnxCreator/help/ProjectProperties.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,38 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Opening Projects</title>
+</head>
+
+<body>
+
+<p><b>Project Properties</b></p>
+<p>Once a project has been created and assigned a profile, you can change the properties by editing the project properties.</p>
+<p>To examine the project properties select Project->Properties from the menu.</p>
+<p>A display similar to the following will appear.</p>
+<p><img border="0" src="images/projectproperties.jpg" ></p>
+<ul>
+ <li>Project Name - The name of the file you want your project to be called. A
+ .anxproj file will be generated with this name.</li>
+ <li>Project Location - Location on your hard disk to store the project, cmml
+ and annodex files.</li>
+ <li>CMML File - The name and location of the CMML file to be created by
+ iSplice. A .cmml extension will be used.</li>
+ <li>Annodex File - The name and location of the Annodex file to be created by
+ iSplice. A .anx extension will be used.</li>
+ <li>Media File - The name of the media file you want to import and create an
+ annodexed file from. This would be the name of your media source material.</li>
+ <li>Video Info - Information on the size and frame rate of the original source
+ media file.</li>
+ <li>Device Profile - Profile name of the final render file you wish to create.
+ This includes video frame rates and audio sampling rates. See
+ <a href="DeviceProfile.htm">DeviceProfile</a> for more information.</li>
+</ul>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/ProjectProperties.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/UsingDMTagger.htm
===================================================================
--- AnxCreator/help/UsingDMTagger.htm (rev 0)
+++ AnxCreator/help/UsingDMTagger.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,38 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>New Page 1</title>
+</head>
+
+<body>
+
+<p><b>Using DMTagger</b></p>
+<p>DMTagger is a software application used to create Annodex files.</p>
+<p>An Annodex file is a multimedia file that has extra information embedded
+within it that is designed to be displayed on an Annodex capable browser. As the
+media file is played in the browser, additional context relevant information is
+displayed in the browser including text and links. This information varies with
+the media as it plays.</p>
+<p>The inputs and outputs of DMTagger are:</p>
+<ul>
+ <li><b>Source Media File</b> - the Media file is the source file that DMTagger
+ annodexes (annotates and indexes) into an Annodex file.</li>
+ <li><b>CMML File</b> - the CMML file is the Continuous Media Markup Language
+ file and stores all the annotations made using DMTagger, as well as the time
+ period within the source media file that these annotations are relevant. As
+ edits are done within DMTagger the file that is being most immediately affected
+ is the CMML file.</li>
+ <li><b>Annodex File</b> - the major final output of DMTagger. They are denoted
+ using a .anx extension. Annodex files contain the annotations interleaved with
+ the original source media.</li>
+ <li><b>OGG File</b> - the OGG file is an OGG version on the Annodex file.</li>
+</ul>
+<p>The core concepts of DMTagger are:</p>
+
+</body>
+
+</html>
Property changes on: AnxCreator/help/UsingDMTagger.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/UsingiSplice.htm
===================================================================
--- AnxCreator/help/UsingiSplice.htm (rev 0)
+++ AnxCreator/help/UsingiSplice.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,38 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>New Page 1</title>
+</head>
+
+<body>
+
+<p><b>Using iSplice</b></p>
+<p>iSplice is a software application used to create Annodex files.</p>
+<p>An Annodex file is a multimedia file that has extra information embedded
+within it that is designed to be displayed on an Annodex capable browser. As the
+media file is played in the browser, additional context relevant information is
+displayed in the browser including text and links. This information varies with
+the media as it plays.</p>
+<p>The inputs and outputs of iSplice are:</p>
+<ul>
+ <li><b>Source Media File</b> - the Media file is the source file that iSplice
+ annodexes (annotates and indexes) into an Annodex file.</li>
+ <li><b>CMML File</b> - the CMML file is the Continuous Media Markup Language
+ file and stores all the annotations made using iSplice, as well as the time
+ period within the source media file that these annotations are relevant. As
+ edits are done within iSplice the file that is being most immediately affected
+ is the CMML file.</li>
+ <li><b>Annodex File</b> - the major final output of iSplice. They are denoted
+ using a .anx extension. Annodex files contain the annotations interleaved with
+ the original source media.</li>
+ <li><b>OGG File</b> - the OGG file is ??</li>
+</ul>
+<p>The core concepts of iSplice are:</p>
+
+</body>
+
+</html>
Property changes on: AnxCreator/help/UsingiSplice.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/WhatsNew.htm
===================================================================
--- AnxCreator/help/WhatsNew.htm (rev 0)
+++ AnxCreator/help/WhatsNew.htm 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,37 @@
+<html>
+
+<head>
+<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<link disabled rel="stylesheet" href="DMTaggerhelp.css">
+<title>What's New In This Release</title>
+</head>
+
+<body>
+<b>What's New In This Release?</b><p>This DMTagger version contains the following new features:
+</p>
+<ul>
+ <li>frame step back has been added</li>
+ <li>full licenses have been added.</li>
+ <li>double-clicking on images sets the timeline to that time. This used to be
+ done through the middle-mouse button.</li>
+ <li>help files have been introduced.</li>
+ <li>copying of tracks and clips has been introduced.</li>
+</ul>
+<p>The following bugs have been fixed in this release: </p>
+
+<ul>
+ <li>adding new clips now draws an image in the clip immediately.</li>
+ <li>project properties dialog is now disabled.</li>
+ <li>the clip window is only updated when necessary.</li>
+ <li>quicktime windows are no longer started.</li>
+ <li>fixed crash when projects were reloaded multiple times with no application
+ restart.</li>
+</ul>
+
+<p><a href="IntroducingDMTagger.htm">Introducing DMTagger</a></p>
+
+</body>
+
+</html>
\ No newline at end of file
Property changes on: AnxCreator/help/WhatsNew.htm
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/anxcreatorhelp.css
===================================================================
--- AnxCreator/help/anxcreatorhelp.css (rev 0)
+++ AnxCreator/help/anxcreatorhelp.css 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,51 @@
+a:link
+{
+ color: rgb(255,204,0);
+}
+a:visited
+{
+ color: rgb(153,204,204);
+}
+a:active
+{
+ color: rgb(102,255,0);
+}
+body
+{
+ font-family: Garamond, Times New Roman, Times;
+ background-color: rgb(51,102,204);
+ color: rgb(255,255,153);
+}
+table
+{
+ table-border-color-light: rgb(153,255,204);
+ table-border-color-dark: rgb(0,0,51);
+}
+h1, h2, h3, h4, h5, h6
+{
+ font-family: Verdana, Arial, Helvetica;
+}
+h1
+{
+ color: rgb(255,204,0);
+}
+h2
+{
+ color: rgb(153,255,51);
+}
+h3
+{
+ color: rgb(0,255,204);
+}
+h4
+{
+ color: rgb(255,204,0);
+}
+h5
+{
+ color: rgb(153,255,51);
+}
+h6
+{
+ color: rgb(0,255,204);
+}
Property changes on: AnxCreator/help/anxcreatorhelp.css
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/iSplice.chm
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/iSplice.chm
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/iSplice.hhp
===================================================================
--- AnxCreator/help/iSplice.hhp (rev 0)
+++ AnxCreator/help/iSplice.hhp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,30 @@
+[OPTIONS]
+Compatibility=1.1 or later
+Compiled file=iSplice.chm
+Contents file=iSpliceTOC.hhc
+Default topic=IntroducingiSplice.htm
+Display compile progress=No
+Full text search stop list file=iSpliceSrch
+Full-text search=Yes
+Language=0xc09 English (Australia)
+Title=iSplice
+
+
+[FILES]
+WhatsNew.htm
+CreateAnnodex.htm
+CreatingClips.htm
+CreatingTracks.htm
+DeviceProfile.htm
+GettingStarted.htm
+IntroducingiSplice.htm
+MediaControls.htm
+OpeningProjects.htm
+ClipWindow.htm
+GeneralTroubleshooting.htm
+GettingALicense.htm
+Prerequisites.htm
+UsingiSplice.htm
+
+[INFOTYPES]
+
Property changes on: AnxCreator/help/iSplice.hhp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/iSpliceTOC.hhc
===================================================================
--- AnxCreator/help/iSpliceTOC.hhc (rev 0)
+++ AnxCreator/help/iSpliceTOC.hhc 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<HTML>
+<HEAD>
+<meta name="GENERATOR" content="Microsoft® HTML Help Workshop 4.1">
+<!-- Sitemap 1.0 -->
+</HEAD><BODY>
+<OBJECT type="text/site properties">
+ <param name="Window Styles" value="0x800025">
+</OBJECT>
+<UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Introducing iSplice">
+ <param name="Local" value="IntroducingiSplice.htm">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="What's New In This Release?">
+ <param name="Local" value="WhatsNew.htm">
+ <param name="New" value="1">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Using iSplice">
+ <param name="Local" value="UsingiSplice.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Getting Started">
+ <param name="Local" value="GettingStarted.htm">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Prerequisites">
+ <param name="Local" value="Prerequisites.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Opening Projects">
+ <param name="Local" value="OpeningProjects.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Media Controls">
+ <param name="Local" value="MediaControls.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Device Profiles">
+ <param name="Local" value="DeviceProfile.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Managing Clips">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Clips">
+ <param name="Local" value="CreatingClips.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Clip Window">
+ <param name="Local" value="ClipWindow.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Managing Tracks">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Tracks">
+ <param name="Local" value="CreatingTracks.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Exporting">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Annodex Files">
+ <param name="Local" value="CreateAnnodex.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Creating Ogg Files">
+ <param name="Local" value="CreateOgg.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="License">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Getting A License">
+ <param name="Local" value="GettingALicense.htm">
+ </OBJECT>
+ </UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Troubleshooting">
+ </OBJECT>
+ <UL>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="General Troubleshooting">
+ <param name="Local" value="GeneralTroubleshooting.htm">
+ </OBJECT>
+ <LI> <OBJECT type="text/sitemap">
+ <param name="Name" value="Project Properties">
+ <param name="Local" value="ProjectProperties.htm">
+ </OBJECT>
+ </UL>
+</UL>
+</BODY></HTML>
Property changes on: AnxCreator/help/iSpliceTOC.hhc
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/iSplicehelp.css
===================================================================
--- AnxCreator/help/iSplicehelp.css (rev 0)
+++ AnxCreator/help/iSplicehelp.css 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,51 @@
+a:link
+{
+ color: rgb(255,204,0);
+}
+a:visited
+{
+ color: rgb(153,204,204);
+}
+a:active
+{
+ color: rgb(102,255,0);
+}
+body
+{
+ font-family: Garamond, Times New Roman, Times;
+ background-color: rgb(51,102,204);
+ color: rgb(255,255,153);
+}
+table
+{
+ table-border-color-light: rgb(153,255,204);
+ table-border-color-dark: rgb(0,0,51);
+}
+h1, h2, h3, h4, h5, h6
+{
+ font-family: Verdana, Arial, Helvetica;
+}
+h1
+{
+ color: rgb(255,204,0);
+}
+h2
+{
+ color: rgb(153,255,51);
+}
+h3
+{
+ color: rgb(0,255,204);
+}
+h4
+{
+ color: rgb(255,204,0);
+}
+h5
+{
+ color: rgb(153,255,51);
+}
+h6
+{
+ color: rgb(0,255,204);
+}
Property changes on: AnxCreator/help/iSplicehelp.css
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/help/images/ClipWindow.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/ClipWindow.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/TrackButtons.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/TrackButtons.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/browsebutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/browsebutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/createannodex.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/createannodex.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/createogg.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/createogg.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/deviceprofile.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/deviceprofile.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/deviceprofileaudio.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/deviceprofileaudio.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/deviceprofilevideo.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/deviceprofilevideo.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/fastforwardbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/fastforwardbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/framestepbackbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/framestepbackbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/framestepbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/framestepbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/licensekeyonlinebutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/licensekeyonlinebutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/licensing.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/licensing.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/mediacontrol.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/mediacontrol.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/mediawindowandcontrols.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/mediawindowandcontrols.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/newbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/newbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/newclip.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/newclip.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/newtrack.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/newtrack.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/pausebutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/pausebutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/playbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/playbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/projectproperties.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/projectproperties.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/rewindbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/rewindbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/startnewproject.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/startnewproject.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/stopbutton.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/stopbutton.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/timelinebar.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/timelinebar.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/timelinedisplay.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/timelinedisplay.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/updatelicensebox.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/updatelicensebox.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/help/images/volumedisplay.jpg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/help/images/volumedisplay.jpg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/iSplice.sln
===================================================================
--- AnxCreator/iSplice.sln (rev 0)
+++ AnxCreator/iSplice.sln 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,360 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iSplice", "AnxCreate\iSplice.csproj", "{A2DD4A46-9A05-4165-9E22-1CB027B7908E}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSPlayDotNET", "..\oggdsf\src\lib\player\libDSPlayDotNET\libDSPlayDotNET.vcproj", "{E274665B-12E3-4C7F-A749-FAB0C0A73522}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6} = {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTags", "..\oggdsf\src\lib\codecs\cmml\libCMMLTags\libCMMLTags.vcproj", "{AD38DCC6-B431-4B32-8569-74F3376EF2DA}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLTagsDotNET", "..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj", "{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libiWrapper", "..\oggdsf\src\lib\helper\libiWrapper\libiWrapper.vcproj", "{FCFE729D-EADE-45BA-9506-7E82A46403F7}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "iSpliceDistrib", "builds\AnxCreateDistrib\AnxCreateDistrib.vdproj", "{DB42C9D0-A8A6-43B1-8276-5B8097A8C548}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfAudioResampleFilter", "dsfAudioResampleFilter\dsfAudioResampleFilter.vcproj", "{14CE2180-B8A2-43F9-B010-C2D5EA556A36}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseClasses", "..\..\..\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj", "{4CBC0173-27E6-4218-AE06-5EFDCA7B2547}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfVideoResampleFilter", "dsfVideoResampleFilter\dsfVideoResampleFilter.vcproj", "{E01FCE63-1828-4416-A928-53678B3C5568}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSGraphManip", "libDSGraphManip\libDSGraphManip.vcproj", "{B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}"
+ ProjectSection(ProjectDependencies) = postProject
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2} = {899EB7AD-26BF-4495-9BE5-EADECCC288B2}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libilliCore", "..\oggdsf\src\lib\helper\libilliCore\libilliCore.vcproj", "{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGraphManip", "testGraphManip\testGraphManip.vcproj", "{7FFAF860-C775-495F-8F8B-2666A1948E53}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "transcodeToOgg", "transcodeToOgg\transcodeToOgg.vcproj", "{D1A3081E-4472-497B-BC7B-9C1840FF73A1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libWinCMMLParse", "..\oggdsf\src\lib\codecs\cmml\libWinCMMLParse\libWinCMMLParse.vcproj", "{23BAAF7B-AEC3-4812-AA91-7E5061E83A39}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CMMLToAnx", "CMMLToAnx\CMMLToAnx.vcproj", "{BAFD65D0-6442-4FED-8E05-F32848F404C3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libDSEncodeDotNET", "libDSEncodeDotNET\libDSEncodeDotNET.vcproj", "{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF} = {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLParseDotNET", "..\oggdsf\src\lib\codecs\cmml\libCMMLParseDotNET\libCMMLParseDotNET.vcproj", "{150940C1-A4EF-474D-8703-DF7100ABDA52}"
+ ProjectSection(ProjectDependencies) = postProject
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2} = {899EB7AD-26BF-4495-9BE5-EADECCC288B2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libTemporalURI", "..\oggdsf\src\lib\helper\libTemporalURI\libTemporalURI.vcproj", "{37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCMMLParse", "..\oggdsf\src\lib\codecs\cmml\libCMMLParse\libCMMLParse.vcproj", "{899EB7AD-26BF-4495-9BE5-EADECCC288B2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA} = {AD38DCC6-B431-4B32-8569-74F3376EF2DA}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libTemporalURIDotNET", "..\oggdsf\src\lib\helper\libTemporalURIDotNET\libTemporalURIDotNET.vcproj", "{E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}"
+ ProjectSection(ProjectDependencies) = postProject
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC} = {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7} = {FCFE729D-EADE-45BA-9506-7E82A46403F7}
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Debug Unicode = Debug Unicode
+ Release = Release
+ Release Unicode = Release Unicode
+ Release_SSE = Release_SSE
+ Release_SSE2 = Release_SSE2
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug.ActiveCfg = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug.Build.0 = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode.ActiveCfg = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Debug Unicode.Build.0 = Debug|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release.Build.0 = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release Unicode.Build.0 = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE.Build.0 = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2.ActiveCfg = Release|.NET
+ {A2DD4A46-9A05-4165-9E22-1CB027B7908E}.Release_SSE2.Build.0 = Release|.NET
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode.ActiveCfg = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Debug Unicode.Build.0 = Debug|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release.Build.0 = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode.ActiveCfg = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release Unicode.Build.0 = Release|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE.Build.0 = Release_SSE|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {E274665B-12E3-4C7F-A749-FAB0C0A73522}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode.ActiveCfg = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Debug Unicode.Build.0 = Debug|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode.ActiveCfg = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release Unicode.Build.0 = Release|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE.Build.0 = Release_SSE|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {AD38DCC6-B431-4B32-8569-74F3376EF2DA}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode.ActiveCfg = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Debug Unicode.Build.0 = Debug|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode.ActiveCfg = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release Unicode.Build.0 = Release|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE.Build.0 = Release_SSE|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode.ActiveCfg = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Debug Unicode.Build.0 = Debug|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode.ActiveCfg = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release Unicode.Build.0 = Release|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE.Build.0 = Release_SSE|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {FCFE729D-EADE-45BA-9506-7E82A46403F7}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode.ActiveCfg = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Debug Unicode.Build.0 = Debug
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release Unicode.Build.0 = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE.ActiveCfg = Release
+ {DB42C9D0-A8A6-43B1-8276-5B8097A8C548}.Release_SSE2.ActiveCfg = Release
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode.ActiveCfg = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Debug Unicode.Build.0 = Debug|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release Unicode.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE.Build.0 = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2.ActiveCfg = Release|Win32
+ {14CE2180-B8A2-43F9-B010-C2D5EA556A36}.Release_SSE2.Build.0 = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug.ActiveCfg = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug.Build.0 = Debug|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode.ActiveCfg = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Debug Unicode.Build.0 = Debug Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release.ActiveCfg = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release.Build.0 = Release|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode.ActiveCfg = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release Unicode.Build.0 = Release Unicode|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE.Build.0 = Release_SSE|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode.ActiveCfg = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Debug Unicode.Build.0 = Debug|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release Unicode.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE.Build.0 = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2.ActiveCfg = Release|Win32
+ {E01FCE63-1828-4416-A928-53678B3C5568}.Release_SSE2.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode.ActiveCfg = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Debug Unicode.Build.0 = Debug|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release Unicode.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE.Build.0 = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2.ActiveCfg = Release|Win32
+ {B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}.Release_SSE2.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode.ActiveCfg = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Debug Unicode.Build.0 = Debug|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode.ActiveCfg = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release Unicode.Build.0 = Release|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE.Build.0 = Release_SSE|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode.ActiveCfg = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Debug Unicode.Build.0 = Debug|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release Unicode.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE.Build.0 = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2.ActiveCfg = Release|Win32
+ {7FFAF860-C775-495F-8F8B-2666A1948E53}.Release_SSE2.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode.ActiveCfg = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Debug Unicode.Build.0 = Debug|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release Unicode.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE.Build.0 = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2.ActiveCfg = Release|Win32
+ {D1A3081E-4472-497B-BC7B-9C1840FF73A1}.Release_SSE2.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode.ActiveCfg = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Debug Unicode.Build.0 = Debug|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode.ActiveCfg = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release Unicode.Build.0 = Release|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE.ActiveCfg = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE.Build.0 = Release_SSE|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2.ActiveCfg = Release_SSE2|Win32
+ {23BAAF7B-AEC3-4812-AA91-7E5061E83A39}.Release_SSE2.Build.0 = Release_SSE2|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode.ActiveCfg = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Debug Unicode.Build.0 = Debug|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release Unicode.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE.Build.0 = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2.ActiveCfg = Release|Win32
+ {BAFD65D0-6442-4FED-8E05-F32848F404C3}.Release_SSE2.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode.ActiveCfg = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Debug Unicode.Build.0 = Debug|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release Unicode.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE.Build.0 = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2.ActiveCfg = Release|Win32
+ {6B70CFD3-A432-424A-90AB-68EB748C54D0}.Release_SSE2.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode.ActiveCfg = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Debug Unicode.Build.0 = Debug|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release Unicode.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE.Build.0 = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2.ActiveCfg = Release|Win32
+ {150940C1-A4EF-474D-8703-DF7100ABDA52}.Release_SSE2.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode.ActiveCfg = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Debug Unicode.Build.0 = Debug|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release Unicode.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE.Build.0 = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2.ActiveCfg = Release|Win32
+ {37CA269C-45DF-4DF7-9C12-3FE3B651D6FC}.Release_SSE2.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode.ActiveCfg = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Debug Unicode.Build.0 = Debug|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release Unicode.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE.Build.0 = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2.ActiveCfg = Release|Win32
+ {899EB7AD-26BF-4495-9BE5-EADECCC288B2}.Release_SSE2.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode.ActiveCfg = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Debug Unicode.Build.0 = Debug|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release Unicode.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE.Build.0 = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2.ActiveCfg = Release|Win32
+ {E36945ED-A48B-40EC-A1F3-B90EDFDD3F00}.Release_SSE2.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Property changes on: AnxCreator/iSplice.sln
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/ico/GoToBeginning.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/GoToBeginning.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/GoToEnd.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/GoToEnd.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/GoToNextClip.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/GoToNextClip.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/GoToPreviousClip.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/GoToPreviousClip.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/ImageButton_src.zip
===================================================================
--- AnxCreator/ico/ImageButton_src.zip (rev 0)
+++ AnxCreator/ico/ImageButton_src.zip 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,443 @@
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head><title>The Code Project - Member Logon - Free Source Code and Tutorials</title><base target=_top>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta NAME="Description" CONTENT="Free source code and tutorials for Windows developers. Programming help for Visual C++, Windows, MFC, C++, GUI, ASP, XML, UML, SOAP, ATL, VB, ADO, SQL, DCOM, COM, Windows DNA, CToolBar, CMenu, CDockBar, CButton, CEdit, CStatic, CListCtrl, CTreeCtrl, CTreeView, CListView, CListBox, CFrameWnd, CMDIFrameWnd, CStatusBar, CTabCtrl">
+<meta NAME="Keywords" CONTENT="Free source code, Visual C++, C#, C Sharp, .NET, ASP.NET, ADO.NET, COM+, Windows, libraries, MFC, development tools, C++, GUI, Microsoft Foundation Class, MFC, C++, GUI, ASP, XML, UML, SOAP, ATL, VB, ADO, SQL, DCOM, COM, Windows DNA, CToolBar, CMenu, CDockBar, CButton, CEdit, CStatic, CListCtrl, CTreeCtrl, CTreeView, CListView, CListBox, CFrameWnd, CMDIFrameWnd, CStatusBar, CTabCtrl">
+<meta HTTP-EQUIV="Reply-to" CONTENT="mailto:webmaster at codeproject.com">
+<meta NAME="Copyright" CONTENT="Copyright © CodeProject, 1999-2005, All Rights Reserved.">
+<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - All topics" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=1">
+<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - MFC / C++" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=2">
+<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - C#" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=3">
+<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - ASP.NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=4">
+<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - .NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=5">
+<link rel="icon" href="/favicon.ico" type="image/ico">
+<link rel="SHORTCUT ICON" href="/favicon.ico">
+<link rel="stylesheet" type="text/css" href="/styles/global.css">
+</head>
+
+<BODY text=black bgColor=white aLink=red link=blue vLink=navy topmargin=0 leftmargin=0 rightmargin=0>
+
+
+<script language="JavaScript">
+<!--
+
+function SymError()
+{
+ return true;
+}
+
+window.onerror = SymError;
+
+var SymRealWinOpen = window.open;
+
+function SymWinOpen(url, name, attributes)
+{
+ return (new Object());
+}
+
+window.open = SymWinOpen;
+
+//-->
+</script>
+
+<script language="javascript">
+if (top != self) top.location.href = location.href;
+</script>
+
+<map name="LogoTop"><area shape="rect" coords="13, 15, 53, 74" href="/index.asp" alt="Home"></map>
+<map name="LogoBottom">
+ <area shape="rect" coords="0, 0, 64, 25" href="/index.asp" alt="Home">
+ <area shape="rect" coords="77, 4, 365, 23" href="/index.asp" alt="Home">
+</map>
+
+
+
+<table width="100%" cellPadding=0 cellSpacing=0 border=0>
+
+<tr valign=top>
+ <td valign=top width="125" bgcolor="#ff9900" style='padding:3'>
+ <script language="JavaScript">
+function ErrorHandle() {}
+window.onerror = ErrorHandle;
+
+
+</script>
+<img alt="Newsletter" src="/images/contents/newsletter.gif"><table width=125 border=0><tr><td bgcolor=#ffcc99>
+<form name="subForm" id=subForm action="/script/profile/process_logon.asp" method=post>
+<table width=125 border=0 cellpadding=0 cellspacing=0 bgcolor=#ffcc99>
+<tr><td colspan=2><img src='/images/space.gif' height=3></td></tr>
+
+<tr><td class=smallText> Email</td>
+<td class=smallText><input class=smallText type="text" name="Email" id="Email" size=3></td></tr>
+
+<tr><td class=smallText> Password</td>
+<td><input class=smallText type="password" name="Password" id="Password" size=3></td></tr>
+<tr><td colspan=2 class=smallText valign=middle><input type=checkbox
+checked name=cookie id=RememberMeCheck><label FOR="RememberMeCheck">Remember me?</label></td></tr>
+<tr>
+<td align=center><a href='/script/profile/modify.asp'><img border=0 src="/images/signup.gif"></a></td>
+<td align=center><input border=0 type="image" src="/images/signin.gif"> </td></tr>
+</form></table>
+
+<div align=center class=smallText><a href="/script/profile/forgot.asp"><img align=absmiddle src="/images/HLP.GIF" width=16 height=16 border=0> Lost your password?</a></div>
+
+</td></tr></table>
+
+ </td>
+ <td colspan=3>
+ <table width=100% cellspacing=0 cellpadding=0 border=0>
+ <tr>
+ <td valign="bottom"><img border="0" src="/images/standard/logotop.gif" usemap="#LogoTop"></td>
+ <td align="right" valign=bottom><span id=AdBanner4><a href='/info/mediakit'><img src='/script/admentor/images/advertise.gif' alt='Advertise on the CodeProject' width=20 height=60 border=1></a></span></td>
+ </tr>
+ <tr>
+ <td colspan=2><img border="0" src="/images/standard/logobottom.gif" usemap="#LogoBottom" ></td>
+ </tr>
+ <tr><td colspan="2" bgcolor="#ff9900">
+
+
+
+<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 width=100% id=tblSiteToolbar><TR>
+<form method="post" action="/info/search.asp" name="Search">
+<TD VALIGN=top ALIGN=left width=100%>
+<TABLE BORDER="0" CELLPADDING="1" CELLSPACING="0"><TR VALIGN=center>
+<td class=smallText><b><font color=white>Search:</font></b></td>
+<TD class=navbar nowrap><input class=smallText name="target"
+
+size="10"
+
+maxlength="255"></TD><td valign=top><select class=smallText name=st>
+<option value="kw">Articles</option>
+<option value="au">Authors</option>
+</select></td>
+<TD><INPUT class=formButton type="submit" value="Go"></TD>
+</TR></TABLE></td>
+</FORM>
+
+
+<TD>
+<div id='MenuPos' style='position:relative;width:380;height:20;'>
+
+<table width=375 cellpadding=2 cellspacing=0 height=20><tr>
+<td><A href='/info/faq.asp' class=NavMenuItem>Help!</a></td>
+<td><A href='/info/latest.asp' class=NavMenuItem>Articles</td>
+<td><A href='/script/comments/forums.asp' class=NavMenuItem>Message Boards</td>
+<td><A href='/store/' class=NavMenuItem>StoreFront</td>
+<td><A href='/lounge.asp' class=NavMenuItem>Lounge</td>
+</tr></table>
+</div>
+</td>
+
+
+</TR></table>
+
+
+<script type='text/javascript'>function Go(){return}</script>
+<script type='text/javascript' src='/script/HVMenu/cpmenu_var.js'></script>
+<script type='text/javascript' src='/script/HVMenu/menu10_com.js'></script>
+
+ </td></tr>
+ </table>
+ </td>
+</tr>
+<tr valign=top>
+ <td width="125" valign=top bgcolor="#ff9900" style='padding:3'>
+
+
+<center><br>
+<font size=1><a href='/info/MediaKit/'>Premium Sponsor</a></font></center><br>
+
+<form style='margin-top:0pt;margin-bottom:3pt;' action="/" method=get><select class=smallText size=1 name=cat>
+<option value=1 selected>All Topics</option>
+<option value=2>MFC / C++</option>
+<option value=3>C#</option>
+<option value=4>ASP.NET</option>
+<option value=5>.NET</option>
+</select><input type=submit value="Filter" class=formButton></form>
+
+<IMG alt='Community' src='/images/contents/community.gif'><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/script/articles/sections.asp' name='HLLink'><b>Site Map</b></a></div>
+
+<div><a class=MI href='/info/cpstuff.asp' name='HLLink'>CodeProject Stuff</a></div>
+<div><a class=MI href='/script/profile/whos_who.asp' name='HLLink'>Who's Who</a></div>
+<div><a class=MI href='/script/common/mailform.asp?option=TellFriend' name='HLLink'>Tell a friend</a></div>
+<div><a class=MI href='/script/industry/industry.asp' name='HLLink'>Industry Contacts</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=2"><IMG alt='.NET - General' src='/images/contents/net.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/aspnet/' name='HLLink'>ASP.NET</a></div>
+<div><a class=MI href='/managedcpp/' name='HLLink'>Managed C++</a></div>
+<div><a class=MI href='/dotnet/' name='HLLink'>.NET</a></div>
+<div><a class=MI href='/soap/' name='HLLink'>SOAP and XML</a></div>
+<div><a class=MI href='/vb/net/' name='HLLink'>VB.NET</a></div>
+<div><a class=MI href='/webservices/' name='HLLink'>C++ Web Services</a></div>
+<div><a class=MI href='/netcf/' name='HLLink'>.NET Compact Framework</a></div>
+<div><a class=MI href='/cpnet/' name='HLLink'>Cross Platform</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=16"><IMG alt='C# Windows Forms' src='/images/contents/cswinforms.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/cs/combobox/' name='HLLink'>Combo & Listboxes</a></div>
+<div><a class=MI href='/cs/menu/' name='HLLink'>Menus & Toolbars</a></div>
+<div><a class=MI href='/cs/miscctrl/' name='HLLink'>C# Controls</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=17"><IMG alt='General C#' src='/images/contents/gencs.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/csharp/' name='HLLink'>C# Programming</a></div>
+<div><a class=MI href='/cs/media/' name='HLLink'>Multimedia</a></div>
+<div><a class=MI href='/cs/database/' name='HLLink'>C# Database</a></div>
+<div><a class=MI href='/cs/webservices/' name='HLLink'>C# WebServices</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=3"><IMG alt='MFC Controls' src='/images/contents/controls.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/buttonctrl/' name='HLLink'>Button Controls</a></div>
+<div><a class=MI href='/dialog/' name='HLLink'>Dialog and Windows</a></div>
+<div><a class=MI href='/combobox/' name='HLLink'>Combo and List Boxes</a></div>
+<div><a class=MI href='/menu/' name='HLLink'>Menus</a></div>
+<div><a class=MI href='/docking/' name='HLLink'>Toolbars / Docking Windows</a></div>
+<div><a class=MI href='/statusbar/' name='HLLink'>Status Bar</a></div>
+<div><a class=MI href='/editctrl/' name='HLLink'>Edit Controls</a></div>
+<div><a class=MI href='/listctrl/' name='HLLink'>List Controls</a></div>
+<div><a class=MI href='/treectrl/' name='HLLink'>Tree Controls</a></div>
+<div><a class=MI href='/tabctrl/' name='HLLink'>Tab Controls</a></div>
+<div><a class=MI href='/property/' name='HLLink'>Property Sheets</a></div>
+<div><a class=MI href='/richedit/' name='HLLink'>Rich Edit Control</a></div>
+<div><a class=MI href='/splitter/' name='HLLink'>Splitter Windows</a></div>
+<div><a class=MI href='/staticctrl/' name='HLLink'>Static Controls</a></div>
+<div><a class=MI href='/miscctrl/' name='HLLink'>Miscellaneous Controls</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=4"><IMG alt='General C++' src='/images/contents/general.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/com/' name='HLLink'>COM/DCOM/COM+</a></div>
+<div><a class=MI href='/cpp/' name='HLLink'>C++ / MFC</a></div>
+<div><a class=MI href='/clipboard/' name='HLLink'>Clipboard</a></div>
+<div><a class=MI href='/docview/' name='HLLink'>Doc / View</a></div>
+<div><a class=MI href='/debug/' name='HLLink'>Debug tips</a></div>
+<div><a class=MI href='/database/' name='HLLink'>Database</a></div>
+<div><a class=MI href='/dll/' name='HLLink'>DLLs</a></div>
+<div><a class=MI href='/file/' name='HLLink'>Files and Folders</a></div>
+<div><a class=MI href='/internet/' name='HLLink'>Internet & Network</a></div>
+<div><a class=MI href='/macro/' name='HLLink'>Macros and Add-ins</a></div>
+<div><a class=MI href='/printing/' name='HLLink'>Printing</a></div>
+<div><a class=MI href='/samples/' name='HLLink'>Samples</a></div>
+<div><a class=MI href='/string/' name='HLLink'>String</a></div>
+<div><a class=MI href='/system/' name='HLLink'>System</a></div>
+<div><a class=MI href='/threads/' name='HLLink'>Threads, Processes & IPC</a></div>
+<div><a class=MI href='/tips/' name='HLLink'>Programming Tips</a></div>
+<div><a class=MI href='/tools/' name='HLLink'>Free Tools</a></div>
+<div><a class=MI href='/shell/' name='HLLink'>Shell Programming</a></div>
+<div><a class=MI href='/datetime/' name='HLLink'>Date / Time</a></div>
+<div><a class=MI href='/winhelp/' name='HLLink'>WinHelp/HTMLHelp</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=5"><IMG alt='C++ Libraries' src='/images/contents/library.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/atl/' name='HLLink'>ATL</a></div>
+<div><a class=MI href='/wtl/' name='HLLink'>WTL</a></div>
+<div><a class=MI href='/vcpp/stl/' name='HLLink'>STL</a></div>
+<div><a class=MI href='/library/' name='HLLink'>Libraries & Projects</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=6"><IMG alt='C++ Multimedia' src='/images/contents/multimedia.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/bitmap/' name='HLLink'>Bitmaps & Palettes</a></div>
+<div><a class=MI href='/audio/' name='HLLink'>Audio and Video</a></div>
+<div><a class=MI href='/directx/' name='HLLink'>DirectX</a></div>
+<div><a class=MI href='/opengl/' name='HLLink'>OpenGL</a></div>
+<div><a class=MI href='/gdi/' name='HLLink'>Fonts & GDI</a></div>
+<div><a class=MI href='/vcpp/gdiplus/' name='HLLink'>GDI+</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=7"><IMG alt='Platforms - All' src='/images/contents/platforms.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/win32/' name='HLLink'>Win32 / SDK</a></div>
+<div><a class=MI href='/w2k/' name='HLLink'>Windows 2000 / XP</a></div>
+<div><a class=MI href='/ce/' name='HLLink'>Mobile / Embedded</a></div>
+<div><a class=MI href='/java/' name='HLLink'>Java Programming</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=8"><IMG alt='Web/Scripting' src='/images/contents/web.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/html/' name='HLLink'>HTML / CSS</a></div>
+<div><a class=MI href='/asp/' name='HLLink'>ASP</a></div>
+<div><a class=MI href='/vbscript/' name='HLLink'>VB / VBScript</a></div>
+<div><a class=MI href='/jscript/' name='HLLink'>JavaScript</a></div>
+<div><a class=MI href='/perl/' name='HLLink'>PERL</a></div>
+<div><a class=MI href='/isapi/' name='HLLink'>ISAPI</a></div>
+
+</td></tr></table>
+
+<a href="/script/articles/subcat.asp?id=15"><IMG alt='General Reading' src='/images/contents/genreading.gif' border=0></a><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/books/' name='HLLink'>Book Chapters</a></div>
+<div><a class=MI href='/gen/bookreview/' name='HLLink'>Book Reviews</a></div>
+<div><a class=MI href='/buglist/' name='HLLink'>Bugs and Workarounds</a></div>
+<div><a class=MI href='/gen/design/' name='HLLink'>Design and Strategy</a></div>
+<div><a class=MI href='/interview/' name='HLLink'>Interviews</a></div>
+<div><a class=MI href='/scrapbook/' name='HLLink'>The Scrapbook</a></div>
+<div><a class=MI href='/useritems/' name='HLLink'>Unedited Reader Contributions</a></div>
+<div><a class=MI href='/gen/work/' name='HLLink'>Work Issues</a></div>
+<div><a class=MI href='/purgatory/' name='HLLink'>Purgatory</a></div>
+<div><a class=MI href='/showcase/' name='HLLink'>Product Showcase</a></div>
+
+</td></tr></table>
+
+<IMG alt='Miscellany' src='/images/contents/Miscellany.gif'><table width='100%' cellpadding=0 cellspacing=0><tr><td class=MI>
+
+<div><a class=MI href='/awards/awards.asp' name='HLLink'>Awards</a></div>
+<div><a class=MI href='/info/about.asp' name='HLLink'>About Us</a></div>
+<div><a class=MI href='/info/MediaKit' name='HLLink'>Advertise</a></div>
+<div><a class=MI href='/script/jobs/jobs.asp' name='HLLink'>Jobs</a></div>
+<div><a class=MI href='/info/latest.asp' name='HLLink'>Latest</a></div>
+<div><a class=MI href='/script/newsletter/newsletters/' name='HLLink'>Newsletter Archive</a></div>
+<div><a class=MI href='/script/survey/list.asp' name='HLLink'>Surveys</a></div>
+<div><a class=MI href='/script/PressRelease/pr.asp' name='HLLink'>Press Releases</a></div>
+<div><a class=MI href='/script/rumor/list.asp' name='HLLink'>News</a></div>
+<div><a class=MI href='/info/submit.asp' name='HLLink'>Submit Code</a></div>
+
+</td></tr></table>
+<img alt="Partners" src="/images/contents/partners.gif"><table width=125 border=0><tr><td bgcolor=#ffcc99><div><a class=MIs name='HLLink' href="/redir.asp?id=235">MSDN Communities</a></div>
+<hr size=1 noshade color=#666666 width='80%' align=center>
+<div><a class=MIs name='HLLink' href="http://aspalliance.com">ASPAlliance</a></div>
+<div><a class=MIs name='HLLink' href="http://www.developerfusion.com/">Developer Fusion</a></div>
+<div><a class=MIs name='HLLink' href="http://www.devguru.com/">DevGuru</a></div>
+<div><a class=MIs name='HLLink' href="http://www.planet-source-code.com/">Planet Source Code</a></div>
+<div><a class=MIs name='HLLink' href="http://www.programmersheaven.com/">Programmers Heaven</a></div>
+<div><a class=MIs name='HLLink' href="http://www.resourceindex.com/">Resource Index</a></div>
+<div><a class=MIs name='HLLink' href="http://www.tek-tips.com/">Tek-Tips Forums</a></div>
+<div><a class=MIs name='HLLink' href="http://www.topxml.com/">What is XML?</a></div>
+<div><a class=MIs name='HLLink' href="http://www.visualbuilder.com/">VisualBuilder</a></div>
+<div><a class=MIs name='HLLink' href="http://www.zvon.org/">ZVON</a></div>
+
+<div><a class=MIs name='HLLink' href="/redir.asp?id=169">Search Us!</a></div>
+
+</td></tr></table>
+
+ </td>
+ <td width=5> </td>
+ <td valign=top width='100%'>
+
+<br><table bgColor="#ff9900" border=0 cellPadding=0 cellSpacing=0 width="100%">
+<tr><td width="100%">
+<table bgColor="#ff9900" border=0 cellPadding=0 cellSpacing=1 width="100%">
+<tr><td align=center bgColor="#FBEDBB">
+<font size=5 class=MainHeader>Member Logon</font></td></tr></table></td></tr></table>
+
+<!-- Main Page Contents Start -->
+<h2>Existing Members</h2><center><table cellspacing=1 cellpadding=3 bgcolor="#ff9900" width='80%'><tr><td bgcolor="#FBEDBB"><p><b>You must logon to download zip files.</b><p>To ensure that our limited resources are not abused we must ask that all readers wishing to download zip files log in first.<p><b>If you see this message more than once</b> then either choose 'Use cookies' or try returning to the page and hitting Ctrl+F5 to force a non-cache refresh and then try again. Check the <a href='/info/faq.asp'>FAQ</a> if you encounter problems.</td></tr></table></center>
+
+ <form name="logon_formular" method="POST" action="process_logon.asp?ct=/cs/miscctrl/MgXpImageButton.asp">
+ <table align=center cellpadding=0 cellspacing=1 bgcolor=#cccccc><tr><td>
+ <table border="0" bgcolor=WhiteSmoke cellpadding=3>
+
+ <tr>
+ <td align="right" nowrap>Your logon email </td>
+ <td><input type="text" name="email" size="30" value=""></td>
+ <td nowrap></td>
+ </tr>
+ <tr>
+ <td align="right" nowrap>Password </td>
+ <td><input type="password" name="password" size="30" value=""></td>
+ <td align=left><input class=formButton type="submit" value="Logon" name="submit"></td>
+ </tr>
+ <tr>
+ <td align=right><INPUT type="checkbox" name=cookie checked></td>
+ <td colspan=2 class=smalltext>Use Cookies? (If yes, then you won't need to log in again)</td>
+ </tr>
+
+ <tr>
+ <td> </td>
+ <td colspan=2>
+ <a href="/script/profile/forgot.asp?ct=/cs/miscctrl/MgXpImageButton.asp">Don't know your password? Click here!</a></td>
+ </tr>
+ </table>
+ </td></tr></table>
+
+ </form>
+
+<h2>New Members</h2><center><table cellspacing=1 cellpadding=3 bgcolor="#ff9900" width='80%'><tr><td bgcolor="#FBEDBB"><p><b>Quick Signup.</b> Signup here if you need a login account.</p><p><form name='EmailForm' enctype='multipart/form-data' action='/script/profile/modify.asp' method=post><input type=hidden name=fld_quicksign value='true'><input type=hidden name=fld_usecookies value='true'> <b>Your email address:</b> <input class=smallText type=text name=fld_email id=Email> <INPUT TYPE=submit VALUE='Sign me up!' class=FormButton><p>Signing up for CodeProject will allows you to:<ul ><li>Allow you to download zip files associated with articles.<li>Provide you with a weekly notification of new articles.<li>Have your own page to let others know what you are up to, your interests, where you live (and even what you look like!)<li>Bookmark your favourite articles<li>Post messages on the <a href='/lounge.asp'>lounge</a>.</ul><p>If you do not wish to receive e
mails then select 'No Newsletter' from the 'Newsletter' subscription option. You can unsubscribe or resubscribe to the newsletter at anytime.</td></tr></table></center>
+ <p><b><img src="/images/HLP.GIF"> Confused?</b> Hopefully the <a href="/info/faq.asp">FAQ</a> will help.
+
+ <p><a href='modify.asp'><b><img src="/images/profile_small.gif" border=0> Create a new Account here</b></a>.
+ This allows you to subscribe to the newsletter, bookmark your favourite articles, customise your
+ Code Project settings and download zip files.</p>
+
+ <p><b>Newsletter subscribers</b>: If you have registered for the newsletter using the old system
+ then your email address is automatically registered with this new system. Click
+ <a href='forgot.asp?ct=/cs/miscctrl/MgXpImageButton.asp'><b>here</b></a> and enter your newsletter subscription
+ address to have your password sent to you.</p>
+<!-- Main Page Contents End -->
+<br>
+
+<center>
+<table border=0 cellPadding=0 cellSpacing=1 width=520>
+<tr bgcolor=white>
+<td align=center colspan=2><span id=AdBanner5></span></td>
+</tr>
+<tr valign=top>
+<td>
+ <font size=1 style="font-size:7pt">
+ last updated 28 May 2000
+ <br><a href='/info/MediaKit'>Advertise</a>
+ | <a href="/info/privacy.asp">Privacy</a>
+
+ </font>
+</td>
+<td align=right>
+ <font size=1 style="font-size:7pt">Copyright © <A href='mailto:webmaster at codeproject.com'>CodeProject</A>, 1999-2005.<br>All Rights Reserved.
+</td>
+</tr>
+</table>
+</center>
+
+<td width=5> </td>
+</tr>
+</table>
+
+
+</body>
+</html>
+
+<script language="JavaScript">
+<!--
+var SymRealOnLoad;
+var SymRealOnUnload;
+
+function SymOnUnload()
+{
+ window.open = SymWinOpen;
+ if(SymRealOnUnload != null)
+ SymRealOnUnload();
+}
+
+function SymOnLoad()
+{
+ if(SymRealOnLoad != null)
+ SymRealOnLoad();
+ window.open = SymRealWinOpen;
+ SymRealOnUnload = window.onunload;
+ window.onunload = SymOnUnload;
+}
+
+SymRealOnLoad = window.onload;
+window.onload = SymOnLoad;
+
+//-->
+</script>
+
Property changes on: AnxCreator/ico/ImageButton_src.zip
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/ico/NextClip.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/NextClip.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/Pause.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/Pause.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/Play.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/Play.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/PreviousClip.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/PreviousClip.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/Stop.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/Stop.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/anx_icon_2.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/anx_icon_2.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/anx_icon_3.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/anx_icon_3.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/anx_icon_7.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/anx_icon_7.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/anx_icon_8.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/anx_icon_8.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/black_fadv.png
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/black_fadv.png
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/ico/csiro_logo.gif
===================================================================
(Binary files differ)
Property changes on: AnxCreator/ico/csiro_logo.gif
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/libDSEncodeDotNET/AnxEncoder.cpp
===================================================================
--- AnxCreator/libDSEncodeDotNET/AnxEncoder.cpp (rev 0)
+++ AnxCreator/libDSEncodeDotNET/AnxEncoder.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,358 @@
+#include "StdAfx.h"
+
+#pragma unmanaged
+#include "IOggMuxProgress.h"
+
+#pragma managed
+#include ".\anxencoder.h"
+#using <mscorlib.dll>
+
+namespace CSIRO {
+namespace libDSEncodeDotNET {
+AnxEncoder::AnxEncoder(void)
+ : mFilterGraph(NULL)
+ , mMediaControl(NULL)
+ , mMediaSeeking(NULL)
+ , mOggMuxProgress(NULL)
+ , mMediaEvent(NULL)
+ , mDNMediaEvent(NULL)
+ , mEventHandle(INVALID_HANDLE_VALUE)
+
+ , mIsSetup( false)
+
+{
+
+}
+
+AnxEncoder::~AnxEncoder(void)
+{
+ ReleaseInterfaces();
+}
+
+bool AnxEncoder::SetupAnxFromCMMLGraph(String* inCMMLFileName, String* inAnnodexFileName)
+{
+
+ //TODO::: Leak here ?? Need to releaseWStr;
+ wstring locWInCMMLFile = Wrappers::netStrToWStr(inCMMLFileName);
+ wstring locWOutAnnodexFile = Wrappers::netStrToWStr(inAnnodexFileName);
+
+ //Get a filter graph
+ // We should get back a graph with outstanding reference we care about. This is released at shutdown
+ IFilterGraph* locFilterGraph = DSGraphHelper::CreateAnnodexFromCMML(locWInCMMLFile, locWOutAnnodexFile);
+
+ if (locFilterGraph != NULL) {
+ mFilterGraph = locFilterGraph;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ //Get the media control interface
+ IMediaControl* locMediaControl = NULL;
+
+ //This ref is released at shutdown
+ HRESULT locHR = locFilterGraph->QueryInterface(IID_IMediaControl, (void**)&locMediaControl);
+
+ if (locHR == S_OK) {
+ mMediaControl = locMediaControl;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+
+ //Get the media event interface
+ IMediaEvent* locMediaEvent = NULL;
+
+ //This ref is released at shutdown
+ locHR = locFilterGraph->QueryInterface(IID_IMediaEvent, (void**)&locMediaEvent);
+
+ if (locHR == S_OK) {
+ mMediaEvent = locMediaEvent;
+ HANDLE locEventHandle = INVALID_HANDLE_VALUE;
+ locHR = locMediaEvent->GetEventHandle((OAEVENT*)&locEventHandle);
+ mEventHandle = locEventHandle;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ //get the ogg mux progress interface
+ IBaseFilter* locMuxer = NULL;
+
+ //This ref is released below
+ locHR = locFilterGraph->FindFilterByName(locWOutAnnodexFile.c_str(), &locMuxer);
+
+ if (locHR == S_OK) {
+ IOggMuxProgress* locMuxProgress = NULL;
+
+ //// {90D6513C-A665-4b16-ACA7-B3D1D4EFE58D}
+ //DEFINE_GUID(IID_IOggMuxProgress,
+ //0x90d6513c, 0xa665, 0x4b16, 0xac, 0xa7, 0xb3, 0xd1, 0xd4, 0xef, 0xe5, 0x8d);
+
+ IID IID_X_IOggMuxProgress;
+ IID_X_IOggMuxProgress.Data1 = 0x90d6513c;
+ IID_X_IOggMuxProgress.Data2 = 0xa665;
+ IID_X_IOggMuxProgress.Data3 = 0x4b16;
+ IID_X_IOggMuxProgress.Data4[0] = 0xac;
+ IID_X_IOggMuxProgress.Data4[1] = 0xa7;
+ IID_X_IOggMuxProgress.Data4[2] = 0xb3;
+ IID_X_IOggMuxProgress.Data4[3] = 0xd1;
+ IID_X_IOggMuxProgress.Data4[4] = 0xd4;
+ IID_X_IOggMuxProgress.Data4[5] = 0xef;
+ IID_X_IOggMuxProgress.Data4[6] = 0xe5;
+ IID_X_IOggMuxProgress.Data4[7] = 0x8d;
+
+ //This ref is released at shutdown
+ locHR = locMuxer->QueryInterface(IID_X_IOggMuxProgress, (void**)&locMuxProgress);
+
+ //Release our ref on the filter since we will have one on the interface we want an we
+ // can release it when we are done.
+ locMuxer->Release();
+ if (locHR == S_OK) {
+ mOggMuxProgress = locMuxProgress;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ mIsSetup = true;
+ return true;
+}
+
+bool AnxEncoder::SetupOggFromCMMLGraph(String* inCMMLFileName, String* inOggFileName)
+{
+
+ //TODO::: Leak here ?? Need to releaseWStr;
+ wstring locWInCMMLFile = Wrappers::netStrToWStr(inCMMLFileName);
+ wstring locWOutOggFile = Wrappers::netStrToWStr(inOggFileName);
+
+ //Get a filter graph
+ // We should get back a graph with outstanding reference we care about. This is released at shutdown
+ IFilterGraph* locFilterGraph = DSGraphHelper::CreateOggFromCMML(locWInCMMLFile, locWOutOggFile);
+
+ if (locFilterGraph != NULL) {
+ mFilterGraph = locFilterGraph;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ //Get the media control interface
+ IMediaControl* locMediaControl = NULL;
+
+ //This ref is released at shutdown
+ HRESULT locHR = locFilterGraph->QueryInterface(IID_IMediaControl, (void**)&locMediaControl);
+
+ if (locHR == S_OK) {
+ mMediaControl = locMediaControl;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+
+ //Get the media event interface
+ IMediaEvent* locMediaEvent = NULL;
+
+ //This ref is released at shutdown
+ locHR = locFilterGraph->QueryInterface(IID_IMediaEvent, (void**)&locMediaEvent);
+
+ if (locHR == S_OK) {
+ mMediaEvent = locMediaEvent;
+ HANDLE locEventHandle = INVALID_HANDLE_VALUE;
+ locHR = locMediaEvent->GetEventHandle((OAEVENT*)&locEventHandle);
+ mEventHandle = locEventHandle;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ //get the ogg mux progress interface
+ IBaseFilter* locMuxer = NULL;
+
+ //This ref is released below
+ locHR = locFilterGraph->FindFilterByName(locWOutOggFile.c_str(), &locMuxer);
+
+ if (locHR == S_OK) {
+ IOggMuxProgress* locMuxProgress = NULL;
+
+ //// {90D6513C-A665-4b16-ACA7-B3D1D4EFE58D}
+ //DEFINE_GUID(IID_IOggMuxProgress,
+ //0x90d6513c, 0xa665, 0x4b16, 0xac, 0xa7, 0xb3, 0xd1, 0xd4, 0xef, 0xe5, 0x8d);
+
+ IID IID_X_IOggMuxProgress;
+ IID_X_IOggMuxProgress.Data1 = 0x90d6513c;
+ IID_X_IOggMuxProgress.Data2 = 0xa665;
+ IID_X_IOggMuxProgress.Data3 = 0x4b16;
+ IID_X_IOggMuxProgress.Data4[0] = 0xac;
+ IID_X_IOggMuxProgress.Data4[1] = 0xa7;
+ IID_X_IOggMuxProgress.Data4[2] = 0xb3;
+ IID_X_IOggMuxProgress.Data4[3] = 0xd1;
+ IID_X_IOggMuxProgress.Data4[4] = 0xd4;
+ IID_X_IOggMuxProgress.Data4[5] = 0xef;
+ IID_X_IOggMuxProgress.Data4[6] = 0xe5;
+ IID_X_IOggMuxProgress.Data4[7] = 0x8d;
+
+ //This ref is released at shutdown
+ locHR = locMuxer->QueryInterface(IID_X_IOggMuxProgress, (void**)&locMuxProgress);
+
+ //Release our ref on the filter since we will have one on the interface we want an we
+ // can release it when we are done.
+ locMuxer->Release();
+ if (locHR == S_OK) {
+ mOggMuxProgress = locMuxProgress;
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ } else {
+ ReleaseInterfaces();
+ return false;
+ }
+
+ mIsSetup = true;
+ return true;
+}
+
+Int64 AnxEncoder::Progress()
+{
+ LONGLONG locProgress = -1;
+
+ locProgress = mOggMuxProgress->getProgressTime();
+
+ Int64 locInt64 = locProgress;
+
+ return locInt64;
+
+}
+
+Int64 AnxEncoder::BytesWritten()
+{
+ LONGLONG locBytesWritten = -1;
+ locBytesWritten = mOggMuxProgress->getBytesWritten();
+ Int64 locInt64 = locBytesWritten;
+ return locInt64;
+}
+void AnxEncoder::ReleaseInterfaces()
+{
+ mIsSetup = false;
+ if (mMediaControl != NULL) {
+ mMediaControl->Release();
+ mMediaControl = NULL;
+ }
+
+ if (mMediaSeeking != NULL) {
+ mMediaSeeking->Release();
+ mMediaSeeking = NULL;
+ }
+ if (mMediaEvent != NULL) {
+ mMediaEvent->Release();
+ mMediaEvent = NULL;
+ }
+ if (mOggMuxProgress != NULL) {
+ mOggMuxProgress->Release();
+ mOggMuxProgress = NULL;
+ }
+ if (mFilterGraph != NULL) {
+ mFilterGraph->Release();
+ mFilterGraph = NULL;
+ }
+
+
+}
+bool AnxEncoder::isSetup()
+{
+ return mIsSetup;
+}
+
+bool AnxEncoder::Start()
+{
+ if (mIsSetup) {
+ HRESULT locHR = mMediaControl->Run();
+ if (SUCCEEDED(locHR)) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+}
+bool AnxEncoder::Stop()
+{
+ if (mIsSetup) {
+ HRESULT locHR = mMediaControl->Stop();
+ if (SUCCEEDED(locHR)) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+}
+bool AnxEncoder::Pause()
+{
+ if (mIsSetup) {
+ HRESULT locHR = mMediaControl->Pause();
+ if (SUCCEEDED(locHR)) {
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+}
+
+
+void AnxEncoder::setMediaEventCallback( IDNEncodeMediaEvent* inMediaEventCallback)
+{
+ mDNMediaEvent = inMediaEventCallback;
+
+}
+IDNEncodeMediaEvent* AnxEncoder::getMediaEventCallback()
+{
+ return mDNMediaEvent;
+}
+
+
+bool AnxEncoder::checkEvents()
+{
+ if (mIsSetup) {
+ const DWORD TIMEOUT_WAIT = 0; //Wait this many ms for handle
+ long locEventCode = 0;
+ long locParam1 = 0;
+ long locParam2 = 0;
+ HRESULT locHR = S_OK;
+
+ if (WAIT_OBJECT_0 == WaitForSingleObject(mEventHandle, TIMEOUT_WAIT)) {
+ while (locHR = mMediaEvent->GetEvent(&locEventCode, &locParam1, &locParam2, 0), SUCCEEDED(locHR))
+ {
+
+ //cout<<"Event : "<<evCode<<" Params : "<<param1<<", "<<param2<<endl;
+
+ //This is dodgy ! param1 and 2 are actually pointers !!
+ if (mDNMediaEvent != NULL) {
+ mDNMediaEvent->eventNotification(locEventCode, locParam1, locParam2);
+ }
+
+ mMediaEvent->FreeEventParams(locEventCode, locParam1, locParam2);
+ }
+ }
+ return true;
+ } else {
+ return false;
+ }
+
+}
+
+} //End namespace libDSEncodeDotNET
+} //End namespace CSIRO
\ No newline at end of file
Property changes on: AnxCreator/libDSEncodeDotNET/AnxEncoder.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/AnxEncoder.h
===================================================================
--- AnxCreator/libDSEncodeDotNET/AnxEncoder.h (rev 0)
+++ AnxCreator/libDSEncodeDotNET/AnxEncoder.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,65 @@
+#pragma once
+
+#pragma unmanaged
+
+#include <string>
+
+#include <uuids.h>
+#include <dshow.h>
+
+using namespace std;
+
+#include "DSGraphHelper.h"
+
+#pragma managed
+using namespace System;
+#include "IDNEncodeMediaEvent.h"
+//using namespace illiminable::libDSPlayDotNET;
+
+using namespace illiminable::libiWrapper;
+#using "libiWrapper.dll"
+
+namespace CSIRO {
+namespace libDSEncodeDotNET {
+public __gc class AnxEncoder
+{
+public:
+ AnxEncoder(void);
+ ~AnxEncoder(void);
+
+ bool SetupAnxFromCMMLGraph(String* inCMMLFileName, String* inAnnodexFileName);
+ bool SetupOggFromCMMLGraph(String* inCMMLFileName, String* inOggFileName) ;
+ bool isSetup();
+
+ bool Start();
+ bool Stop();
+ bool Pause();
+
+
+ void setMediaEventCallback(IDNEncodeMediaEvent* inMediaEventCallback);
+ IDNEncodeMediaEvent* getMediaEventCallback();
+
+ //Int64 Duration();
+ Int64 Progress();
+ Int64 BytesWritten();
+ bool checkEvents();
+ void ReleaseInterfaces();
+
+protected:
+
+ bool mIsSetup;
+
+ IFilterGraph* mFilterGraph;
+ IMediaControl* mMediaControl;
+ IMediaSeeking* mMediaSeeking;
+ IMediaEvent* mMediaEvent;
+ IOggMuxProgress* mOggMuxProgress;
+
+ IDNEncodeMediaEvent* mDNMediaEvent;
+ HANDLE mEventHandle;
+
+};
+
+
+} //End namespace libDSEncodeDotNET
+} //End namespace CSIRO
\ No newline at end of file
Property changes on: AnxCreator/libDSEncodeDotNET/AnxEncoder.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/AssemblyInfo.cpp
===================================================================
--- AnxCreator/libDSEncodeDotNET/AssemblyInfo.cpp (rev 0)
+++ AnxCreator/libDSEncodeDotNET/AssemblyInfo.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,58 @@
+#include "stdafx.h"
+
+using namespace System::Reflection;
+using namespace System::Runtime::CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly:AssemblyTitleAttribute("")];
+[assembly:AssemblyDescriptionAttribute("")];
+[assembly:AssemblyConfigurationAttribute("")];
+[assembly:AssemblyCompanyAttribute("")];
+[assembly:AssemblyProductAttribute("")];
+[assembly:AssemblyCopyrightAttribute("")];
+[assembly:AssemblyTrademarkAttribute("")];
+[assembly:AssemblyCultureAttribute("")];
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the value or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly:AssemblyVersionAttribute("1.0.*")];
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+// When specifying the KeyFile, the location of the KeyFile should be
+// relative to the project directory.
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly:AssemblyDelaySignAttribute(false)];
+[assembly:AssemblyKeyFileAttribute("")];
+[assembly:AssemblyKeyNameAttribute("")];
+
Property changes on: AnxCreator/libDSEncodeDotNET/AssemblyInfo.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/IDNEncodeMediaEvent.h
===================================================================
--- AnxCreator/libDSEncodeDotNET/IDNEncodeMediaEvent.h (rev 0)
+++ AnxCreator/libDSEncodeDotNET/IDNEncodeMediaEvent.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,20 @@
+
+#pragma once
+#pragma unmanaged
+
+#pragma managed
+
+
+
+namespace CSIRO {
+namespace libDSEncodeDotNET {
+
+public __gc __interface IDNEncodeMediaEvent {
+
+public:
+ virtual bool eventNotification(Int32 inEventCode, Int32 inParam1, Int32 inParam2) = 0;
+
+};
+
+}
+}
\ No newline at end of file
Property changes on: AnxCreator/libDSEncodeDotNET/IDNEncodeMediaEvent.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/ReadMe.txt
===================================================================
--- AnxCreator/libDSEncodeDotNET/ReadMe.txt (rev 0)
+++ AnxCreator/libDSEncodeDotNET/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,31 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : libDSEncodeDotNET Project Overview
+========================================================================
+
+AppWizard has created this libDSEncodeDotNET DLL for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your libDSEncodeDotNET application.
+
+libDSEncodeDotNET.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+libDSEncodeDotNET.cpp
+ This is the main DLL source file.
+
+libDSEncodeDotNET.h
+ This file contains a class declaration.
+
+AssemblyInfo.cpp
+ Contains custom attributes for modifying assembly metadata.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/libDSEncodeDotNET/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/Stdafx.cpp
===================================================================
--- AnxCreator/libDSEncodeDotNET/Stdafx.cpp (rev 0)
+++ AnxCreator/libDSEncodeDotNET/Stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,5 @@
+// stdafx.cpp : source file that includes just the standard includes
+// libDSEncodeDotNET.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
Property changes on: AnxCreator/libDSEncodeDotNET/Stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/Stdafx.h
===================================================================
--- AnxCreator/libDSEncodeDotNET/Stdafx.h (rev 0)
+++ AnxCreator/libDSEncodeDotNET/Stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,13 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently,
+// but are changed infrequently
+
+#pragma once
+
+#pragma unmanaged
+#include <dshow.h>
+
+
+//// {1F3EFFE4-0E70-47c7-9C48-05EB99E20011}
+//DEFINE_GUID(CLSID_OggMuxFilter,
+//0x1f3effe4, 0xe70, 0x47c7, 0x9c, 0x48, 0x5, 0xeb, 0x99, 0xe2, 0x0, 0x11);
Property changes on: AnxCreator/libDSEncodeDotNET/Stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/app.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/libDSEncodeDotNET/app.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/libDSEncodeDotNET/app.rc
===================================================================
--- AnxCreator/libDSEncodeDotNET/app.rc (rev 0)
+++ AnxCreator/libDSEncodeDotNET/app.rc 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,52 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon placed first or with lowest ID value becomes application icon
+
+LANGUAGE 9, 1
+#pragma code_page(1252)
+1 ICON "app.ico"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
Property changes on: AnxCreator/libDSEncodeDotNET/app.rc
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.cpp
===================================================================
--- AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.cpp (rev 0)
+++ AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,6 @@
+// This is the main DLL file.
+
+#include "stdafx.h"
+
+#include "libDSEncodeDotNET.h"
+
Property changes on: AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.h
===================================================================
--- AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.h (rev 0)
+++ AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,13 @@
+// libDSEncodeDotNET.h
+
+#pragma once
+
+using namespace System;
+
+namespace libDSEncodeDotNET
+{
+ public __gc class Class1
+ {
+ // TODO: Add your methods for this class here.
+ };
+}
Property changes on: AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.vcproj
===================================================================
--- AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.vcproj (rev 0)
+++ AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="libDSEncodeDotNET"
+ ProjectGUID="{6B70CFD3-A432-424A-90AB-68EB748C54D0}"
+ RootNamespace="libDSEncodeDotNET"
+ Keyword="ManagedCProj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ ManagedExtensions="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libDSGraphManip;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\player\libDSPlayDotNET;..\..\oggdsf\src\lib\core\directshow\dsfOggMux;..\..\oggdsf\src\lib\helper;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ AdditionalUsingDirectories="..\..\oggdsf\src\lib\helper\libiWrapper\Debug"
+ PreprocessorDefinitions="WIN32;_DEBUG"
+ MinimalRebuild="false"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="4"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/noentry"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\helper\libiWrapper\Debug;C:\DXSDK\Lib"
+ GenerateDebugInformation="true"
+ AssemblyDebug="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ ManagedExtensions="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libDSGraphManip;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\player\libDSPlayDotNET;..\..\oggdsf\src\lib\core\directshow\dsfOggMux;..\..\oggdsf\src\lib\helper;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ AdditionalUsingDirectories="..\..\oggdsf\src\lib\helper\libiWrapper\Release"
+ PreprocessorDefinitions="WIN32;NDEBUG"
+ MinimalRebuild="false"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/noentry"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\helper\libiWrapper\Release;C:\DXSDK\Lib"
+ GenerateDebugInformation="true"
+ />
+ <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>
+ <ProjectReference
+ ReferencedProjectIdentifier="{FCFE729D-EADE-45BA-9506-7E82A46403F7}"
+ />
+ <AssemblyReference
+ RelativePath="mscorlib.dll"
+ AssemblyName="mscorlib, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=IA64"
+ />
+ <AssemblyReference
+ RelativePath="System.dll"
+ AssemblyName="System, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
+ />
+ <AssemblyReference
+ RelativePath="System.Data.dll"
+ AssemblyName="System.Data, Version=2.0.0.0, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86"
+ />
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\AnxEncoder.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\AssemblyInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\libDSEncodeDotNET.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=".\AnxEncoder.h"
+ >
+ </File>
+ <File
+ RelativePath=".\IDNEncodeMediaEvent.h"
+ >
+ </File>
+ <File
+ RelativePath=".\libDSEncodeDotNET.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"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ <File
+ RelativePath=".\app.ico"
+ >
+ </File>
+ <File
+ RelativePath=".\app.rc"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/libDSEncodeDotNET/libDSEncodeDotNET.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSEncodeDotNET/resource.h
===================================================================
--- AnxCreator/libDSEncodeDotNET/resource.h (rev 0)
+++ AnxCreator/libDSEncodeDotNET/resource.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,3 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by app.rc
Property changes on: AnxCreator/libDSEncodeDotNET/resource.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/DSGraphHelper.cpp
===================================================================
--- AnxCreator/libDSGraphManip/DSGraphHelper.cpp (rev 0)
+++ AnxCreator/libDSGraphManip/DSGraphHelper.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,1476 @@
+#include "StdAfx.h"
+#include ".\dsgraphhelper.h"
+
+DSGraphHelper::DSGraphHelper(void)
+{
+}
+
+DSGraphHelper::~DSGraphHelper(void)
+{
+}
+
+HRESULT DSGraphHelper::RenderFile(wstring inFileName, IFilterGraph** outFilterGraph)
+{
+ //COM REF::: Checked. If it succeeds theres an outstanding ref. If not there isn't
+
+ //This code taken from iTranscode in oggcodecs.
+ IGraphBuilder* locGraphBuilder = NULL;
+ IMediaControl* locMediaControl = NULL;
+ HRESULT locHR;
+
+ locHR = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&locGraphBuilder);
+
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+
+ locHR = locGraphBuilder->RenderFile(inFileName.c_str(), NULL);
+
+ if (locHR != S_OK) {
+ //Release memory here !!
+ if (locGraphBuilder != NULL) {
+ locGraphBuilder->Release();
+ }
+
+ return locHR;
+ }
+
+ *outFilterGraph = locGraphBuilder;
+ return S_OK;
+}
+
+HRESULT DSGraphHelper::ReleaseGraphAndFilters(IFilterGraph* inFilterGraph)
+{
+ // This is all unnecessary. Just need to release the graph, it will release it's filters.
+ inFilterGraph->Release();
+
+ //IEnumFilters* locFilterEnum = NULL;
+ //HRESULT locHR = inFilterGraph->EnumFilters(&locFilterEnum);
+ //
+ //IBaseFilter* locFilter = NULL;
+ //
+ //locHR = S_OK;
+ //ULONG locHowManyFilters = 0;
+ //ULONG locHowManyReturned = 0;
+ //vector<IBaseFilter*> locFilterList;
+ //while (locHR == S_OK) {
+ // //Loop through all the filter.
+ // locHR = locFilterEnum->Next(1, &locFilter, &locHowManyReturned);
+ // if (locHR == S_OK) {
+ // //locHR = inFilterGraph->RemoveFilter(locFilter);
+ // locFilterList.push_back(locFilter);
+ // //Release the filter.
+ // //ULONG locTemp =
+ // // locFilter->Release();
+
+
+ // }
+ //}
+
+ //for (size_t i = 0; i < locFilterList.size(); i++) {
+ // locHR = inFilterGraph->RemoveFilter(locFilterList[i]);
+ // ULONG locTemp =
+ // locFilterList[i]->Release();
+ //}
+
+ //ULONG locTemp =
+ // locFilterEnum->Release();
+ //locTemp =
+ // inFilterGraph->Release();
+
+ return S_OK;
+}
+bool DSGraphHelper::IsRenderer(IBaseFilter* inFilter)
+{
+ //COM REF::: No changes in ref counts due to this function.
+ if (inFilter == NULL) {
+ return false;
+ } else {
+
+
+ HRESULT locHR = S_OK;
+ IEnumPins* locPinEnum = NULL;
+ IPin* locPin = NULL;
+ IAMFilterMiscFlags* locFilterFlags = NULL;
+ PIN_DIRECTION locPinDirn;
+ ULONG locHowManyPins = 0;
+ bool locIsRenderer = false;
+ bool locHasAnyPins = false;
+
+ //See if the filter identifies itself as a renderer.
+
+ //Released below
+ locHR = inFilter->QueryInterface(IID_IAMFilterMiscFlags, (void **)&locFilterFlags);
+
+ if (locHR == S_OK) {
+ //We have the interface.
+ ULONG locFlags = locFilterFlags->GetMiscFlags();
+ if (locFlags == AM_FILTER_MISC_FLAGS_IS_RENDERER) {
+ //This is a renderer.
+ ULONG locTemp =
+ locFilterFlags->Release();
+ return true;
+ }
+
+ //Release the flag interface.
+ ULONG locTemp =
+ locFilterFlags->Release();
+
+ }
+
+
+
+ //The filter didn't identify itself as a renderer but it may still be... need to check the pin
+ // configuration.
+
+
+ //Enumerate the pins on the filter.
+
+ //The enumeration is released below
+ locHR = inFilter->EnumPins(&locPinEnum);
+ if (locHR == S_OK) {
+ while (locHR == S_OK) {
+ //Loop through the pins.
+ //The pin is released for each iteration.
+ locHR = locPinEnum->Next(1, &locPin, &locHowManyPins);
+
+ if (locHR == S_OK) {
+ //Got another pin...
+ locHasAnyPins = true;
+
+ locPin->QueryDirection(&locPinDirn);
+ if ((locPinDirn == PINDIR_OUTPUT)) {// && (locPin->IsConnected())) {
+ IPin* locTestPin = NULL;
+
+ //The pin we get is released below
+ locHR = locPin->ConnectedTo(&locTestPin);
+ if (locHR == S_OK) {
+ //Has a connected output pin... can't be a renderer, break out of the pin loop.
+
+ ULONG locTemp =
+ locTestPin->Release();
+ locTemp =
+ locPin->Release();
+ locTemp =
+ locPinEnum->Release();
+ //Not a renderer
+ return false;
+ }
+
+ }
+
+ //Release the working pin for each iteration.
+ ULONG locTemp =
+ locPin->Release();
+ }
+ }
+
+ //Release the enumerator.
+ ULONG locTemp =
+ locPinEnum->Release();
+ }
+
+
+ //If we didn't return by here... the filter didn't id itself as a renderer but it
+ // has no connected output pins, so we can assume it is a renderer.
+ return true;
+
+ }
+
+}
+
+HRESULT DSGraphHelper::AddPinStubs(IBaseFilter* inFilter, vector<IPin*>* inoutPinStubs)
+{
+ //COM REF::: No change to interfaces. The pin stubs return have no outstanding refs.
+ if ((inFilter==NULL) || (inoutPinStubs == NULL)) {
+ return E_POINTER;
+ }
+
+ HRESULT locHR = S_OK;
+
+ IEnumPins* locPinEnum = NULL;
+ IPin* locPin = NULL;
+ PIN_DIRECTION locPinDirn;
+ ULONG locHowManyReturned = 0;
+
+ //Released below
+ locHR = inFilter->EnumPins(&locPinEnum);
+ if (locHR != S_OK) {
+ return locHR;
+ }
+
+ while (locHR == S_OK) {
+
+ locHR = locPinEnum->Next(1, &locPin, &locHowManyReturned);
+
+ if (locHR == S_OK) {
+ //Got another pin...
+
+
+ locPin->QueryDirection(&locPinDirn);
+ if ((locPinDirn == PINDIR_INPUT)) {// && (locPin->IsConnected())) {
+ IPin* locTestPin = NULL;
+ locHR = locPin->ConnectedTo(&locTestPin);
+ if (locHR == S_OK) {
+ //Has a connected input pin... Need to hold onto it.
+
+ inoutPinStubs->push_back(locTestPin);
+ locTestPin->Release();
+ }
+
+ }
+
+ //Release the working pin for each iteration.
+ ULONG locTemp =
+ locPin->Release();
+ }
+
+ }
+
+ locPinEnum->Release();
+
+ return S_OK;
+
+}
+
+void DSGraphHelper::MyDeleteMediaType(AM_MEDIA_TYPE* inMediaType)
+{
+ //COM REF::: No com stuff here
+ if (inMediaType->cbFormat != 0) {
+ CoTaskMemFree((PVOID)inMediaType->pbFormat);
+ inMediaType->cbFormat = 0;
+ inMediaType->pbFormat = NULL;
+ }
+ CoTaskMemFree(inMediaType);
+
+}
+
+bool DSGraphHelper::HasMajorType(IPin* inPin, GUID inMajorType)
+{
+ //COM REF::: No change to refs.
+
+ IEnumMediaTypes* locMTEnum = NULL;
+ ULONG locHowManyReturned = 0;
+
+ //This is released below.
+ inPin->EnumMediaTypes(&locMTEnum);
+
+ bool retIsThatType = false;
+ HRESULT locHR = S_OK;
+
+ AM_MEDIA_TYPE* locMediaType = NULL;
+ while (locHR == S_OK) {
+
+ // Since this is an enum of structs not COM objects, we use our delete function to kill them
+ // rether than release.
+ locHR = locMTEnum->Next(1, &locMediaType, &locHowManyReturned);
+
+ if (locHR == S_OK) {
+ if (locMediaType->majortype == inMajorType) {
+ retIsThatType = true;
+ }
+ MyDeleteMediaType(locMediaType);
+ locMediaType = NULL;
+ }
+
+ }
+
+ locMTEnum->Release();
+
+ return retIsThatType;
+
+}
+bool DSGraphHelper::IsAudioPin(IPin* inPin)
+{
+ //COM REF::: No change to refs.
+ return HasMajorType(inPin, MEDIATYPE_Audio);
+}
+
+bool DSGraphHelper::IsVideoPin(IPin* inPin)
+{
+ //COM REF::: No change to refs.
+ return HasMajorType(inPin, MEDIATYPE_Video);
+}
+HRESULT DSGraphHelper::RemoveRenderers(IFilterGraph* inGraph, vector<IPin*>* outPinStubs )
+{
+
+ //COM REF::: No change to refs.
+
+ if ((inGraph == NULL) || (outPinStubs == NULL)) {
+ return E_POINTER;
+ }
+ //This code taken from iTranscode in oggcodecs.
+
+
+ IEnumFilters* locFilterEnum = NULL;
+ HRESULT locHR = inGraph->EnumFilters(&locFilterEnum);
+
+
+ vector<IBaseFilter*> locFiltersToRemove;
+ bool locStillMore = true;
+
+ IBaseFilter* locFilter = NULL;
+
+ locHR = S_OK;
+
+ ULONG locHowManyReturned = 0;
+ while (locHR == S_OK) {
+ //Loop through all the filter.
+ locHR = locFilterEnum->Next(1, &locFilter, &locHowManyReturned);
+ if (locHR == S_OK) {
+
+ if (DSGraphHelper::IsRenderer(locFilter)) {
+ HRESULT locStubHR = AddPinStubs(locFilter, outPinStubs);
+
+ //We save them up here... because if we delete them now, our enumerator is borked.
+ locFiltersToRemove.push_back(locFilter);
+ }
+ //cout<<endl;
+
+ //Release the filter.
+ locFilter->Release();
+ }
+ }
+
+ for (size_t i = 0; i < locFiltersToRemove.size(); i++) {
+ inGraph->RemoveFilter(locFiltersToRemove[i]);
+ }
+
+ locFilterEnum->Release();
+ return S_OK;
+
+}
+
+//You get returned a pointer to the vorbis filter... with an outstanding ref count.
+IBaseFilter* DSGraphHelper::AttachVorbisEncoder(IFilterGraph* inGraph, IPin* inPin, signed char inQuality)
+{
+ //COM REF::: Returns a pointer to a filter with an outstanding ref or NULL.
+ IBaseFilter* locVorbisEncoder = NULL;
+ //Create the vorbis encoder.
+ //cout<<"Creating a vorbis encoder..."<<endl;
+
+ // {5C94FE86-B93B-467f-BFC3-BD6C91416F9B}
+ //DEFINE_GUID(CLSID_X_VorbisEncodeFilter,
+ //0x5c94fe86, 0xb93b, 0x467f, 0xbf, 0xc3, 0xbd, 0x6c, 0x91, 0x41, 0x6f, 0x9b);
+ CLSID CLSID_X_VorbisEncodeFilter;
+ CLSID_X_VorbisEncodeFilter.Data1 = 0x5c94fe86;
+ CLSID_X_VorbisEncodeFilter.Data2 = 0xb93b;
+ CLSID_X_VorbisEncodeFilter.Data3 = 0x467f;
+ CLSID_X_VorbisEncodeFilter.Data4[0] = 0xbf;
+ CLSID_X_VorbisEncodeFilter.Data4[1] = 0xc3;
+ CLSID_X_VorbisEncodeFilter.Data4[2] = 0xbd;
+ CLSID_X_VorbisEncodeFilter.Data4[3] = 0x6c;
+ CLSID_X_VorbisEncodeFilter.Data4[4] = 0x91;
+ CLSID_X_VorbisEncodeFilter.Data4[5] = 0x41;
+ CLSID_X_VorbisEncodeFilter.Data4[6] = 0x6f;
+ CLSID_X_VorbisEncodeFilter.Data4[7] = 0x9b;
+
+ // {A4C6A887-7BD3-4b33-9A57-A3EB10924D3A}
+ //DEFINE_GUID(IID_IVorbisEncodeSettings,
+ //0xa4c6a887, 0x7bd3, 0x4b33, 0x9a, 0x57, 0xa3, 0xeb, 0x10, 0x92, 0x4d, 0x3a);
+
+ IID IID_X_IVorbisEncodeSettings;
+ IID_X_IVorbisEncodeSettings.Data1 = 0xa4c6a887;
+ IID_X_IVorbisEncodeSettings.Data2 = 0x7bd3;
+ IID_X_IVorbisEncodeSettings.Data3 = 0x4b33;
+ IID_X_IVorbisEncodeSettings.Data4[0] = 0x9a;
+ IID_X_IVorbisEncodeSettings.Data4[1] = 0x57;
+ IID_X_IVorbisEncodeSettings.Data4[2] = 0xa3;
+ IID_X_IVorbisEncodeSettings.Data4[3] = 0xeb;
+ IID_X_IVorbisEncodeSettings.Data4[4] = 0x10;
+ IID_X_IVorbisEncodeSettings.Data4[5] = 0x92;
+ IID_X_IVorbisEncodeSettings.Data4[6] = 0x4d;
+ IID_X_IVorbisEncodeSettings.Data4[7] = 0x3a;
+
+ HRESULT locHR = CoCreateInstance(CLSID_X_VorbisEncodeFilter, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locVorbisEncoder);
+ if (locHR == S_OK) {
+
+
+ IVorbisEncodeSettings* locVorbisSettings = NULL;
+ locHR = locVorbisEncoder->QueryInterface(IID_X_IVorbisEncodeSettings, (void**)&locVorbisSettings);
+ if (locHR == S_OK) {
+ if ((inQuality >= 0) && (inQuality < 100)) {
+ locVorbisSettings->setQuality(inQuality);
+ }
+ locVorbisSettings->Release();
+ }
+
+ wstring locFilterName = L"Vorbis Encode Filter";
+ locHR = AttachFilter(inGraph, inPin, locVorbisEncoder, locFilterName);
+
+ if (locHR != S_OK) {
+ locVorbisEncoder->Release();
+ return NULL;
+ }
+
+
+ return locVorbisEncoder;
+
+
+ }
+ return NULL;
+}
+
+IPin* DSGraphHelper::GetPinNo(IBaseFilter* inFilter, unsigned long inPinNo)
+{
+ //COM REF::: Returns an outstanding ref to the pin, or NULL.
+ IEnumPins* locPinEnum = NULL;
+
+ //Released below.
+ HRESULT locHR = inFilter->EnumPins(&locPinEnum);
+
+ if (locHR != S_OK) {
+ return NULL;
+ }
+
+ unsigned long locPinCount = 0;
+
+ ULONG locHowManyReturned = 0;
+
+ while ((locPinCount <= inPinNo) && (locHR == S_OK)) {
+ IPin* locPin = NULL;
+
+ //Released on each iteration, unless we return, and we return an outstanding ref.
+ locHR = locPinEnum->Next(1, &locPin, &locHowManyReturned);
+ if (locHR == S_OK) {
+ if (locPinCount == inPinNo) {
+ //This is the pin we want
+ locPinEnum->Release();
+ return locPin;
+ }
+ }
+ locPinCount++;
+ locPin->Release();
+ }
+
+ //Didn't find the pin !
+ locPinEnum->Release();
+ return NULL;
+}
+
+
+IBaseFilter* DSGraphHelper::AttachEncodersToAnxMux(IFilterGraph* inGraph, vector<IBaseFilter*> inEncoders, wstring inInputCMMLFile, wstring inOutputFileName)
+{
+ // COM REF ::: This is a hideous chunk of COM ugliness !! It returns a reffed anx filter or NULL.
+ // Could do with some rearranging.
+ IBaseFilter* locAnxMux = NULL;
+
+ // {6C5746D3-D309-4988-8694-D435AB86460D}
+ //DEFINE_GUID(CLSID_AnxMuxFilter,
+ //0x6c5746d3, 0xd309, 0x4988, 0x86, 0x94, 0xd4, 0x35, 0xab, 0x86, 0x46, 0xd);
+
+ // {B78032F1-DCC8-4af4-91AD-FB98E806130D}
+ //DEFINE_GUID(CLSID_CMMLRawSourceFilter,
+ //0xb78032f1, 0xdcc8, 0x4af4, 0x91, 0xad, 0xfb, 0x98, 0xe8, 0x6, 0x13, 0xd);
+ IFilterGraph2* locFG2 = NULL;
+ HRESULT locHR = inGraph->QueryInterface(IID_IFilterGraph2, (void**)&locFG2);
+ if (locHR != S_OK) {
+ return NULL;
+ }
+
+ CLSID CLSID_X_AnxMux;
+ CLSID_X_AnxMux.Data1 = 0x6c5746d3;
+ CLSID_X_AnxMux.Data2 = 0xd309;
+ CLSID_X_AnxMux.Data3 = 0x4988;
+ CLSID_X_AnxMux.Data4[0] = 0x86;
+ CLSID_X_AnxMux.Data4[1] = 0x94;
+ CLSID_X_AnxMux.Data4[2] = 0xd4;
+ CLSID_X_AnxMux.Data4[3] = 0x35;
+ CLSID_X_AnxMux.Data4[4] = 0xab;
+ CLSID_X_AnxMux.Data4[5] = 0x86;
+ CLSID_X_AnxMux.Data4[6] = 0x46;
+ CLSID_X_AnxMux.Data4[7] = 0xd;
+
+ CLSID CLSID_X_CMMLSource;
+ CLSID_X_CMMLSource.Data1 = 0xb78032f1;
+ CLSID_X_CMMLSource.Data2 = 0xdcc8;
+ CLSID_X_CMMLSource.Data3 = 0x4af4;
+ CLSID_X_CMMLSource.Data4[0] = 0x91;
+ CLSID_X_CMMLSource.Data4[1] = 0xad;
+ CLSID_X_CMMLSource.Data4[2] = 0xfb;
+ CLSID_X_CMMLSource.Data4[3] = 0x98;
+ CLSID_X_CMMLSource.Data4[4] = 0xe8;
+ CLSID_X_CMMLSource.Data4[5] = 0x6;
+ CLSID_X_CMMLSource.Data4[6] = 0x13;
+ CLSID_X_CMMLSource.Data4[7] = 0xd;
+
+
+ locHR = CoCreateInstance(CLSID_X_AnxMux, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locAnxMux);
+
+ if (locHR != S_OK) {
+ goto clean_FG2;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ //Get the interface to set the output file.
+ IFileSinkFilter* locFileSink = NULL;
+ locHR = locAnxMux->QueryInterface(IID_IFileSinkFilter, (void**)&locFileSink);
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, FileSink
+
+ //Set the output file name
+ locHR = locFileSink->SetFileName(inOutputFileName.c_str(), NULL);
+
+ //Regardless we don't need the filesink interface any more
+ locFileSink->Release();
+ locFileSink = NULL;
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ //Put the mux in the graph...
+ locHR = locFG2->AddFilter(locAnxMux, inOutputFileName.c_str());
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ //Create the cmml source filter.
+ IBaseFilter* locCMMLSource = NULL;
+ locHR = CoCreateInstance(CLSID_X_CMMLSource, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locCMMLSource);
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource
+
+ //Add the cmml filter to the graph.
+ locHR = locFG2->AddFilter(locCMMLSource, inInputCMMLFile.c_str());
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux_CMMLSource;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource
+
+ //Get the CMML filters filesource interface
+ IFileSourceFilter* locSourceFilter = NULL;
+ locHR = locCMMLSource->QueryInterface(IID_IFileSourceFilter, (void**)&locSourceFilter);
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux_CMMLSource;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource, SourceFilter
+
+ //Load the cmml file into the filter.
+ locHR = locSourceFilter->Load(inInputCMMLFile.c_str(), NULL);
+
+ //Regardless we don't need the cmml source filter interface any more.
+ locSourceFilter->Release();
+ locSourceFilter = NULL;
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource
+
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux_CMMLSource;
+ }
+
+
+ //Get the CMML Output pin
+ IPin* locCMMLPin = GetPinNo(locCMMLSource, 0);
+ if (locCMMLPin == NULL) {
+ goto clean_FG2_AnxMux_CMMLSource;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource, CMMLPin
+
+ //Get the first anx input pin
+ IPin* locAnxMuxPin = GetPinNo(locAnxMux, 0);
+ if (locAnxMuxPin == NULL) {
+ goto clean_FG2_AnxMux_CMMLSource_CMMLPin;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource, CMMLPin, AnxMuxPin
+
+ //Connect the CMML Pin to the annodex pin
+ locHR = locFG2->Connect(locCMMLPin, locAnxMuxPin);
+ if (locHR != S_OK) {
+ goto clean_FG2_AnxMux_CMMLSource_CMMLPin_AnxMuxPin;
+ }
+
+ //** COM ACTIVE = FG2, AnxMux, CMMLSource, CMMLPin, AnxMuxPin
+
+
+ //Since we have connected our pins now... we don't need the CMMLPin, CMMLSource or AnxMuxPin anymore.
+ locCMMLPin->Release();
+ locCMMLPin = NULL;
+ locCMMLSource->Release();
+ locCMMLSource = NULL;
+ locAnxMuxPin->Release();
+ locAnxMuxPin = NULL;
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ //Attach the encoders.
+ const int THE_OUTPUT_PIN = 1;
+ unsigned long locConnectedCount = 0;
+ for (size_t i = 0; i < inEncoders.size(); i++) {
+
+ //Get the output pin on the encoder
+ IPin* locEncoderPin = GetPinNo(inEncoders[i], THE_OUTPUT_PIN);
+
+ //** COM ACTIVE = FG2, AnxMux, (EncoderPin)
+
+ //Get the input pin on the mux (+1 because the first one is CMML)
+ IPin* locMuxPin = GetPinNo(locAnxMux, i + 1);
+
+ //** COM ACTIVE = FG2, AnxMux, (EncoderPin), (MuxPin)
+
+ if ((locEncoderPin == NULL) || (locMuxPin == NULL)) {
+ //One of the two pins we want to connect doesn't exist
+ if (locEncoderPin != NULL) locEncoderPin->Release();
+ if (locMuxPin != NULL) locMuxPin->Release();
+
+ goto clean_FG2_AnxMux;
+ } else {
+ //Conect the two pins.
+ locHR = locFG2->Connect(locEncoderPin, locMuxPin);
+
+ if (locHR != S_OK) {
+ locEncoderPin->Release();
+ locMuxPin->Release();
+ goto clean_FG2_AnxMux;
+ }
+
+ //The pins were connected
+ locConnectedCount++;
+
+ //Release these... they are connected now.
+ locEncoderPin->Release();
+ locMuxPin->Release();
+ }
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ }
+
+ //** COM ACTIVE = FG2, AnxMux
+
+ //Check we conencted everything
+ if (locConnectedCount == inEncoders.size()) {
+ //Everything was connected
+ // Release the graph, and return the annodexd mux with a ref.
+ locFG2->Release();
+
+ //SUCCESS PATH
+
+ return locAnxMux;
+ } else {
+ //Not everything got connected
+ goto clean_FG2_AnxMux;
+ }
+
+//Goto labels so you can clean up the right amount of stuff.
+clean_FG2_AnxMux_CMMLSource_CMMLPin_AnxMuxPin:
+ locAnxMuxPin->Release();
+clean_FG2_AnxMux_CMMLSource_CMMLPin:
+ locCMMLPin->Release();
+clean_FG2_AnxMux_CMMLSource:
+ locCMMLSource->Release();
+clean_FG2_AnxMux:
+ locAnxMux->Release();
+clean_FG2:
+ locFG2->Release();
+ return NULL;
+
+
+}
+IBaseFilter* DSGraphHelper::AttachEncodersToOggMux(IFilterGraph* inGraph, vector<IBaseFilter*> inEncoders, wstring inOutputFileName) {
+ IBaseFilter* locOggMux = NULL;
+ // {1F3EFFE4-0E70-47c7-9C48-05EB99E20011}
+ //DEFINE_GUID(CLSID_OggMuxFilter,
+ //0x1f3effe4, 0xe70, 0x47c7, 0x9c, 0x48, 0x5, 0xeb, 0x99, 0xe2, 0x0, 0x11);
+
+ IFilterGraph2* locFG2 = NULL;
+ HRESULT locHR = inGraph->QueryInterface(IID_IFilterGraph2, (void**)&locFG2);
+ if (locHR != S_OK) {
+ return NULL;
+ }
+
+ CLSID CLSID_X_OggMux;
+ CLSID_X_OggMux.Data1 = 0x1f3effe4;
+ CLSID_X_OggMux.Data2 = 0xe70;
+ CLSID_X_OggMux.Data3 = 0x47c7;
+ CLSID_X_OggMux.Data4[0] = 0x9c;
+ CLSID_X_OggMux.Data4[1] = 0x48;
+ CLSID_X_OggMux.Data4[2] = 0x5;
+ CLSID_X_OggMux.Data4[3] = 0xeb;
+ CLSID_X_OggMux.Data4[4] = 0x99;
+ CLSID_X_OggMux.Data4[5] = 0xe2;
+ CLSID_X_OggMux.Data4[6] = 0x0;
+ CLSID_X_OggMux.Data4[7] = 0x11;
+ locHR = CoCreateInstance(CLSID_X_OggMux, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locOggMux);
+
+ if (locHR != S_OK) {
+ locFG2->Release();
+ return NULL;
+ }
+
+ //Get the interface to set the output file.
+ IFileSinkFilter* locFileSink = NULL;
+ locHR = locOggMux->QueryInterface(IID_IFileSinkFilter, (void**)&locFileSink);
+
+ if (locHR != S_OK) {
+ locFG2->Release();
+ locOggMux->Release();
+ return NULL;
+ }
+
+ //Set the output file name
+ locHR = locFileSink->SetFileName(inOutputFileName.c_str(), NULL);
+
+ if (locHR != S_OK) {
+ locFG2->Release();
+ locFileSink->Release();
+ locOggMux->Release();
+ return NULL;
+ }
+
+ //Put the mux in the graph...
+
+ locHR = locFG2->AddFilter(locOggMux, inOutputFileName.c_str());
+
+ if (locHR != S_OK) {
+ locFG2->Release();
+ locFileSink->Release();
+ locOggMux->Release();
+ return NULL;
+ }
+ //Attach the encoders.
+
+ const int THE_OUTPUT_PIN = 1;
+ unsigned long locConnectedCount = 0;
+ for (size_t i = 0; i < inEncoders.size(); i++) {
+
+ IPin* locEncoderPin = GetPinNo(inEncoders[i], THE_OUTPUT_PIN);
+ IPin* locMuxPin = GetPinNo(locOggMux, i);
+
+ if ((locEncoderPin == NULL) || (locMuxPin == NULL)) {
+ //FAIL HERE
+ locFG2->Release();
+ locFileSink->Release();
+ locOggMux->Release();
+ return NULL;
+ } else {
+ locHR = locFG2->Connect(locEncoderPin, locMuxPin);
+ if (locHR != S_OK) {
+ locFG2->Release();
+ locFileSink->Release();
+ locOggMux->Release();
+ return NULL;
+ }
+ locConnectedCount++;
+
+ }
+
+ }
+
+ //Check we connected everything
+ if (locConnectedCount == inEncoders.size()) {
+ //Everything is good !
+ locFG2->Release();
+ locFileSink->Release();
+
+ return locOggMux;
+ } else {
+
+ locFG2->Release();
+ locFileSink->Release();
+ locOggMux->Release();
+ return NULL;
+ }
+
+
+
+
+
+}
+
+IBaseFilter* DSGraphHelper::AttachResampledVorbisEncoder(IFilterGraph* inGraph, IPin* inPin, sAudioResampleParams inResampleParams)
+{
+ //COM REF ::: Returns a vorbis filter with a ref outstanding or null.
+
+ IBaseFilter* locAudioResampler = NULL;
+ //// {56582236-EFE8-4311-9AF5-E2FA2204FCE0}
+ //DEFINE_GUID(CLSID_AudioResampleFilter,
+ //0x56582236, 0xefe8, 0x4311, 0x9a, 0xf5, 0xe2, 0xfa, 0x22, 0x4, 0xfc, 0xe0);
+
+ //// {1D653984-D3B4-4539-8D9D-4777AF23BD2B}
+ //DEFINE_GUID(IID_IAudioResampleSettings,
+ //0x1d653984, 0xd3b4, 0x4539, 0x8d, 0x9d, 0x47, 0x77, 0xaf, 0x23, 0xbd, 0x2b);
+
+ CLSID CLSID_X_AudioResampleFilter;
+ CLSID_X_AudioResampleFilter.Data1 = 0x56582236;
+ CLSID_X_AudioResampleFilter.Data2 = 0xefe8;
+ CLSID_X_AudioResampleFilter.Data3 = 0x4311;
+ CLSID_X_AudioResampleFilter.Data4[0] = 0x9a;
+ CLSID_X_AudioResampleFilter.Data4[1] = 0xf5;
+ CLSID_X_AudioResampleFilter.Data4[2] = 0xe2;
+ CLSID_X_AudioResampleFilter.Data4[3] = 0xfa;
+ CLSID_X_AudioResampleFilter.Data4[4] = 0x22;
+ CLSID_X_AudioResampleFilter.Data4[5] = 0x4;
+ CLSID_X_AudioResampleFilter.Data4[6] = 0xfc;
+ CLSID_X_AudioResampleFilter.Data4[7] = 0xe0;
+
+ IID IID_X_IAudioResampleSettings;
+ IID_X_IAudioResampleSettings.Data1 = 0x1d653984;
+ IID_X_IAudioResampleSettings.Data2 = 0xd3b4;
+ IID_X_IAudioResampleSettings.Data3 = 0x4539;
+ IID_X_IAudioResampleSettings.Data4[0] = 0x8d;
+ IID_X_IAudioResampleSettings.Data4[1] = 0x9d;
+ IID_X_IAudioResampleSettings.Data4[2] = 0x47;
+ IID_X_IAudioResampleSettings.Data4[3] = 0x77;
+ IID_X_IAudioResampleSettings.Data4[4] = 0xaf;
+ IID_X_IAudioResampleSettings.Data4[5] = 0x23;
+ IID_X_IAudioResampleSettings.Data4[6] = 0xbd;
+ IID_X_IAudioResampleSettings.Data4[7] = 0x2b;
+
+
+
+ HRESULT locHR = S_OK;
+
+ //If there's no audio settings, we just attach the vorbis encoder.
+ if ( ((inResampleParams.desiredNumChannels == 0) && (inResampleParams.desiredSampleRate == 0) && (inResampleParams.desiredSampleWidth == 0))) {
+ //We don't need the resampler.
+ IBaseFilter* retEncoder = AttachVorbisEncoder(inGraph, inPin, inResampleParams.desiredVorbisQuality);
+
+ if (retEncoder == NULL) {
+ // IVorbisEncodeSettings* locVorbisSettings = NULL;
+ // locHR = retEncoder->QueryInterface(IID_X_IVorbisEncodeSettings, (void**)&locVorbisSettings);
+ // if (locHR == S_OK) {
+ // if ((inResampleParams.desiredVorbisQuality >= 0) && (inResampleParams.desiredVorbisQuality < 100)) {
+ // locVorbisSettings->setQuality(inResampleParams.desiredVorbisQuality);
+ // }
+ // locVorbisSettings->Release();
+ // }
+ //} else {
+ return NULL;
+ }
+ return retEncoder;
+
+ } else {
+
+ //Create the audio resampler.
+ HRESULT locHR = CoCreateInstance(CLSID_X_AudioResampleFilter, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locAudioResampler);
+ if (locHR == S_OK) {
+ //Attach the filter to the pin we are given
+ locHR = AttachFilter(inGraph, inPin, locAudioResampler, L"Audio Resampler");
+ if (locHR == S_OK) {
+
+ //Get the resample settings interface.
+ IAudioResampleSettings* locAudSets = NULL;
+ locHR = locAudioResampler->QueryInterface(IID_X_IAudioResampleSettings, (void**)&locAudSets);
+
+ //Either way we don't need the ref on the resampler itself anymore... so release
+ locAudioResampler->Release();
+
+ //Check if we got the resample settings interface.
+ if (locHR == S_OK) {
+ IAudioResampleSettings::eSettingsResult locResult = locAudSets->setParams(inResampleParams);
+
+ //Either way, we don't need the resample settings interface any more...
+ locAudSets->Release();
+
+ if ((locResult == IAudioResampleSettings::SETS_OK) || (locResult == IAudioResampleSettings::SETS_ACCEPTED_MODIFIED)) {
+ //All good
+ IPin* locPin = GetPinNo(locAudioResampler, 1); //Output Pin
+ if (locPin != NULL) {
+ IBaseFilter* retEncoder = AttachVorbisEncoder(inGraph, locPin, inResampleParams.desiredVorbisQuality);
+
+
+ if (retEncoder == NULL) {
+ //Failed to attach vorbis encoder
+ locPin->Release();
+ return NULL;
+ }
+
+ //Release the pin on the aud resampler now.
+ locPin->Release();
+
+ return retEncoder;
+
+ } else {
+ //Failed to get a pin on the aud resampler.
+ return NULL;
+ }
+ } else {
+ //Failed to set resample settings
+ return NULL;
+ }
+ } else {
+ //Failed to get the resampler interface.
+ return NULL;
+ }
+ } else {
+ //We failed to attach the audio resampler.
+ locAudioResampler->Release();
+ return NULL;
+ }
+ } else {
+ //Failed to create a resampler
+ return NULL;
+ }
+ }
+
+}
+IBaseFilter* DSGraphHelper::AttachResampledTheoraEncoder(IFilterGraph* inGraph, IPin* inPin, sVideoResampleParams inResampleParams) {
+ IBaseFilter* locVideoResampler = NULL;
+
+
+ //// {6439B18E-09D1-4909-9513-2D1422000094}
+ //DEFINE_GUID(CLSID_VideoResampleFilter,
+ //0x6439b18e, 0x9d1, 0x4909, 0x95, 0x13, 0x2d, 0x14, 0x22, 0x0, 0x0, 0x94);
+
+ //// {92DB8831-8A47-4c71-9DF5-7DBEA49DFC10}
+ //DEFINE_GUID(IID_IVideoResampleSettings,
+ //0x92db8831, 0x8a47, 0x4c71, 0x9d, 0xf5, 0x7d, 0xbe, 0xa4, 0x9d, 0xfc, 0x10);
+ //These are wrong !
+ CLSID CLSID_X_VideoResampleFilter;
+ CLSID_X_VideoResampleFilter.Data1 = 0x6439b18e;
+ CLSID_X_VideoResampleFilter.Data2 = 0x9d1;
+ CLSID_X_VideoResampleFilter.Data3 = 0x4909;
+ CLSID_X_VideoResampleFilter.Data4[0] = 0x95;
+ CLSID_X_VideoResampleFilter.Data4[1] = 0x13;
+ CLSID_X_VideoResampleFilter.Data4[2] = 0x2d;
+ CLSID_X_VideoResampleFilter.Data4[3] = 0x14;
+ CLSID_X_VideoResampleFilter.Data4[4] = 0x22;
+ CLSID_X_VideoResampleFilter.Data4[5] = 0x0;
+ CLSID_X_VideoResampleFilter.Data4[6] = 0x0;
+ CLSID_X_VideoResampleFilter.Data4[7] = 0x94;
+
+ IID IID_X_IVideoResampleSettings;
+ IID_X_IVideoResampleSettings.Data1 = 0x92db8831;
+ IID_X_IVideoResampleSettings.Data2 = 0x8a47;
+ IID_X_IVideoResampleSettings.Data3 = 0x4c71;
+ IID_X_IVideoResampleSettings.Data4[0] = 0x9d;
+ IID_X_IVideoResampleSettings.Data4[1] = 0xf5;
+ IID_X_IVideoResampleSettings.Data4[2] = 0x7d;
+ IID_X_IVideoResampleSettings.Data4[3] = 0xbe;
+ IID_X_IVideoResampleSettings.Data4[4] = 0xa4;
+ IID_X_IVideoResampleSettings.Data4[5] = 0x9d;
+ IID_X_IVideoResampleSettings.Data4[6] = 0xfc;
+ IID_X_IVideoResampleSettings.Data4[7] = 0x10;
+
+ HRESULT locHR = S_OK;
+ if ( ((inResampleParams.desiredFrameRate == 0) && (inResampleParams.desiredHeight == 0) && (inResampleParams.desiredWidth == 0))) {
+ //We don't need the resampler.
+ IBaseFilter* retEncoder = AttachTheoraEncoder(inGraph, inPin, inResampleParams.desiredTheoraQuality, inResampleParams.desiredTheoraBitrate);
+ return retEncoder;
+
+ } else {
+
+ //Make a video resampler.
+ locHR = CoCreateInstance(CLSID_X_VideoResampleFilter, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locVideoResampler);
+ if (locHR == S_OK) {
+ locHR = AttachFilter(inGraph, inPin, locVideoResampler, L"Audio Resampler");
+ if (locHR == S_OK) {
+ IVideoResampleSettings* locVidSets = NULL;
+ locHR = locVideoResampler->QueryInterface(IID_X_IVideoResampleSettings, (void**)&locVidSets);
+
+ //Either way we don't need the ref on the vid resampler any more.
+ locVideoResampler->Release();
+
+ if (locHR == S_OK) {
+ //Set the video resample params
+ IVideoResampleSettings::eSettingsResult locResult = locVidSets->setParams(inResampleParams);
+
+ //Either way we don't need the vid resample interface any more.
+ locVidSets->Release();
+
+ if ((locResult == IVideoResampleSettings::SETS_OK) || (locResult == IVideoResampleSettings::SETS_ACCEPTED_MODIFIED)) {
+ //All good
+ IPin* locPin = GetPinNo(locVideoResampler, 1); //Output Pin
+ if (locPin != NULL) {
+ IBaseFilter* retEncoder = AttachTheoraEncoder(inGraph, locPin, inResampleParams.desiredTheoraQuality, inResampleParams.desiredTheoraBitrate);
+
+ locPin->Release();
+
+ return retEncoder;
+
+ } else {
+ //Failed to get the resampler pin
+ return NULL;
+ }
+
+ } else {
+ //Failed to set video settings
+ return NULL;
+ }
+ } else {
+ //Failed to get the video resample interface
+ return NULL;
+ }
+
+ } else {
+ //We couldn't conenct the resampler.
+ locVideoResampler->Release();
+ return NULL;
+
+ }
+ } else {
+ //Failed to create a video reasmpler
+ return NULL;
+ }
+ }
+}
+
+//You get returned a pointer to the theora filter... with an outstanding ref count.
+IBaseFilter* DSGraphHelper::AttachTheoraEncoder(IFilterGraph* inGraph, IPin* inPin, unsigned short inDesiredQuality, unsigned long inDesiredBitrate) {
+ IBaseFilter* locTheoraEncoder = NULL;
+ //Create the theora encoder.
+ // {5C769985-C3E1-4f95-BEE7-1101C465F5FC}
+
+ //DEFINE_GUID(CLSID_TheoraEncodeFilter,
+ //0x5c769985, 0xc3e1, 0x4f95, 0xbe, 0xe7, 0x11, 0x1, 0xc4, 0x65, 0xf5, 0xfc);
+
+
+ CLSID CLSID_X_TheoraEncodeFilter;
+ CLSID_X_TheoraEncodeFilter.Data1 = 0x5c769985;
+ CLSID_X_TheoraEncodeFilter.Data2 = 0xc3e1;
+ CLSID_X_TheoraEncodeFilter.Data3 = 0x4f95;
+ CLSID_X_TheoraEncodeFilter.Data4[0] = 0xbe;
+ CLSID_X_TheoraEncodeFilter.Data4[1] = 0xe7;
+ CLSID_X_TheoraEncodeFilter.Data4[2] = 0x11;
+ CLSID_X_TheoraEncodeFilter.Data4[3] = 0x1;
+ CLSID_X_TheoraEncodeFilter.Data4[4] = 0xc4;
+ CLSID_X_TheoraEncodeFilter.Data4[5] = 0x65;
+ CLSID_X_TheoraEncodeFilter.Data4[6] = 0xf5;
+ CLSID_X_TheoraEncodeFilter.Data4[7] = 0xfc;
+
+ //// {4F063B3A-B397-4c22-AFF4-2F8DB96D292A}
+ //DEFINE_GUID(IID_ITheoraEncodeSettings,
+ //0x4f063b3a, 0xb397, 0x4c22, 0xaf, 0xf4, 0x2f, 0x8d, 0xb9, 0x6d, 0x29, 0x2a);
+ CLSID IID_X_ITheoraEncodeSettings;
+ IID_X_ITheoraEncodeSettings.Data1 = 0x4f063b3a;
+ IID_X_ITheoraEncodeSettings.Data2 = 0xb397;
+ IID_X_ITheoraEncodeSettings.Data3 = 0x4c22;
+ IID_X_ITheoraEncodeSettings.Data4[0] = 0xaf;
+ IID_X_ITheoraEncodeSettings.Data4[1] = 0xf4;
+ IID_X_ITheoraEncodeSettings.Data4[2] = 0x2f;
+ IID_X_ITheoraEncodeSettings.Data4[3] = 0x8d;
+ IID_X_ITheoraEncodeSettings.Data4[4] = 0xb9;
+ IID_X_ITheoraEncodeSettings.Data4[5] = 0x6d;
+ IID_X_ITheoraEncodeSettings.Data4[6] = 0x29;
+ IID_X_ITheoraEncodeSettings.Data4[7] = 0x2a;
+
+
+
+ HRESULT locHR = CoCreateInstance(CLSID_X_TheoraEncodeFilter, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void **)&locTheoraEncoder);
+ if (locHR == S_OK) {
+
+ wstring locFilterName = L"Theora Encode Filter";
+ locHR = AttachFilter(inGraph, inPin, locTheoraEncoder, locFilterName);
+
+ if (locHR != S_OK) {
+ locTheoraEncoder->Release();
+ }
+
+ ITheoraEncodeSettings* locTheoraSettings = NULL;
+ locHR = locTheoraEncoder->QueryInterface(IID_X_ITheoraEncodeSettings, (void**)&locTheoraSettings);
+ if (locHR == S_OK) {
+ if ((inDesiredQuality >= 0) && (inDesiredQuality < 100)) {
+ locTheoraSettings->setQuality(inDesiredQuality);
+ }
+
+ if ((inDesiredBitrate > 10000)) {
+ locTheoraSettings->setTargetBitrate(inDesiredBitrate);
+ }
+ locTheoraSettings->Release();
+ }
+
+ //locTheoraEncoder->Release();
+ return locTheoraEncoder;
+ //if (locHR == S_OK) {
+ // cout<<"Attached filter OK."<<endl;
+ //} else {
+ // cout<<"Attach filter FAILED"<<endl;
+ //}
+
+ }
+ return NULL;
+}
+vector<IBaseFilter*> DSGraphHelper::AttachPinStubs(IFilterGraph* inGraph, vector<IPin*> inPinStubs, eAudioEncodeCodec inAudioCodec, sAudioResampleParams inAudioParams, eVideoEncodeCodec inVideoCodec, sVideoResampleParams inVideoParams)
+{
+ //COM REF::: Returns a list of encoders that were conencted to the incoming stubs. All have an outstanding ref.
+ vector<IBaseFilter*> locFiltersForMux;
+ //PIN_INFO locPinInfo;
+
+ //Loop through the stubs connecting them up.
+ for (size_t i = 0; i < inPinStubs.size(); i++) {
+ //(*locPinStubs)[i]->QueryPinInfo(&locPinInfo);
+ //wcout<<L"Pin "<<i+1<<L" : "<<locPinInfo.achName<<endl;
+
+ if (IsAudioPin(inPinStubs[i])) {
+
+ //TODO::: Switch for different codecs.
+ IBaseFilter* locRetFilter = DSGraphHelper::AttachResampledVorbisEncoder(inGraph, inPinStubs[i], inAudioParams);
+
+ if (locRetFilter != NULL) {
+ //cout<<"Attached filter OK."<<endl;
+ locFiltersForMux.push_back(locRetFilter);
+ } else {
+ //TODO::: What are we going to do here ?
+ //cout<<"Attach filter FAILED"<<endl;
+ }
+
+ } else if (DSGraphHelper::IsVideoPin(inPinStubs[i])) {
+ //TODO::: Switch for different codecs.
+ IBaseFilter* locRetFilter = DSGraphHelper::AttachResampledTheoraEncoder(inGraph, inPinStubs[i], inVideoParams);
+
+ if (locRetFilter != NULL) {
+ //cout<<"Attached filter OK."<<endl;
+ locFiltersForMux.push_back(locRetFilter);
+ } else {
+ //cout<<"Attach filter FAILED"<<endl;
+ }
+
+ } else {
+ //TODO:: What to do here ?
+ }
+
+ }
+
+ return locFiltersForMux;
+}
+
+void DSGraphHelper::FillResampleParamsFromTag(C_ImportTag* inImportTag, sAudioResampleParams* inoutAudioParams, sVideoResampleParams* inoutVideoParams) {
+
+ inoutAudioParams->desiredNumChannels = 0;
+ inoutAudioParams->desiredSampleRate = 0;
+ inoutAudioParams->desiredSampleWidth = 0;
+ inoutAudioParams->desiredVorbisQuality = -128;
+
+ inoutVideoParams->desiredFrameRate = 0;
+ inoutVideoParams->desiredHeight = 0;
+ inoutVideoParams->desiredWidth = 0;
+
+ C_ParamTagList* locParamList = inImportTag->paramList();
+
+ wstring locTemp = L"";
+
+ //Audio samplewidth
+ locTemp = locParamList->getContent(L"audio.samplewidth");
+ try {
+ if (locTemp != L"") {
+ inoutAudioParams->desiredSampleWidth = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutAudioParams->desiredSampleWidth = 0;
+ }
+
+
+ //Audio channels
+ locTemp = locParamList->getContent(L"audio.numchannels");
+ try {
+ if (locTemp != L"") {
+ inoutAudioParams->desiredNumChannels = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutAudioParams->desiredNumChannels = 0;
+ }
+
+ //Audio samplerate
+ locTemp = locParamList->getContent(L"audio.samplerate");
+ try {
+ if (locTemp != L"") {
+ inoutAudioParams->desiredSampleRate = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutAudioParams->desiredSampleRate = 0;
+ }
+
+ //Vorbis Quality
+ locTemp = locParamList->getContent(L"audio.vorbis.quality");
+ try {
+ if (locTemp != L"") {
+ inoutAudioParams->desiredVorbisQuality = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutAudioParams->desiredVorbisQuality = -128;
+ }
+
+
+ //Video Height
+ locTemp = locParamList->getContent(L"video.height");
+ try {
+ if (locTemp != L"") {
+ inoutVideoParams->desiredHeight = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutVideoParams->desiredHeight = 0;
+ }
+
+
+ //Video Width
+ locTemp = locParamList->getContent(L"video.width");
+ try {
+ if (locTemp != L"") {
+ inoutVideoParams->desiredWidth = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutVideoParams->desiredWidth = 0;
+ }
+
+ //Video Framerate
+ locTemp = locParamList->getContent(L"video.framerate");
+ try {
+ if (locTemp != L"") {
+ inoutVideoParams->desiredFrameRate = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutVideoParams->desiredFrameRate = 0;
+ }
+
+ //Video theora target bitrate
+ locTemp = locParamList->getContent(L"video.theora.targetbitrate");
+ try {
+ if (locTemp != L"") {
+ inoutVideoParams->desiredTheoraBitrate = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutVideoParams->desiredTheoraBitrate = 400000;
+ }
+
+ //Video theora quality
+ locTemp = locParamList->getContent(L"video.theora.quality");
+ try {
+ if (locTemp != L"") {
+ inoutVideoParams->desiredTheoraQuality = (unsigned long)StringHelper::stringToNum(StringHelper::toNarrowStr(locTemp));
+ }
+ } catch (...) {
+ inoutVideoParams->desiredTheoraQuality = 30;
+ }
+
+
+
+
+
+
+}
+IFilterGraph* DSGraphHelper::CreateAnnodexFromCMML(wstring inCMMLFileName, wstring inOutputAnnodexFileName)
+{
+
+ //COM REF::: Either returns a graph with an outstanding ref or NULL.
+
+ CMMLParser locCMMLParser;
+ C_CMMLDoc locDoc;
+ bool locIsOK = locCMMLParser.parseDocFromFile(inCMMLFileName, &locDoc);
+
+ if (!locIsOK) {
+ return NULL;
+ }
+
+ C_ImportTagList* locImports = locDoc.root()->stream()->importList(); //Don't delete
+
+ for (unsigned long i = 0; i < locImports->numTags(); i++) {
+
+ C_ImportTag* locImportTag = locImports->getTag(i);
+
+ wstring locSourceFile = locImportTag->src();
+
+ IFilterGraph* locFilterGraph = NULL;
+
+ //We are getting back a graph with a ref outstanding
+ HRESULT locHR = RenderFile(locSourceFile, &locFilterGraph);
+
+ if (locHR == S_OK) {
+ vector<IPin*> locPinStubs;
+ //We are getting back a list of pins, but with no refs outstanding.
+ locHR = RemoveRenderers(locFilterGraph, &locPinStubs);
+
+ if (locHR == S_OK) {
+ sAudioResampleParams locAudioParams;
+ sVideoResampleParams locVideoParams;
+
+
+ FillResampleParamsFromTag(locImportTag, &locAudioParams, &locVideoParams);
+
+ //We get back a vector full of encoders with outstanding pins.
+ vector<IBaseFilter*> locFiltersToMux = AttachPinStubs(locFilterGraph, locPinStubs, USE_VORBIS, locAudioParams, USE_THEORA, locVideoParams);
+
+ if (locFiltersToMux.size() > 0) {
+ IBaseFilter* locAnxMux = AttachEncodersToAnxMux(locFilterGraph, locFiltersToMux, inCMMLFileName, inOutputAnnodexFileName);
+
+ //Either way, we need to release all the refs on the encoders
+ for (size_t i = 0; i < locFiltersToMux.size(); i++) {
+ locFiltersToMux[i]->Release();
+ }
+
+ if (locAnxMux != NULL) {
+ //Returning a graph with an outstanding ref.
+ locAnxMux->Release();
+ return locFilterGraph;
+ }
+
+
+ }
+ }
+
+ locFilterGraph->Release();
+
+
+ }
+
+
+
+ }
+
+ return NULL;
+
+
+
+}
+
+
+IFilterGraph* DSGraphHelper::CreateOggFromCMML(wstring inCMMLFileName, wstring inOutputOggFileName)
+{
+
+ //COM REF::: Either returns a graph with an outstanding ref or NULL.
+
+ CMMLParser locCMMLParser;
+ C_CMMLDoc locDoc;
+ bool locIsOK = locCMMLParser.parseDocFromFile(inCMMLFileName, &locDoc);
+
+ if (!locIsOK) {
+ return NULL;
+ }
+
+ C_ImportTagList* locImports = locDoc.root()->stream()->importList(); //Don't delete
+
+ for (unsigned long i = 0; i < locImports->numTags(); i++) {
+
+ C_ImportTag* locImportTag = locImports->getTag(i);
+
+ wstring locSourceFile = locImportTag->src();
+
+ IFilterGraph* locFilterGraph = NULL;
+
+ //We are getting back a graph with a ref outstanding
+ HRESULT locHR = RenderFile(locSourceFile, &locFilterGraph);
+
+ if (locHR == S_OK) {
+ vector<IPin*> locPinStubs;
+ //We are getting back a list of pins, but with no refs outstanding.
+ locHR = RemoveRenderers(locFilterGraph, &locPinStubs);
+
+ if (locHR == S_OK) {
+ sAudioResampleParams locAudioParams;
+ sVideoResampleParams locVideoParams;
+
+
+ FillResampleParamsFromTag(locImportTag, &locAudioParams, &locVideoParams);
+
+ //We get back a vector full of encoders with outstanding pins.
+ vector<IBaseFilter*> locFiltersToMux = AttachPinStubs(locFilterGraph, locPinStubs, USE_VORBIS, locAudioParams, USE_THEORA, locVideoParams);
+
+ if (locFiltersToMux.size() > 0) {
+ IBaseFilter* locOggMux = AttachEncodersToOggMux(locFilterGraph, locFiltersToMux, inOutputOggFileName);
+
+ //Either way, we need to release all the refs on the encoders
+ for (size_t i = 0; i < locFiltersToMux.size(); i++) {
+ locFiltersToMux[i]->Release();
+ }
+
+ if (locOggMux != NULL) {
+ //Returning a graph with an outstanding ref.
+ locOggMux->Release();
+ return locFilterGraph;
+ }
+
+
+ }
+ }
+
+ locFilterGraph->Release();
+
+
+ }
+
+
+
+ }
+
+ return NULL;
+
+
+
+}
+HRESULT DSGraphHelper::AttachFilter(IFilterGraph* inGraph, IPin* inPin, IBaseFilter* inFilter, wstring inFilterName) {
+ if ((inGraph == NULL) || (inPin == NULL) || (inFilter==NULL)) {
+ return E_POINTER;
+ }
+
+ IFilterGraph2* locFG2 = NULL;
+ HRESULT locHR = inGraph->QueryInterface(IID_IFilterGraph2, (void**)&locFG2);
+ if (locHR != S_OK) {
+ return S_FALSE;
+ }
+
+
+ //Get the fitlers info.
+// FILTER_INFO locFilterInfo;
+// inFilter->QueryFilterInfo(&locFilterInfo);
+
+ //IMPORTANT::: Filter could be renamed by graph.
+ locFG2->AddFilter(inFilter, inFilterName.c_str());
+ //TODO::: Need to free the string
+
+ //Enumerate the pins
+ IEnumPins* locPinEnum = NULL;
+ //locHR = inFilter->QueryInterface(IID_IEnumPins, (void**)&locPinEnum);
+ locHR = inFilter->EnumPins(&locPinEnum);
+
+ if (locHR != S_OK) {
+ locFG2->Release();
+ return S_FALSE;
+ }
+
+ IPin* locFilterPin = NULL;
+ ULONG locHowManyReturned = 0;
+
+ PIN_DIRECTION locPinDir;
+ //Loop through the pins trying to connect.
+ while (locHR == S_OK) {
+ locPinEnum->Next(1, &locFilterPin, &locHowManyReturned);
+
+ if (locHR == S_OK) {
+ locFilterPin->QueryDirection(&locPinDir);
+ if (locPinDir == PINDIR_INPUT) {
+ HRESULT locConnectHR = locFG2->Connect( inPin, locFilterPin);
+
+ //Release the pin either way
+ locFilterPin->Release();
+
+ if (locConnectHR == S_OK) {
+ //We connected !!
+
+ locPinEnum->Release();
+ locFG2->Release();
+ return S_OK;
+ }
+ }
+ }
+
+ }
+
+ //We are here, so we failed to connect. Clean up and return false.
+ locPinEnum->Release();
+ locFG2->Release();
+
+ return S_FALSE;
+}
\ No newline at end of file
Property changes on: AnxCreator/libDSGraphManip/DSGraphHelper.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/DSGraphHelper.h
===================================================================
--- AnxCreator/libDSGraphManip/DSGraphHelper.h (rev 0)
+++ AnxCreator/libDSGraphManip/DSGraphHelper.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,104 @@
+#pragma once
+#include "libDSGraphManip.h"
+#include <dshow.h>
+#include <string>
+//#include "libillicore/StringHelper.h"
+#include <vector>
+#include "sAudioResampleParams.h"
+#include "sVideoResampleParams.h"
+#include "IAudioResampleSettings.h"
+#include "IVideoResampleSettings.h"
+#include "IVorbisEncodeSettings.h"
+#include "ITheoraEncodeSettings.h"
+
+#include "libilliCore/StringHelper.h"
+
+#include "libCMMLParse/libCMMLParse.h"
+#include "libCMMLParse/CMMLParser.h"
+#include "libCMMLTags/libCMMLTags.h"
+
+
+
+using namespace std;
+class LIBDSGRAPHMANIP_API DSGraphHelper
+{
+public:
+ DSGraphHelper(void);
+ ~DSGraphHelper(void);
+
+ enum eAudioEncodeCodec {
+ USE_VORBIS = 0,
+ USE_SPEEX = 1,
+ USE_FLAC = 2
+ };
+
+ enum eVideoEncodeCodec {
+ USE_THEORA = 0
+
+ };
+
+ /// If this method succeeds (S_OK) the filter graph has an outstanding ref you must release.
+ static HRESULT RenderFile ( wstring inFileName
+ , IFilterGraph** outFilterGraph
+ );
+
+
+ /// Removes the renderers from the graph returning all the pin stubs(with no refs) that were connected to
+ static HRESULT RemoveRenderers ( IFilterGraph* inGraph
+ , vector<IPin*>* outPinStubs
+ );
+
+ /// Finds all the pins connected in to a filter (Renderer) and returns a list of those pins.
+ static HRESULT AddPinStubs(IBaseFilter* inFitler, vector<IPin*>* inoutPinStubs);
+ static HRESULT AttachFilter(IFilterGraph* inGraph, IPin* inPin, IBaseFilter* inFilter, wstring inFilterName);
+
+ /// Puts a vorbis encoder in the graph and attaches it to the pin. Returns with a ref to filter or NULL.
+ static IBaseFilter* AttachVorbisEncoder(IFilterGraph* inGraph, IPin* inPin, signed char inQuality);
+
+ /// Puts a theora encoder in the graph and attaches it to the pin. Returns with a ref to filter or NULL.
+ static IBaseFilter* AttachTheoraEncoder(IFilterGraph* inGraph, IPin* inPin, unsigned short inDesiredQuality, unsigned long inDesiredBitrate);
+
+ /// Puts a resampled vorbis encoder in the graph and attaches it to the pin. Returns with a ref to filter or NULL.
+ static IBaseFilter* AttachResampledVorbisEncoder(IFilterGraph* inGraph, IPin* inPin, sAudioResampleParams inResampleParams);
+
+ /// Puts a resampled theora encoder in the graph and attaches it to the pin. Returns with a ref to filter or NULL.
+ static IBaseFilter* AttachResampledTheoraEncoder(IFilterGraph* inGraph, IPin* inPin, sVideoResampleParams inResampleParams);
+
+ /// Attaches the list of pin stubs to the appropriate encoders, returning a list of those encoders with outstanding refs.
+ static vector<IBaseFilter*> AttachPinStubs( IFilterGraph* inGraph,
+ vector<IPin*> inPinStubs,
+ eAudioEncodeCodec inAudioCodec,
+ sAudioResampleParams inAudioParams,
+ eVideoEncodeCodec inVideoCodec,
+ sVideoResampleParams inVideoParams);
+
+ static IBaseFilter* AttachEncodersToOggMux(IFilterGraph* inGraph, vector<IBaseFilter*> inEncoders, wstring inOutputFileName);
+ static IBaseFilter* AttachEncodersToAnxMux(IFilterGraph* inGraph, vector<IBaseFilter*> inEncoders, wstring inInputCMMLFile, wstring inOutputFileName);
+
+ static IFilterGraph* CreateAnnodexFromCMML(wstring inCMMLFileName, wstring inOutputAnnodexFileName);
+
+ static IFilterGraph* CreateOggFromCMML(wstring inCMMLFileName, wstring inOutputOggFileName);
+
+ /// Reads the param tags out of the import tag and returns resample params in the structs you provide.
+ static void FillResampleParamsFromTag(C_ImportTag* inImportTag, sAudioResampleParams* inoutAudioParams, sVideoResampleParams* inoutVideoParams);
+
+ /// Returns true if the given filter is a renderer.
+ static bool IsRenderer(IBaseFilter* inFilter);
+
+ /// Returns true if the given pin has a major type AUDIO.
+ static bool IsAudioPin(IPin* inPin);
+
+ /// Returns true if the given pin has a major type VIDEO.
+ static bool IsVideoPin(IPin* inPin);
+
+ /// Returns true if the given pin has a media type with the specified major type.
+ static bool HasMajorType(IPin* inPin, GUID inMajorType);
+
+ static IPin* GetPinNo(IBaseFilter* inFilter, unsigned long inPinNo);
+
+ /// Frees the given media type properly
+ static void MyDeleteMediaType(AM_MEDIA_TYPE* inMediaType);
+
+ /// Releases the graph, and in doing so the filters, assuming you don't hold outstanding refs.
+ static HRESULT ReleaseGraphAndFilters(IFilterGraph* inFilterGraph);
+};
Property changes on: AnxCreator/libDSGraphManip/DSGraphHelper.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/ReadMe.txt
===================================================================
--- AnxCreator/libDSGraphManip/ReadMe.txt (rev 0)
+++ AnxCreator/libDSGraphManip/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,32 @@
+========================================================================
+ DYNAMIC LINK LIBRARY : libDSGraphManip Project Overview
+========================================================================
+
+AppWizard has created this libDSGraphManip DLL for you.
+This file contains a summary of what you will find in each of the files that
+make up your libDSGraphManip application.
+
+
+libDSGraphManip.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+libDSGraphManip.cpp
+ This is the main DLL source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named libDSGraphManip.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/libDSGraphManip/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/libDSGraphManip.cpp
===================================================================
--- AnxCreator/libDSGraphManip/libDSGraphManip.cpp (rev 0)
+++ AnxCreator/libDSGraphManip/libDSGraphManip.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,20 @@
+// libDSGraphManip.cpp : Defines the entry point for the DLL application.
+//
+
+#include "stdafx.h"
+#include "libDSGraphManip.h"
+BOOL APIENTRY DllMain( HANDLE hModule,
+ DWORD ul_reason_for_call,
+ LPVOID lpReserved
+ )
+{
+ switch (ul_reason_for_call)
+ {
+ case DLL_PROCESS_ATTACH:
+ case DLL_THREAD_ATTACH:
+ case DLL_THREAD_DETACH:
+ case DLL_PROCESS_DETACH:
+ break;
+ }
+ return TRUE;
+}
Property changes on: AnxCreator/libDSGraphManip/libDSGraphManip.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/libDSGraphManip.h
===================================================================
--- AnxCreator/libDSGraphManip/libDSGraphManip.h (rev 0)
+++ AnxCreator/libDSGraphManip/libDSGraphManip.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,11 @@
+// The following ifdef block is the standard way of creating macros which make exporting
+// from a DLL simpler. All files within this DLL are compiled with the LIBDSGRAPHMANIP_EXPORTS
+// symbol defined on the command line. this symbol should not be defined on any project
+// that uses this DLL. This way any other project whose source files include this file see
+// LIBDSGRAPHMANIP_API functions as being imported from a DLL, whereas this DLL sees symbols
+// defined with this macro as being exported.
+#ifdef LIBDSGRAPHMANIP_EXPORTS
+#define LIBDSGRAPHMANIP_API __declspec(dllexport)
+#else
+#define LIBDSGRAPHMANIP_API __declspec(dllimport)
+#endif
Property changes on: AnxCreator/libDSGraphManip/libDSGraphManip.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/libDSGraphManip.vcproj
===================================================================
--- AnxCreator/libDSGraphManip/libDSGraphManip.vcproj (rev 0)
+++ AnxCreator/libDSGraphManip/libDSGraphManip.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="libDSGraphManip"
+ ProjectGUID="{B0BA6FC4-5FB1-4CC5-AAC7-9432859D9EEF}"
+ RootNamespace="libDSGraphManip"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""C:\Program Files\Microsoft DirectX SDK (April 2007)\Include";"C:\Program Files\Microsoft Platform SDK\Include";..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\helper;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBDSGRAPHMANIP_EXPORTS"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ CallingConvention="2"
+ DisableSpecificWarnings="4251"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/libDSGraphManip.dll"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib";"C:\Program Files\Microsoft Platform SDK\Lib""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/libDSGraphManip.pdb"
+ SubSystem="2"
+ ImportLibrary="$(OutDir)/libDSGraphManip.lib"
+ 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="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""c:\Program Files\Microsoft Platform SDK\Include";"c:\Program Files\Microsoft DirectX SDK (April 2007)\Include";..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\helper;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBDSGRAPHMANIP_EXPORTS"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ DisableSpecificWarnings="4251"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/libDSGraphManip.dll"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib";"C:\Program Files\Microsoft Platform SDK\Lib""
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ ImportLibrary="$(OutDir)/libDSGraphManip.lib"
+ 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;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\DSGraphHelper.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\libDSGraphManip.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=".\DSGraphHelper.h"
+ >
+ </File>
+ <File
+ RelativePath=".\libDSGraphManip.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"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/libDSGraphManip/libDSGraphManip.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/stdafx.cpp
===================================================================
--- AnxCreator/libDSGraphManip/stdafx.cpp (rev 0)
+++ AnxCreator/libDSGraphManip/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// libDSGraphManip.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Property changes on: AnxCreator/libDSGraphManip/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/libDSGraphManip/stdafx.h
===================================================================
--- AnxCreator/libDSGraphManip/stdafx.h (rev 0)
+++ AnxCreator/libDSGraphManip/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,13 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+// Windows Header Files:
+#include <windows.h>
+
+// TODO: reference additional headers your program requires here
Property changes on: AnxCreator/libDSGraphManip/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/AssemblyInfo.cpp
===================================================================
--- AnxCreator/license/AssemblyInfo.cpp (rev 0)
+++ AnxCreator/license/AssemblyInfo.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,58 @@
+#include "stdafx.h"
+
+using namespace System::Reflection;
+using namespace System::Runtime::CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly:AssemblyTitleAttribute("")];
+[assembly:AssemblyDescriptionAttribute("")];
+[assembly:AssemblyConfigurationAttribute("")];
+[assembly:AssemblyCompanyAttribute("")];
+[assembly:AssemblyProductAttribute("")];
+[assembly:AssemblyCopyrightAttribute("")];
+[assembly:AssemblyTrademarkAttribute("")];
+[assembly:AssemblyCultureAttribute("")];
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the value or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly:AssemblyVersionAttribute("1.0.*")];
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+// When specifying the KeyFile, the location of the KeyFile should be
+// relative to the project directory.
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly:AssemblyDelaySignAttribute(false)];
+[assembly:AssemblyKeyFileAttribute("")];
+[assembly:AssemblyKeyNameAttribute("")];
+
Property changes on: AnxCreator/license/AssemblyInfo.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/GetMac.cpp
===================================================================
--- AnxCreator/license/GetMac.cpp (rev 0)
+++ AnxCreator/license/GetMac.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,361 @@
+//********************************************************************************
+//
+// getmac.cpp : Defines the entry point for the console application.
+// this sample from: http://tangentsoft.net/wskfaq/examples/getmac-snmp.html
+//
+//********************************************************************************
+
+#include <snmp.h>
+#include "stdafx.h"
+
+//int _tmain(int argc, _TCHAR* argv[])
+//{
+// return 0;
+//}
+#include "getmac.h"
+#include <snmp.h>
+//#include <conio.h>
+#include <stdio.h>
+#include <winsock.h>
+
+/*
+char *strncpy(char *a, char *b, size_t l)
+{
+ return 0;
+}
+
+size_t strlen(const char *a)
+{
+ return 0;
+}
+
+void *memcpy(void *, const void*, size_t )
+{
+ return 0;
+}
+
+int sprintf(char *, const char*, ...)
+{
+ return 0;
+}
+*/
+
+//**********************************************************************************
+// Reproduction of SNMP.LIB and SNMPAPI.LIB base
+// functions
+//
+// Author: Stas Khirman (staskh at rocketmail.com)
+//
+//
+// Free software: no warranty; use anywhere is ok; spread the
+// sources; note any modifications; share variations and
+// derivatives (including sending to staskh at rocketmail.com).
+//
+//**********************************************************************************
+
+//**********************************************************************************
+// SnmpUtilOidCpy
+//**********************************************************************************
+SNMPAPI SNMP_FUNC_TYPE SnmpUtilOidCpy( OUT AsnObjectIdentifier *DstObjId,
+ IN AsnObjectIdentifier *SrcObjId
+ )
+{
+ DstObjId->ids = (UINT *)GlobalAlloc(GMEM_ZEROINIT,SrcObjId->idLength *
+ sizeof(UINT));
+ if(!DstObjId->ids)
+ {
+ SetLastError(1);
+ return 0;
+ }
+
+ memcpy(DstObjId->ids,SrcObjId->ids,SrcObjId->idLength*sizeof(UINT));
+ DstObjId->idLength = SrcObjId->idLength;
+
+ return 1;
+}
+
+
+//**********************************************************************************
+// SnmpUtilOidFree
+//**********************************************************************************
+VOID SNMP_FUNC_TYPE SnmpUtilOidFree( IN OUT AsnObjectIdentifier *ObjId )
+{
+ GlobalFree(ObjId->ids);
+ ObjId->ids = 0;
+ ObjId->idLength = 0;
+}
+
+//**********************************************************************************
+// SnmpUtilOidNCmp
+//**********************************************************************************
+SNMPAPI SNMP_FUNC_TYPE SnmpUtilOidNCmp( IN AsnObjectIdentifier *ObjIdA,
+ IN AsnObjectIdentifier *ObjIdB,
+ IN UINT Len
+ )
+{
+ UINT CmpLen;
+ UINT i;
+ int res;
+
+ CmpLen = Len;
+ if(ObjIdA->idLength < CmpLen)
+ CmpLen = ObjIdA->idLength;
+ if(ObjIdB->idLength < CmpLen)
+ CmpLen = ObjIdB->idLength;
+
+ for(i=0;i<CmpLen;i++){
+ res = ObjIdA->ids[i] - ObjIdB->ids[i];
+ if(res!=0)
+ return res;
+ }
+ return 0;
+}
+
+//**********************************************************************************
+// SnmpUtilVarBindFree
+//**********************************************************************************
+VOID SNMP_FUNC_TYPE SnmpUtilVarBindFree( IN OUT RFC1157VarBind *VarBind )
+{
+ BYTE asnType;
+ // free object name
+ SnmpUtilOidFree(&VarBind->name);
+
+ asnType = VarBind->value.asnType;
+
+ if(asnType==ASN_OBJECTIDENTIFIER){
+ SnmpUtilOidFree(&VarBind->value.asnValue.object);
+ }
+ else if(
+ (asnType==ASN_OCTETSTRING) ||
+ (asnType==ASN_RFC1155_IPADDRESS) ||
+ (asnType==ASN_RFC1155_OPAQUE) ||
+ (asnType==ASN_SEQUENCE)){
+ if(VarBind->value.asnValue.string.dynamic){
+ GlobalFree(VarBind->value.asnValue.string.stream);
+ }
+ }
+
+ VarBind->value.asnType = ASN_NULL;
+}
+
+
+//**********************************************************************************
+// typedefs
+//**********************************************************************************
+typedef BOOL(WINAPI * pSnmpExtensionInit) (
+ IN DWORD dwTimeZeroReference,
+ OUT HANDLE * hPollForTrapEvent,
+ OUT AsnObjectIdentifier * supportedView);
+
+typedef BOOL(WINAPI * pSnmpExtensionTrap) (
+ OUT AsnObjectIdentifier * enterprise,
+ OUT AsnInteger * genericTrap,
+ OUT AsnInteger * specificTrap,
+ OUT AsnTimeticks * timeStamp,
+ OUT RFC1157VarBindList * variableBindings);
+
+typedef BOOL(WINAPI * pSnmpExtensionQuery) (
+ IN BYTE requestType,
+ IN OUT RFC1157VarBindList * variableBindings,
+ OUT AsnInteger * errorStatus,
+ OUT AsnInteger * errorIndex);
+
+typedef BOOL(WINAPI * pSnmpExtensionInitEx) (
+ OUT AsnObjectIdentifier * supportedView);
+
+
+
+
+//**********************************************************************************
+// getmac
+//**********************************************************************************
+void getmac(char * strbuf, int len)
+{
+#ifdef HHH
+ WSADATA WinsockData;
+ if (WSAStartup(MAKEWORD(2, 0), &WinsockData) != 0) {
+ fprintf(stderr, "This program requires Winsock 2.x!\n");
+ return;
+ }
+#endif
+
+ int pos = 0;
+
+ HINSTANCE m_hInst;
+ pSnmpExtensionInit m_Init;
+ pSnmpExtensionInitEx m_InitEx;
+ pSnmpExtensionQuery m_Query;
+ pSnmpExtensionTrap m_Trap;
+ HANDLE PollForTrapEvent;
+ AsnObjectIdentifier SupportedView;
+ UINT OID_ifEntryType[] = {
+ 1, 3, 6, 1, 2, 1, 2, 2, 1, 3
+ };
+ UINT OID_ifEntryNum[] = {
+ 1, 3, 6, 1, 2, 1, 2, 1
+ };
+ UINT OID_ipMACEntAddr[] = {
+ 1, 3, 6, 1, 2, 1, 2, 2, 1, 6
+ }; //, 1 ,6 };
+ AsnObjectIdentifier MIB_ifMACEntAddr =
+ { sizeof(OID_ipMACEntAddr) / sizeof(UINT), OID_ipMACEntAddr };
+ AsnObjectIdentifier MIB_ifEntryType = {
+ sizeof(OID_ifEntryType) / sizeof(UINT), OID_ifEntryType
+ };
+ AsnObjectIdentifier MIB_ifEntryNum = {
+ sizeof(OID_ifEntryNum) / sizeof(UINT), OID_ifEntryNum
+ };
+ RFC1157VarBindList varBindList;
+ RFC1157VarBind varBind[2];
+ AsnInteger errorStatus;
+ AsnInteger errorIndex;
+ AsnObjectIdentifier MIB_NULL = {
+ 0, 0
+ };
+ int ret;
+ int dtmp;
+ int j = 0;
+ char TempEthernet[13];
+ m_Init = NULL;
+ m_InitEx = NULL;
+ m_Query = NULL;
+ m_Trap = NULL;
+
+ // Load the SNMP dll and get the addresses of the functions necessary
+ m_hInst = LoadLibrary("inetmib1.dll");
+ if (m_hInst < (HINSTANCE) HINSTANCE_ERROR)
+ {
+ m_hInst = NULL;
+ return;
+ }
+ m_Init =
+ (pSnmpExtensionInit) GetProcAddress(m_hInst, "SnmpExtensionInit");
+ m_InitEx =
+ (pSnmpExtensionInitEx) GetProcAddress(m_hInst,
+ "SnmpExtensionInitEx");
+ m_Query =
+ (pSnmpExtensionQuery) GetProcAddress(m_hInst,
+ "SnmpExtensionQuery");
+ m_Trap =
+ (pSnmpExtensionTrap) GetProcAddress(m_hInst, "SnmpExtensionTrap");
+ m_Init(GetTickCount(), &PollForTrapEvent, &SupportedView);
+
+ /* Initialize the variable list to be retrieved by m_Query */
+ varBindList.list = varBind;
+ varBind[0].name = MIB_NULL;
+ varBind[1].name = MIB_NULL;
+
+ /* Copy in the OID to find the number of entries in the
+ Inteface table */
+ varBindList.len = 1; /* Only retrieving one item */
+ SNMP_oidcpy(&varBind[0].name, &MIB_ifEntryNum);
+ ret =
+ m_Query(ASN_RFC1157_GETNEXTREQUEST, &varBindList, &errorStatus,
+ &errorIndex);
+/* printf("# of adapters in this system : %i\n",
+ varBind[0].value.asnValue.number); */
+ varBindList.len = 2;
+
+ /* Copy in the OID of ifType, the type of interface */
+ SNMP_oidcpy(&varBind[0].name, &MIB_ifEntryType);
+
+ /* Copy in the OID of ifPhysAddress, the address */
+ SNMP_oidcpy(&varBind[1].name, &MIB_ifMACEntAddr);
+
+ do
+ {
+ /* Submit the query. Responses will be loaded into varBindList.
+ We can expect this call to succeed a # of times corresponding
+ to the # of adapters reported to be in the system */
+ ret =
+ m_Query(ASN_RFC1157_GETNEXTREQUEST, &varBindList, &errorStatus,
+ &errorIndex);
+ if (!ret)
+ ret = 1;
+ else
+ { //kb
+ /* Confirm that the proper type has been returned */
+ ret =
+ SNMP_oidncmp(&varBind[0].name, &MIB_ifEntryType,
+ MIB_ifEntryType.idLength);
+ if (!ret)
+ {
+ j++;
+ dtmp = varBind[0].value.asnValue.number;
+// printf("Interface #%i type : %i\n", j, dtmp);
+
+ /* Type 6 describes ethernet interfaces */
+ if (dtmp == 6)
+ {
+ /* Confirm that we have an address here */
+ ret =
+ SNMP_oidncmp(&varBind[1].name, &MIB_ifMACEntAddr,
+ MIB_ifMACEntAddr.idLength);
+ if ((!ret)
+ && (varBind[1].value.asnValue.address.stream != NULL))
+ {
+ if (
+ (varBind[1].value.asnValue.address.stream[0] ==
+ 0x44)
+ && (varBind[1].value.asnValue.address.stream[1] ==
+ 0x45)
+ && (varBind[1].value.asnValue.address.stream[2] ==
+ 0x53)
+ && (varBind[1].value.asnValue.address.stream[3] ==
+ 0x54)
+ && (varBind[1].value.asnValue.address.stream[4] ==
+ 0x00))
+ {
+
+ /* Ignore all dial-up networking adapters */
+ // printf("Interface #%i is a DUN adapter\n", j);
+ continue;
+ }
+ if (
+ (varBind[1].value.asnValue.address.stream[0] ==
+ 0x00)
+ && (varBind[1].value.asnValue.address.stream[1] ==
+ 0x00)
+ && (varBind[1].value.asnValue.address.stream[2] ==
+ 0x00)
+ && (varBind[1].value.asnValue.address.stream[3] ==
+ 0x00)
+ && (varBind[1].value.asnValue.address.stream[4] ==
+ 0x00)
+ && (varBind[1].value.asnValue.address.stream[5] ==
+ 0x00))
+ {
+
+ /* Ignore NULL addresses returned by other network
+ interfaces */
+ // printf("Interface #%i is a NULL address\n", j);
+ continue;
+ }
+ sprintf(TempEthernet, "%02x%02x%02x%02x%02x%02x",
+ varBind[1].value.asnValue.address.stream[0],
+ varBind[1].value.asnValue.address.stream[1],
+ varBind[1].value.asnValue.address.stream[2],
+ varBind[1].value.asnValue.address.stream[3],
+ varBind[1].value.asnValue.address.stream[4],
+ varBind[1].value.asnValue.address.stream[5]);
+ //printf("MAC Address of interface #%i: %s\n", j, TempEthernet);
+ //printf("%s ", TempEthernet);
+ strncpy(&strbuf[pos], TempEthernet, len-pos);
+ pos = pos + strlen(TempEthernet);
+ if(pos >= len)
+ pos = len;
+ }
+ }
+ }
+ }//kb
+ } while (!ret); /* Stop only on an error. An error will occur
+ when we go exhaust the list of interfaces to
+ be examined */
+// getch();
+
+ /* Free the bindings */
+ SNMP_FreeVarBind(&varBind[0]);
+ SNMP_FreeVarBind(&varBind[1]);
+
+ return;
+}
Property changes on: AnxCreator/license/GetMac.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/ReadMe.txt
===================================================================
--- AnxCreator/license/ReadMe.txt (rev 0)
+++ AnxCreator/license/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,28 @@
+========================================================================
+ APPLICATION : license Project Overview
+========================================================================
+
+AppWizard has created this license Application for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your license application.
+
+license.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+licenseControl.cpp
+ This is the main application source file.
+
+AssemblyInfo.cpp
+ Contains custom attributes for modifying assembly metadata.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/license/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/app.aps
===================================================================
(Binary files differ)
Property changes on: AnxCreator/license/app.aps
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/license/app.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/license/app.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/license/app.rc
===================================================================
--- AnxCreator/license/app.rc (rev 0)
+++ AnxCreator/license/app.rc 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,52 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon placed first or with lowest ID value becomes application icon
+
+LANGUAGE 9, 1
+#pragma code_page(1252)
+1 ICON "app.ico"
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
Property changes on: AnxCreator/license/app.rc
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/des.cpp
===================================================================
--- AnxCreator/license/des.cpp (rev 0)
+++ AnxCreator/license/des.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,247 @@
+
+
+/*
+ * Copyright 1999, Alexander Feldman <alex at varna.net>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Alexander Feldman nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ALEXANDER FELDMAN AND CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL ALEXANDER FELDMAN OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+
+#include "des.h"
+//#include "dessboxes.inc"
+
+Word wMask[] = { 1, 1, 3, 3, 3, 3, 3, 3,
+ 1, 3, 3, 3, 3, 3, 3, 1 };
+
+Byte bShift[] = { 1, 1, 2, 2, 2, 2, 2, 2,
+ 1, 2, 2, 2, 2, 2, 2, 1 };
+
+// Table for key permutation
+Byte bPC1[] = { 56, 48, 40, 32, 24, 16, 8,
+ 0, 57, 49, 41, 33, 25, 17,
+ 9, 1, 58, 50, 42, 34, 26,
+ 18, 10, 2, 59, 51, 43, 35,
+ 62, 54, 46, 38, 30, 22, 14,
+ 6, 61, 53, 45, 37, 29, 21,
+ 13, 5, 60, 52, 44, 36, 28,
+ 20, 12, 4, 27, 19, 11, 3 };
+
+// Table for compression permutation
+Byte bPC2[] = { 13, 16, 10, 23, 0, 4,
+ 2, 27, 14, 5, 20, 9,
+ 22, 18, 11, 3, 25, 7,
+ 15, 6, 26, 19, 12, 1,
+ 40, 51, 30, 36, 46, 54,
+ 29, 39, 50, 44, 32, 47,
+ 43, 48, 38, 55, 33, 52,
+ 45, 41, 49, 35, 28, 31 };
+
+// Table for initial permutation IP
+Byte bIP1[] = { 57, 49, 41, 33, 25, 17, 9, 1,
+ 59, 51, 43, 35, 27, 19, 11, 3,
+ 61, 53, 45, 37, 29, 21, 13, 5,
+ 63, 55, 47, 39, 31, 23, 15, 7,
+ 56, 48, 40, 32, 24, 16, 8, 0,
+ 58, 50, 42, 34, 26, 18, 10, 2,
+ 60, 52, 44, 36, 28, 20, 12, 4,
+ 62, 54, 46, 38, 30, 22, 14, 6 };
+
+// -1
+// Table for final permutation IP
+Byte bIP2[] = { 39, 7, 47, 15, 55, 23, 63, 31,
+ 38, 6, 46, 14, 54, 22, 62, 30,
+ 37, 5, 45, 13, 53, 21, 61, 29,
+ 36, 4, 44, 12, 52, 20, 60, 28,
+ 35, 3, 43, 11, 51, 19, 59, 27,
+ 34, 2, 42, 10, 50, 18, 58, 26,
+ 33, 1, 41, 9, 49, 17, 57, 25,
+ 32, 0, 40, 8, 48, 16, 56, 24 };
+
+// Table for expansion permutation
+Byte bE[] = { 31, 0, 1, 2, 3, 4,
+ 3, 4, 5, 6, 7, 8,
+ 7, 8, 9, 10, 11, 12,
+ 11, 12, 13, 14, 15, 16,
+ 15, 16, 17, 18, 19, 20,
+ 19, 20, 21, 22, 23, 24,
+ 23, 24, 25, 26, 27, 28,
+ 27, 28, 29, 30, 31, 0 };
+
+// Table for P-Box permutation
+Byte bP[] = { 15, 6, 19, 20, 28, 11, 27, 16,
+ 0, 14, 22, 25, 4, 17, 30, 9,
+ 1, 7, 23, 13, 31, 26, 2, 8,
+ 18, 12, 29, 5, 21, 10, 3, 24 };
+
+CDESKey::CDESKey()
+{
+}
+
+CDESKey::CDESKey(const CDESKey &cDESKey)
+{
+ dwMaster = cDESKey.dwMaster;
+ MakeKeys();
+}
+
+CDESKey::CDESKey(const Byte *pbMaster, Word wKeySize)
+{
+ Dword dwDESKey = DWORDCONST(0);
+ memcpy(&dwDESKey, pbMaster, wKeySize);
+ dwDESKey = REVERSEDWORD(dwDESKey);
+ MIRROR(dwDESKey, 64, dwMaster);
+ MakeKeys();
+ dwDESKey = 0;
+}
+
+CDESKey::CDESKey(Dword dwDESKey)
+{
+ MIRROR(dwDESKey, 64, dwMaster);
+ MakeKeys();
+ dwDESKey = 0; // Cleanup
+}
+
+CDESKey::~CDESKey()
+{
+ for (int i = 0; i < 16; i++) // Cleanup
+ dwKey[i] = 0;
+ dwMaster = 0;
+}
+
+void CDESKey::MakeKeys()
+{
+ Dword c = 0;
+ Dword d = 0;
+ for (int k = 0; k < 28; k++) {
+ PUTBIT(c, k, GETBIT(dwMaster, bPC1[k]));
+ PUTBIT(d, k, GETBIT(dwMaster, bPC1[k + 28]));
+ }
+ for (int q = 0; q < 16; q++) {
+ c = (c >> bShift[q]) | ((c & wMask[q]) << (28 - bShift[q]));
+ d = (d >> bShift[q]) | ((d & wMask[q]) << (28 - bShift[q]));
+ Dword t = ((Dword)d << 28) | c;
+ STIRBITS(t, 48, bPC2, dwKey[q]);
+ }
+ c = d = 0; // Cleanup
+}
+
+CDESBlock::CDESBlock()
+{
+ dwData = 0; // This is here for definiteness
+}
+
+CDESBlock::CDESBlock(const CDESBlock &cDESBlock)
+{
+ dwData = cDESBlock.dwData;
+}
+
+CDESBlock::CDESBlock(Dword dwValue)
+{
+ MIRROR(dwValue, 64, dwData);
+}
+
+CDESBlock::CDESBlock(const Byte *pbData, Word wLength)
+{
+ SetData(pbData, wLength);
+}
+
+CDESBlock::~CDESBlock()
+{
+ dwData = 0; // Cleanup
+}
+
+void CDESBlock::Encrypt(const CDESKey &cDESKey)
+{
+ Crypt(cDESKey, false);
+}
+
+void CDESBlock::Decrypt(const CDESKey &cDESKey)
+{
+ Crypt(cDESKey, true);
+}
+
+// fgDirection: true = decrypt
+// false = encrypt
+void CDESBlock::Crypt(const CDESKey &cDESKey, bool fgDirection)
+{
+ Dword a;
+ Dword b;
+
+ STIRBITS(dwData, 64, bIP1, a);
+ Word r = HiWORD(a);
+ Word l = LoWORD(a);
+ Word s;
+ for (int i = 0; i < 16; i++) {
+ STIRBITS(r, 48, bE, a);
+ if (fgDirection)
+ b = a ^ cDESKey.GetKey(15 - i);
+ else
+ b = a ^ cDESKey.GetKey(i);
+ a = 0;
+ for (int j = 0; j < 8; j++) {
+ a <<= 4;
+ a |= bS[j][(b >> ((7 - j) * 6)) & 0x3f];
+ }
+ STIRBITS(a, 32, bP, b);
+
+ s = r;
+ r = l ^ LoWORD(b);
+ l = s;
+ }
+ a = ((Dword)l << 32) | r;
+ STIRBITS(a, 64, bIP2, dwData);
+ a = b = l = r = 0; // Cleanup
+}
+
+void CDESBlock::SetValue(Dword dwValue)
+{
+ MIRROR(dwValue, 64, dwData);
+}
+
+Dword CDESBlock::GetValue()
+{
+ MIRROR(dwData, 64, dwResult);
+ return dwResult; // It is normal to invoke this method
+ // only for encrypted data, so we do
+ // not need to clean the buffer variable.
+}
+
+void CDESBlock::SetData(const Byte *pbData, Word/* wLength*/)
+{
+ Dword dwValue = 0;
+ memcpy(&dwValue, pbData, BLOCKSIZE);
+ dwValue = REVERSEDWORD(dwValue);
+ MIRROR(dwValue, 64, dwData);
+ dwValue = 0; // Cleanup
+}
+
+Byte *CDESBlock::GetData()
+{
+ MIRROR(dwData, 64, dwResult);
+ dwResult = REVERSEDWORD(dwResult);
+ return (Byte *)&dwResult;
+}
+
Property changes on: AnxCreator/license/des.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/des.h
===================================================================
--- AnxCreator/license/des.h (rev 0)
+++ AnxCreator/license/des.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,220 @@
+
+
+/*
+ * Copyright 1999, Alexander Feldman <alex at varna.net>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Alexander Feldman nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ALEXANDER FELDMAN AND CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL ALEXANDER FELDMAN OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef __DES_H__
+#define __DES_H__
+
+#include <string.h>
+
+
+
+
+/*
+ * Copyright 1999, Alexander Feldman <alex at varna.net>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of Alexander Feldman nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY ALEXANDER FELDMAN AND CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL ALEXANDER FELDMAN OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef __CRYPTO_HPP__
+#define __CRYPTO_HPP__
+
+#ifdef WIN32
+#define DWORDCONST(x) (x##i64)
+#define WORDCONST(x) (x##L)
+#else
+#define DWORDCONST(x) (x##LL)
+#define WORDCONST(x) (x##L)
+#endif
+
+#define BASE DWORDCONST(0x100000000)
+#define ONE DWORDCONST(0x1)
+#define MaxWORD WORDCONST(0xFFFFFFFF)
+
+#ifdef WIN32
+ typedef unsigned __int32 Word;
+ typedef unsigned __int64 Dword;
+#else
+ typedef unsigned int Word;
+ typedef unsigned long long Dword;
+#endif
+
+typedef unsigned char Byte;
+typedef unsigned short Short;
+
+#define CHARSINWORD 8
+#define BITSINWORD 32
+#define BITSINSHORT 16
+#define BITSINBYTE 8
+#define BYTESINWORD (BITSINWORD / BITSINBYTE)
+#define BYTESINSHORT (BITSINSHORT / BITSINBYTE)
+
+// Operations for all types
+#define Max(a, b) ((a) > (b) ? (a) : (b))
+#define Min(a, b) ((a) < (b) ? (a) : (b))
+
+// Operations with DWORDs
+#define HiWORD(a) ((Word)((a) >> BITSINWORD))
+#define LoWORD(a) ((Word)(a))
+#define DWSHORT0(a) ((Short)((a) >> 48))
+#define DWSHORT1(a) ((Short)((a) >> 32))
+#define DWSHORT2(a) ((Short)((a) >> 16))
+#define DWSHORT3(a) ((Short)(a))
+#define DWBYTE0(a) ((Byte)((a) >> 56))
+#define DWBYTE1(a) ((Byte)((a) >> 48))
+#define DWBYTE2(a) ((Byte)((a) >> 40))
+#define DWBYTE3(a) ((Byte)((a) >> 32))
+#define DWBYTE4(a) ((Byte)((a) >> 24))
+#define DWBYTE5(a) ((Byte)((a) >> 16))
+#define DWBYTE6(a) ((Byte)((a) >> 8))
+#define DWBYTE7(a) ((Byte)(a))
+#define MAKEDWORD(a, b, c, d) (((Dword)(a) << 48) | ((Dword)(b) << 32) | ((Dword)(c) << 16) | (Dword)(d))
+#define MAKEDWORDB(a, b, c, d, e, f, g, h) \
+ (((Dword)(a) << 56) | ((Dword)(b) << 48) | ((Dword)(c) << 40) | ((Dword)(d) << 32) | \
+ ((Dword)(e) << 24) | ((Dword)(f) << 16) | ((Dword)(g) << 8) | (Dword)(h))
+#define REVERSEDWORD(a) (((Dword)REVERSEWORD(LoWORD(a)) << BITSINWORD) | (REVERSEWORD(HiWORD(a))))
+
+// Operations with WORDs
+// The oldest byte is 0 (leftmost)
+// The youngest byte is 3 (rightmost)
+#define HISHORT(a) ((Short)((a) >> BITSINSHORT))
+#define LOSHORT(a) ((Short)(a))
+#define WBYTE0(a) ((Byte)((a) >> 24))
+#define WBYTE1(a) ((Byte)((a) >> 16))
+#define WBYTE2(a) ((Byte)((a) >> 8))
+#define WBYTE3(a) ((Byte)(a))
+#define MakeWord(a, b, c, d) (((Word)(a) << 24) | ((Word)(b) << 16) | ((Word)(c) << 8) | (Word)(d))
+#define MAKEWORDS(a, b) (((Word)(a) << 16) | (Word)(b))
+#define REVERSEWORD(a) (((a) << 24) | ((a) >> 24) | (((a) & 0x0FF00) << 8) | (((a) & 0x0FF0000) >> 8))
+
+// Operations with SHORTs
+#define SBYTE0(a) ((Byte)((a) >> 8))
+#define SBYTE1(a) ((Byte)(a))
+#define MAKESHORT(a, b) (((Short)(a) << 8) | (Short)(b))
+
+// Bit operations with DWORDs
+// Bit 0 is the least significant bit
+// Bit 63 is the most significant bit
+#define GETBIT(a, b) (((a) >> (b)) & ONE)
+#define SETBIT(a, b) ((a) = (a) | (ONE << (b)))
+#define CLRBIT(a, b) ((a) = (a) & (~(ONE << (b))))
+#define PUTBIT(a, b, c) (((c) == 1) ? SETBIT((a), (b)) : CLRBIT((a), (b)))
+#define STIRBITS(a, b, c, d) { d = 0; for (int ii = 0; ii < (b); ii++) PUTBIT((d), ii, GETBIT((a), (c)[ii])); }
+#define MIRROR(a, b, c) { c = 0; for (int ii = 0; ii < (b); ii++) { c <<= 1; c |= (a >> ii) & 1; } }
+
+// Bit operations with BYTEs
+#define ROT2(a) (((a) << 2) | (((a) >> 6) & 3))
+
+#endif // __CRYPTO_HPP__
+
+
+
+//#include "crypto.hpp"
+
+class CDESKey
+{
+ public:
+ enum { KEYSIZE = 8 };
+
+ public:
+ CDESKey();
+ CDESKey(const CDESKey &);
+ CDESKey(const Byte *, Word = KEYSIZE);
+ CDESKey(Dword);
+ virtual ~CDESKey();
+
+ public:
+ Dword GetMaster() const { return dwMaster; };
+ Dword GetKey(Word i) const { return dwKey[i]; };
+
+ public:
+ Word GetKeySize() { return KEYSIZE; };
+
+ private:
+ void MakeKeys();
+
+ private:
+ Dword dwMaster;
+ Dword dwKey[16];
+};
+
+class CDESBlock
+{
+ public:
+ enum { BLOCKSIZE = 8 };
+
+ public:
+ CDESBlock();
+ CDESBlock(const CDESBlock &);
+ CDESBlock(Dword);
+ CDESBlock(const Byte *, Word wLength = BLOCKSIZE);
+ virtual ~CDESBlock();
+
+ public:
+ void Encrypt(const CDESKey &);
+ void Decrypt(const CDESKey &);
+ void SetData(const Byte *, Word = BLOCKSIZE);
+ Byte *GetData();
+ Word GetBlockSize() { return BLOCKSIZE; };
+ void SetValue(Dword);
+ Dword GetValue();
+
+ protected:
+ void Crypt(const CDESKey &, bool);
+
+ private:
+ Dword dwData, dwResult;
+};
+
+#endif // __DES_HPP__
+
Property changes on: AnxCreator/license/des.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/getmac.h
===================================================================
--- AnxCreator/license/getmac.h (rev 0)
+++ AnxCreator/license/getmac.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,16 @@
+//***************************************************************************
+// Copyright (C) CSIRO Telecommunications and Industrial Physics.
+// All rights reserved.
+//***************************************************************************
+// @file getmac.h
+// extract macs from local machine.
+//
+// $Id: getmac.h,v 1.1.1.1 2004/05/13 02:04:14 hog095 Exp $
+
+#ifndef GETMAC_H
+#define GETMAC_H
+
+// extracts all macs from local machine
+void getmac(char * buf, int buflen);
+
+#endif
\ No newline at end of file
Property changes on: AnxCreator/license/getmac.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/license.vcproj
===================================================================
--- AnxCreator/license/license.vcproj (rev 0)
+++ AnxCreator/license/license.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="license"
+ ProjectGUID="{8560A9C1-B159-4933-9E02-451CD70CA191}"
+ RootNamespace="license"
+ Keyword="ManagedCProj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="2"
+ ManagedExtensions="TRUE">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zl"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG"
+ MinimalRebuild="FALSE"
+ BasicRuntimeChecks="0"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ BrowseInformation="1"
+ WarningLevel="3"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/noentry"
+ AdditionalDependencies="nochkclr.obj mscoree.lib MSVCRT.LIB"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ LinkIncremental="2"
+ GenerateDebugInformation="TRUE"
+ AssemblyDebug="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="2"
+ ManagedExtensions="TRUE">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalOptions="/Zl"
+ Optimization="2"
+ PreprocessorDefinitions="WIN32;NDEBUG"
+ MinimalRebuild="FALSE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ BrowseInformation="1"
+ WarningLevel="3"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/noentry"
+ AdditionalDependencies="nochkclr.obj mscoree.lib MSVCRT.LIB"
+ OutputFile="$(OutDir)\$(ProjectName).dll"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <AssemblyReference
+ RelativePath="mscorlib.dll"/>
+ <AssemblyReference
+ RelativePath="System.dll"/>
+ <AssemblyReference
+ RelativePath="System.Data.dll"/>
+ <AssemblyReference
+ RelativePath="System.Drawing.dll"/>
+ <AssemblyReference
+ RelativePath="System.Windows.Forms.dll"/>
+ <AssemblyReference
+ RelativePath="System.XML.dll"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\AssemblyInfo.cpp">
+ </File>
+ <File
+ RelativePath=".\GetMac.cpp">
+ </File>
+ <File
+ RelativePath=".\licenseDialog.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=".\getmac.h">
+ </File>
+ <File
+ RelativePath=".\licenseDialog.h"
+ FileType="3">
+ <File
+ RelativePath=".\licenseDialog.resX">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ ResourceFileName="$(IntDir)/license.licenseDialog.resources"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ ResourceFileName="$(IntDir)/license.licenseDialog.resources"/>
+ </FileConfiguration>
+ </File>
+ </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"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ <File
+ RelativePath=".\app.ico">
+ </File>
+ <File
+ RelativePath=".\app.rc">
+ </File>
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt">
+ </File>
+ </Files>
+ <Globals>
+ <Global
+ Name="RESOURCE_FILE"
+ Value="app.rc"/>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/license/license.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/licenseControl.cpp
===================================================================
--- AnxCreator/license/licenseControl.cpp (rev 0)
+++ AnxCreator/license/licenseControl.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,3 @@
+#include "stdafx.h"
+#include "licenseControl.h"
+
Property changes on: AnxCreator/license/licenseControl.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/licenseControl.h
===================================================================
--- AnxCreator/license/licenseControl.h (rev 0)
+++ AnxCreator/license/licenseControl.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,184 @@
+#pragma once
+
+using namespace System;
+using namespace System::ComponentModel;
+using namespace System::Collections;
+using namespace System::Windows::Forms;
+using namespace System::Data;
+using namespace System::Drawing;
+
+
+namespace license
+{
+ /// <summary>
+ /// Summary for licenseControl
+ /// </summary>
+ ///
+ /// WARNING: If you change the name of this class, you will need to change the
+ /// 'Resource File Name' property for the managed resource compiler tool
+ /// associated with all .resx files this class depends on. Otherwise,
+ /// the designers will not be able to interact properly with localized
+ /// resources associated with this form.
+ public __gc class licenseControl : public System::Windows::Forms::UserControl
+ {
+ public:
+ licenseControl(void)
+ {
+ InitializeComponent();
+ }
+
+ protected:
+ void Dispose(Boolean disposing)
+ {
+ if (disposing && components)
+ {
+ components->Dispose();
+ }
+ __super::Dispose(disposing);
+ }
+
+ private: System::Windows::Forms::TextBox * textBox1;
+ private: System::Windows::Forms::TextBox * textBox2;
+ private: System::Windows::Forms::Label * label1;
+ private: System::Windows::Forms::Label * label2;
+ private: System::Windows::Forms::Label * label3;
+
+
+ private: System::Windows::Forms::Button * button3;
+ private: System::Windows::Forms::Button * OK;
+ private: System::Windows::Forms::Button * button2;
+ private: System::Windows::Forms::GroupBox * groupBox1;
+
+
+ private:
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ System::ComponentModel::Container* components;
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ void InitializeComponent(void)
+ {
+ this->textBox1 = new System::Windows::Forms::TextBox();
+ this->textBox2 = new System::Windows::Forms::TextBox();
+ this->label1 = new System::Windows::Forms::Label();
+ this->label2 = new System::Windows::Forms::Label();
+ this->label3 = new System::Windows::Forms::Label();
+ this->button3 = new System::Windows::Forms::Button();
+ this->OK = new System::Windows::Forms::Button();
+ this->button2 = new System::Windows::Forms::Button();
+ this->groupBox1 = new System::Windows::Forms::GroupBox();
+ this->groupBox1->SuspendLayout();
+ this->SuspendLayout();
+ //
+ // textBox1
+ //
+ this->textBox1->Location = System::Drawing::Point(16, 8);
+ this->textBox1->Name = S"textBox1";
+ this->textBox1->ReadOnly = true;
+ this->textBox1->Size = System::Drawing::Size(328, 20);
+ this->textBox1->TabIndex = 1;
+ this->textBox1->Text = S"";
+ this->textBox1->TextChanged += new System::EventHandler(this, textBox1_TextChanged);
+ //
+ // textBox2
+ //
+ this->textBox2->Location = System::Drawing::Point(24, 120);
+ this->textBox2->Name = S"textBox2";
+ this->textBox2->Size = System::Drawing::Size(304, 20);
+ this->textBox2->TabIndex = 3;
+ this->textBox2->Text = S"";
+ //
+ // label1
+ //
+ this->label1->Location = System::Drawing::Point(24, 96);
+ this->label1->Name = S"label1";
+ this->label1->Size = System::Drawing::Size(100, 16);
+ this->label1->TabIndex = 4;
+ this->label1->Text = S"Enter License Key";
+ //
+ // label2
+ //
+ this->label2->Location = System::Drawing::Point(16, 40);
+ this->label2->Name = S"label2";
+ this->label2->Size = System::Drawing::Size(88, 23);
+ this->label2->TabIndex = 5;
+ this->label2->Text = S"Current License:";
+ //
+ // label3
+ //
+ this->label3->Location = System::Drawing::Point(112, 40);
+ this->label3->Name = S"label3";
+ this->label3->Size = System::Drawing::Size(224, 24);
+ this->label3->TabIndex = 6;
+ this->label3->Text = S"None";
+ //
+ // button3
+ //
+ this->button3->Location = System::Drawing::Point(16, 200);
+ this->button3->Name = S"button3";
+ this->button3->Size = System::Drawing::Size(152, 24);
+ this->button3->TabIndex = 8;
+ this->button3->Text = S"Get License Key Online";
+ //
+ // OK
+ //
+ this->OK->Location = System::Drawing::Point(264, 200);
+ this->OK->Name = S"OK";
+ this->OK->TabIndex = 9;
+ this->OK->Text = S"OK";
+ this->OK->Click += new System::EventHandler(this, OK_Click);
+ //
+ // button2
+ //
+ this->button2->Location = System::Drawing::Point(96, 80);
+ this->button2->Name = S"button2";
+ this->button2->Size = System::Drawing::Size(136, 24);
+ this->button2->TabIndex = 0;
+ this->button2->Text = S"Update License";
+ //
+ // groupBox1
+ //
+ this->groupBox1->Controls->Add(this->button2);
+ this->groupBox1->Location = System::Drawing::Point(16, 72);
+ this->groupBox1->Name = S"groupBox1";
+ this->groupBox1->Size = System::Drawing::Size(328, 112);
+ this->groupBox1->TabIndex = 7;
+ this->groupBox1->TabStop = false;
+ this->groupBox1->Text = S"Update License";
+ //
+ // licenseControl
+ //
+ this->Controls->Add(this->OK);
+ this->Controls->Add(this->button3);
+ this->Controls->Add(this->label3);
+ this->Controls->Add(this->label2);
+ this->Controls->Add(this->label1);
+ this->Controls->Add(this->textBox2);
+ this->Controls->Add(this->textBox1);
+ this->Controls->Add(this->groupBox1);
+ this->Name = S"licenseControl";
+ this->Size = System::Drawing::Size(360, 240);
+ this->groupBox1->ResumeLayout(false);
+ this->ResumeLayout(false);
+
+ }
+ private: System::Void textBox1_TextChanged(System::Object * sender, System::EventArgs * e)
+ {
+ }
+
+ private: System::Void label1_Click(System::Object * sender, System::EventArgs * e)
+ {
+ }
+
+ private: System::Void OK_Click(System::Object * sender, System::EventArgs * e)
+ {
+ }
+
+};
+}
+
+
Property changes on: AnxCreator/license/licenseControl.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/licenseControl.resX
===================================================================
--- AnxCreator/license/licenseControl.resX (rev 0)
+++ AnxCreator/license/licenseControl.resX 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="textBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="textBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="textBox2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="textBox2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="button3.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="button3.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="OK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="OK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="button2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="button2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="groupBox1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/license/licenseControl.resX
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/licenseDialog.cpp
===================================================================
--- AnxCreator/license/licenseDialog.cpp (rev 0)
+++ AnxCreator/license/licenseDialog.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,3 @@
+#include "StdAfx.h"
+#include "licenseDialog.h"
+
Property changes on: AnxCreator/license/licenseDialog.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/licenseDialog.h
===================================================================
--- AnxCreator/license/licenseDialog.h (rev 0)
+++ AnxCreator/license/licenseDialog.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,637 @@
+#pragma once
+
+using namespace System;
+using namespace System::ComponentModel;
+using namespace System::Collections;
+using namespace System::Windows::Forms;
+
+using namespace System::Data;
+using namespace System::Drawing;
+
+//#using <mscorlib.dll>
+//#using <System.dll>
+
+using namespace Microsoft::Win32;
+using namespace System::Security::Cryptography;
+using namespace System::IO;
+using namespace System::Text;
+
+#include "getmac.h"
+#include <stdio.h>
+#include <string.h>
+
+using namespace System::Diagnostics;
+
+// this CLSID was generated using guidgen
+#define LICENSE_COUNT_REGISTRY_SUBKEY "{907FFF06-A5E2-4f92-A87F-7C518BD43F95}"
+
+//#pragma managed
+
+ public __gc class LicenseInfo
+ {
+ public:
+ bool bLicenseValid;
+ String* MACAddress;
+ String* Product;
+ String* Version;
+ Int16 LicenseDays;
+ Int16 LicenseUsageCount;
+ DateTime ExpiryDate;
+ };
+
+
+namespace license
+{
+ /// <summary>
+ /// Summary for licenseDialog
+ ///
+ /// WARNING: If you change the name of this class, you will need to change the
+ /// 'Resource File Name' property for the managed resource compiler tool
+ /// associated with all .resx files this class depends on. Otherwise,
+ /// the designers will not be able to interact properly with localized
+ /// resources associated with this form.
+ /// </summary>
+ public __gc class licenseDialog : public System::Windows::Forms::Form
+ {
+ public:
+ licenseDialog(void)
+ {
+ InitializeComponent();
+
+ RepaintForm();
+ }
+
+ static bool IsValidLicense(LicenseInfo* LicInfo)
+ {
+ if (LicInfo == NULL)
+ {
+ // if we didn't have one passed in, then just create a local one.
+ // they obviously don't want the info.
+ LicInfo = new LicenseInfo(); // Managed type so no delete required.
+ }
+
+ try
+ {
+ RegistryKey* iSpliceRegistryKey = Registry::LocalMachine->OpenSubKey("Software\\CSIRO ICT\\iSplice");
+ String* text = dynamic_cast<String*>(iSpliceRegistryKey->GetValue(S"License"));
+ iSpliceRegistryKey->Close();
+
+ Char sBase64Message[] = new Char[text->Length];
+ text->CopyTo(0, sBase64Message, 0, text->Length);
+
+ if (GetLicenseInfo(sBase64Message, LicInfo))
+ {
+ // AdapterInfo.
+ char buffer[30];
+
+ // and get the MAC address
+ memset(buffer, 0, sizeof(buffer));
+ getmac(buffer, sizeof(buffer)-1);
+ String* sMyMACAddress = buffer;
+
+ // this CLSID was generated using guidgen
+ RegistryKey* iSpliceRegistryKey = Registry::ClassesRoot->OpenSubKey(LICENSE_COUNT_REGISTRY_SUBKEY);
+ Byte text[] = dynamic_cast<Byte []>(iSpliceRegistryKey->GetValue(S"Entry"));
+ iSpliceRegistryKey->Close();
+
+ Byte DecryptedText[] = AESDecrypt(text);
+
+ // get the number of times we're still allowed to run our application
+ ASCIIEncoding* textConverter = new ASCIIEncoding();
+ String* sDecryptedAsString = textConverter->GetString(DecryptedText);
+
+ // get the number of times we're still allowed to run our application
+ Int16 UsedCount = Convert::ToInt16(sDecryptedAsString);
+
+ if ( (String::Compare(LicInfo->MACAddress, sMyMACAddress) == 0) &&
+ (LicInfo->ExpiryDate == 0 ||
+ ((DateTime::Compare(DateTime::get_Now(), LicInfo->ExpiryDate) <= 0) &&
+ UsedCount < LicInfo->LicenseUsageCount) )
+ )
+ {
+ return true;
+ }
+ }
+ }
+ catch (Exception* )
+ {
+ // only error is invalid license key, caught outside here.
+ // MessageBox::Show("Invalid License Key", "Invalid Key",
+ // MessageBoxButtons::OK, MessageBoxIcon::Error);
+ return false;
+ }
+
+ return false;
+ }
+
+ static bool IncrementProductUsage()
+ {
+ try
+ {
+ RegistryKey* iSpliceRegistryKey = Registry::ClassesRoot->CreateSubKey(LICENSE_COUNT_REGISTRY_SUBKEY);
+ Byte text[] = dynamic_cast<Byte []>(iSpliceRegistryKey->GetValue(S"Entry"));
+
+ Byte DecryptedText[] = AESDecrypt(text);
+
+ // get the number of times we're still allowed to run our application
+ ASCIIEncoding* textConverter = new ASCIIEncoding();
+ String* sDecryptedAsString = textConverter->GetString(DecryptedText);
+
+ Int16 UsedCount = Convert::ToInt16(sDecryptedAsString);
+
+ LicenseInfo* LicInfo = new LicenseInfo();
+ if (IsValidLicense(LicInfo))
+ {
+ if (UsedCount < LicInfo->LicenseUsageCount)
+ {
+ UsedCount++;
+
+ String* s= UsedCount.ToString();
+ ASCIIEncoding* textConverter = new ASCIIEncoding();
+ Byte UsedCountBytes[] = textConverter->GetBytes(s);
+ Byte text[] = AESEncrypt(UsedCountBytes);
+
+ iSpliceRegistryKey->SetValue(S"Entry", text);
+ }
+ }
+
+ iSpliceRegistryKey->Close();
+ }
+ catch (Exception* )
+ {
+ // only error is invalid license key, caught outside herehandle errors here.
+ MessageBox::Show("Invalid Product Usage", "Invalid Use",
+ MessageBoxButtons::OK, MessageBoxIcon::Error);
+ return false;
+ }
+ }
+
+
+ private: void RepaintForm()
+ {
+ // AdapterInfo.
+ char buffer[30];
+
+ // and get the MAC address
+ memset(buffer, 0, sizeof(buffer));
+ getmac(buffer, sizeof(buffer)-1);
+ LicenseInformation->Text = buffer;
+
+ // Check the license
+ try
+ {
+ RegistryKey* iSpliceRegistryKey = Registry::LocalMachine->OpenSubKey("Software\\CSIRO ICT\\iSplice");
+ String* text = dynamic_cast<String*>(iSpliceRegistryKey->GetValue(S"License"));
+ iSpliceRegistryKey->Close();
+
+ Char sBase64Message[] = new Char[text->Length];
+ text->CopyTo(0, sBase64Message, 0, text->Length);
+
+ LicenseInfo* LicInfo = new LicenseInfo();
+ if (GetLicenseInfo(sBase64Message, LicInfo))
+ {
+ StringBuilder* LicenseText = new StringBuilder();
+ String* sMyMACAddress = buffer;
+
+ if (String::Compare(LicInfo->MACAddress, sMyMACAddress) == 0)
+ {
+ if (LicInfo->ExpiryDate == 0)
+ {
+ LicenseText->Append("Full License.");
+ }
+ else
+ {
+ LicenseText->Append(LicInfo->LicenseDays.ToString());
+ LicenseText->Append(" Day Trial.");
+
+ if (DateTime::Compare(DateTime::get_Now(), LicInfo->ExpiryDate) > 0)
+ {
+ LicenseText->Append(" Expired ");
+ LicenseText->Append(LicInfo->ExpiryDate.ToString("d"));
+ LicenseText->Append(".");
+ }
+ else
+ {
+ LicenseText->Append(" Expires ");
+ LicenseText->Append(LicInfo->ExpiryDate.ToString("d"));
+ LicenseText->Append(".");
+ }
+
+ // this CLSID was generated using guidgen
+ RegistryKey* iSpliceRegistryKey = Registry::ClassesRoot->OpenSubKey(LICENSE_COUNT_REGISTRY_SUBKEY);
+ Byte text[] = dynamic_cast<Byte []>(iSpliceRegistryKey->GetValue(S"Entry"));
+ iSpliceRegistryKey->Close();
+
+ Byte DecryptedText[] = AESDecrypt(text);
+
+ ASCIIEncoding* textConverter = new ASCIIEncoding();
+ String* sDecryptedAsString = textConverter->GetString(DecryptedText);
+
+ // get the number of times we've run our application
+ Int16 UsedCount = Convert::ToInt16(sDecryptedAsString);
+
+ LicenseText->Append("\n"); // start this one the next line.
+ LicenseText->Append(LicInfo->LicenseUsageCount - UsedCount);
+ LicenseText->Append("/");
+ LicenseText->Append(LicInfo->LicenseUsageCount.ToString());
+ LicenseText->Append(" uses left.");
+
+ }
+ }
+ else
+ {
+ LicenseText->Append("Incorrect MAC Address!");
+ }
+
+ labelCurrentLicense->Text = LicenseText->ToString();
+ }
+ }
+
+ catch (Exception* )
+ {
+ // only error is invalid license key, caught outside here handle errors here.
+ MessageBox::Show("Invalid License Key", "Invalid Key",
+ MessageBoxButtons::OK, MessageBoxIcon::Error);
+ }
+
+ OK->Select();
+ }
+
+ static Byte AESDecrypt(Byte sBinaryData[]) []
+ {
+ Byte sDecrypted[];
+
+ try
+ {
+ // And grab the Initialisation Vector off the front
+ Byte IV[] = new Byte[16];
+ Byte sMessage[] = new Byte[sBinaryData->Length - 16];
+
+ // separate out the message data
+ Array::Copy(sBinaryData, IV, 16);
+ Array::Copy(sBinaryData, 16, sMessage, 0, sBinaryData->Length - 16);
+
+ // md5 of CSIRO ICT Centre = d014c9f49a972c0b2493dfbe830b67aa
+ Byte Key[] =
+ {
+ //'C','S','I','R','O',' ','I','C','T',' ','C','e','n','t','r','e',
+ // make sure it doesn't look like an obvious string if you look through the file
+ 0xd0,0x14,0xc9,0xf4,0x9a,0x97,0x2c,0x0b,0x24,0x93,0xdf,0xbe,0x83,0x0b,0x67,0xaa
+ };
+
+ // Try RIJNDAEL
+ RijndaelManaged* myRijndael = new RijndaelManaged();
+
+ myRijndael->Mode = System::Security::Cryptography::CBC;
+ myRijndael->set_KeySize(128);
+
+ // Get a decryptor that uses the same key and IV as the encryptor.
+ ICryptoTransform* decryptor = myRijndael->CreateDecryptor(Key, IV);
+
+ // Now decrypt the previously encrypted message using the decryptor
+ // obtained in the above step.
+ MemoryStream* msDecrypt = new MemoryStream(sMessage);
+ CryptoStream* csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode::Read);
+ sDecrypted = new Byte[sMessage->Length];
+
+ // Read the data out of the crypto stream.
+ csDecrypt->Read(sDecrypted, 0, sMessage->Length);
+
+ msDecrypt->Close();
+ csDecrypt->Close();
+ }
+ catch (Exception* )
+ {
+ return NULL;
+ }
+ return sDecrypted;
+ }
+
+ static Byte AESEncrypt(Byte sBinaryData[]) []
+ {
+ Byte sEncrypted[];
+ try
+ {
+ // md5 of CSIRO ICT Centre = d014c9f49a972c0b2493dfbe830b67aa
+ Byte Key[] =
+ {
+ //'C','S','I','R','O',' ','I','C','T',' ','C','e','n','t','r','e',
+ // make sure it doesn't look like an obvious string if you look through the file
+ 0xd0,0x14,0xc9,0xf4,0x9a,0x97,0x2c,0x0b,0x24,0x93,0xdf,0xbe,0x83,0x0b,0x67,0xaa
+ };
+
+ // Try RIJNDAEL
+ RijndaelManaged* myRijndael = new RijndaelManaged();
+
+ myRijndael->Mode = System::Security::Cryptography::CBC;
+ myRijndael->set_KeySize(128);
+
+ // get a new Initialization Vector
+ myRijndael->GenerateIV();
+ Byte IV[] = myRijndael->get_IV();
+
+ // Get an encryptor that uses this key and IV.
+ ICryptoTransform* encryptor = myRijndael->CreateEncryptor(Key, IV);
+
+ // Now encrypt the message
+ MemoryStream* msEncrypt = new MemoryStream();
+ CryptoStream* csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode::Write);
+
+ // Read the data out of the crypto stream.
+ csEncrypt->Write(sBinaryData, 0, sBinaryData->Length);
+ csEncrypt->FlushFinalBlock();
+
+ Byte sMessage[] = msEncrypt->ToArray();
+
+ msEncrypt->Close();
+ csEncrypt->Close();
+
+ // And Add the Initialisation Vector to the front
+
+ //Byte IV[] = new Byte[16 + sMessage->Length];
+ //Byte sMessage[] = new Byte[sBinaryData->Length - 16];
+
+ sEncrypted = new Byte[16 + sMessage->Length];
+ // combine the IV and message
+ Array::Copy(IV, sEncrypted, 16);
+ Array::Copy(sMessage, 0, sEncrypted, 16, sMessage->Length);
+ }
+ catch (Exception* )
+ {
+ return NULL;
+ }
+
+ return sEncrypted;
+ }
+
+
+
+ private: static bool GetLicenseInfo(Char sBase64Message[], LicenseInfo* LicInfo)
+ {
+ Byte decryptedData[];
+
+ try
+ {
+ // turn it into managed bytes since the decryption function
+ // needs these.
+ Byte binaryData[] = Convert::FromBase64CharArray(sBase64Message, 0,
+ sBase64Message->Length);
+
+ if ((decryptedData = AESDecrypt(binaryData)) == NULL)
+ {
+ throw 1;
+ }
+ }
+ catch (Exception* )
+ {
+ if (LicInfo != NULL)
+ {
+ LicInfo->bLicenseValid = false;
+ }
+ return false;
+ }
+
+ // if they want the actual info back, fill it in.
+ if (LicInfo)
+ {
+ LicInfo->bLicenseValid = true;
+
+ //Convert the Byte array into a String*.
+ ASCIIEncoding* textConverter = new ASCIIEncoding();
+ String* sDecryptedAsString = textConverter->GetString(decryptedData);
+
+ // and split into its components
+ // MACAddress, Product, Version, LicenseDays, LicenseUsageCount, ExpiryDate
+ Char delimChars[] = {','};
+ String *sSplit[] = sDecryptedAsString->Split(delimChars,10);
+ LicInfo->MACAddress = sSplit[0];
+ LicInfo->Product = sSplit[1];
+ LicInfo->Version = sSplit[2];
+ LicInfo->LicenseDays = Convert::ToInt16(sSplit[3]);
+ LicInfo->LicenseUsageCount = Convert::ToInt16(sSplit[4]);
+ // Bloody Microsoft! Doesn't seem to work. Put the -'s between days
+ // and just use parse.
+ //LicInfo->ExpiryDate = DateTime::ParseExact(sSplit[5],"yyyyMMdd",NULL);
+ LicInfo->ExpiryDate = DateTime::Parse(sSplit[5]);
+ }
+ return true;
+ }
+
+ protected:
+ void Dispose(Boolean disposing)
+ {
+ if (disposing && components)
+ {
+ components->Dispose();
+ }
+ __super::Dispose(disposing);
+ }
+ private: System::Windows::Forms::Button * OK;
+
+
+ private: System::Windows::Forms::Label * label2;
+
+
+
+ private: System::Windows::Forms::GroupBox * groupBox1;
+
+ private: System::Windows::Forms::Button * GetLicenseKey;
+ private: System::Windows::Forms::Label * labelCurrentLicense;
+ private: System::Windows::Forms::Label * labelLicenseKey;
+ private: System::Windows::Forms::TextBox * NewLicenseKey;
+ private: System::Windows::Forms::TextBox * LicenseInformation;
+ private: System::Windows::Forms::Button * UpdateLicense;
+ private: System::Windows::Forms::Label * label1;
+
+ private:
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ System::ComponentModel::Container* components;
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ void InitializeComponent(void)
+ {
+ this->OK = new System::Windows::Forms::Button();
+ this->GetLicenseKey = new System::Windows::Forms::Button();
+ this->labelCurrentLicense = new System::Windows::Forms::Label();
+ this->label2 = new System::Windows::Forms::Label();
+ this->labelLicenseKey = new System::Windows::Forms::Label();
+ this->NewLicenseKey = new System::Windows::Forms::TextBox();
+ this->LicenseInformation = new System::Windows::Forms::TextBox();
+ this->groupBox1 = new System::Windows::Forms::GroupBox();
+ this->UpdateLicense = new System::Windows::Forms::Button();
+ this->label1 = new System::Windows::Forms::Label();
+ this->groupBox1->SuspendLayout();
+ this->SuspendLayout();
+ //
+ // OK
+ //
+ this->OK->Location = System::Drawing::Point(272, 208);
+ this->OK->Name = S"OK";
+ this->OK->TabIndex = 17;
+ this->OK->Text = S"OK";
+ this->OK->Click += new System::EventHandler(this, OK_Click);
+ //
+ // GetLicenseKey
+ //
+ this->GetLicenseKey->Location = System::Drawing::Point(24, 208);
+ this->GetLicenseKey->Name = S"GetLicenseKey";
+ this->GetLicenseKey->Size = System::Drawing::Size(152, 24);
+ this->GetLicenseKey->TabIndex = 16;
+ this->GetLicenseKey->Text = S"Get License Key Online";
+ this->GetLicenseKey->Click += new System::EventHandler(this, GetLicenseKey_Click);
+ //
+ // labelCurrentLicense
+ //
+ this->labelCurrentLicense->Location = System::Drawing::Point(120, 48);
+ this->labelCurrentLicense->Name = S"labelCurrentLicense";
+ this->labelCurrentLicense->Size = System::Drawing::Size(224, 24);
+ this->labelCurrentLicense->TabIndex = 14;
+ this->labelCurrentLicense->Text = S"None";
+ //
+ // label2
+ //
+ this->label2->Location = System::Drawing::Point(24, 48);
+ this->label2->Name = S"label2";
+ this->label2->Size = System::Drawing::Size(88, 23);
+ this->label2->TabIndex = 13;
+ this->label2->Text = S"Current License:";
+ //
+ // labelLicenseKey
+ //
+ this->labelLicenseKey->Location = System::Drawing::Point(32, 104);
+ this->labelLicenseKey->Name = S"labelLicenseKey";
+ this->labelLicenseKey->Size = System::Drawing::Size(100, 16);
+ this->labelLicenseKey->TabIndex = 12;
+ this->labelLicenseKey->Text = S"Enter License Key";
+ //
+ // NewLicenseKey
+ //
+ this->NewLicenseKey->Location = System::Drawing::Point(32, 128);
+ this->NewLicenseKey->Name = S"NewLicenseKey";
+ this->NewLicenseKey->Size = System::Drawing::Size(304, 20);
+ this->NewLicenseKey->TabIndex = 11;
+ this->NewLicenseKey->Text = S"";
+ //
+ // LicenseInformation
+ //
+ this->LicenseInformation->Location = System::Drawing::Point(112, 16);
+ this->LicenseInformation->Name = S"LicenseInformation";
+ this->LicenseInformation->ReadOnly = true;
+ this->LicenseInformation->Size = System::Drawing::Size(240, 20);
+ this->LicenseInformation->TabIndex = 10;
+ this->LicenseInformation->Text = S"";
+ //
+ // groupBox1
+ //
+ this->groupBox1->Controls->Add(this->UpdateLicense);
+ this->groupBox1->Location = System::Drawing::Point(24, 80);
+ this->groupBox1->Name = S"groupBox1";
+ this->groupBox1->Size = System::Drawing::Size(328, 112);
+ this->groupBox1->TabIndex = 15;
+ this->groupBox1->TabStop = false;
+ this->groupBox1->Text = S"Update License";
+ //
+ // UpdateLicense
+ //
+ this->UpdateLicense->Location = System::Drawing::Point(96, 80);
+ this->UpdateLicense->Name = S"UpdateLicense";
+ this->UpdateLicense->Size = System::Drawing::Size(136, 24);
+ this->UpdateLicense->TabIndex = 0;
+ this->UpdateLicense->Text = S"Update License";
+ this->UpdateLicense->Click += new System::EventHandler(this, UpdateLicense_Click);
+ //
+ // label1
+ //
+ this->label1->Location = System::Drawing::Point(24, 16);
+ this->label1->Name = S"label1";
+ this->label1->Size = System::Drawing::Size(80, 23);
+ this->label1->TabIndex = 18;
+ this->label1->Text = S"MAC Address";
+ //
+ // licenseDialog
+ //
+ this->AutoScaleBaseSize = System::Drawing::Size(5, 13);
+ this->ClientSize = System::Drawing::Size(376, 254);
+ this->Controls->Add(this->label1);
+ this->Controls->Add(this->OK);
+ this->Controls->Add(this->GetLicenseKey);
+ this->Controls->Add(this->labelCurrentLicense);
+ this->Controls->Add(this->label2);
+ this->Controls->Add(this->labelLicenseKey);
+ this->Controls->Add(this->NewLicenseKey);
+ this->Controls->Add(this->LicenseInformation);
+ this->Controls->Add(this->groupBox1);
+ this->Name = S"licenseDialog";
+ this->Text = S"licenseDialog";
+ this->groupBox1->ResumeLayout(false);
+ this->ResumeLayout(false);
+
+ }
+
+ private: System::Void OK_Click(System::Object * sender, System::EventArgs * e)
+ {
+ this->Close();
+ }
+
+ private: System::Void GetLicenseKey_Click(System::Object * sender, System::EventArgs * e)
+ {
+ //Process::Start("http://www.annodex.com");
+ char buffer[256];
+
+ sprintf(buffer,
+ "http://www.aidabrowser.com/iSplice/iSpliceLicense.php?UI=%s",
+ LicenseInformation->Text);
+
+ Process::Start(buffer);
+ }
+
+ private: System::Void UpdateLicense_Click(System::Object * sender, System::EventArgs * e)
+ {
+ Char sBase64Message[] = new Char[NewLicenseKey->Text->Length];
+ NewLicenseKey->Text->CopyTo(0, sBase64Message, 0, NewLicenseKey->Text->Length);
+
+ // and check if it's valid
+ LicenseInfo* LicInfo = new LicenseInfo();
+
+ if (GetLicenseInfo(sBase64Message, LicInfo))
+ {
+ // And store the value in the registry
+ RegistryKey* iSpliceRegistryKey = Registry::LocalMachine->CreateSubKey("Software\\CSIRO ICT\\iSplice");
+ iSpliceRegistryKey->SetValue(S"License", NewLicenseKey->Text);
+ iSpliceRegistryKey->Close();
+
+ // Update the license count if necessary. This CLSID was generated using guidgen
+ // Don't change the count if it alrready exists.
+ if ((iSpliceRegistryKey = Registry::ClassesRoot->OpenSubKey(LICENSE_COUNT_REGISTRY_SUBKEY)) == NULL)
+ {
+ // So, the subkey doesn't exist. Create it and set the count.
+ iSpliceRegistryKey = Registry::ClassesRoot->CreateSubKey(LICENSE_COUNT_REGISTRY_SUBKEY);
+
+ Byte UsedCount[] = {'0'};
+
+ // Encrypt it so it's VERY hard to change manually.
+ Byte text[] = AESEncrypt(UsedCount);
+
+ iSpliceRegistryKey->SetValue(S"Entry", text);
+ }
+ iSpliceRegistryKey->Close();
+
+ // And let them know all is OK.
+ MessageBox::Show("License Updated Successfully!", "License Updated",
+ MessageBoxButtons::OK, MessageBoxIcon::Information);
+
+ RepaintForm();
+ }
+ else
+ {
+ MessageBox::Show("Invalid License Key", "Invalid Key",
+ MessageBoxButtons::OK, MessageBoxIcon::Error);
+ }
+ }
+};
+}
\ No newline at end of file
Property changes on: AnxCreator/license/licenseDialog.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/licenseDialog.resX
===================================================================
--- AnxCreator/license/licenseDialog.resX (rev 0)
+++ AnxCreator/license/licenseDialog.resX 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used forserialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="OK.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="OK.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="GetLicenseKey.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="GetLicenseKey.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="labelCurrentLicense.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="labelCurrentLicense.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label2.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label2.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="labelLicenseKey.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="labelLicenseKey.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="NewLicenseKey.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="NewLicenseKey.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="LicenseInformation.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="LicenseInformation.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="groupBox1.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="groupBox1.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="groupBox1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="UpdateLicense.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="UpdateLicense.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="label1.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="label1.Modifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>Private</value>
+ </data>
+ <data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.TrayHeight" type="System.Int32, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>80</value>
+ </data>
+ <data name="$this.Localizable" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.SnapToGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.DrawGrid" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>True</value>
+ </data>
+ <data name="$this.Locked" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>False</value>
+ </data>
+ <data name="$this.GridSize" type="System.Drawing.Size, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+ <value>8, 8</value>
+ </data>
+ <data name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <value>(Default)</value>
+ </data>
+</root>
\ No newline at end of file
Property changes on: AnxCreator/license/licenseDialog.resX
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/md5.cpp
===================================================================
--- AnxCreator/license/md5.cpp (rev 0)
+++ AnxCreator/license/md5.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,384 @@
+
+/*
+ Copyright (C) 1999, 2000, 2002 Aladdin Enterprises. All rights reserved.
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ L. Peter Deutsch
+ ghost at aladdin.com
+
+ */
+/* $Id: md5.cpp,v 1.1.1.1 2004/05/13 02:04:14 hog095 Exp $ */
+/*
+ Independent implementation of MD5 (RFC 1321).
+
+ This code implements the MD5 Algorithm defined in RFC 1321, whose
+ text is available at
+ http://www.ietf.org/rfc/rfc1321.txt
+ The code is derived from the text of the RFC, including the test suite
+ (section A.5) but excluding the rest of Appendix A. It does not include
+ any code or documentation that is identified in the RFC as being
+ copyrighted.
+
+ The original and principal author of md5.c is L. Peter Deutsch
+ <ghost at aladdin.com>. Other authors are noted in the change history
+ that follows (in reverse chronological order):
+
+ 2002-04-13 lpd Clarified derivation from RFC 1321; now handles byte order
+ either statically or dynamically; added missing #include <string.h>
+ in library.
+ 2002-03-11 lpd Corrected argument list for main(), and added int return
+ type, in test program and T value program.
+ 2002-02-21 lpd Added missing #include <stdio.h> in test program.
+ 2000-07-03 lpd Patched to eliminate warnings about "constant is
+ unsigned in ANSI C, signed in traditional"; made test program
+ self-checking.
+ 1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
+ 1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5).
+ 1999-05-03 lpd Original version.
+ */
+
+#include "md5.h"
+#include <string.h>
+
+#define BYTE_ORDER -1
+//#undef BYTE_ORDER /* 1 = big-endian, -1 = little-endian, 0 = unknown */
+//#ifdef ARCH_IS_BIG_ENDIAN
+//#define BYTE_ORDER (ARCH_IS_BIG_ENDIAN ? 1 : -1)
+//#else
+//#define BYTE_ORDER 0
+//#endif
+
+#define T_MASK ((md5_word_t)~0)
+#define T1 /* 0xd76aa478 */ (T_MASK ^ 0x28955b87)
+#define T2 /* 0xe8c7b756 */ (T_MASK ^ 0x173848a9)
+#define T3 0x242070db
+#define T4 /* 0xc1bdceee */ (T_MASK ^ 0x3e423111)
+#define T5 /* 0xf57c0faf */ (T_MASK ^ 0x0a83f050)
+#define T6 0x4787c62a
+#define T7 /* 0xa8304613 */ (T_MASK ^ 0x57cfb9ec)
+#define T8 /* 0xfd469501 */ (T_MASK ^ 0x02b96afe)
+#define T9 0x698098d8
+#define T10 /* 0x8b44f7af */ (T_MASK ^ 0x74bb0850)
+#define T11 /* 0xffff5bb1 */ (T_MASK ^ 0x0000a44e)
+#define T12 /* 0x895cd7be */ (T_MASK ^ 0x76a32841)
+#define T13 0x6b901122
+#define T14 /* 0xfd987193 */ (T_MASK ^ 0x02678e6c)
+#define T15 /* 0xa679438e */ (T_MASK ^ 0x5986bc71)
+#define T16 0x49b40821
+#define T17 /* 0xf61e2562 */ (T_MASK ^ 0x09e1da9d)
+#define T18 /* 0xc040b340 */ (T_MASK ^ 0x3fbf4cbf)
+#define T19 0x265e5a51
+#define T20 /* 0xe9b6c7aa */ (T_MASK ^ 0x16493855)
+#define T21 /* 0xd62f105d */ (T_MASK ^ 0x29d0efa2)
+#define T22 0x02441453
+#define T23 /* 0xd8a1e681 */ (T_MASK ^ 0x275e197e)
+#define T24 /* 0xe7d3fbc8 */ (T_MASK ^ 0x182c0437)
+#define T25 0x21e1cde6
+#define T26 /* 0xc33707d6 */ (T_MASK ^ 0x3cc8f829)
+#define T27 /* 0xf4d50d87 */ (T_MASK ^ 0x0b2af278)
+#define T28 0x455a14ed
+#define T29 /* 0xa9e3e905 */ (T_MASK ^ 0x561c16fa)
+#define T30 /* 0xfcefa3f8 */ (T_MASK ^ 0x03105c07)
+#define T31 0x676f02d9
+#define T32 /* 0x8d2a4c8a */ (T_MASK ^ 0x72d5b375)
+#define T33 /* 0xfffa3942 */ (T_MASK ^ 0x0005c6bd)
+#define T34 /* 0x8771f681 */ (T_MASK ^ 0x788e097e)
+#define T35 0x6d9d6122
+#define T36 /* 0xfde5380c */ (T_MASK ^ 0x021ac7f3)
+#define T37 /* 0xa4beea44 */ (T_MASK ^ 0x5b4115bb)
+#define T38 0x4bdecfa9
+#define T39 /* 0xf6bb4b60 */ (T_MASK ^ 0x0944b49f)
+#define T40 /* 0xbebfbc70 */ (T_MASK ^ 0x4140438f)
+#define T41 0x289b7ec6
+#define T42 /* 0xeaa127fa */ (T_MASK ^ 0x155ed805)
+#define T43 /* 0xd4ef3085 */ (T_MASK ^ 0x2b10cf7a)
+#define T44 0x04881d05
+#define T45 /* 0xd9d4d039 */ (T_MASK ^ 0x262b2fc6)
+#define T46 /* 0xe6db99e5 */ (T_MASK ^ 0x1924661a)
+#define T47 0x1fa27cf8
+#define T48 /* 0xc4ac5665 */ (T_MASK ^ 0x3b53a99a)
+#define T49 /* 0xf4292244 */ (T_MASK ^ 0x0bd6ddbb)
+#define T50 0x432aff97
+#define T51 /* 0xab9423a7 */ (T_MASK ^ 0x546bdc58)
+#define T52 /* 0xfc93a039 */ (T_MASK ^ 0x036c5fc6)
+#define T53 0x655b59c3
+#define T54 /* 0x8f0ccc92 */ (T_MASK ^ 0x70f3336d)
+#define T55 /* 0xffeff47d */ (T_MASK ^ 0x00100b82)
+#define T56 /* 0x85845dd1 */ (T_MASK ^ 0x7a7ba22e)
+#define T57 0x6fa87e4f
+#define T58 /* 0xfe2ce6e0 */ (T_MASK ^ 0x01d3191f)
+#define T59 /* 0xa3014314 */ (T_MASK ^ 0x5cfebceb)
+#define T60 0x4e0811a1
+#define T61 /* 0xf7537e82 */ (T_MASK ^ 0x08ac817d)
+#define T62 /* 0xbd3af235 */ (T_MASK ^ 0x42c50dca)
+#define T63 0x2ad7d2bb
+#define T64 /* 0xeb86d391 */ (T_MASK ^ 0x14792c6e)
+
+
+static void
+md5_process(md5_state_t *pms, const md5_byte_t *data /*[64]*/)
+{
+ md5_word_t
+ a = pms->abcd[0], b = pms->abcd[1],
+ c = pms->abcd[2], d = pms->abcd[3];
+ md5_word_t t;
+#if BYTE_ORDER > 0
+ /* Define storage only for big-endian CPUs. */
+ md5_word_t X[16];
+#else
+ /* Define storage for little-endian or both types of CPUs. */
+ md5_word_t xbuf[16];
+ const md5_word_t *X;
+#endif
+
+ {
+#if BYTE_ORDER == 0
+ /*
+ * Determine dynamically whether this is a big-endian or
+ * little-endian machine, since we can use a more efficient
+ * algorithm on the latter.
+ */
+ static const int w = 1;
+
+ if (*((const md5_byte_t *)&w)) /* dynamic little-endian */
+#endif
+#if BYTE_ORDER <= 0 /* little-endian */
+ {
+ /*
+ * On little-endian machines, we can process properly aligned
+ * data without copying it.
+ */
+ if (!((data - (const md5_byte_t *)0) & 3)) {
+ /* data are properly aligned */
+ X = (const md5_word_t *)data;
+ } else {
+ /* not aligned */
+ memcpy(xbuf, data, 64);
+ X = xbuf;
+ }
+ }
+#endif
+#if BYTE_ORDER == 0
+ else /* dynamic big-endian */
+#endif
+#if BYTE_ORDER >= 0 /* big-endian */
+ {
+ /*
+ * On big-endian machines, we must arrange the bytes in the
+ * right order.
+ */
+ const md5_byte_t *xp = data;
+ int i;
+
+# if BYTE_ORDER == 0
+ X = xbuf; /* (dynamic only) */
+# else
+# define xbuf X /* (static only) */
+# endif
+ for (i = 0; i < 16; ++i, xp += 4)
+ xbuf[i] = xp[0] + (xp[1] << 8) + (xp[2] << 16) + (xp[3] << 24);
+ }
+#endif
+ }
+
+#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32 - (n))))
+
+ /* Round 1. */
+ /* Let [abcd k s i] denote the operation
+ a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
+#define F(x, y, z) (((x) & (y)) | (~(x) & (z)))
+#define SET(a, b, c, d, k, s, Ti)\
+ t = a + F(b,c,d) + X[k] + Ti;\
+ a = ROTATE_LEFT(t, s) + b
+ /* Do the following 16 operations. */
+ SET(a, b, c, d, 0, 7, T1);
+ SET(d, a, b, c, 1, 12, T2);
+ SET(c, d, a, b, 2, 17, T3);
+ SET(b, c, d, a, 3, 22, T4);
+ SET(a, b, c, d, 4, 7, T5);
+ SET(d, a, b, c, 5, 12, T6);
+ SET(c, d, a, b, 6, 17, T7);
+ SET(b, c, d, a, 7, 22, T8);
+ SET(a, b, c, d, 8, 7, T9);
+ SET(d, a, b, c, 9, 12, T10);
+ SET(c, d, a, b, 10, 17, T11);
+ SET(b, c, d, a, 11, 22, T12);
+ SET(a, b, c, d, 12, 7, T13);
+ SET(d, a, b, c, 13, 12, T14);
+ SET(c, d, a, b, 14, 17, T15);
+ SET(b, c, d, a, 15, 22, T16);
+#undef SET
+
+ /* Round 2. */
+ /* Let [abcd k s i] denote the operation
+ a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
+#define G(x, y, z) (((x) & (z)) | ((y) & ~(z)))
+#define SET1(a, b, c, d, k, s, Ti)\
+ t = a + G(b,c,d) + X[k] + Ti;\
+ a = ROTATE_LEFT(t, s) + b
+ /* Do the following 16 operations. */
+ SET1(a, b, c, d, 1, 5, T17);
+ SET1(d, a, b, c, 6, 9, T18);
+ SET1(c, d, a, b, 11, 14, T19);
+ SET1(b, c, d, a, 0, 20, T20);
+ SET1(a, b, c, d, 5, 5, T21);
+ SET1(d, a, b, c, 10, 9, T22);
+ SET1(c, d, a, b, 15, 14, T23);
+ SET1(b, c, d, a, 4, 20, T24);
+ SET1(a, b, c, d, 9, 5, T25);
+ SET1(d, a, b, c, 14, 9, T26);
+ SET1(c, d, a, b, 3, 14, T27);
+ SET1(b, c, d, a, 8, 20, T28);
+ SET1(a, b, c, d, 13, 5, T29);
+ SET1(d, a, b, c, 2, 9, T30);
+ SET1(c, d, a, b, 7, 14, T31);
+ SET1(b, c, d, a, 12, 20, T32);
+#undef SET1
+
+ /* Round 3. */
+ /* Let [abcd k s t] denote the operation
+ a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
+#define H(x, y, z) ((x) ^ (y) ^ (z))
+#define SET2(a, b, c, d, k, s, Ti)\
+ t = a + H(b,c,d) + X[k] + Ti;\
+ a = ROTATE_LEFT(t, s) + b
+ /* Do the following 16 operations. */
+ SET2(a, b, c, d, 5, 4, T33);
+ SET2(d, a, b, c, 8, 11, T34);
+ SET2(c, d, a, b, 11, 16, T35);
+ SET2(b, c, d, a, 14, 23, T36);
+ SET2(a, b, c, d, 1, 4, T37);
+ SET2(d, a, b, c, 4, 11, T38);
+ SET2(c, d, a, b, 7, 16, T39);
+ SET2(b, c, d, a, 10, 23, T40);
+ SET2(a, b, c, d, 13, 4, T41);
+ SET2(d, a, b, c, 0, 11, T42);
+ SET2(c, d, a, b, 3, 16, T43);
+ SET2(b, c, d, a, 6, 23, T44);
+ SET2(a, b, c, d, 9, 4, T45);
+ SET2(d, a, b, c, 12, 11, T46);
+ SET2(c, d, a, b, 15, 16, T47);
+ SET2(b, c, d, a, 2, 23, T48);
+#undef SET2
+
+ /* Round 4. */
+ /* Let [abcd k s t] denote the operation
+ a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
+#define I(x, y, z) ((y) ^ ((x) | ~(z)))
+#define SET3(a, b, c, d, k, s, Ti)\
+ t = a + I(b,c,d) + X[k] + Ti;\
+ a = ROTATE_LEFT(t, s) + b
+ /* Do the following 16 operations. */
+ SET3(a, b, c, d, 0, 6, T49);
+ SET3(d, a, b, c, 7, 10, T50);
+ SET3(c, d, a, b, 14, 15, T51);
+ SET3(b, c, d, a, 5, 21, T52);
+ SET3(a, b, c, d, 12, 6, T53);
+ SET3(d, a, b, c, 3, 10, T54);
+ SET3(c, d, a, b, 10, 15, T55);
+ SET3(b, c, d, a, 1, 21, T56);
+ SET3(a, b, c, d, 8, 6, T57);
+ SET3(d, a, b, c, 15, 10, T58);
+ SET3(c, d, a, b, 6, 15, T59);
+ SET3(b, c, d, a, 13, 21, T60);
+ SET3(a, b, c, d, 4, 6, T61);
+ SET3(d, a, b, c, 11, 10, T62);
+ SET3(c, d, a, b, 2, 15, T63);
+ SET3(b, c, d, a, 9, 21, T64);
+#undef SET3
+
+ /* Then perform the following additions. (That is increment each
+ of the four registers by the value it had before this block
+ was started.) */
+ pms->abcd[0] += a;
+ pms->abcd[1] += b;
+ pms->abcd[2] += c;
+ pms->abcd[3] += d;
+}
+
+void
+md5_init(md5_state_t *pms)
+{
+ pms->count[0] = pms->count[1] = 0;
+ pms->abcd[0] = 0x67452301;
+ pms->abcd[1] = /*0xefcdab89*/ T_MASK ^ 0x10325476;
+ pms->abcd[2] = /*0x98badcfe*/ T_MASK ^ 0x67452301;
+ pms->abcd[3] = 0x10325476;
+}
+
+void
+md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes)
+{
+ const md5_byte_t *p = data;
+ int left = nbytes;
+ int offset = (pms->count[0] >> 3) & 63;
+ md5_word_t nbits = (md5_word_t)(nbytes << 3);
+
+ if (nbytes <= 0)
+ return;
+
+ /* Update the message length. */
+ pms->count[1] += nbytes >> 29;
+ pms->count[0] += nbits;
+ if (pms->count[0] < nbits)
+ pms->count[1]++;
+
+ /* Process an initial partial block. */
+ if (offset) {
+ int copy = (offset + nbytes > 64 ? 64 - offset : nbytes);
+
+ memcpy(pms->buf + offset, p, copy);
+ if (offset + copy < 64)
+ return;
+ p += copy;
+ left -= copy;
+ md5_process(pms, pms->buf);
+ }
+
+ /* Process full blocks. */
+ for (; left >= 64; p += 64, left -= 64)
+ md5_process(pms, p);
+
+ /* Process a final partial block. */
+ if (left)
+ memcpy(pms->buf, p, left);
+}
+
+void
+md5_finish(md5_state_t *pms, md5_byte_t digest[16])
+{
+ static const md5_byte_t pad[64] = {
+ 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+ md5_byte_t data[8];
+ int i;
+
+ /* Save the length before padding. */
+ for (i = 0; i < 8; ++i)
+ data[i] = (md5_byte_t)(pms->count[i >> 2] >> ((i & 3) << 3));
+ /* Pad to 56 bytes mod 64. */
+ md5_append(pms, pad, ((55 - (pms->count[0] >> 3)) & 63) + 1);
+ /* Append the length. */
+ md5_append(pms, data, 8);
+ for (i = 0; i < 16; ++i)
+ digest[i] = (md5_byte_t)(pms->abcd[i >> 2] >> ((i & 3) << 3));
+}
+
Property changes on: AnxCreator/license/md5.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/md5.h
===================================================================
--- AnxCreator/license/md5.h (rev 0)
+++ AnxCreator/license/md5.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,91 @@
+/*
+ Copyright (C) 1999, 2002 Aladdin Enterprises. All rights reserved.
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ L. Peter Deutsch
+ ghost at aladdin.com
+
+ */
+/* $Id: md5.h,v 1.1.1.1 2004/05/13 02:04:14 hog095 Exp $ */
+/*
+ Independent implementation of MD5 (RFC 1321).
+
+ This code implements the MD5 Algorithm defined in RFC 1321, whose
+ text is available at
+ http://www.ietf.org/rfc/rfc1321.txt
+ The code is derived from the text of the RFC, including the test suite
+ (section A.5) but excluding the rest of Appendix A. It does not include
+ any code or documentation that is identified in the RFC as being
+ copyrighted.
+
+ The original and principal author of md5.h is L. Peter Deutsch
+ <ghost at aladdin.com>. Other authors are noted in the change history
+ that follows (in reverse chronological order):
+
+ 2002-04-13 lpd Removed support for non-ANSI compilers; removed
+ references to Ghostscript; clarified derivation from RFC 1321;
+ now handles byte order either statically or dynamically.
+ 1999-11-04 lpd Edited comments slightly for automatic TOC extraction.
+ 1999-10-18 lpd Fixed typo in header comment (ansi2knr rather than md5);
+ added conditionalization for C++ compilation from Martin
+ Purschke <purschke at bnl.gov>.
+ 1999-05-03 lpd Original version.
+ */
+
+#ifndef md5_INCLUDED
+# define md5_INCLUDED
+
+/*
+ * This package supports both compile-time and run-time determination of CPU
+ * byte order. If ARCH_IS_BIG_ENDIAN is defined as 0, the code will be
+ * compiled to run only on little-endian CPUs; if ARCH_IS_BIG_ENDIAN is
+ * defined as non-zero, the code will be compiled to run only on big-endian
+ * CPUs; if ARCH_IS_BIG_ENDIAN is not defined, the code will be compiled to
+ * run on either big- or little-endian CPUs, but will run slightly less
+ * efficiently on either one than if ARCH_IS_BIG_ENDIAN is defined.
+ */
+
+typedef unsigned char md5_byte_t; /* 8-bit byte */
+typedef unsigned int md5_word_t; /* 32-bit word */
+
+/* Define the state of the MD5 Algorithm. */
+typedef struct md5_state_s {
+ md5_word_t count[2]; /* message length in bits, lsw first */
+ md5_word_t abcd[4]; /* digest buffer */
+ md5_byte_t buf[64]; /* accumulate block */
+} md5_state_t;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+/* Initialize the algorithm. */
+void md5_init(md5_state_t *pms);
+
+/* Append a string to the message. */
+void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes);
+
+/* Finish the message and return the digest. */
+void md5_finish(md5_state_t *pms, md5_byte_t digest[16]);
+
+#ifdef __cplusplus
+} /* end extern "C" */
+#endif
+
+#endif /* md5_INCLUDED */
Property changes on: AnxCreator/license/md5.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/resource.h
===================================================================
--- AnxCreator/license/resource.h (rev 0)
+++ AnxCreator/license/resource.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,3 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by app.rc
Property changes on: AnxCreator/license/resource.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/stdafx.cpp
===================================================================
--- AnxCreator/license/stdafx.cpp (rev 0)
+++ AnxCreator/license/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,7 @@
+// stdafx.cpp : source file that includes just the standard includes
+// license.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+
Property changes on: AnxCreator/license/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/license/stdafx.h
===================================================================
--- AnxCreator/license/stdafx.h (rev 0)
+++ AnxCreator/license/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,6 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+#pragma once
+
Property changes on: AnxCreator/license/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/profiles/default.dpml
===================================================================
--- AnxCreator/profiles/default.dpml (rev 0)
+++ AnxCreator/profiles/default.dpml 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,7 @@
+<mobdevprofile version="1.0">
+ <device name="default">
+ <desc>Performs no resampling or rescaling. Vorbis quality at the default 0.3</desc>
+ </device>
+ <video width="0" height="0" framerate="0" />
+ <audio samplerate="0" samplewidth="16" channels="0" vorbisquality="30" />
+</mobdevprofile>
\ No newline at end of file
Property changes on: AnxCreator/profiles/default.dpml
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/reg/app_AnxCreate.reg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/reg/app_AnxCreate.reg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/reg/fe_anxproj.reg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/reg/fe_anxproj.reg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/reg/ft_anxproj.reg
===================================================================
(Binary files differ)
Property changes on: AnxCreator/reg/ft_anxproj.reg
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/testDotNETCMMLTags/App.ico
===================================================================
(Binary files differ)
Property changes on: AnxCreator/testDotNETCMMLTags/App.ico
___________________________________________________________________
Name: svn:executable
+
Name: svn:mime-type
+ application/octet-stream
Added: AnxCreator/testDotNETCMMLTags/AssemblyInfo.cs
===================================================================
--- AnxCreator/testDotNETCMMLTags/AssemblyInfo.cs (rev 0)
+++ AnxCreator/testDotNETCMMLTags/AssemblyInfo.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,58 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+// When specifying the KeyFile, the location of the KeyFile should be
+// relative to the project output directory which is
+// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+// located in the project directory, you would specify the AssemblyKeyFile
+// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Property changes on: AnxCreator/testDotNETCMMLTags/AssemblyInfo.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testDotNETCMMLTags/Class1.cs
===================================================================
--- AnxCreator/testDotNETCMMLTags/Class1.cs (rev 0)
+++ AnxCreator/testDotNETCMMLTags/Class1.cs 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,41 @@
+using System;
+using illiminable.libCMMLTagsDotNET;
+namespace testDotNETCMMLTags
+{
+ /// <summary>
+ /// Summary description for Class1.
+ /// </summary>
+ class Class1
+ {
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void Main(string[] args)
+ {
+ //
+ // TODO: Add code to start application here
+ //
+
+ CMMLDoc locDoc = new CMMLDoc();
+
+ Console.ReadLine();
+
+ AnchorTag locAnchor = new AnchorTag();
+ locAnchor.setHref(" as as as as as ");
+ locAnchor.setCls(" asas asd asd asd ");
+ Console.Out.WriteLine(locAnchor.toString());
+
+ ClipTag locClip = new ClipTag();
+
+ MetaTag locMeta = new MetaTag();
+
+ locMeta.setName("blah");
+ locMeta.setContent("blue");
+ locClip.metaList().addTag(locMeta);
+ Console.Out.WriteLine(locClip.toString());
+
+
+ }
+ }
+}
Property changes on: AnxCreator/testDotNETCMMLTags/Class1.cs
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj
===================================================================
--- AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj (rev 0)
+++ AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,107 @@
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <ProjectType>Local</ProjectType>
+ <ProductVersion>8.0.50727</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{440D26F4-DBE0-4E3E-9FAD-E7BB7645A5B2}</ProjectGuid>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ApplicationIcon>App.ico</ApplicationIcon>
+ <AssemblyKeyContainerName>
+ </AssemblyKeyContainerName>
+ <AssemblyName>testDotNETCMMLTags</AssemblyName>
+ <AssemblyOriginatorKeyFile>
+ </AssemblyOriginatorKeyFile>
+ <DefaultClientScript>JScript</DefaultClientScript>
+ <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
+ <DefaultTargetSchema>IE50</DefaultTargetSchema>
+ <DelaySign>false</DelaySign>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>testDotNETCMMLTags</RootNamespace>
+ <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
+ <StartupObject>
+ </StartupObject>
+ <FileUpgradeFlags>
+ </FileUpgradeFlags>
+ <UpgradeBackupLocation>
+ </UpgradeBackupLocation>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <OutputPath>bin\Debug\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>true</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>false</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>full</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <OutputPath>bin\Release\</OutputPath>
+ <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
+ <BaseAddress>285212672</BaseAddress>
+ <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
+ <ConfigurationOverrideFile>
+ </ConfigurationOverrideFile>
+ <DefineConstants>TRACE</DefineConstants>
+ <DocumentationFile>
+ </DocumentationFile>
+ <DebugSymbols>false</DebugSymbols>
+ <FileAlignment>4096</FileAlignment>
+ <NoStdLib>false</NoStdLib>
+ <NoWarn>
+ </NoWarn>
+ <Optimize>true</Optimize>
+ <RegisterForComInterop>false</RegisterForComInterop>
+ <RemoveIntegerChecks>false</RemoveIntegerChecks>
+ <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
+ <WarningLevel>4</WarningLevel>
+ <DebugType>none</DebugType>
+ <ErrorReport>prompt</ErrorReport>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System">
+ <Name>System</Name>
+ </Reference>
+ <Reference Include="System.Data">
+ <Name>System.Data</Name>
+ </Reference>
+ <Reference Include="System.XML">
+ <Name>System.XML</Name>
+ </Reference>
+ <ProjectReference Include="..\..\oggdsf\src\lib\codecs\cmml\libCMMLTagsDotNET\libCMMLTagsDotNET.vcproj">
+ <Name>libCMMLTagsDotNET</Name>
+ <Project>{9B83D147-AFE7-46EF-A3FF-EBEC65F00BA6}</Project>
+ <Package>{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</Package>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="App.ico" />
+ <Compile Include="AssemblyInfo.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Class1.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <PropertyGroup>
+ <PreBuildEvent>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ </PostBuildEvent>
+ </PropertyGroup>
+</Project>
\ No newline at end of file
Property changes on: AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj.user
===================================================================
--- AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj.user (rev 0)
+++ AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj.user 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,58 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <LastOpenVersion>7.10.3077</LastOpenVersion>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ReferencePath>
+ </ReferencePath>
+ <CopyProjectDestinationFolder>
+ </CopyProjectDestinationFolder>
+ <CopyProjectUncPath>
+ </CopyProjectUncPath>
+ <CopyProjectOption>0</CopyProjectOption>
+ <ProjectView>ProjectFiles</ProjectView>
+ <ProjectTrust>0</ProjectTrust>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <EnableASPDebugging>false</EnableASPDebugging>
+ <EnableASPXDebugging>false</EnableASPXDebugging>
+ <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+ <EnableSQLServerDebugging>false</EnableSQLServerDebugging>
+ <RemoteDebugEnabled>false</RemoteDebugEnabled>
+ <RemoteDebugMachine>
+ </RemoteDebugMachine>
+ <StartAction>Project</StartAction>
+ <StartArguments>
+ </StartArguments>
+ <StartPage>
+ </StartPage>
+ <StartProgram>
+ </StartProgram>
+ <StartURL>
+ </StartURL>
+ <StartWorkingDirectory>
+ </StartWorkingDirectory>
+ <StartWithIE>true</StartWithIE>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <EnableASPDebugging>false</EnableASPDebugging>
+ <EnableASPXDebugging>false</EnableASPXDebugging>
+ <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+ <EnableSQLServerDebugging>false</EnableSQLServerDebugging>
+ <RemoteDebugEnabled>false</RemoteDebugEnabled>
+ <RemoteDebugMachine>
+ </RemoteDebugMachine>
+ <StartAction>Project</StartAction>
+ <StartArguments>
+ </StartArguments>
+ <StartPage>
+ </StartPage>
+ <StartProgram>
+ </StartProgram>
+ <StartURL>
+ </StartURL>
+ <StartWorkingDirectory>
+ </StartWorkingDirectory>
+ <StartWithIE>false</StartWithIE>
+ </PropertyGroup>
+</Project>
\ No newline at end of file
Property changes on: AnxCreator/testDotNETCMMLTags/testDotNETCMMLTags.csproj.user
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testGraphManip/ReadMe.txt
===================================================================
--- AnxCreator/testGraphManip/ReadMe.txt (rev 0)
+++ AnxCreator/testGraphManip/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,32 @@
+========================================================================
+ CONSOLE APPLICATION : testGraphManip Project Overview
+========================================================================
+
+AppWizard has created this testGraphManip application for you.
+This file contains a summary of what you will find in each of the files that
+make up your testGraphManip application.
+
+
+testGraphManip.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+testGraphManip.cpp
+ This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named testGraphManip.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/testGraphManip/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testGraphManip/stdafx.cpp
===================================================================
--- AnxCreator/testGraphManip/stdafx.cpp (rev 0)
+++ AnxCreator/testGraphManip/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// testGraphManip.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Property changes on: AnxCreator/testGraphManip/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testGraphManip/stdafx.h
===================================================================
--- AnxCreator/testGraphManip/stdafx.h (rev 0)
+++ AnxCreator/testGraphManip/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,12 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#include <iostream>
+#include <tchar.h>
+
+// TODO: reference additional headers your program requires here
Property changes on: AnxCreator/testGraphManip/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testGraphManip/testGraphManip.cpp
===================================================================
--- AnxCreator/testGraphManip/testGraphManip.cpp (rev 0)
+++ AnxCreator/testGraphManip/testGraphManip.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,240 @@
+// testGraphManip.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+#include <dshow.h>
+#include <string>
+using namespace std;
+//#include "ds_guids.h"
+#include "DSGraphHelper.h"
+
+//// {5C94FE86-B93B-467f-BFC3-BD6C91416F9B}
+//DEFINE_GUID(CLSID_X_VorbisEncodeFilter,
+//0x5c94fe86, 0xb93b, 0x467f, 0xbf, 0xc3, 0xbd, 0x6c, 0x91, 0x41, 0x6f, 0x9b);
+
+//We want a __stdcall function to call into directshow from...
+// main must be __cdecl though
+int runProgram(int argc, _TCHAR* argv[]) {
+ CoInitialize(NULL);
+
+ signed char locVorbisQuality = 30;
+ unsigned short locTheoraQuality = 30;
+ unsigned long locTheoraTargetBitrate = 400000;
+ int x;
+ cin>>x;
+
+ IFilterGraph* locFilterGraph = NULL;
+ HRESULT locHR = S_OK;
+
+ wstring fname = L"D:\\testfiles\\cw3.ogg";
+ DSGraphHelper::RenderFile(fname, &locFilterGraph);
+
+ if (locFilterGraph == NULL) {
+ wcout<<L"Couldn't render original file"<<endl;
+ return 0;
+ }
+
+ wcout<<"File rendered"<<endl;
+
+
+
+
+ IEnumFilters* locFilterEnum = NULL;
+ locHR = locFilterGraph->EnumFilters(&locFilterEnum);
+
+ FILTER_INFO locFilterInfo;
+
+ bool locStillMore = true;
+
+ IBaseFilter* locFilter = NULL;
+
+ locHR = S_OK;
+ ULONG locHowManyFilters = 0;
+ ULONG locHowManyReturned = 0;
+ while (locHR == S_OK) {
+ //Loop through all the filter.
+ locHR = locFilterEnum->Next(1, &locFilter, &locHowManyReturned);
+ if (locHR == S_OK) {
+ locHowManyFilters++;
+ locFilter->QueryFilterInfo(&locFilterInfo);
+ wcout<<"Filter "<<locHowManyFilters<<" : "<<locFilterInfo.achName;
+
+ if (DSGraphHelper::IsRenderer(locFilter)) {
+ cout<<" is Renderer"<<endl;
+ } else {
+ cout<<endl;
+ }
+ //cout<<endl;
+
+ //Release the filter.
+ locFilter->Release();
+ }
+ }
+
+ cout<<endl<<"Graph Built : Removing renderers"<<endl;
+
+
+ vector<IPin*>* locPinStubs = new vector<IPin*>;
+ DSGraphHelper::RemoveRenderers(locFilterGraph, locPinStubs);
+
+ cout<<endl<<"Graph dump again... without renderers"<<endl;
+
+
+ locHowManyFilters = 0;
+ locHR = S_OK;
+ locFilterEnum->Reset();
+ while (locHR == S_OK) {
+ //Loop through all the filter.
+ locHR = locFilterEnum->Next(1, &locFilter, &locHowManyReturned);
+ if (locHR == S_OK) {
+ locHowManyFilters++;
+ locFilter->QueryFilterInfo(&locFilterInfo);
+ wcout<<"Filter "<<locHowManyFilters<<" : "<<locFilterInfo.achName;
+
+
+ cout<<endl;
+
+ //Release the filter.
+ locFilter->Release();
+ }
+ }
+
+ cout<<endl;
+ cout<<"Dumping pin stub info..."<<endl;
+
+ PIN_INFO locPinInfo;
+ for (size_t i = 0; i < locPinStubs->size(); i++) {
+ (*locPinStubs)[i]->QueryPinInfo(&locPinInfo);
+ wcout<<L"Pin "<<i+1<<L" : "<<locPinInfo.achName;
+
+ if (DSGraphHelper::IsAudioPin((*locPinStubs)[i])) {
+ wcout<<L" Audio"<<endl;
+ } else if (DSGraphHelper::IsVideoPin((*locPinStubs)[i])) {
+ wcout<<L" Video"<<endl;
+
+ } else {
+ wcout<<endl;
+ }
+
+ //Release the pointer to the pins parent filter in PIN_INFO.
+ locPinInfo.pFilter->Release();
+
+ }
+
+ cout<<endl;
+ cout<<"Attaching Encoders"<<endl;
+ vector<IBaseFilter*> locFiltersForMux;
+ for (size_t i = 0; i < locPinStubs->size(); i++) {
+ (*locPinStubs)[i]->QueryPinInfo(&locPinInfo);
+ wcout<<L"Pin "<<i+1<<L" : "<<locPinInfo.achName<<endl;
+
+ if (DSGraphHelper::IsAudioPin((*locPinStubs)[i])) {
+ cout<<"Creating a vorbis encoder..."<<endl;
+ IBaseFilter* locRetFilter = DSGraphHelper::AttachVorbisEncoder(locFilterGraph, (*locPinStubs)[i], locVorbisQuality);
+
+ if (locRetFilter != NULL) {
+ cout<<"Attached filter OK."<<endl;
+ locFiltersForMux.push_back(locRetFilter);
+ } else {
+ cout<<"Attach filter FAILED"<<endl;
+ }
+
+ } else if (DSGraphHelper::IsVideoPin((*locPinStubs)[i])) {
+ cout<<"Creating a theora encoder..."<<endl;
+ IBaseFilter* locRetFilter = DSGraphHelper::AttachTheoraEncoder(locFilterGraph, (*locPinStubs)[i], locTheoraQuality, locTheoraTargetBitrate);
+
+ if (locRetFilter != NULL) {
+ cout<<"Attached filter OK."<<endl;
+ locFiltersForMux.push_back(locRetFilter);
+ } else {
+ cout<<"Attach filter FAILED"<<endl;
+ }
+
+ } else {
+ wcout<<endl;
+ }
+
+ //TODO::: Release the string
+ //Release the pointer to the pins parent filter in PIN_INFO.
+ locPinInfo.pFilter->Release();
+
+ }
+
+
+
+ cout<<endl<<"Graph dump again... with encoders"<<endl;
+
+
+ locHowManyFilters = 0;
+ locHR = S_OK;
+ locFilterEnum->Reset();
+ while (locHR == S_OK) {
+ //Loop through all the filter.
+ locHR = locFilterEnum->Next(1, &locFilter, &locHowManyReturned);
+ if (locHR == S_OK) {
+ locHowManyFilters++;
+ locFilter->QueryFilterInfo(&locFilterInfo);
+ wcout<<"Filter "<<locHowManyFilters<<" : "<<locFilterInfo.achName;
+
+
+ cout<<endl;
+
+ //Release the filter.
+ locFilter->Release();
+ }
+ }
+
+
+ IBaseFilter* locOggMux = DSGraphHelper::AttachEncodersToOggMux(locFilterGraph, locFiltersForMux, L"D:\\testfiles\\xxxxx111.ogg");
+
+ if (locOggMux == NULL) {
+ cout<<"Mux attachment failed"<<endl;
+ } else {
+ cout<<"Mux attachment ok"<<endl;
+ }
+
+ cout<<endl<<"Graph dump again... with mux"<<endl;
+
+
+ locHowManyFilters = 0;
+ locHR = S_OK;
+ locFilterEnum->Reset();
+ while (locHR == S_OK) {
+ //Loop through all the filter.
+ locHR = locFilterEnum->Next(1, &locFilter, &locHowManyReturned);
+ if (locHR == S_OK) {
+ locHowManyFilters++;
+ locFilter->QueryFilterInfo(&locFilterInfo);
+ wcout<<"Filter "<<locHowManyFilters<<" : "<<locFilterInfo.achName;
+
+
+ cout<<endl;
+
+ //Release the filter.
+ locFilter->Release();
+ }
+ }
+
+
+
+
+ //Cleanup
+ delete locPinStubs;
+ ULONG locTemp =
+ locFilterEnum->Release();
+ DSGraphHelper::ReleaseGraphAndFilters(locFilterGraph);
+ //locFilterGraph->Release();
+
+ CoUninitialize();
+
+
+}
+
+int __cdecl _tmain(int argc, _TCHAR* argv[])
+{
+
+ runProgram(argc, argv);
+
+ return 0;
+}
+
Property changes on: AnxCreator/testGraphManip/testGraphManip.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/testGraphManip/testGraphManip.vcproj
===================================================================
--- AnxCreator/testGraphManip/testGraphManip.vcproj (rev 0)
+++ AnxCreator/testGraphManip/testGraphManip.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testGraphManip"
+ ProjectGUID="{7FFAF860-C775-495F-8F8B-2666A1948E53}"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\libDSGraphManip;..\..\oggdsf\src\lib\core\directshow\dsfOggDemux;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\helper;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/testGraphManip.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/testGraphManip.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\libDSGraphManip;..\..\oggdsf\src\lib\core\directshow\dsfOggDemux;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\helper;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/testGraphManip.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <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=".\testGraphManip.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <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"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/testGraphManip/testGraphManip.vcproj
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/transcodeToOgg/ReadMe.txt
===================================================================
--- AnxCreator/transcodeToOgg/ReadMe.txt (rev 0)
+++ AnxCreator/transcodeToOgg/ReadMe.txt 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,32 @@
+========================================================================
+ CONSOLE APPLICATION : transcodeToOgg Project Overview
+========================================================================
+
+AppWizard has created this transcodeToOgg application for you.
+This file contains a summary of what you will find in each of the files that
+make up your transcodeToOgg application.
+
+
+transcodeToOgg.vcproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+transcodeToOgg.cpp
+ This is the main application source file.
+
+/////////////////////////////////////////////////////////////////////////////
+Other standard files:
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named transcodeToOgg.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
Property changes on: AnxCreator/transcodeToOgg/ReadMe.txt
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/transcodeToOgg/stdafx.cpp
===================================================================
--- AnxCreator/transcodeToOgg/stdafx.cpp (rev 0)
+++ AnxCreator/transcodeToOgg/stdafx.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// transcodeToOgg.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Property changes on: AnxCreator/transcodeToOgg/stdafx.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/transcodeToOgg/stdafx.h
===================================================================
--- AnxCreator/transcodeToOgg/stdafx.h (rev 0)
+++ AnxCreator/transcodeToOgg/stdafx.h 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,12 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+
+#include <iostream>
+#include <tchar.h>
+
+// TODO: reference additional headers your program requires here
Property changes on: AnxCreator/transcodeToOgg/stdafx.h
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/transcodeToOgg/transcodeToOgg.cpp
===================================================================
--- AnxCreator/transcodeToOgg/transcodeToOgg.cpp (rev 0)
+++ AnxCreator/transcodeToOgg/transcodeToOgg.cpp 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,543 @@
+// transcodeToOgg.cpp : Defines the entry point for the console application.
+//
+
+
+#include "stdafx.h"
+#include <dshow.h>
+#include <string>
+using namespace std;
+//#include "ds_guids.h"
+#include "libillicore/StringHelper.h"
+#include "DSGraphHelper.h"
+#include "sAudioResampleParams.h"
+
+/*
+
+ Command line options
+ ====================
+
+ -?, -h : Display help message
+ -s : Silent operation
+ -i : Ignore warnings fallback to default
+ -d : Verbose mode
+ -vq[qual_val] : Vorbis quality setting
+ -vr[sample_rate] : Vorbis sample rate
+ -vw[sample_width] : Vorbis sample width
+ -vc[channels] : Vorbis num channels
+ -tq[qual_val] : Theora quality setting
+ -tr[frame_rate] : Theora frame rate
+ -th[frame_height] : Theora frame height
+ -tw[frame_width] : Theora frame width
+
+*/
+
+
+
+//Global configuration
+sVideoResampleParams gVideoParams;
+sAudioResampleParams gAudioParams;
+bool gIsSilent;
+bool gIsVerbose;
+bool gIsIgnoreWarnings;
+bool gRequestedVideoQuality;
+bool gRequestedVideoBitrate;
+
+
+string gInputFile = "";
+string gOutputFile = "";
+vector<string> gCommandArgs;
+
+
+void emit(string inOutputString)
+{
+ if (!gIsSilent) {
+ cout<<inOutputString<<endl;
+ }
+}
+
+void emitError(string inOutputString)
+{
+
+ cout<<inOutputString<<endl;
+}
+
+void debugEmit(string inOutputString)
+{
+ if (gIsVerbose && !gIsSilent) {
+ cout<<inOutputString<<endl;
+ }
+}
+
+
+void dumpHelpScreen()
+{
+ emit("Copyright(C) 2004-2006 CSIRO ICT Centre Australia. All rights reserved.");
+ emit("");
+ emit("Usage: transcodeToOgg [options] <input file> <output file>");
+ emit("");
+ emit("Command line options");
+ emit("====================");
+
+ emit("-?, -h : Display help message");
+ emit("-s : Silent operation");
+ emit("-i : Ignore warnings fallback to default");
+ emit("-d : Verbose mode");
+ emit("-vq[qual_val] : Vorbis quality setting");
+ emit("-vr[sample_rate] : Vorbis sample rate");
+ emit("-vw[sample_width] : Vorbis sample width");
+ emit("-vc[channels] : Vorbis num channels");
+ emit("-tq[qual_val] : Theora quality setting");
+ emit("-tr[frame_rate] : Theora frame rate");
+ emit("-th[frame_height] : Theora frame height");
+ emit("-tw[frame_width] : Theora frame width");
+ emit("-tb[target_bitrate: Theora target bitrate");
+ emit("");
+ emit("Examples");
+ emit("========");
+ emit("transcodeToOgg -vq6 myaudio.mp3 myaudio.ogg");
+ emit("transcodeToOgg -vq3 -tr24 -tw320 -th240 myvideo.wmv myvideo.ogg");
+
+
+
+}
+
+bool isInRange(unsigned long inValue, unsigned long inMin, unsigned long inMax)
+{
+ return ((inValue >= inMin) && (inValue <= inMax));
+
+}
+bool parametersAreValid()
+{
+ bool locIsValid = true;
+
+ if (!isInRange(gVideoParams.desiredTheoraQuality, 0, 63)) {
+ emit("Theora quality must be 0-63 ("+StringHelper::numToString(gVideoParams.desiredTheoraQuality)+")");
+ locIsValid = false;
+ }
+
+ if (!isInRange(gAudioParams.desiredNumChannels, 0, 2)) {
+ emit("Number of channels can't be more than 2 ("+StringHelper::numToString(gAudioParams.desiredNumChannels)+")");
+ locIsValid = false;
+ }
+
+ unsigned long locSW = gAudioParams.desiredSampleWidth;
+
+ if (!((locSW == 0) || (locSW == 8) || (locSW == 16))) {
+ emit("Sample width must be 0(same as source), 8 or 16");
+ locIsValid = false;
+ }
+
+ if (!isInRange(gAudioParams.desiredVorbisQuality, 0, 99)) {
+ emit("Vorbis quality must be 0-9 ("+StringHelper::numToString(gAudioParams.desiredVorbisQuality)+")");
+ locIsValid = false;
+ }
+
+ if ((gVideoParams.desiredHeight & 1) != 0) {
+ emit("Theora height value must be even ("+StringHelper::numToString(gVideoParams.desiredHeight)+")");
+ locIsValid = false;
+ }
+
+ if ((gVideoParams.desiredWidth & 1) != 0) {
+ emit("Theora width value must be even ("+StringHelper::numToString(gVideoParams.desiredWidth)+")");
+ locIsValid = false;
+ }
+
+ if (gRequestedVideoBitrate && gRequestedVideoQuality) {
+ emit("Specify either bitrate or quality, not both");
+ locIsValid = false;
+ }
+ return locIsValid;
+}
+void initialiseGlobalSettings()
+{
+ gVideoParams.desiredFrameRate = 0;
+ gVideoParams.desiredHeight = 0;
+ gVideoParams.desiredTheoraBitrate = 350000;
+ gVideoParams.desiredTheoraQuality = 50;
+ gVideoParams.desiredWidth = 0;
+
+ gAudioParams.desiredNumChannels = 0;
+ gAudioParams.desiredSampleRate = 0;
+ gAudioParams.desiredSampleWidth = 0;
+ gAudioParams.desiredVorbisQuality = 30;
+
+ gIsSilent = false;
+ gIsVerbose = false;
+ gIsIgnoreWarnings = false;
+ gRequestedVideoQuality = false;
+ gRequestedVideoBitrate = false;
+
+ gInputFile = "";
+ gOutputFile = "";
+
+
+
+}
+
+
+int getNumericParam(string inArgString)
+{
+ //Note: Assumes that the first three characters are not part of the number
+
+ string locNumString = inArgString.substr(3);
+ if (locNumString.size() == 0) {
+ return -1;
+ } else {
+ try {
+ int retParam = StringHelper::stringToNum(locNumString);
+ return (int)retParam;
+ } catch(...) {
+ return -1;
+ }
+ }
+
+}
+
+
+bool loadSettingsFromCommandArgs(int argc, _TCHAR* argv[])
+{
+ //Load all the args into a vector
+
+ gCommandArgs.clear();
+
+
+
+ if (argc < 3) {
+ //emit("Not enough arguments");
+ //emit("");
+ dumpHelpScreen();
+ return false;
+ }
+ string locArgString;
+
+ for (int i = 1; i < argc; i++) {
+ locArgString = argv[i];
+ gCommandArgs.push_back(locArgString);
+ }
+
+ for (size_t i = 0; i < gCommandArgs.size(); i++) {
+ locArgString = gCommandArgs[i];
+
+ if (locArgString[0] == _T('-')) {
+ //Command arg
+ if (locArgString.find(_T("-?")) == 0) {
+
+ dumpHelpScreen();
+ return false;
+ } else if (locArgString.find(_T("-h")) == 0) {
+ dumpHelpScreen();
+ return false;
+ } else if (locArgString.find(_T("-vq")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid vorbis quality");
+ return false;
+ } else {
+
+ //TODO::: Validate range
+ //We accept 0-9, but the value given has to be 0-99
+ gAudioParams.desiredVorbisQuality = locNumericParam * 10;
+ }
+
+ } else if (locArgString.find(_T("-vr")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid vorbis sample rate");
+ return false;
+ } else {
+
+ gAudioParams.desiredSampleRate = locNumericParam;
+ }
+
+ } else if (locArgString.find(_T("-vw")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid resampling sample width");
+ return false;
+ } else {
+ gAudioParams.desiredSampleWidth = locNumericParam;
+ }
+
+ } else if (locArgString.find(_T("-vc")) == 0) {
+
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid no. channels argument");
+ return false;
+ } else {
+ gAudioParams.desiredNumChannels = locNumericParam;
+ }
+ } else if (locArgString.find(_T("-tq")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid theora quality argument");
+ return false;
+ } else {
+ gVideoParams.desiredTheoraQuality = locNumericParam;
+
+ gVideoParams.desiredTheoraBitrate = 0;
+ gRequestedVideoQuality = true;
+ }
+
+ } else if (locArgString.find(_T("-tr")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid theora frame rate argument");
+ return false;
+ } else {
+ gVideoParams.desiredFrameRate = locNumericParam;
+ }
+
+
+
+ } else if (locArgString.find(_T("-th")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid theora height argument");
+ return false;
+ } else {
+ gVideoParams.desiredHeight = locNumericParam;
+
+ }
+
+ } else if (locArgString.find(_T("-tw")) == 0) {
+ int locNumericParam = getNumericParam(locArgString);
+
+ if (locNumericParam == -1) {
+ emitError("Invalid theora width argument");
+
+ return false;
+ } else {
+ gVideoParams.desiredWidth = locNumericParam;
+ }
+ } else if (locArgString.find(_T("-tb")) == 0) {
+ int locNumericParam = getNumericParam(locArgString)*1000;
+
+ if (locNumericParam == -1) {
+ emitError("Invalid theora bitrate argument");
+
+ return false;
+ } else {
+ gVideoParams.desiredTheoraBitrate = locNumericParam;
+ gVideoParams.desiredTheoraQuality = 0;
+ gRequestedVideoBitrate = true;
+
+ }
+
+ } else if (locArgString.find(_T("-s")) == 0) {
+ if (locArgString.size() == 2) {
+ gIsSilent = true;
+ } else {
+ emitError("Invalid silent operation parameter.");
+ return false;
+ }
+
+ } else if (locArgString.find(_T("-i")) == 0) {
+ emit("-i option not implemented");
+ } else if (locArgString.find(_T("-d")) == 0) {
+ if (locArgString.size() == 2) {
+ gIsVerbose = true;
+ } else {
+ emitError("Invalid verbose debug parameter");
+ return false;
+ }
+ } else {
+ //Unknown
+ emitError("Unknown argument: (" + locArgString +")");
+ return false;
+ }
+ } else {
+ //Filename
+ if (gInputFile == "") {
+ gInputFile = locArgString;
+ } else if (gOutputFile == "") {
+ gOutputFile = locArgString;
+ } else {
+ emitError("Too many non-option parameters");
+ return false;
+ }
+
+ }
+ }
+
+
+ return parametersAreValid();
+
+
+}
+
+int runProgram(int argc, _TCHAR* argv[]) {
+
+ CoInitialize(NULL);
+
+
+ initialiseGlobalSettings();
+ //if (argc != 3) {
+ // cout<<"Usage : transcodeToOgg <input media file> <output ogg file>"<<endl;
+ // return 1;
+ //}
+ if (!loadSettingsFromCommandArgs(argc, argv)) {
+ return -1;
+ }
+
+
+ string locInFile = gInputFile;
+ string locOutFile = gOutputFile;
+
+ wstring locWInFile = StringHelper::toWStr(locInFile);
+ wstring locWOutFile = StringHelper::toWStr(locOutFile);
+
+ emit("Source File: "+locInFile);
+ emit("Output File: "+locOutFile);
+
+ //Step 1 : Render Original Media
+ IFilterGraph* locFilterGraph = NULL;
+ HRESULT locHR = S_OK;
+
+ wstring fname = locWInFile; //L"D:\\testfiles\\cw3.ogg";
+ DSGraphHelper::RenderFile(fname, &locFilterGraph);
+
+ if (locFilterGraph == NULL) {
+ emitError("Couldn't render original file");
+ return 2;
+ }
+
+ debugEmit("File rendered");
+
+ //Step 2 : Remove renderers
+ debugEmit("Graph Built : Removing renderers");
+
+ vector<IPin*>* locPinStubs = new vector<IPin*>;
+ DSGraphHelper::RemoveRenderers(locFilterGraph, locPinStubs);
+
+ //Step 3 : Add Other filters...
+
+ debugEmit("Attaching Encoders");
+ vector<IBaseFilter*> locFiltersForMux;
+ PIN_INFO locPinInfo;
+ for (size_t i = 0; i < locPinStubs->size(); i++) {
+ (*locPinStubs)[i]->QueryPinInfo(&locPinInfo);
+ //wcout<<L"Pin "<<i+1<<L" : "<<locPinInfo.achName<<endl;
+ debugEmit("Pin "+ StringHelper::toNarrowStr(locPinInfo.achName));
+
+ if (DSGraphHelper::IsAudioPin((*locPinStubs)[i])) {
+ debugEmit("Creating a vorbis encoder...");
+
+ //***** Here is where you'd set resample data from the command line
+ sAudioResampleParams locResampleParams = gAudioParams;
+ //locResampleParams.desiredNumChannels = 0;
+ //locResampleParams.desiredSampleRate = 0;
+ //locResampleParams.desiredSampleWidth = 0;
+
+ //IBaseFilter* locRetFilter = DSGraphHelper::AttachVorbisEncoder(locFilterGraph, (*locPinStubs)[i]);
+ IBaseFilter* locRetFilter = DSGraphHelper::AttachResampledVorbisEncoder(locFilterGraph, (*locPinStubs)[i], locResampleParams);
+
+ if (locRetFilter != NULL) {
+ debugEmit("Attached filter OK.");
+ locFiltersForMux.push_back(locRetFilter);
+ } else {
+ emitError("Attach audio encoder failed");
+ }
+
+ } else if (DSGraphHelper::IsVideoPin((*locPinStubs)[i])) {
+ debugEmit("Creating a theora encoder...");
+ //IBaseFilter* locRetFilter = DSGraphHelper::AttachTheoraEncoder(locFilterGraph, (*locPinStubs)[i]);
+
+ //***** Here is where you'd set resample data from the command line
+ sVideoResampleParams locResampleParams = gVideoParams;
+ //locResampleParams.desiredFrameRate = 0;
+ //locResampleParams.desiredHeight = 0;
+ //locResampleParams.desiredWidth = 0;
+ IBaseFilter* locRetFilter = DSGraphHelper::AttachResampledTheoraEncoder(locFilterGraph, (*locPinStubs)[i], locResampleParams);
+
+ if (locRetFilter != NULL) {
+ debugEmit("Attached filter OK.");
+ locFiltersForMux.push_back(locRetFilter);
+ } else {
+ emitError("Attach video encoder failed");
+ }
+
+ } else {
+ debugEmit("Found unknown pin, trying to ignore it.");
+ }
+
+ //TODO::: Release the string
+ //Release the pointer to the pins parent filter in PIN_INFO.
+ locPinInfo.pFilter->Release();
+
+ }
+
+ //Step 4 : Add and connect ogg mux...
+ IBaseFilter* locOggMux = DSGraphHelper::AttachEncodersToOggMux(locFilterGraph, locFiltersForMux, locWOutFile);// L"D:\\testfiles\\xxxxx111.ogg");
+
+ if (locOggMux == NULL) {
+ emitError("Mux attachment failed");
+ } else {
+ debugEmit("Mux attachment ok");
+ }
+
+ //Step 5 : Get a media control interface from the graph
+
+ IMediaControl* locMediaControl = NULL;
+
+ locHR = locFilterGraph->QueryInterface(IID_IMediaControl, (void**)&locMediaControl);
+
+ if (locHR != S_OK) {
+ emitError("Failed to get media controller");
+ return 0;
+ }
+
+ //Step 6 : Get a media event handle
+ IMediaEvent* locMediaEvent = NULL;
+ locHR = locFilterGraph->QueryInterface(IID_IMediaEvent, (void**)&locMediaEvent);
+
+ if (locHR != S_OK) {
+ emitError("Failed to get media event handler");
+ return 0;
+ }
+
+
+
+ HANDLE hEvent;
+ long evCode, param1, param2;
+ BOOLEAN bDone = FALSE;
+ HRESULT hr = S_OK;
+ hr = locMediaEvent->GetEventHandle((OAEVENT*)&hEvent);
+ if (FAILED(hr)) {
+ emitError("Couldn't get event handle");
+ return 0;
+ }
+
+ debugEmit("Calling run on the graph...");
+
+ //Step 7 : Start the encoding loop.
+ locMediaControl->Run();
+ while(!bDone) {
+ if (WAIT_OBJECT_0 == WaitForSingleObject(hEvent, 100)) {
+ while (hr = locMediaEvent->GetEvent(&evCode, ¶m1, ¶m2, 0), SUCCEEDED(hr)) {
+ //printf("Event code: %#04x\n Params: %d, %d\n", evCode, param1, param2);
+ debugEmit("Event : " + StringHelper::numToString(evCode) + " Params : " + StringHelper::numToString(param1)+", "+StringHelper::numToString(param2));
+ locMediaEvent->FreeEventParams(evCode, param1, param2);
+ bDone = (EC_COMPLETE == evCode);
+ }
+ }
+ }
+
+ debugEmit("Finished...");
+
+ return 0;
+}
+
+
+int __cdecl _tmain(int argc, _TCHAR* argv[])
+{
+ return runProgram(argc, argv);
+}
+
Property changes on: AnxCreator/transcodeToOgg/transcodeToOgg.cpp
___________________________________________________________________
Name: svn:executable
+
Added: AnxCreator/transcodeToOgg/transcodeToOgg.vcproj
===================================================================
--- AnxCreator/transcodeToOgg/transcodeToOgg.vcproj (rev 0)
+++ AnxCreator/transcodeToOgg/transcodeToOgg.vcproj 2008-11-01 11:21:57 UTC (rev 3758)
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="transcodeToOgg"
+ ProjectGUID="{D1A3081E-4472-497B-BC7B-9C1840FF73A1}"
+ RootNamespace="transcodeToOgg"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""c:\Program Files\Microsoft Platform SDK\Include";"C:\Program Files\Microsoft DirectX SDK (April 2007)\Include";..\libDSGraphManip;..\..\oggdsf\src\lib\helper;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="4"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/transcodeToOgg.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories=""c:\Program Files\Microsoft DirectX SDK (April 2007)\Lib";"c:\Program Files\Microsoft Platform SDK\Lib""
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile="$(OutDir)/transcodeToOgg.pdb"
+ SubSystem="1"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""C:\Program Files\Microsoft DirectX SDK (April 2007)\Include";"c:\Program Files\Microsoft Platform SDK\Include";..\libDSGraphManip;..\..\oggdsf\src\lib\helper;..\dsfAudioResampleFilter;..\dsfVideoResampleFilter;..\..\oggdsf\src\lib\codecs\cmml;..\..\oggdsf\src\lib\codecs\vorbis\filters\dsfVorbisEncoder;..\..\oggdsf\src\lib\codecs\theora\filters\dsfTheoraEncoder"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="2"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ DebugInformationFormat="3"
+ CallingConvention="2"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="strmiids.lib"
+ OutputFile="$(OutDir)/transcodeToOgg.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories=""C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib";"c:\Program Files\Microsoft Platform SDK\Lib""
+ GenerateDebugInformation="true"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <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=".\transcodeToOgg.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <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"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ <File
+ RelativePath=".\ReadMe.txt"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
Property changes on: AnxCreator/transcodeToOgg/transcodeToOgg.vcproj
___________________________________________________________________
Name: svn:executable
+
More information about the commits
mailing list