From 3ae36b7855a3b9b930430603d8c8f61bb934c424 Mon Sep 17 00:00:00 2001
From: Berke Viktor <berkeviktor@aol.com>
Date: Sun, 10 Jun 2012 16:30:23 +0200
Subject: Add projects for making the installer

---
 win32/installer/installer.vcxproj         | 59 +++++++++++++++++++++++++++++++
 win32/installer/installer.vcxproj.filters | 17 +++++++++
 2 files changed, 76 insertions(+)
 create mode 100644 win32/installer/installer.vcxproj
 create mode 100644 win32/installer/installer.vcxproj.filters

(limited to 'win32/installer')

diff --git a/win32/installer/installer.vcxproj b/win32/installer/installer.vcxproj
new file mode 100644
index 00000000..a8ca84fa
--- /dev/null
+++ b/win32/installer/installer.vcxproj
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}</ProjectGuid>
+    <RootNamespace>installer</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\xchat.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup />
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <PreBuildEvent>
+      <Command>echo [Setup] &gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+echo WizardImageFile="$(SolutionDir)\bitmaps\wizardimage.bmp" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+echo WizardSmallImageFile="$(SolutionDir)\bitmaps\wizardsmallimage.bmp" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -a32 &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -v &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -i &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -o32 &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+echo SetupIconFile="$(SolutionDir)\..\xchat.ico" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+type "$(SolutionDir)\xchat-wdk-x86.skel.iss" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
+"$(ProgramFiles)\Inno Setup 5\compil32" /cc "$(SolutionDir)\xchat-wdk-x86.iss"</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/win32/installer/installer.vcxproj.filters b/win32/installer/installer.vcxproj.filters
new file mode 100644
index 00000000..47cfb34e
--- /dev/null
+++ b/win32/installer/installer.vcxproj.filters
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+</Project>
\ No newline at end of file
-- 
cgit 1.4.1


From 593efa703b6914f963533da513576a26e744ead9 Mon Sep 17 00:00:00 2001
From: Berke Viktor <berkeviktor@aol.com>
Date: Fri, 15 Jun 2012 21:37:48 +0200
Subject: LOTS of fixes to the VS solution

---
 plugins/checksum/checksum.vcxproj             |    2 +
 plugins/dns/dns.vcxproj                       |    2 +
 plugins/doat/doat.vcxproj                     |    2 +
 plugins/exec/exec.vcxproj                     |    2 +
 plugins/fishlim/fishlim.vcxproj               |    2 +
 plugins/lua/lua.vcxproj                       |    2 +
 plugins/mpcinfo/mpcinfo.vcxproj               |    2 +
 plugins/perl/perl-512.vcxproj                 |   11 +-
 plugins/perl/perl-514.vcxproj                 |   11 +-
 plugins/perl/perl-516.vcxproj                 |   11 +-
 plugins/python/python.vcxproj                 |    2 +
 plugins/tcl/tcl.vcxproj                       |    2 +
 plugins/upd/upd.vcxproj                       |    2 +
 plugins/winamp/winamp.vcxproj                 |    2 +
 plugins/winsys/winsys.vcxproj                 |    2 +
 plugins/wmpa/wmpa.vcxproj                     |    2 +
 plugins/xsasl/xsasl.vcxproj                   |    2 +
 plugins/xtray/xtray.vcxproj                   |    2 +
 src/common/common.vcxproj                     |    5 +-
 src/dirent/dirent.vcxproj                     |    2 +
 src/fe-gtk/fe-gtk.vcxproj                     |    2 +
 src/fe-text/fe-text.vcxproj                   |    2 +
 src/pixmaps/pixmaps.vcxproj                   |    4 +-
 src/version/version.c                         |   20 +-
 src/version/version.vcxproj                   |    4 +-
 win32/bitmaps/wizardimage.bmp                 |  Bin 52062 -> 0 bytes
 win32/bitmaps/wizardsmallimage.bmp            |  Bin 9798 -> 0 bytes
 win32/copy/copy.vcxproj                       |   21 +-
 win32/copy/copy.vcxproj.filters               |   46 +-
 win32/copy/etc/download.png                   |  Bin 0 -> 703 bytes
 win32/copy/etc/gtk-2.0/gtkrc                  |   71 +
 win32/copy/etc/gtkpref.png                    |  Bin 0 -> 323 bytes
 win32/copy/etc/music.png                      |  Bin 0 -> 3577 bytes
 win32/copy/etc/system.png                     |  Bin 0 -> 3578 bytes
 win32/copy/share/xml/iso-codes/iso_3166.xml   | 1703 +++++++++++++++++++
 win32/copy/share/xml/iso-codes/iso_639.xml    | 2169 +++++++++++++++++++++++++
 win32/etc/download.png                        |  Bin 703 -> 0 bytes
 win32/etc/gtk-2.0/gtkrc                       |   71 -
 win32/etc/gtkpref.png                         |  Bin 323 -> 0 bytes
 win32/etc/music.png                           |  Bin 3577 -> 0 bytes
 win32/etc/system.png                          |  Bin 3578 -> 0 bytes
 win32/installer/installer.vcxproj             |   32 +-
 win32/installer/installer.vcxproj.filters     |   28 +-
 win32/installer/watercolorlite-blue.cjstyles  |  Bin 0 -> 308224 bytes
 win32/installer/watercolorlite-green.cjstyles |  Bin 0 -> 308224 bytes
 win32/installer/wizardimage.bmp               |  Bin 0 -> 52062 bytes
 win32/installer/wizardsmallimage.bmp          |  Bin 0 -> 9798 bytes
 win32/installer/xchat-wdk-x64.skel.iss        |  279 ++++
 win32/installer/xchat-wdk-x86.skel.iss        |  282 ++++
 win32/isskin/watercolorlite-blue.cjstyles     |  Bin 308224 -> 0 bytes
 win32/isskin/watercolorlite-green.cjstyles    |  Bin 308224 -> 0 bytes
 win32/nls/nls.vcxproj                         |   13 +-
 win32/share/themes/Murrine/gtk-2.0/gtkrc      |    7 -
 win32/share/xml/iso-codes/iso_3166.xml        | 1703 -------------------
 win32/share/xml/iso-codes/iso_639.xml         | 2169 -------------------------
 win32/xchat-wdk-x64.skel.iss                  |  279 ----
 win32/xchat-wdk-x86.skel.iss                  |  282 ----
 win32/xchat.props                             |    2 +-
 win32/xchat.sln                               |   24 +-
 59 files changed, 4718 insertions(+), 4565 deletions(-)
 delete mode 100644 win32/bitmaps/wizardimage.bmp
 delete mode 100644 win32/bitmaps/wizardsmallimage.bmp
 create mode 100644 win32/copy/etc/download.png
 create mode 100644 win32/copy/etc/gtk-2.0/gtkrc
 create mode 100644 win32/copy/etc/gtkpref.png
 create mode 100644 win32/copy/etc/music.png
 create mode 100644 win32/copy/etc/system.png
 create mode 100644 win32/copy/share/xml/iso-codes/iso_3166.xml
 create mode 100644 win32/copy/share/xml/iso-codes/iso_639.xml
 delete mode 100644 win32/etc/download.png
 delete mode 100644 win32/etc/gtk-2.0/gtkrc
 delete mode 100644 win32/etc/gtkpref.png
 delete mode 100644 win32/etc/music.png
 delete mode 100644 win32/etc/system.png
 create mode 100644 win32/installer/watercolorlite-blue.cjstyles
 create mode 100644 win32/installer/watercolorlite-green.cjstyles
 create mode 100644 win32/installer/wizardimage.bmp
 create mode 100644 win32/installer/wizardsmallimage.bmp
 create mode 100644 win32/installer/xchat-wdk-x64.skel.iss
 create mode 100644 win32/installer/xchat-wdk-x86.skel.iss
 delete mode 100644 win32/isskin/watercolorlite-blue.cjstyles
 delete mode 100644 win32/isskin/watercolorlite-green.cjstyles
 delete mode 100644 win32/share/themes/Murrine/gtk-2.0/gtkrc
 delete mode 100644 win32/share/xml/iso-codes/iso_3166.xml
 delete mode 100644 win32/share/xml/iso-codes/iso_639.xml
 delete mode 100644 win32/xchat-wdk-x64.skel.iss
 delete mode 100644 win32/xchat-wdk-x86.skel.iss

(limited to 'win32/installer')

diff --git a/plugins/checksum/checksum.vcxproj b/plugins/checksum/checksum.vcxproj
index cbfa2a2d..c4090cd1 100644
--- a/plugins/checksum/checksum.vcxproj
+++ b/plugins/checksum/checksum.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcchecksum</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/dns/dns.vcxproj b/plugins/dns/dns.vcxproj
index b98c778f..38f1634b 100644
--- a/plugins/dns/dns.vcxproj
+++ b/plugins/dns/dns.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcdns</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/doat/doat.vcxproj b/plugins/doat/doat.vcxproj
index f0168a6b..c6901fe1 100644
--- a/plugins/doat/doat.vcxproj
+++ b/plugins/doat/doat.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcdoat</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/exec/exec.vcxproj b/plugins/exec/exec.vcxproj
index cef4049c..15bf5ec5 100644
--- a/plugins/exec/exec.vcxproj
+++ b/plugins/exec/exec.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcexec</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/fishlim/fishlim.vcxproj b/plugins/fishlim/fishlim.vcxproj
index 1cf5293f..0f6e1c38 100644
--- a/plugins/fishlim/fishlim.vcxproj
+++ b/plugins/fishlim/fishlim.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcfishlim</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/lua/lua.vcxproj b/plugins/lua/lua.vcxproj
index 69a8e4ea..26d21856 100644
--- a/plugins/lua/lua.vcxproj
+++ b/plugins/lua/lua.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>$(LuaOutput)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/mpcinfo/mpcinfo.vcxproj b/plugins/mpcinfo/mpcinfo.vcxproj
index 04182d50..7f12822e 100644
--- a/plugins/mpcinfo/mpcinfo.vcxproj
+++ b/plugins/mpcinfo/mpcinfo.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcmpcinfo</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/perl/perl-512.vcxproj b/plugins/perl/perl-512.vcxproj
index 440496f3..d924af48 100644
--- a/plugins/perl/perl-512.vcxproj
+++ b/plugins/perl/perl-512.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>$(Perl512Output)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -41,7 +43,7 @@
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL512_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
-      <AdditionalIncludeDirectories>$(Perl512Path)\perl\lib\CORE;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(Perl512Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
@@ -55,8 +57,11 @@
     </Link>
     <PreBuildEvent>
       <Command>"$(GendefPath)\gendef" "$(Perl512Path)\perl\bin\$(Perl512Lib).dll"
-lib /nologo /machine:x86 "/def:$(Perl512Lib).def" "/out:$(OutputPath)\$(Perl512Lib).lib"
-"$(Perl512Path)\perl\bin\perl.exe" generate_header</Command>
+move $(Perl512Lib).def "$(IntDir)"
+lib /nologo /machine:x86 "/def:$(IntDir)$(Perl512Lib).def" "/out:$(OutDir)\$(Perl512Lib).lib"
+"$(Perl512Path)\perl\bin\perl.exe" generate_header
+move irc.pm.h "$(IntDir)"
+move xchat.pm.h "$(IntDir)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
diff --git a/plugins/perl/perl-514.vcxproj b/plugins/perl/perl-514.vcxproj
index 04865562..58cc4f04 100644
--- a/plugins/perl/perl-514.vcxproj
+++ b/plugins/perl/perl-514.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>$(Perl514Output)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -40,7 +42,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL514_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(Perl514Path)\perl\lib\CORE;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(Perl514Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <Link>
@@ -55,8 +57,11 @@
     </Link>
     <PreBuildEvent>
       <Command>"$(GendefPath)\gendef" "$(Perl514Path)\perl\bin\$(Perl514Lib).dll"
-lib /nologo /machine:x86 "/def:$(Perl514Lib).def" "/out:$(OutputPath)\$(Perl514Lib).lib"
-"$(Perl514Path)\perl\bin\perl.exe" generate_header</Command>
+move $(Perl514Lib).def "$(IntDir)"
+lib /nologo /machine:x86 "/def:$(IntDir)$(Perl514Lib).def" "/out:$(OutDir)\$(Perl514Lib).lib"
+"$(Perl514Path)\perl\bin\perl.exe" generate_header
+move irc.pm.h "$(IntDir)"
+move xchat.pm.h "$(IntDir)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
diff --git a/plugins/perl/perl-516.vcxproj b/plugins/perl/perl-516.vcxproj
index 5a3c620d..516c1b80 100644
--- a/plugins/perl/perl-516.vcxproj
+++ b/plugins/perl/perl-516.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>$(Perl516Output)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -40,7 +42,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PERL516_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(Perl516Path)\perl\lib\CORE;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(Perl516Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <MultiProcessorCompilation>true</MultiProcessorCompilation>
     </ClCompile>
     <Link>
@@ -55,8 +57,11 @@
     </Link>
     <PreBuildEvent>
       <Command>"$(GendefPath)\gendef" "$(Perl516Path)\perl\bin\$(Perl516Lib).dll"
-lib /nologo /machine:x86 "/def:$(Perl516Lib).def" "/out:$(OutputPath)\$(Perl516Lib).lib"
-"$(Perl516Path)\perl\bin\perl.exe" generate_header</Command>
+move $(Perl516Lib).def "$(IntDir)"
+lib /nologo /machine:x86 "/def:$(IntDir)$(Perl516Lib).def" "/out:$(OutDir)\$(Perl516Lib).lib"
+"$(Perl516Path)\perl\bin\perl.exe" generate_header
+move irc.pm.h "$(IntDir)"
+move xchat.pm.h "$(IntDir)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
diff --git a/plugins/python/python.vcxproj b/plugins/python/python.vcxproj
index de0fadea..923eeb92 100644
--- a/plugins/python/python.vcxproj
+++ b/plugins/python/python.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>$(PythonOutput)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/tcl/tcl.vcxproj b/plugins/tcl/tcl.vcxproj
index fa69aa33..baa188f6 100644
--- a/plugins/tcl/tcl.vcxproj
+++ b/plugins/tcl/tcl.vcxproj
@@ -40,6 +40,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>$(TclOutput)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/upd/upd.vcxproj b/plugins/upd/upd.vcxproj
index ee00dc1a..9cf7c017 100644
--- a/plugins/upd/upd.vcxproj
+++ b/plugins/upd/upd.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcupd</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/winamp/winamp.vcxproj b/plugins/winamp/winamp.vcxproj
index 3924b8b2..0a1eb419 100644
--- a/plugins/winamp/winamp.vcxproj
+++ b/plugins/winamp/winamp.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcwinamp</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/winsys/winsys.vcxproj b/plugins/winsys/winsys.vcxproj
index 1466e8e7..656f6ee9 100644
--- a/plugins/winsys/winsys.vcxproj
+++ b/plugins/winsys/winsys.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcwinsys</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/wmpa/wmpa.vcxproj b/plugins/wmpa/wmpa.vcxproj
index b231d0b0..630cef4d 100644
--- a/plugins/wmpa/wmpa.vcxproj
+++ b/plugins/wmpa/wmpa.vcxproj
@@ -31,6 +31,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcwmpa</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/xsasl/xsasl.vcxproj b/plugins/xsasl/xsasl.vcxproj
index 9bb8fb24..7e0c41d7 100644
--- a/plugins/xsasl/xsasl.vcxproj
+++ b/plugins/xsasl/xsasl.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xcxsasl</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/plugins/xtray/xtray.vcxproj b/plugins/xtray/xtray.vcxproj
index 1dc97f30..1f7aa5cf 100644
--- a/plugins/xtray/xtray.vcxproj
+++ b/plugins/xtray/xtray.vcxproj
@@ -29,6 +29,8 @@
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/src/common/common.vcxproj b/src/common/common.vcxproj
index f0a730b7..b57b2ccf 100644
--- a/src/common/common.vcxproj
+++ b/src/common/common.vcxproj
@@ -90,7 +90,10 @@
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
diff --git a/src/dirent/dirent.vcxproj b/src/dirent/dirent.vcxproj
index 65fa2fb0..8ac38f92 100644
--- a/src/dirent/dirent.vcxproj
+++ b/src/dirent/dirent.vcxproj
@@ -35,6 +35,8 @@
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <TargetName>$(ProjectName)-win32</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/src/fe-gtk/fe-gtk.vcxproj b/src/fe-gtk/fe-gtk.vcxproj
index 68390d03..fce8d3e6 100644
--- a/src/fe-gtk/fe-gtk.vcxproj
+++ b/src/fe-gtk/fe-gtk.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xchat</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/src/fe-text/fe-text.vcxproj b/src/fe-text/fe-text.vcxproj
index 389c7b5e..ac7068ec 100644
--- a/src/fe-text/fe-text.vcxproj
+++ b/src/fe-text/fe-text.vcxproj
@@ -30,6 +30,8 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <TargetName>xchat-text</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
diff --git a/src/pixmaps/pixmaps.vcxproj b/src/pixmaps/pixmaps.vcxproj
index ba88104d..3fda0fef 100644
--- a/src/pixmaps/pixmaps.vcxproj
+++ b/src/pixmaps/pixmaps.vcxproj
@@ -29,6 +29,8 @@
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -47,7 +49,7 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
     <PostBuildEvent>
-      <Command>"$(DepsRoot)\bin\gdk-pixbuf-csource" --build-list $(Pixmaps) > "$(SolutionDir)\..\src\pixmaps\inline_pngs.h"</Command>
+      <Command>"$(DepsRoot)\bin\gdk-pixbuf-csource" --build-list $(Pixmaps) &gt; "$(SolutionDir)\..\src\pixmaps\inline_pngs.h"</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
diff --git a/src/version/version.c b/src/version/version.c
index 14312a43..53af5675 100644
--- a/src/version/version.c
+++ b/src/version/version.c
@@ -76,13 +76,13 @@ main (int argc, char *argv[])
 		{
 			printf ("#define COMMA_VERSION %s\n", comma ());
 		}
-		else if (!strcmp (argv[1], "-a32"))	/* xchat-wdk.iss/AppVerName */
-		{
-			printf ("AppVerName=XChat-WDK %s (x86)\n", PACKAGE_VERSION);
-		}
-		else if (!strcmp (argv[1], "-a64"))	/* xchat-wdk.iss/AppVerName */
+		else if (!strcmp (argv[1], "-a"))	/* xchat-wdk.iss/AppVerName */
 		{
+#ifdef _WIN64
 			printf ("AppVerName=XChat-WDK %s (x64)\n", PACKAGE_VERSION);
+#else
+			printf ("AppVerName=XChat-WDK %s (x86)\n", PACKAGE_VERSION);
+#endif
 		}
 		else if (!strcmp (argv[1], "-v"))	/* xchat-wdk.iss/AppVersion */
 		{
@@ -92,13 +92,13 @@ main (int argc, char *argv[])
 		{
 			printf ("VersionInfoVersion=%s\n", point ());
 		}
-		else if (!strcmp (argv[1], "-o32"))	/* xchat-wdk.iss/OutputBaseFilename */
-		{
-			printf ("OutputBaseFilename=XChat-WDK %s x86\n", PACKAGE_VERSION);
-		}
-		else if (!strcmp (argv[1], "-o64"))	/* xchat-wdk.iss/OutputBaseFilename */
+		else if (!strcmp (argv[1], "-o"))	/* xchat-wdk.iss/OutputBaseFilename */
 		{
+#ifdef _WIN64
 			printf ("OutputBaseFilename=XChat-WDK %s x64\n", PACKAGE_VERSION);
+#else
+			printf ("OutputBaseFilename=XChat-WDK %s x86\n", PACKAGE_VERSION);
+#endif
 		}
 		else if (!strcmp (argv[1], "-v"))	/* version.txt */
 		{
diff --git a/src/version/version.vcxproj b/src/version/version.vcxproj
index 26c13458..b07b8e2a 100644
--- a/src/version/version.vcxproj
+++ b/src/version/version.vcxproj
@@ -29,6 +29,8 @@
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
@@ -48,7 +50,7 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
     <PostBuildEvent>
-      <Command>"$(OutputPath)\$(TargetName)$(TargetExt)" -r &gt; "$(SolutionDir)\..\resource.h"</Command>
+      <Command>"$(OutDir)\$(TargetName)$(TargetExt)" -r &gt; "$(SolutionDir)\..\resource.h"</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
diff --git a/win32/bitmaps/wizardimage.bmp b/win32/bitmaps/wizardimage.bmp
deleted file mode 100644
index 9f5a4c90..00000000
Binary files a/win32/bitmaps/wizardimage.bmp and /dev/null differ
diff --git a/win32/bitmaps/wizardsmallimage.bmp b/win32/bitmaps/wizardsmallimage.bmp
deleted file mode 100644
index 1bb8b790..00000000
Binary files a/win32/bitmaps/wizardsmallimage.bmp and /dev/null differ
diff --git a/win32/copy/copy.vcxproj b/win32/copy/copy.vcxproj
index d7c6fda7..5b64ddc6 100644
--- a/win32/copy/copy.vcxproj
+++ b/win32/copy/copy.vcxproj
@@ -16,6 +16,7 @@
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -25,7 +26,10 @@
     <Import Project="..\xchat.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -67,8 +71,8 @@ copy "$(DepsRoot)\bin\libpng14-14.dll" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libxml2.dll" "$(XChatDest)"
 xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\2.10.0\engines" "$(XChatDest)\lib\gtk-2.0\2.10.0\engines"
 xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\modules\libgail.dll" "$(XChatDest)\lib\gtk-2.0\modules\"
-xcopy /q /s /i "..\etc" "$(XChatDest)\etc"
-xcopy /q /s /i "..\share" "$(XChatDest)\share"
+xcopy /q /s /i etc "$(XChatDest)\etc"
+xcopy /q /s /i share "$(XChatDest)\share"
 copy "..\..\COPYING" "$(XChatDest)"
 copy "$(DepsRoot)\LICENSE.OPENSSL" "$(XChatDest)"
 copy "$(DepsRoot)\LICENSE.ZLIB" "$(XChatDest)"
@@ -102,13 +106,20 @@ copy "$(OutDir)\xcwinamp.dll" "$(XChatDest)\plugins"
 copy "$(OutDir)\xcwinsys.dll" "$(XChatDest)\plugins"
 copy "$(OutDir)\xcwmpa.dll" "$(XChatDest)\plugins"
 copy "$(DepsRoot)\bin\lua51.dll" "$(XChatDest)"
-xcopy /q /s /i "..\..\po\locale" "$(XChatDest)\locale"
+xcopy /q /s /i "$(OutDir)\locale" "$(XChatDest)\locale"
 xcopy /q /s /i "$(DepsRoot)\share\locale" "$(XChatDest)\share\locale"
 copy "$(ProgramFiles)\Codejock Software\ISSkin\ISSkinU.dll" "$(XChatDest)"
-copy "..\isskin\watercolorlite-green.cjstyles" "$(XChatDest)"</Command>
+copy "..\installer\watercolorlite-green.cjstyles" "$(XChatDest)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <None Include="etc\download.png" />
+    <None Include="etc\gtk-2.0\gtkrc" />
+    <None Include="etc\gtkpref.png" />
+    <None Include="etc\music.png" />
+    <None Include="etc\system.png" />
+    <None Include="share\xml\iso-codes\iso_3166.xml" />
+    <None Include="share\xml\iso-codes\iso_639.xml" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/win32/copy/copy.vcxproj.filters b/win32/copy/copy.vcxproj.filters
index ef1ebf58..f832474d 100644
--- a/win32/copy/copy.vcxproj.filters
+++ b/win32/copy/copy.vcxproj.filters
@@ -1,2 +1,46 @@
 <?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
\ No newline at end of file
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{e02a8c67-767c-4c6e-a854-81fae08cf4da}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files\etc">
+      <UniqueIdentifier>{503881c0-011d-443b-a373-4bfe125dcfa6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files\share">
+      <UniqueIdentifier>{4316433a-2a8e-48f7-9020-e1f4de0d23d1}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files\etc\gtk-2.0">
+      <UniqueIdentifier>{832ebebc-ab71-4bf6-9f3a-02ec748f7c14}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files\share\xml">
+      <UniqueIdentifier>{9a881586-aed2-4f80-ba84-e521e6785566}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files\share\xml\iso-codes">
+      <UniqueIdentifier>{c825f724-0618-4160-97b7-12d6e0f2bc7b}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="etc\download.png">
+      <Filter>Resource Files\etc</Filter>
+    </None>
+    <None Include="etc\gtkpref.png">
+      <Filter>Resource Files\etc</Filter>
+    </None>
+    <None Include="etc\music.png">
+      <Filter>Resource Files\etc</Filter>
+    </None>
+    <None Include="etc\system.png">
+      <Filter>Resource Files\etc</Filter>
+    </None>
+    <None Include="etc\gtk-2.0\gtkrc">
+      <Filter>Resource Files\etc\gtk-2.0</Filter>
+    </None>
+    <None Include="share\xml\iso-codes\iso_639.xml">
+      <Filter>Resource Files\share\xml\iso-codes</Filter>
+    </None>
+    <None Include="share\xml\iso-codes\iso_3166.xml">
+      <Filter>Resource Files\share\xml\iso-codes</Filter>
+    </None>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/win32/copy/etc/download.png b/win32/copy/etc/download.png
new file mode 100644
index 00000000..43253432
Binary files /dev/null and b/win32/copy/etc/download.png differ
diff --git a/win32/copy/etc/gtk-2.0/gtkrc b/win32/copy/etc/gtk-2.0/gtkrc
new file mode 100644
index 00000000..6ac7b76c
--- /dev/null
+++ b/win32/copy/etc/gtk-2.0/gtkrc
@@ -0,0 +1,71 @@
+gtk-font-name = "sans 8"
+
+gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32"
+gtk-toolbar-icon-size = small-toolbar
+
+# disable images in buttons. i've only seen ugly delphi apps use this feature.
+gtk-button-images = 0
+
+# enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
+# the office apps use them heavily, though.
+gtk-menu-images = 1
+
+# use the win32 button ordering instead of the GNOME HIG one, where applicable
+gtk-alternative-button-order = 1
+
+# use the win32 sort indicators direction, as in Explorer
+gtk-alternative-sort-arrows = 1
+
+# Windows users don't expect the PC Speaker beeping at them when they backspace in an empty textview and stuff like that
+gtk-error-bell = 0
+
+# hide mnemonic underlines until the Alt key is pressed (requires gtk 2.18+)
+# gtk-auto-mnemonics = 1
+
+style "msw-default"
+{
+  GtkWidget::interior-focus = 1
+  GtkOptionMenu::indicator-size = { 9, 5 }
+  GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
+  GtkSpinButton::shadow-type = in
+
+  # Owen and I disagree that these should be themable
+  #GtkUIManager::add-tearoffs = 0
+  #GtkComboBox::add-tearoffs = 0
+
+  GtkComboBox::appears-as-list = 1
+  GtkComboBox::focus-on-click = 0
+
+  GOComboBox::add_tearoffs = 0
+
+  GtkTreeView::allow-rules = 0
+  GtkTreeView::expander-size = 12
+
+  GtkExpander::expander-size = 12
+
+  GtkScrolledWindow::scrollbar_spacing = 1
+
+  GtkSeparatorMenuItem::horizontal-padding = 2
+
+  engine "wimp"
+  {
+  }
+}
+class "*" style "msw-default"
+
+binding "ms-windows-tree-view"
+{
+  bind "Right" { "expand-collapse-cursor-row" (1,1,0) }
+  bind "Left" { "expand-collapse-cursor-row" (1,0,0) }
+}
+
+class "GtkTreeView" binding "ms-windows-tree-view"
+
+style "msw-combobox-thickness" = "msw-default"
+{
+  xthickness = 0
+  ythickness = 0
+}
+
+widget_class "*TreeView*ComboBox*" style "msw-combobox-thickness"
+widget_class "*ComboBox*GtkFrame*" style "msw-combobox-thickness"
diff --git a/win32/copy/etc/gtkpref.png b/win32/copy/etc/gtkpref.png
new file mode 100644
index 00000000..9a6c9cf9
Binary files /dev/null and b/win32/copy/etc/gtkpref.png differ
diff --git a/win32/copy/etc/music.png b/win32/copy/etc/music.png
new file mode 100644
index 00000000..3a72f118
Binary files /dev/null and b/win32/copy/etc/music.png differ
diff --git a/win32/copy/etc/system.png b/win32/copy/etc/system.png
new file mode 100644
index 00000000..fc4282c7
Binary files /dev/null and b/win32/copy/etc/system.png differ
diff --git a/win32/copy/share/xml/iso-codes/iso_3166.xml b/win32/copy/share/xml/iso-codes/iso_3166.xml
new file mode 100644
index 00000000..77c72eb2
--- /dev/null
+++ b/win32/copy/share/xml/iso-codes/iso_3166.xml
@@ -0,0 +1,1703 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+This file gives a list of all countries in the ISO 3166
+standard, and is used to provide translations via gettext
+
+Copyright (C) 2002, 2004, 2006 Alastair McKinstry <mckinstry@computer.org>
+Copyright (C) 2004 Andreas Jochens <aj@andaco.de>
+Copyright (C) 2004, 2007 Christian Perrier <bubulle@debian.org>
+Copyright (C) 2005, 2006, 2007 Tobias Quathamer <toddy@debian.org>
+
+    This file is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This file is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this file; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Source: <http://www.iso.org/iso/country_codes>
+-->
+
+<!DOCTYPE iso_3166_entries [
+	<!ELEMENT iso_3166_entries (iso_3166_entry+, iso_3166_3_entry*)>
+	<!ELEMENT iso_3166_entry EMPTY>
+	<!ATTLIST iso_3166_entry
+		alpha_2_code		CDATA	#REQUIRED
+		alpha_3_code		CDATA	#REQUIRED
+		numeric_code		CDATA	#REQUIRED
+		common_name		CDATA	#IMPLIED
+		name			CDATA	#REQUIRED
+		official_name		CDATA	#IMPLIED
+	>
+	<!ELEMENT iso_3166_3_entry EMPTY>
+	<!ATTLIST iso_3166_3_entry
+		alpha_4_code		CDATA	#REQUIRED
+		alpha_3_code		CDATA	#REQUIRED
+		numeric_code		CDATA	#IMPLIED
+		date_withdrawn		CDATA	#IMPLIED
+		names			CDATA	#REQUIRED
+		comment			CDATA	#IMPLIED
+	>
+]>
+
+<iso_3166_entries>
+	<iso_3166_entry
+		alpha_2_code="AF"
+		alpha_3_code="AFG"
+		numeric_code="004"
+		name="Afghanistan"
+		official_name="Islamic Republic of Afghanistan" />
+	<iso_3166_entry
+		alpha_2_code="AX"
+		alpha_3_code="ALA"
+		numeric_code="248"
+		name="Åland Islands" />
+	<iso_3166_entry
+		alpha_2_code="AL"
+		alpha_3_code="ALB"
+		numeric_code="008"
+		name="Albania"
+		official_name="Republic of Albania" />
+	<iso_3166_entry
+		alpha_2_code="DZ"
+		alpha_3_code="DZA"
+		numeric_code="012"
+		name="Algeria"
+		official_name="People's Democratic Republic of Algeria" />
+	<iso_3166_entry
+		alpha_2_code="AS"
+		alpha_3_code="ASM"
+		numeric_code="016"
+		name="American Samoa" />
+	<iso_3166_entry
+		alpha_2_code="AD"
+		alpha_3_code="AND"
+		numeric_code="020"
+		name="Andorra"
+		official_name="Principality of Andorra" />
+	<iso_3166_entry
+		alpha_2_code="AO"
+		alpha_3_code="AGO"
+		numeric_code="024"
+		name="Angola"
+		official_name="Republic of Angola" />
+	<iso_3166_entry
+		alpha_2_code="AI"
+		alpha_3_code="AIA"
+		numeric_code="660"
+		name="Anguilla" />
+	<iso_3166_entry
+		alpha_2_code="AQ"
+		alpha_3_code="ATA"
+		numeric_code="010"
+		name="Antarctica" />
+	<iso_3166_entry
+		alpha_2_code="AG"
+		alpha_3_code="ATG"
+		numeric_code="028"
+		name="Antigua and Barbuda" />
+	<iso_3166_entry
+		alpha_2_code="AR"
+		alpha_3_code="ARG"
+		numeric_code="032"
+		name="Argentina"
+		official_name="Argentine Republic" />
+	<iso_3166_entry
+		alpha_2_code="AM"
+		alpha_3_code="ARM"
+		numeric_code="051"
+		name="Armenia"
+		official_name="Republic of Armenia" />
+	<iso_3166_entry
+		alpha_2_code="AW"
+		alpha_3_code="ABW"
+		numeric_code="533"
+		name="Aruba" />
+	<iso_3166_entry
+		alpha_2_code="AU"
+		alpha_3_code="AUS"
+		numeric_code="036"
+		name="Australia" />
+	<iso_3166_entry
+		alpha_2_code="AT"
+		alpha_3_code="AUT"
+		numeric_code="040"
+		name="Austria"
+		official_name="Republic of Austria" />
+	<iso_3166_entry
+		alpha_2_code="AZ"
+		alpha_3_code="AZE"
+		numeric_code="031"
+		name="Azerbaijan"
+		official_name="Republic of Azerbaijan" />
+	<iso_3166_entry
+		alpha_2_code="BS"
+		alpha_3_code="BHS"
+		numeric_code="044"
+		name="Bahamas"
+		official_name="Commonwealth of the Bahamas" />
+	<iso_3166_entry
+		alpha_2_code="BH"
+		alpha_3_code="BHR"
+		numeric_code="048"
+		name="Bahrain"
+		official_name="Kingdom of Bahrain" />
+	<iso_3166_entry
+		alpha_2_code="BD"
+		alpha_3_code="BGD"
+		numeric_code="050"
+		name="Bangladesh"
+		official_name="People's Republic of Bangladesh" />
+	<iso_3166_entry
+		alpha_2_code="BB"
+		alpha_3_code="BRB"
+		numeric_code="052"
+		name="Barbados" />
+	<iso_3166_entry
+		alpha_2_code="BY"
+		alpha_3_code="BLR"
+		numeric_code="112"
+		name="Belarus"
+		official_name="Republic of Belarus" />
+	<iso_3166_entry
+		alpha_2_code="BE"
+		alpha_3_code="BEL"
+		numeric_code="056"
+		name="Belgium"
+		official_name="Kingdom of Belgium" />
+	<iso_3166_entry
+		alpha_2_code="BZ"
+		alpha_3_code="BLZ"
+		numeric_code="084"
+		name="Belize" />
+	<iso_3166_entry
+		alpha_2_code="BJ"
+		alpha_3_code="BEN"
+		numeric_code="204"
+		name="Benin"
+		official_name="Republic of Benin" />
+	<iso_3166_entry
+		alpha_2_code="BM"
+		alpha_3_code="BMU"
+		numeric_code="060"
+		name="Bermuda" />
+	<iso_3166_entry
+		alpha_2_code="BT"
+		alpha_3_code="BTN"
+		numeric_code="064"
+		name="Bhutan"
+		official_name="Kingdom of Bhutan" />
+	<iso_3166_entry
+		alpha_2_code="BO"
+		alpha_3_code="BOL"
+		numeric_code="068"
+		common_name="Bolivia"
+		name="Bolivia, Plurinational State of"
+		official_name="Plurinational State of Bolivia" />
+	<iso_3166_entry
+		alpha_2_code="BQ"
+		alpha_3_code="BES"
+		numeric_code="535"
+		name="Bonaire, Sint Eustatius and Saba"
+		official_name="Bonaire, Sint Eustatius and Saba" />
+	<iso_3166_entry
+		alpha_2_code="BA"
+		alpha_3_code="BIH"
+		numeric_code="070"
+		name="Bosnia and Herzegovina"
+		official_name="Republic of Bosnia and Herzegovina" />
+	<iso_3166_entry
+		alpha_2_code="BW"
+		alpha_3_code="BWA"
+		numeric_code="072"
+		name="Botswana"
+		official_name="Republic of Botswana" />
+	<iso_3166_entry
+		alpha_2_code="BV"
+		alpha_3_code="BVT"
+		numeric_code="074"
+		name="Bouvet Island" />
+	<iso_3166_entry
+		alpha_2_code="BR"
+		alpha_3_code="BRA"
+		numeric_code="076"
+		name="Brazil"
+		official_name="Federative Republic of Brazil" />
+	<iso_3166_entry
+		alpha_2_code="IO"
+		alpha_3_code="IOT"
+		numeric_code="086"
+		name="British Indian Ocean Territory" />
+	<iso_3166_entry
+		alpha_2_code="BN"
+		alpha_3_code="BRN"
+		numeric_code="096"
+		name="Brunei Darussalam" />
+	<iso_3166_entry
+		alpha_2_code="BG"
+		alpha_3_code="BGR"
+		numeric_code="100"
+		name="Bulgaria"
+		official_name="Republic of Bulgaria" />
+	<iso_3166_entry
+		alpha_2_code="BF"
+		alpha_3_code="BFA"
+		numeric_code="854"
+		name="Burkina Faso" />
+	<iso_3166_entry
+		alpha_2_code="BI"
+		alpha_3_code="BDI"
+		numeric_code="108"
+		name="Burundi"
+		official_name="Republic of Burundi" />
+	<iso_3166_entry
+		alpha_2_code="KH"
+		alpha_3_code="KHM"
+		numeric_code="116"
+		name="Cambodia"
+		official_name="Kingdom of Cambodia" />
+	<iso_3166_entry
+		alpha_2_code="CM"
+		alpha_3_code="CMR"
+		numeric_code="120"
+		name="Cameroon"
+		official_name="Republic of Cameroon" />
+	<iso_3166_entry
+		alpha_2_code="CA"
+		alpha_3_code="CAN"
+		numeric_code="124"
+		name="Canada" />
+	<iso_3166_entry
+		alpha_2_code="CV"
+		alpha_3_code="CPV"
+		numeric_code="132"
+		name="Cape Verde"
+		official_name="Republic of Cape Verde" />
+	<iso_3166_entry
+		alpha_2_code="KY"
+		alpha_3_code="CYM"
+		numeric_code="136"
+		name="Cayman Islands" />
+	<iso_3166_entry
+		alpha_2_code="CF"
+		alpha_3_code="CAF"
+		numeric_code="140"
+		name="Central African Republic" />
+	<iso_3166_entry
+		alpha_2_code="TD"
+		alpha_3_code="TCD"
+		numeric_code="148"
+		name="Chad"
+		official_name="Republic of Chad" />
+	<iso_3166_entry
+		alpha_2_code="CL"
+		alpha_3_code="CHL"
+		numeric_code="152"
+		name="Chile"
+		official_name="Republic of Chile" />
+	<iso_3166_entry
+		alpha_2_code="CN"
+		alpha_3_code="CHN"
+		numeric_code="156"
+		name="China"
+		official_name="People's Republic of China" />
+	<iso_3166_entry
+		alpha_2_code="CX"
+		alpha_3_code="CXR"
+		numeric_code="162"
+		name="Christmas Island" />
+	<iso_3166_entry
+		alpha_2_code="CC"
+		alpha_3_code="CCK"
+		numeric_code="166"
+		name="Cocos (Keeling) Islands" />
+	<iso_3166_entry
+		alpha_2_code="CO"
+		alpha_3_code="COL"
+		numeric_code="170"
+		name="Colombia"
+		official_name="Republic of Colombia" />
+	<iso_3166_entry
+		alpha_2_code="KM"
+		alpha_3_code="COM"
+		numeric_code="174"
+		name="Comoros"
+		official_name="Union of the Comoros" />
+	<iso_3166_entry
+		alpha_2_code="CG"
+		alpha_3_code="COG"
+		numeric_code="178"
+		name="Congo"
+		official_name="Republic of the Congo" />
+	<iso_3166_entry
+		alpha_2_code="CD"
+		alpha_3_code="COD"
+		numeric_code="180"
+		name="Congo, The Democratic Republic of the" />
+	<iso_3166_entry
+		alpha_2_code="CK"
+		alpha_3_code="COK"
+		numeric_code="184"
+		name="Cook Islands" />
+	<iso_3166_entry
+		alpha_2_code="CR"
+		alpha_3_code="CRI"
+		numeric_code="188"
+		name="Costa Rica"
+		official_name="Republic of Costa Rica" />
+	<iso_3166_entry
+		alpha_2_code="CI"
+		alpha_3_code="CIV"
+		numeric_code="384"
+		name="Côte d'Ivoire"
+		official_name="Republic of Côte d'Ivoire" />
+	<iso_3166_entry
+		alpha_2_code="HR"
+		alpha_3_code="HRV"
+		numeric_code="191"
+		name="Croatia"
+		official_name="Republic of Croatia" />
+	<iso_3166_entry
+		alpha_2_code="CU"
+		alpha_3_code="CUB"
+		numeric_code="192"
+		name="Cuba"
+		official_name="Republic of Cuba" />
+	<iso_3166_entry
+		alpha_2_code="CW"
+		alpha_3_code="CUW"
+		numeric_code="531"
+		name="Curaçao"
+		official_name="Curaçao" />
+	<iso_3166_entry
+		alpha_2_code="CY"
+		alpha_3_code="CYP"
+		numeric_code="196"
+		name="Cyprus"
+		official_name="Republic of Cyprus" />
+	<iso_3166_entry
+		alpha_2_code="CZ"
+		alpha_3_code="CZE"
+		numeric_code="203"
+		name="Czech Republic" />
+	<iso_3166_entry
+		alpha_2_code="DK"
+		alpha_3_code="DNK"
+		numeric_code="208"
+		name="Denmark"
+		official_name="Kingdom of Denmark" />
+	<iso_3166_entry
+		alpha_2_code="DJ"
+		alpha_3_code="DJI"
+		numeric_code="262"
+		name="Djibouti"
+		official_name="Republic of Djibouti" />
+	<iso_3166_entry
+		alpha_2_code="DM"
+		alpha_3_code="DMA"
+		numeric_code="212"
+		name="Dominica"
+		official_name="Commonwealth of Dominica" />
+	<iso_3166_entry
+		alpha_2_code="DO"
+		alpha_3_code="DOM"
+		numeric_code="214"
+		name="Dominican Republic" />
+	<iso_3166_entry
+		alpha_2_code="EC"
+		alpha_3_code="ECU"
+		numeric_code="218"
+		name="Ecuador"
+		official_name="Republic of Ecuador" />
+	<iso_3166_entry
+		alpha_2_code="EG"
+		alpha_3_code="EGY"
+		numeric_code="818"
+		name="Egypt"
+		official_name="Arab Republic of Egypt" />
+	<iso_3166_entry
+		alpha_2_code="SV"
+		alpha_3_code="SLV"
+		numeric_code="222"
+		name="El Salvador"
+		official_name="Republic of El Salvador" />
+	<iso_3166_entry
+		alpha_2_code="GQ"
+		alpha_3_code="GNQ"
+		numeric_code="226"
+		name="Equatorial Guinea"
+		official_name="Republic of Equatorial Guinea" />
+	<iso_3166_entry
+		alpha_2_code="ER"
+		alpha_3_code="ERI"
+		numeric_code="232"
+		name="Eritrea" />
+	<iso_3166_entry
+		alpha_2_code="EE"
+		alpha_3_code="EST"
+		numeric_code="233"
+		name="Estonia"
+		official_name="Republic of Estonia" />
+	<iso_3166_entry
+		alpha_2_code="ET"
+		alpha_3_code="ETH"
+		numeric_code="231"
+		name="Ethiopia"
+		official_name="Federal Democratic Republic of Ethiopia" />
+	<iso_3166_entry
+		alpha_2_code="FK"
+		alpha_3_code="FLK"
+		numeric_code="238"
+		name="Falkland Islands (Malvinas)" />
+	<iso_3166_entry
+		alpha_2_code="FO"
+		alpha_3_code="FRO"
+		numeric_code="234"
+		name="Faroe Islands" />
+	<iso_3166_entry
+		alpha_2_code="FJ"
+		alpha_3_code="FJI"
+		numeric_code="242"
+		name="Fiji"
+		official_name="Republic of Fiji" />
+	<iso_3166_entry
+		alpha_2_code="FI"
+		alpha_3_code="FIN"
+		numeric_code="246"
+		name="Finland"
+		official_name="Republic of Finland" />
+	<iso_3166_entry
+		alpha_2_code="FR"
+		alpha_3_code="FRA"
+		numeric_code="250"
+		name="France"
+		official_name="French Republic" />
+	<iso_3166_entry
+		alpha_2_code="GF"
+		alpha_3_code="GUF"
+		numeric_code="254"
+		name="French Guiana" />
+	<iso_3166_entry
+		alpha_2_code="PF"
+		alpha_3_code="PYF"
+		numeric_code="258"
+		name="French Polynesia" />
+	<iso_3166_entry
+		alpha_2_code="TF"
+		alpha_3_code="ATF"
+		numeric_code="260"
+		name="French Southern Territories" />
+	<iso_3166_entry
+		alpha_2_code="GA"
+		alpha_3_code="GAB"
+		numeric_code="266"
+		name="Gabon"
+		official_name="Gabonese Republic" />
+	<iso_3166_entry
+		alpha_2_code="GM"
+		alpha_3_code="GMB"
+		numeric_code="270"
+		name="Gambia"
+		official_name="Republic of the Gambia" />
+	<iso_3166_entry
+		alpha_2_code="GE"
+		alpha_3_code="GEO"
+		numeric_code="268"
+		name="Georgia" />
+	<iso_3166_entry
+		alpha_2_code="DE"
+		alpha_3_code="DEU"
+		numeric_code="276"
+		name="Germany"
+		official_name="Federal Republic of Germany" />
+	<iso_3166_entry
+		alpha_2_code="GH"
+		alpha_3_code="GHA"
+		numeric_code="288"
+		name="Ghana"
+		official_name="Republic of Ghana" />
+	<iso_3166_entry
+		alpha_2_code="GI"
+		alpha_3_code="GIB"
+		numeric_code="292"
+		name="Gibraltar" />
+	<iso_3166_entry
+		alpha_2_code="GR"
+		alpha_3_code="GRC"
+		numeric_code="300"
+		name="Greece"
+		official_name="Hellenic Republic" />
+	<iso_3166_entry
+		alpha_2_code="GL"
+		alpha_3_code="GRL"
+		numeric_code="304"
+		name="Greenland" />
+	<iso_3166_entry
+		alpha_2_code="GD"
+		alpha_3_code="GRD"
+		numeric_code="308"
+		name="Grenada" />
+	<iso_3166_entry
+		alpha_2_code="GP"
+		alpha_3_code="GLP"
+		numeric_code="312"
+		name="Guadeloupe" />
+	<iso_3166_entry
+		alpha_2_code="GU"
+		alpha_3_code="GUM"
+		numeric_code="316"
+		name="Guam" />
+	<iso_3166_entry
+		alpha_2_code="GT"
+		alpha_3_code="GTM"
+		numeric_code="320"
+		name="Guatemala"
+		official_name="Republic of Guatemala" />
+	<iso_3166_entry
+		alpha_2_code="GG"
+		alpha_3_code="GGY"
+		numeric_code="831"
+		name="Guernsey" />
+	<iso_3166_entry
+		alpha_2_code="GN"
+		alpha_3_code="GIN"
+		numeric_code="324"
+		name="Guinea"
+		official_name="Republic of Guinea" />
+	<iso_3166_entry
+		alpha_2_code="GW"
+		alpha_3_code="GNB"
+		numeric_code="624"
+		name="Guinea-Bissau"
+		official_name="Republic of Guinea-Bissau" />
+	<iso_3166_entry
+		alpha_2_code="GY"
+		alpha_3_code="GUY"
+		numeric_code="328"
+		name="Guyana"
+		official_name="Republic of Guyana" />
+	<iso_3166_entry
+		alpha_2_code="HT"
+		alpha_3_code="HTI"
+		numeric_code="332"
+		name="Haiti"
+		official_name="Republic of Haiti" />
+	<iso_3166_entry
+		alpha_2_code="HM"
+		alpha_3_code="HMD"
+		numeric_code="334"
+		name="Heard Island and McDonald Islands" />
+	<iso_3166_entry
+		alpha_2_code="VA"
+		alpha_3_code="VAT"
+		numeric_code="336"
+		name="Holy See (Vatican City State)" />
+	<iso_3166_entry
+		alpha_2_code="HN"
+		alpha_3_code="HND"
+		numeric_code="340"
+		name="Honduras"
+		official_name="Republic of Honduras" />
+	<iso_3166_entry
+		alpha_2_code="HK"
+		alpha_3_code="HKG"
+		numeric_code="344"
+		name="Hong Kong"
+		official_name="Hong Kong Special Administrative Region of China" />
+	<iso_3166_entry
+		alpha_2_code="HU"
+		alpha_3_code="HUN"
+		numeric_code="348"
+		name="Hungary"
+		official_name="Republic of Hungary" />
+	<iso_3166_entry
+		alpha_2_code="IS"
+		alpha_3_code="ISL"
+		numeric_code="352"
+		name="Iceland"
+		official_name="Republic of Iceland" />
+	<iso_3166_entry
+		alpha_2_code="IN"
+		alpha_3_code="IND"
+		numeric_code="356"
+		name="India"
+		official_name="Republic of India" />
+	<iso_3166_entry
+		alpha_2_code="ID"
+		alpha_3_code="IDN"
+		numeric_code="360"
+		name="Indonesia"
+		official_name="Republic of Indonesia" />
+	<iso_3166_entry
+		alpha_2_code="IR"
+		alpha_3_code="IRN"
+		numeric_code="364"
+		name="Iran, Islamic Republic of"
+		official_name="Islamic Republic of Iran" />
+	<iso_3166_entry
+		alpha_2_code="IQ"
+		alpha_3_code="IRQ"
+		numeric_code="368"
+		name="Iraq"
+		official_name="Republic of Iraq" />
+	<iso_3166_entry
+		alpha_2_code="IE"
+		alpha_3_code="IRL"
+		numeric_code="372"
+		name="Ireland" />
+	<iso_3166_entry
+		alpha_2_code="IM"
+		alpha_3_code="IMN"
+		numeric_code="833"
+		name="Isle of Man" />
+	<iso_3166_entry
+		alpha_2_code="IL"
+		alpha_3_code="ISR"
+		numeric_code="376"
+		name="Israel"
+		official_name="State of Israel" />
+	<iso_3166_entry
+		alpha_2_code="IT"
+		alpha_3_code="ITA"
+		numeric_code="380"
+		name="Italy"
+		official_name="Italian Republic" />
+	<iso_3166_entry
+		alpha_2_code="JM"
+		alpha_3_code="JAM"
+		numeric_code="388"
+		name="Jamaica" />
+	<iso_3166_entry
+		alpha_2_code="JP"
+		alpha_3_code="JPN"
+		numeric_code="392"
+		name="Japan" />
+	<iso_3166_entry
+		alpha_2_code="JE"
+		alpha_3_code="JEY"
+		numeric_code="832"
+		name="Jersey" />
+	<iso_3166_entry
+		alpha_2_code="JO"
+		alpha_3_code="JOR"
+		numeric_code="400"
+		name="Jordan"
+		official_name="Hashemite Kingdom of Jordan" />
+	<iso_3166_entry
+		alpha_2_code="KZ"
+		alpha_3_code="KAZ"
+		numeric_code="398"
+		name="Kazakhstan"
+		official_name="Republic of Kazakhstan" />
+	<iso_3166_entry
+		alpha_2_code="KE"
+		alpha_3_code="KEN"
+		numeric_code="404"
+		name="Kenya"
+		official_name="Republic of Kenya" />
+	<iso_3166_entry
+		alpha_2_code="KI"
+		alpha_3_code="KIR"
+		numeric_code="296"
+		name="Kiribati"
+		official_name="Republic of Kiribati" />
+	<iso_3166_entry
+		alpha_2_code="KP"
+		alpha_3_code="PRK"
+		numeric_code="408"
+		name="Korea, Democratic People's Republic of"
+		official_name="Democratic People's Republic of Korea" />
+	<iso_3166_entry
+		alpha_2_code="KR"
+		alpha_3_code="KOR"
+		numeric_code="410"
+		name="Korea, Republic of" />
+	<iso_3166_entry
+		alpha_2_code="KW"
+		alpha_3_code="KWT"
+		numeric_code="414"
+		name="Kuwait"
+		official_name="State of Kuwait" />
+	<iso_3166_entry
+		alpha_2_code="KG"
+		alpha_3_code="KGZ"
+		numeric_code="417"
+		name="Kyrgyzstan"
+		official_name="Kyrgyz Republic" />
+	<iso_3166_entry
+		alpha_2_code="LA"
+		alpha_3_code="LAO"
+		numeric_code="418"
+		name="Lao People's Democratic Republic" />
+	<iso_3166_entry
+		alpha_2_code="LV"
+		alpha_3_code="LVA"
+		numeric_code="428"
+		name="Latvia"
+		official_name="Republic of Latvia" />
+	<iso_3166_entry
+		alpha_2_code="LB"
+		alpha_3_code="LBN"
+		numeric_code="422"
+		name="Lebanon"
+		official_name="Lebanese Republic" />
+	<iso_3166_entry
+		alpha_2_code="LS"
+		alpha_3_code="LSO"
+		numeric_code="426"
+		name="Lesotho"
+		official_name="Kingdom of Lesotho" />
+	<iso_3166_entry
+		alpha_2_code="LR"
+		alpha_3_code="LBR"
+		numeric_code="430"
+		name="Liberia"
+		official_name="Republic of Liberia" />
+	<iso_3166_entry
+		alpha_2_code="LY"
+		alpha_3_code="LBY"
+		numeric_code="434"
+		common_name="Libya"
+		name="Libyan Arab Jamahiriya"
+		official_name="Socialist People's Libyan Arab Jamahiriya" />
+	<iso_3166_entry
+		alpha_2_code="LI"
+		alpha_3_code="LIE"
+		numeric_code="438"
+		name="Liechtenstein"
+		official_name="Principality of Liechtenstein" />
+	<iso_3166_entry
+		alpha_2_code="LT"
+		alpha_3_code="LTU"
+		numeric_code="440"
+		name="Lithuania"
+		official_name="Republic of Lithuania" />
+	<iso_3166_entry
+		alpha_2_code="LU"
+		alpha_3_code="LUX"
+		numeric_code="442"
+		name="Luxembourg"
+		official_name="Grand Duchy of Luxembourg" />
+	<iso_3166_entry
+		alpha_2_code="MO"
+		alpha_3_code="MAC"
+		numeric_code="446"
+		name="Macao"
+		official_name="Macao Special Administrative Region of China" />
+	<iso_3166_entry
+		alpha_2_code="MK"
+		alpha_3_code="MKD"
+		numeric_code="807"
+		name="Macedonia, Republic of"
+		official_name="The Former Yugoslav Republic of Macedonia" />
+	<iso_3166_entry
+		alpha_2_code="MG"
+		alpha_3_code="MDG"
+		numeric_code="450"
+		name="Madagascar"
+		official_name="Republic of Madagascar" />
+	<iso_3166_entry
+		alpha_2_code="MW"
+		alpha_3_code="MWI"
+		numeric_code="454"
+		name="Malawi"
+		official_name="Republic of Malawi" />
+	<iso_3166_entry
+		alpha_2_code="MY"
+		alpha_3_code="MYS"
+		numeric_code="458"
+		name="Malaysia" />
+	<iso_3166_entry
+		alpha_2_code="MV"
+		alpha_3_code="MDV"
+		numeric_code="462"
+		name="Maldives"
+		official_name="Republic of Maldives" />
+	<iso_3166_entry
+		alpha_2_code="ML"
+		alpha_3_code="MLI"
+		numeric_code="466"
+		name="Mali"
+		official_name="Republic of Mali" />
+	<iso_3166_entry
+		alpha_2_code="MT"
+		alpha_3_code="MLT"
+		numeric_code="470"
+		name="Malta"
+		official_name="Republic of Malta" />
+	<iso_3166_entry
+		alpha_2_code="MH"
+		alpha_3_code="MHL"
+		numeric_code="584"
+		name="Marshall Islands"
+		official_name="Republic of the Marshall Islands" />
+	<iso_3166_entry
+		alpha_2_code="MQ"
+		alpha_3_code="MTQ"
+		numeric_code="474"
+		name="Martinique" />
+	<iso_3166_entry
+		alpha_2_code="MR"
+		alpha_3_code="MRT"
+		numeric_code="478"
+		name="Mauritania"
+		official_name="Islamic Republic of Mauritania" />
+	<iso_3166_entry
+		alpha_2_code="MU"
+		alpha_3_code="MUS"
+		numeric_code="480"
+		name="Mauritius"
+		official_name="Republic of Mauritius" />
+	<iso_3166_entry
+		alpha_2_code="YT"
+		alpha_3_code="MYT"
+		numeric_code="175"
+		name="Mayotte" />
+	<iso_3166_entry
+		alpha_2_code="MX"
+		alpha_3_code="MEX"
+		numeric_code="484"
+		name="Mexico"
+		official_name="United Mexican States" />
+	<iso_3166_entry
+		alpha_2_code="FM"
+		alpha_3_code="FSM"
+		numeric_code="583"
+		name="Micronesia, Federated States of"
+		official_name="Federated States of Micronesia" />
+	<iso_3166_entry
+		alpha_2_code="MD"
+		alpha_3_code="MDA"
+		numeric_code="498"
+		common_name="Moldova"
+		name="Moldova, Republic of"
+		official_name="Republic of Moldova" />
+	<iso_3166_entry
+		alpha_2_code="MC"
+		alpha_3_code="MCO"
+		numeric_code="492"
+		name="Monaco"
+		official_name="Principality of Monaco" />
+	<iso_3166_entry
+		alpha_2_code="MN"
+		alpha_3_code="MNG"
+		numeric_code="496"
+		name="Mongolia" />
+	<iso_3166_entry
+		alpha_2_code="ME"
+		alpha_3_code="MNE"
+		numeric_code="499"
+		name="Montenegro"
+		official_name="Montenegro" />
+	<iso_3166_entry
+		alpha_2_code="MS"
+		alpha_3_code="MSR"
+		numeric_code="500"
+		name="Montserrat" />
+	<iso_3166_entry
+		alpha_2_code="MA"
+		alpha_3_code="MAR"
+		numeric_code="504"
+		name="Morocco"
+		official_name="Kingdom of Morocco" />
+	<iso_3166_entry
+		alpha_2_code="MZ"
+		alpha_3_code="MOZ"
+		numeric_code="508"
+		name="Mozambique"
+		official_name="Republic of Mozambique" />
+	<iso_3166_entry
+		alpha_2_code="MM"
+		alpha_3_code="MMR"
+		numeric_code="104"
+		name="Myanmar"
+		official_name="Republic of Myanmar" />
+	<iso_3166_entry
+		alpha_2_code="NA"
+		alpha_3_code="NAM"
+		numeric_code="516"
+		name="Namibia"
+		official_name="Republic of Namibia" />
+	<iso_3166_entry
+		alpha_2_code="NR"
+		alpha_3_code="NRU"
+		numeric_code="520"
+		name="Nauru"
+		official_name="Republic of Nauru" />
+	<iso_3166_entry
+		alpha_2_code="NP"
+		alpha_3_code="NPL"
+		numeric_code="524"
+		name="Nepal"
+		official_name="Federal Democratic Republic of Nepal" />
+	<iso_3166_entry
+		alpha_2_code="NL"
+		alpha_3_code="NLD"
+		numeric_code="528"
+		name="Netherlands"
+		official_name="Kingdom of the Netherlands" />
+	<iso_3166_entry
+		alpha_2_code="NC"
+		alpha_3_code="NCL"
+		numeric_code="540"
+		name="New Caledonia" />
+	<iso_3166_entry
+		alpha_2_code="NZ"
+		alpha_3_code="NZL"
+		numeric_code="554"
+		name="New Zealand" />
+	<iso_3166_entry
+		alpha_2_code="NI"
+		alpha_3_code="NIC"
+		numeric_code="558"
+		name="Nicaragua"
+		official_name="Republic of Nicaragua" />
+	<iso_3166_entry
+		alpha_2_code="NE"
+		alpha_3_code="NER"
+		numeric_code="562"
+		name="Niger"
+		official_name="Republic of the Niger" />
+	<iso_3166_entry
+		alpha_2_code="NG"
+		alpha_3_code="NGA"
+		numeric_code="566"
+		name="Nigeria"
+		official_name="Federal Republic of Nigeria" />
+	<iso_3166_entry
+		alpha_2_code="NU"
+		alpha_3_code="NIU"
+		numeric_code="570"
+		name="Niue"
+		official_name="Niue" />
+	<iso_3166_entry
+		alpha_2_code="NF"
+		alpha_3_code="NFK"
+		numeric_code="574"
+		name="Norfolk Island" />
+	<iso_3166_entry
+		alpha_2_code="MP"
+		alpha_3_code="MNP"
+		numeric_code="580"
+		name="Northern Mariana Islands"
+		official_name="Commonwealth of the Northern Mariana Islands" />
+	<iso_3166_entry
+		alpha_2_code="NO"
+		alpha_3_code="NOR"
+		numeric_code="578"
+		name="Norway"
+		official_name="Kingdom of Norway" />
+	<iso_3166_entry
+		alpha_2_code="OM"
+		alpha_3_code="OMN"
+		numeric_code="512"
+		name="Oman"
+		official_name="Sultanate of Oman" />
+	<iso_3166_entry
+		alpha_2_code="PK"
+		alpha_3_code="PAK"
+		numeric_code="586"
+		name="Pakistan"
+		official_name="Islamic Republic of Pakistan" />
+	<iso_3166_entry
+		alpha_2_code="PW"
+		alpha_3_code="PLW"
+		numeric_code="585"
+		name="Palau"
+		official_name="Republic of Palau" />
+	<iso_3166_entry
+		alpha_2_code="PS"
+		alpha_3_code="PSE"
+		numeric_code="275"
+		name="Palestinian Territory, Occupied"
+		official_name="Occupied Palestinian Territory" />
+	<iso_3166_entry
+		alpha_2_code="PA"
+		alpha_3_code="PAN"
+		numeric_code="591"
+		name="Panama"
+		official_name="Republic of Panama" />
+	<iso_3166_entry
+		alpha_2_code="PG"
+		alpha_3_code="PNG"
+		numeric_code="598"
+		name="Papua New Guinea" />
+	<iso_3166_entry
+		alpha_2_code="PY"
+		alpha_3_code="PRY"
+		numeric_code="600"
+		name="Paraguay"
+		official_name="Republic of Paraguay" />
+	<iso_3166_entry
+		alpha_2_code="PE"
+		alpha_3_code="PER"
+		numeric_code="604"
+		name="Peru"
+		official_name="Republic of Peru" />
+	<iso_3166_entry
+		alpha_2_code="PH"
+		alpha_3_code="PHL"
+		numeric_code="608"
+		name="Philippines"
+		official_name="Republic of the Philippines" />
+	<iso_3166_entry
+		alpha_2_code="PN"
+		alpha_3_code="PCN"
+		numeric_code="612"
+		name="Pitcairn" />
+	<iso_3166_entry
+		alpha_2_code="PL"
+		alpha_3_code="POL"
+		numeric_code="616"
+		name="Poland"
+		official_name="Republic of Poland" />
+	<iso_3166_entry
+		alpha_2_code="PT"
+		alpha_3_code="PRT"
+		numeric_code="620"
+		name="Portugal"
+		official_name="Portuguese Republic" />
+	<iso_3166_entry
+		alpha_2_code="PR"
+		alpha_3_code="PRI"
+		numeric_code="630"
+		name="Puerto Rico" />
+	<iso_3166_entry
+		alpha_2_code="QA"
+		alpha_3_code="QAT"
+		numeric_code="634"
+		name="Qatar"
+		official_name="State of Qatar" />
+	<iso_3166_entry
+		alpha_2_code="RE"
+		alpha_3_code="REU"
+		numeric_code="638"
+		name="Reunion" />
+	<iso_3166_entry
+		alpha_2_code="RO"
+		alpha_3_code="ROU"
+		numeric_code="642"
+		name="Romania" />
+	<iso_3166_entry
+		alpha_2_code="RU"
+		alpha_3_code="RUS"
+		numeric_code="643"
+		name="Russian Federation" />
+	<iso_3166_entry
+		alpha_2_code="RW"
+		alpha_3_code="RWA"
+		numeric_code="646"
+		name="Rwanda"
+		official_name="Rwandese Republic" />
+	<iso_3166_entry
+		alpha_2_code="BL"
+		alpha_3_code="BLM"
+		numeric_code="652"
+		name="Saint Barthélemy" />
+	<iso_3166_entry
+		alpha_2_code="SH"
+		alpha_3_code="SHN"
+		numeric_code="654"
+		name="Saint Helena, Ascension and Tristan da Cunha" />
+	<iso_3166_entry
+		alpha_2_code="KN"
+		alpha_3_code="KNA"
+		numeric_code="659"
+		name="Saint Kitts and Nevis" />
+	<iso_3166_entry
+		alpha_2_code="LC"
+		alpha_3_code="LCA"
+		numeric_code="662"
+		name="Saint Lucia" />
+	<iso_3166_entry
+		alpha_2_code="MF"
+		alpha_3_code="MAF"
+		numeric_code="663"
+		name="Saint Martin (French part)" />
+	<iso_3166_entry
+		alpha_2_code="PM"
+		alpha_3_code="SPM"
+		numeric_code="666"
+		name="Saint Pierre and Miquelon" />
+	<iso_3166_entry
+		alpha_2_code="VC"
+		alpha_3_code="VCT"
+		numeric_code="670"
+		name="Saint Vincent and the Grenadines" />
+	<iso_3166_entry
+		alpha_2_code="WS"
+		alpha_3_code="WSM"
+		numeric_code="882"
+		name="Samoa"
+		official_name="Independent State of Samoa" />
+	<iso_3166_entry
+		alpha_2_code="SM"
+		alpha_3_code="SMR"
+		numeric_code="674"
+		name="San Marino"
+		official_name="Republic of San Marino" />
+	<iso_3166_entry
+		alpha_2_code="ST"
+		alpha_3_code="STP"
+		numeric_code="678"
+		name="Sao Tome and Principe"
+		official_name="Democratic Republic of Sao Tome and Principe" />
+	<iso_3166_entry
+		alpha_2_code="SA"
+		alpha_3_code="SAU"
+		numeric_code="682"
+		name="Saudi Arabia"
+		official_name="Kingdom of Saudi Arabia" />
+	<iso_3166_entry
+		alpha_2_code="SN"
+		alpha_3_code="SEN"
+		numeric_code="686"
+		name="Senegal"
+		official_name="Republic of Senegal" />
+	<iso_3166_entry
+		alpha_2_code="RS"
+		alpha_3_code="SRB"
+		numeric_code="688"
+		name="Serbia"
+		official_name="Republic of Serbia" />
+	<iso_3166_entry
+		alpha_2_code="SC"
+		alpha_3_code="SYC"
+		numeric_code="690"
+		name="Seychelles"
+		official_name="Republic of Seychelles" />
+	<iso_3166_entry
+		alpha_2_code="SL"
+		alpha_3_code="SLE"
+		numeric_code="694"
+		name="Sierra Leone"
+		official_name="Republic of Sierra Leone" />
+	<iso_3166_entry
+		alpha_2_code="SG"
+		alpha_3_code="SGP"
+		numeric_code="702"
+		name="Singapore"
+		official_name="Republic of Singapore" />
+	<iso_3166_entry
+		alpha_2_code="SX"
+		alpha_3_code="SXM"
+		numeric_code="702"
+		name="Sint Maarten"
+		official_name="Sint Maarten (Dutch part)" />
+	<iso_3166_entry
+		alpha_2_code="SK"
+		alpha_3_code="SVK"
+		numeric_code="703"
+		name="Slovakia"
+		official_name="Slovak Republic" />
+	<iso_3166_entry
+		alpha_2_code="SI"
+		alpha_3_code="SVN"
+		numeric_code="705"
+		name="Slovenia"
+		official_name="Republic of Slovenia" />
+	<iso_3166_entry
+		alpha_2_code="SB"
+		alpha_3_code="SLB"
+		numeric_code="090"
+		name="Solomon Islands" />
+	<iso_3166_entry
+		alpha_2_code="SO"
+		alpha_3_code="SOM"
+		numeric_code="706"
+		name="Somalia"
+		official_name="Somali Republic" />
+	<iso_3166_entry
+		alpha_2_code="ZA"
+		alpha_3_code="ZAF"
+		numeric_code="710"
+		name="South Africa"
+		official_name="Republic of South Africa" />
+	<iso_3166_entry
+		alpha_2_code="GS"
+		alpha_3_code="SGS"
+		numeric_code="239"
+		name="South Georgia and the South Sandwich Islands" />
+	<iso_3166_entry
+		alpha_2_code="ES"
+		alpha_3_code="ESP"
+		numeric_code="724"
+		name="Spain"
+		official_name="Kingdom of Spain" />
+	<iso_3166_entry
+		alpha_2_code="LK"
+		alpha_3_code="LKA"
+		numeric_code="144"
+		name="Sri Lanka"
+		official_name="Democratic Socialist Republic of Sri Lanka" />
+	<iso_3166_entry
+		alpha_2_code="SD"
+		alpha_3_code="SDN"
+		numeric_code="736"
+		name="Sudan"
+		official_name="Republic of the Sudan" />
+	<iso_3166_entry
+		alpha_2_code="SR"
+		alpha_3_code="SUR"
+		numeric_code="740"
+		name="Suriname"
+		official_name="Republic of Suriname" />
+	<iso_3166_entry
+		alpha_2_code="SJ"
+		alpha_3_code="SJM"
+		numeric_code="744"
+		name="Svalbard and Jan Mayen" />
+	<iso_3166_entry
+		alpha_2_code="SZ"
+		alpha_3_code="SWZ"
+		numeric_code="748"
+		name="Swaziland"
+		official_name="Kingdom of Swaziland" />
+	<iso_3166_entry
+		alpha_2_code="SE"
+		alpha_3_code="SWE"
+		numeric_code="752"
+		name="Sweden"
+		official_name="Kingdom of Sweden" />
+	<iso_3166_entry
+		alpha_2_code="CH"
+		alpha_3_code="CHE"
+		numeric_code="756"
+		name="Switzerland"
+		official_name="Swiss Confederation" />
+	<iso_3166_entry
+		alpha_2_code="SY"
+		alpha_3_code="SYR"
+		numeric_code="760"
+		name="Syrian Arab Republic" />
+	<iso_3166_entry
+		alpha_2_code="TW"
+		alpha_3_code="TWN"
+		numeric_code="158"
+		common_name="Taiwan"
+		name="Taiwan, Province of China"
+		official_name="Taiwan, Province of China" />
+	<iso_3166_entry
+		alpha_2_code="TJ"
+		alpha_3_code="TJK"
+		numeric_code="762"
+		name="Tajikistan"
+		official_name="Republic of Tajikistan" />
+	<iso_3166_entry
+		alpha_2_code="TZ"
+		alpha_3_code="TZA"
+		numeric_code="834"
+		name="Tanzania, United Republic of"
+		official_name="United Republic of Tanzania" />
+	<iso_3166_entry
+		alpha_2_code="TH"
+		alpha_3_code="THA"
+		numeric_code="764"
+		name="Thailand"
+		official_name="Kingdom of Thailand" />
+	<iso_3166_entry
+		alpha_2_code="TL"
+		alpha_3_code="TLS"
+		numeric_code="626"
+		name="Timor-Leste"
+		official_name="Democratic Republic of Timor-Leste" />
+	<iso_3166_entry
+		alpha_2_code="TG"
+		alpha_3_code="TGO"
+		numeric_code="768"
+		name="Togo"
+		official_name="Togolese Republic" />
+	<iso_3166_entry
+		alpha_2_code="TK"
+		alpha_3_code="TKL"
+		numeric_code="772"
+		name="Tokelau" />
+	<iso_3166_entry
+		alpha_2_code="TO"
+		alpha_3_code="TON"
+		numeric_code="776"
+		name="Tonga"
+		official_name="Kingdom of Tonga" />
+	<iso_3166_entry
+		alpha_2_code="TT"
+		alpha_3_code="TTO"
+		numeric_code="780"
+		name="Trinidad and Tobago"
+		official_name="Republic of Trinidad and Tobago" />
+	<iso_3166_entry
+		alpha_2_code="TN"
+		alpha_3_code="TUN"
+		numeric_code="788"
+		name="Tunisia"
+		official_name="Republic of Tunisia" />
+	<iso_3166_entry
+		alpha_2_code="TR"
+		alpha_3_code="TUR"
+		numeric_code="792"
+		name="Turkey"
+		official_name="Republic of Turkey" />
+	<iso_3166_entry
+		alpha_2_code="TM"
+		alpha_3_code="TKM"
+		numeric_code="795"
+		name="Turkmenistan" />
+	<iso_3166_entry
+		alpha_2_code="TC"
+		alpha_3_code="TCA"
+		numeric_code="796"
+		name="Turks and Caicos Islands" />
+	<iso_3166_entry
+		alpha_2_code="TV"
+		alpha_3_code="TUV"
+		numeric_code="798"
+		name="Tuvalu" />
+	<iso_3166_entry
+		alpha_2_code="UG"
+		alpha_3_code="UGA"
+		numeric_code="800"
+		name="Uganda"
+		official_name="Republic of Uganda" />
+	<iso_3166_entry
+		alpha_2_code="UA"
+		alpha_3_code="UKR"
+		numeric_code="804"
+		name="Ukraine" />
+	<iso_3166_entry
+		alpha_2_code="AE"
+		alpha_3_code="ARE"
+		numeric_code="784"
+		name="United Arab Emirates" />
+	<iso_3166_entry
+		alpha_2_code="GB"
+		alpha_3_code="GBR"
+		numeric_code="826"
+		name="United Kingdom"
+		official_name="United Kingdom of Great Britain and Northern Ireland" />
+	<iso_3166_entry
+		alpha_2_code="US"
+		alpha_3_code="USA"
+		numeric_code="840"
+		name="United States"
+		official_name="United States of America" />
+	<iso_3166_entry
+		alpha_2_code="UM"
+		alpha_3_code="UMI"
+		numeric_code="581"
+		name="United States Minor Outlying Islands" />
+	<iso_3166_entry
+		alpha_2_code="UY"
+		alpha_3_code="URY"
+		numeric_code="858"
+		name="Uruguay"
+		official_name="Eastern Republic of Uruguay" />
+	<iso_3166_entry
+		alpha_2_code="UZ"
+		alpha_3_code="UZB"
+		numeric_code="860"
+		name="Uzbekistan"
+		official_name="Republic of Uzbekistan" />
+	<iso_3166_entry
+		alpha_2_code="VU"
+		alpha_3_code="VUT"
+		numeric_code="548"
+		name="Vanuatu"
+		official_name="Republic of Vanuatu" />
+	<iso_3166_entry
+		alpha_2_code="VE"
+		alpha_3_code="VEN"
+		numeric_code="862"
+		common_name="Venezuela"
+		name="Venezuela, Bolivarian republic of"
+		official_name="Bolivarian Republic of Venezuela" />
+	<iso_3166_entry
+		alpha_2_code="VN"
+		alpha_3_code="VNM"
+		numeric_code="704"
+		name="Viet Nam"
+		official_name="Socialist Republic of Viet Nam" />
+	<!-- FIXME CHECK OFFICIAL NAME -->
+	<iso_3166_entry
+		alpha_2_code="VG"
+		alpha_3_code="VGB"
+		numeric_code="092"
+		name="Virgin Islands, British"
+		official_name="British Virgin Islands" />
+	<iso_3166_entry
+		alpha_2_code="VI"
+		alpha_3_code="VIR"
+		numeric_code="850"
+		name="Virgin Islands, U.S."
+		official_name="Virgin Islands of the United States" />
+	<iso_3166_entry
+		alpha_2_code="WF"
+		alpha_3_code="WLF"
+		numeric_code="876"
+		name="Wallis and Futuna" />
+	<iso_3166_entry
+		alpha_2_code="EH"
+		alpha_3_code="ESH"
+		numeric_code="732"
+		name="Western Sahara" />
+	<iso_3166_entry
+		alpha_2_code="YE"
+		alpha_3_code="YEM"
+		numeric_code="887"
+		name="Yemen"
+		official_name="Republic of Yemen" />
+	<iso_3166_entry
+		alpha_2_code="ZM"
+		alpha_3_code="ZMB"
+		numeric_code="894"
+		name="Zambia"
+		official_name="Republic of Zambia" />
+	<iso_3166_entry
+		alpha_2_code="ZW"
+		alpha_3_code="ZWE"
+		numeric_code="716"
+		name="Zimbabwe"
+		official_name="Republic of Zimbabwe" />
+	<iso_3166_3_entry
+		alpha_4_code="BQAQ"
+		alpha_3_code="ATB"
+		date_withdrawn="1979"
+		names="British Antarctic Territory" />
+	<iso_3166_3_entry
+		alpha_4_code="BUMM"
+		alpha_3_code="BUR"
+		numeric_code="104"
+		date_withdrawn="1989-12-05"
+		names="Burma, Socialist Republic of the Union of" />
+	<iso_3166_3_entry
+		alpha_4_code="BYAA"
+		alpha_3_code="BYS"
+		numeric_code="112"
+		date_withdrawn="1992-06-15"
+		names="Byelorussian SSR Soviet Socialist Republic" />
+	<iso_3166_3_entry
+		alpha_4_code="CTKI"
+		alpha_3_code="CTE"
+		numeric_code="128"
+		date_withdrawn="1984"
+		names="Canton and Enderbury Islands" />
+	<iso_3166_3_entry
+		alpha_4_code="CSHH"
+		alpha_3_code="CSK"
+		numeric_code="200"
+		date_withdrawn="1993-06-15"
+		names="Czechoslovakia, Czechoslovak Socialist Republic" />
+	<iso_3166_3_entry
+		alpha_4_code="DYBJ"
+		alpha_3_code="DHY"
+		numeric_code="204"
+		date_withdrawn="1977"
+		names="Dahomey" />
+	<iso_3166_3_entry
+		alpha_4_code="NQAQ"
+		alpha_3_code="ATN"
+		numeric_code="216"
+		date_withdrawn="1983"
+		names="Dronning Maud Land" />
+	<iso_3166_3_entry
+		alpha_4_code="TPTL"
+		alpha_3_code="TMP"
+		numeric_code="626"
+		date_withdrawn="2002-05-20"
+		names="East Timor"
+		comment="was Portuguese Timor" />
+	<iso_3166_3_entry
+		alpha_4_code="ET"
+		alpha_3_code="ETH"
+		numeric_code="230"
+		date_withdrawn="1993-07-16"
+		names="Ethiopia" />
+	<iso_3166_3_entry
+		alpha_4_code="FXFR"
+		alpha_3_code="FXX"
+		numeric_code="249"
+		date_withdrawn="1997-07-14"
+		names="France, Metropolitan" />
+	<iso_3166_3_entry
+		alpha_4_code="AIDJ"
+		alpha_3_code="AFI"
+		numeric_code="262"
+		date_withdrawn="1977"
+		names="French Afars and Issas" />
+	<iso_3166_3_entry
+		alpha_4_code="FQHH"
+		alpha_3_code="ATF"
+		date_withdrawn="1979"
+		names="French Southern and Antarctic Territories"
+		comment="now split between AQ and TF" />
+	<iso_3166_3_entry
+		alpha_4_code="DDDE"
+		alpha_3_code="DDR"
+		numeric_code="278"
+		date_withdrawn="1990-10-30"
+		names="German Democratic Republic" />
+	<iso_3166_3_entry
+		alpha_4_code="DE"
+		alpha_3_code="DEU"
+		numeric_code="280"
+		date_withdrawn="1990-10-30"
+		names="Germany, Federal Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="GEHH"
+		alpha_3_code="GEL"
+		numeric_code="296"
+		date_withdrawn="1979"
+		names="Gilbert and Ellice Islands"
+		comment="now split into Kiribati and Tuvalu" />
+	<iso_3166_3_entry
+		alpha_4_code="JTUM"
+		alpha_3_code="JTN"
+		numeric_code="396"
+		date_withdrawn="1986"
+		names="Johnston Island" />
+	<iso_3166_3_entry
+		alpha_4_code="MIUM"
+		alpha_3_code="MID"
+		numeric_code="488"
+		date_withdrawn="1986"
+		names="Midway Islands" />
+	<iso_3166_3_entry
+		alpha_4_code="AN"
+		alpha_3_code="ANT"
+		numeric_code="532"
+		date_withdrawn="1993-07-12"
+		names="Netherlands Antilles" />
+	<iso_3166_3_entry
+		alpha_4_code="NTHH"
+		alpha_3_code="NTZ"
+		numeric_code="536"
+		date_withdrawn="1993-07-12"
+		names="Neutral Zone"
+		comment="formerly between Saudi Arabia and Iraq" />
+	<iso_3166_3_entry
+		alpha_4_code="NHVU"
+		alpha_3_code="NHB"
+		numeric_code="548"
+		date_withdrawn="1980"
+		names="New Hebrides" />
+	<iso_3166_3_entry
+		alpha_4_code="PCHH"
+		alpha_3_code="PCI"
+		numeric_code="582"
+		date_withdrawn="1986"
+		names="Pacific Islands (trust territory)"
+		comment="divided into FM, MH, MP, and PW" />
+	<iso_3166_3_entry
+		alpha_4_code="PA"
+		alpha_3_code="PAN"
+		numeric_code="590"
+		date_withdrawn="1993-07-22"
+		names="Panama, Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="PZPA"
+		alpha_3_code="PCZ"
+		date_withdrawn="1980"
+		names="Panama Canal Zone" />
+	<iso_3166_3_entry
+		alpha_4_code="RO"
+		alpha_3_code="ROM"
+		numeric_code="642"
+		date_withdrawn="2002-02-01"
+		names="Romania, Socialist Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="KN"
+		alpha_3_code="KNA"
+		numeric_code="658"
+		date_withdrawn="1988"
+		names="St. Kitts-Nevis-Anguilla"
+		comment="now St. Kitts and Nevis and Anguilla" />
+	<iso_3166_3_entry
+		alpha_4_code="CSXX"
+		alpha_3_code="SCG"
+		numeric_code="891"
+		date_withdrawn="2006-06-05"
+		names="Serbia and Montenegro" />
+	<iso_3166_3_entry
+		alpha_4_code="SKIN"
+		alpha_3_code="SKM"
+		date_withdrawn="1975"
+		names="Sikkim" />
+	<iso_3166_3_entry
+		alpha_4_code="RHZW"
+		alpha_3_code="RHO"
+		numeric_code="716"
+		date_withdrawn="1980"
+		names="Southern Rhodesia" />
+	<iso_3166_3_entry
+		alpha_4_code="EH"
+		alpha_3_code="ESH"
+		numeric_code="732"
+		date_withdrawn="1988"
+		names="Spanish Sahara"
+		comment="now Western Sahara" />
+	<iso_3166_3_entry
+		alpha_4_code="PUUM"
+		alpha_3_code="PUS"
+		numeric_code="849"
+		date_withdrawn="1986"
+		names="US Miscellaneous Pacific Islands" />
+	<iso_3166_3_entry
+		alpha_4_code="SUHH"
+		alpha_3_code="SUN"
+		numeric_code="810"
+		date_withdrawn="1992-08-30"
+		names="USSR, Union of Soviet Socialist Republics" />
+	<iso_3166_3_entry
+		alpha_4_code="HVBF"
+		alpha_3_code="HVO"
+		numeric_code="854"
+		date_withdrawn="1984"
+		names="Upper Volta, Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="VA"
+		alpha_3_code="VAT"
+		numeric_code="336"
+		date_withdrawn="1996-04-03"
+		names="Vatican City State (Holy See)" />
+	<iso_3166_3_entry
+		alpha_4_code="VDVN"
+		alpha_3_code="VDR"
+		date_withdrawn="1977"
+		names="Viet-Nam, Democratic Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="WKUM"
+		alpha_3_code="WAK"
+		numeric_code="872"
+		date_withdrawn="1986"
+		names="Wake Island" />
+	<iso_3166_3_entry
+		alpha_4_code="YDYE"
+		alpha_3_code="YMD"
+		numeric_code="720"
+		date_withdrawn="1990-08-14"
+		names="Yemen, Democratic, People's Democratic Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="YE"
+		alpha_3_code="YEM"
+		numeric_code="891"
+		date_withdrawn="1990-08-14"
+		names="Yemen, Yemen Arab Republic" />
+	<iso_3166_3_entry
+		alpha_4_code="YUCS"
+		alpha_3_code="YUG"
+		numeric_code="891"
+		date_withdrawn="1993-07-28"
+		names="Yugoslavia, Socialist Federal Republic of" />
+	<iso_3166_3_entry
+		alpha_4_code="ZRCD"
+		alpha_3_code="ZAR"
+		numeric_code="180"
+		date_withdrawn="1997-07-14"
+		names="Zaire, Republic of" />
+</iso_3166_entries>
diff --git a/win32/copy/share/xml/iso-codes/iso_639.xml b/win32/copy/share/xml/iso-codes/iso_639.xml
new file mode 100644
index 00000000..02fa01fb
--- /dev/null
+++ b/win32/copy/share/xml/iso-codes/iso_639.xml
@@ -0,0 +1,2169 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+This file gives a list of all languages in the ISO 639
+standard, and is used to provide translations via gettext
+
+Copyright (C) 2004-2006 Alastair McKinstry <mckinstry@computer.org>
+Copyright (C) 2004-2009 Christian Perrier <bubulle@debian.org>
+Copyright (C) 2005-2008 Tobias Quathamer <toddy@debian.org>
+
+    This file is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This file is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this file; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Source: <http://www.loc.gov/standards/iso639-2/>
+-->
+
+<!DOCTYPE iso_639_entries [
+	<!ELEMENT iso_639_entries (iso_639_entry+)>
+	<!ELEMENT iso_639_entry EMPTY>
+	<!ATTLIST iso_639_entry
+		iso_639_2B_code		CDATA	#REQUIRED
+		iso_639_2T_code		CDATA	#REQUIRED
+		iso_639_1_code		CDATA	#IMPLIED
+		name			CDATA	#REQUIRED
+	>
+]>
+
+<iso_639_entries>
+	<iso_639_entry
+		iso_639_2B_code="aar"
+		iso_639_2T_code="aar"
+		iso_639_1_code="aa"
+		name="Afar" />
+	<iso_639_entry
+		iso_639_2B_code="abk"
+		iso_639_2T_code="abk"
+		iso_639_1_code="ab"
+		name="Abkhazian" />
+	<iso_639_entry
+		iso_639_2B_code="ace"
+		iso_639_2T_code="ace"
+		name="Achinese" />
+	<iso_639_entry
+		iso_639_2B_code="ach"
+		iso_639_2T_code="ach"
+		name="Acoli" />
+	<iso_639_entry
+		iso_639_2B_code="ada"
+		iso_639_2T_code="ada"
+		name="Adangme" />
+	<iso_639_entry
+		iso_639_2B_code="ady"
+		iso_639_2T_code="ady"
+		name="Adyghe; Adygei" />
+	<iso_639_entry
+		iso_639_2B_code="afa"
+		iso_639_2T_code="afa"
+		name="Afro-Asiatic languages" />
+	<iso_639_entry
+		iso_639_2B_code="afh"
+		iso_639_2T_code="afh"
+		name="Afrihili" />
+	<iso_639_entry
+		iso_639_2B_code="afr"
+		iso_639_2T_code="afr"
+		iso_639_1_code="af"
+		name="Afrikaans" />
+	<iso_639_entry
+		iso_639_2B_code="ain"
+		iso_639_2T_code="ain"
+		name="Ainu" />
+	<iso_639_entry
+		iso_639_2B_code="aka"
+		iso_639_2T_code="aka"
+		iso_639_1_code="ak"
+		name="Akan" />
+	<iso_639_entry
+		iso_639_2B_code="akk"
+		iso_639_2T_code="akk"
+		name="Akkadian" />
+	<iso_639_entry
+		iso_639_2B_code="alb"
+		iso_639_2T_code="sqi"
+		iso_639_1_code="sq"
+		name="Albanian" />
+	<iso_639_entry
+		iso_639_2B_code="ale"
+		iso_639_2T_code="ale"
+		name="Aleut" />
+	<iso_639_entry
+		iso_639_2B_code="alg"
+		iso_639_2T_code="alg"
+		name="Algonquian languages" />
+	<iso_639_entry
+		iso_639_2B_code="alt"
+		iso_639_2T_code="alt"
+		name="Southern Altai" />
+	<iso_639_entry
+		iso_639_2B_code="amh"
+		iso_639_2T_code="amh"
+		iso_639_1_code="am"
+		name="Amharic" />
+	<iso_639_entry
+		iso_639_2B_code="ang"
+		iso_639_2T_code="ang"
+		name="English, Old (ca. 450-1100)" />
+	<iso_639_entry
+		iso_639_2B_code="anp"
+		iso_639_2T_code="anp"
+		name="Angika" />
+	<iso_639_entry
+		iso_639_2B_code="apa"
+		iso_639_2T_code="apa"
+		name="Apache languages" />
+	<iso_639_entry
+		iso_639_2B_code="ara"
+		iso_639_2T_code="ara"
+		iso_639_1_code="ar"
+		name="Arabic" />
+	<iso_639_entry
+		iso_639_2B_code="arc"
+		iso_639_2T_code="arc"
+		name="Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)" />
+	<iso_639_entry
+		iso_639_2B_code="arg"
+		iso_639_2T_code="arg"
+		iso_639_1_code="an"
+		name="Aragonese" />
+	<iso_639_entry
+		iso_639_2B_code="arm"
+		iso_639_2T_code="hye"
+		iso_639_1_code="hy"
+		name="Armenian" />
+	<iso_639_entry
+		iso_639_2B_code="arn"
+		iso_639_2T_code="arn"
+		name="Mapudungun; Mapuche" />
+	<iso_639_entry
+		iso_639_2B_code="arp"
+		iso_639_2T_code="arp"
+		name="Arapaho" />
+	<iso_639_entry
+		iso_639_2B_code="art"
+		iso_639_2T_code="art"
+		name="Artificial languages" />
+	<iso_639_entry
+		iso_639_2B_code="arw"
+		iso_639_2T_code="arw"
+		name="Arawak" />
+	<iso_639_entry
+		iso_639_2B_code="asm"
+		iso_639_2T_code="asm"
+		iso_639_1_code="as"
+		name="Assamese" />
+	<iso_639_entry
+		iso_639_2B_code="ast"
+		iso_639_2T_code="ast"
+		name="Asturian; Bable; Leonese; Asturleonese" />
+	<iso_639_entry
+		iso_639_2B_code="ath"
+		iso_639_2T_code="ath"
+		name="Athapascan languages" />
+	<iso_639_entry
+		iso_639_2B_code="aus"
+		iso_639_2T_code="aus"
+		name="Australian languages" />
+	<iso_639_entry
+		iso_639_2B_code="ava"
+		iso_639_2T_code="ava"
+		iso_639_1_code="av"
+		name="Avaric" />
+	<iso_639_entry
+		iso_639_2B_code="ave"
+		iso_639_2T_code="ave"
+		iso_639_1_code="ae"
+		name="Avestan" />
+	<iso_639_entry
+		iso_639_2B_code="awa"
+		iso_639_2T_code="awa"
+		name="Awadhi" />
+	<iso_639_entry
+		iso_639_2B_code="aym"
+		iso_639_2T_code="aym"
+		iso_639_1_code="ay"
+		name="Aymara" />
+	<iso_639_entry
+		iso_639_2B_code="aze"
+		iso_639_2T_code="aze"
+		iso_639_1_code="az"
+		name="Azerbaijani" />
+	<iso_639_entry
+		iso_639_2B_code="bad"
+		iso_639_2T_code="bad"
+		name="Banda languages" />
+	<iso_639_entry
+		iso_639_2B_code="bai"
+		iso_639_2T_code="bai"
+		name="Bamileke languages" />
+	<iso_639_entry
+		iso_639_2B_code="bak"
+		iso_639_2T_code="bak"
+		iso_639_1_code="ba"
+		name="Bashkir" />
+	<iso_639_entry
+		iso_639_2B_code="bal"
+		iso_639_2T_code="bal"
+		name="Baluchi" />
+	<iso_639_entry
+		iso_639_2B_code="bam"
+		iso_639_2T_code="bam"
+		iso_639_1_code="bm"
+		name="Bambara" />
+	<iso_639_entry
+		iso_639_2B_code="ban"
+		iso_639_2T_code="ban"
+		name="Balinese" />
+	<iso_639_entry
+		iso_639_2B_code="baq"
+		iso_639_2T_code="eus"
+		iso_639_1_code="eu"
+		name="Basque" />
+	<iso_639_entry
+		iso_639_2B_code="bas"
+		iso_639_2T_code="bas"
+		name="Basa" />
+	<iso_639_entry
+		iso_639_2B_code="bat"
+		iso_639_2T_code="bat"
+		name="Baltic languages" />
+	<iso_639_entry
+		iso_639_2B_code="bej"
+		iso_639_2T_code="bej"
+		name="Beja; Bedawiyet" />
+	<iso_639_entry
+		iso_639_2B_code="bel"
+		iso_639_2T_code="bel"
+		iso_639_1_code="be"
+		name="Belarusian" />
+	<iso_639_entry
+		iso_639_2B_code="bem"
+		iso_639_2T_code="bem"
+		name="Bemba" />
+	<iso_639_entry
+		iso_639_2B_code="ben"
+		iso_639_2T_code="ben"
+		iso_639_1_code="bn"
+		name="Bengali" />
+	<iso_639_entry
+		iso_639_2B_code="ber"
+		iso_639_2T_code="ber"
+		name="Berber languages" />
+	<iso_639_entry
+		iso_639_2B_code="bho"
+		iso_639_2T_code="bho"
+		name="Bhojpuri" />
+	<iso_639_entry
+		iso_639_2B_code="bih"
+		iso_639_2T_code="bih"
+		iso_639_1_code="bh"
+		name="Bihari languages" />
+	<iso_639_entry
+		iso_639_2B_code="bik"
+		iso_639_2T_code="bik"
+		name="Bikol" />
+	<iso_639_entry
+		iso_639_2B_code="bin"
+		iso_639_2T_code="bin"
+		name="Bini; Edo" />
+	<iso_639_entry
+		iso_639_2B_code="bis"
+		iso_639_2T_code="bis"
+		iso_639_1_code="bi"
+		name="Bislama" />
+	<iso_639_entry
+		iso_639_2B_code="bla"
+		iso_639_2T_code="bla"
+		name="Siksika" />
+	<iso_639_entry
+		iso_639_2B_code="bnt"
+		iso_639_2T_code="bnt"
+		name="Bantu languages" />
+	<iso_639_entry
+		iso_639_2B_code="bos"
+		iso_639_2T_code="bos"
+		iso_639_1_code="bs"
+		name="Bosnian" />
+	<iso_639_entry
+		iso_639_2B_code="bra"
+		iso_639_2T_code="bra"
+		name="Braj" />
+	<iso_639_entry
+		iso_639_2B_code="bre"
+		iso_639_2T_code="bre"
+		iso_639_1_code="br"
+		name="Breton" />
+	<iso_639_entry
+		iso_639_2B_code="btk"
+		iso_639_2T_code="btk"
+		name="Batak languages" />
+	<iso_639_entry
+		iso_639_2B_code="bua"
+		iso_639_2T_code="bua"
+		name="Buriat" />
+	<iso_639_entry
+		iso_639_2B_code="bug"
+		iso_639_2T_code="bug"
+		name="Buginese" />
+	<iso_639_entry
+		iso_639_2B_code="bul"
+		iso_639_2T_code="bul"
+		iso_639_1_code="bg"
+		name="Bulgarian" />
+	<iso_639_entry
+		iso_639_2B_code="bur"
+		iso_639_2T_code="mya"
+		iso_639_1_code="my"
+		name="Burmese" />
+	<iso_639_entry
+		iso_639_2B_code="byn"
+		iso_639_2T_code="byn"
+		name="Blin; Bilin" />
+	<iso_639_entry
+		iso_639_2B_code="cad"
+		iso_639_2T_code="cad"
+		name="Caddo" />
+	<iso_639_entry
+		iso_639_2B_code="cai"
+		iso_639_2T_code="cai"
+		name="Central American Indian languages" />
+	<iso_639_entry
+		iso_639_2B_code="car"
+		iso_639_2T_code="car"
+		name="Galibi Carib" />
+	<iso_639_entry
+		iso_639_2B_code="cat"
+		iso_639_2T_code="cat"
+		iso_639_1_code="ca"
+		name="Catalan; Valencian" />
+	<iso_639_entry
+		iso_639_2B_code="cau"
+		iso_639_2T_code="cau"
+		name="Caucasian languages" />
+	<iso_639_entry
+		iso_639_2B_code="ceb"
+		iso_639_2T_code="ceb"
+		name="Cebuano" />
+	<iso_639_entry
+		iso_639_2B_code="cel"
+		iso_639_2T_code="cel"
+		name="Celtic languages" />
+	<iso_639_entry
+		iso_639_2B_code="cha"
+		iso_639_2T_code="cha"
+		iso_639_1_code="ch"
+		name="Chamorro" />
+	<iso_639_entry
+		iso_639_2B_code="chb"
+		iso_639_2T_code="chb"
+		name="Chibcha" />
+	<iso_639_entry
+		iso_639_2B_code="che"
+		iso_639_2T_code="che"
+		iso_639_1_code="ce"
+		name="Chechen" />
+	<iso_639_entry
+		iso_639_2B_code="chg"
+		iso_639_2T_code="chg"
+		name="Chagatai" />
+	<iso_639_entry
+		iso_639_2B_code="chi"
+		iso_639_2T_code="zho"
+		iso_639_1_code="zh"
+		name="Chinese" />
+	<iso_639_entry
+		iso_639_2B_code="chk"
+		iso_639_2T_code="chk"
+		name="Chuukese" />
+	<iso_639_entry
+		iso_639_2B_code="chm"
+		iso_639_2T_code="chm"
+		name="Mari" />
+	<iso_639_entry
+		iso_639_2B_code="chn"
+		iso_639_2T_code="chn"
+		name="Chinook jargon" />
+	<iso_639_entry
+		iso_639_2B_code="cho"
+		iso_639_2T_code="cho"
+		name="Choctaw" />
+	<iso_639_entry
+		iso_639_2B_code="chp"
+		iso_639_2T_code="chp"
+		name="Chipewyan; Dene Suline" />
+	<iso_639_entry
+		iso_639_2B_code="chr"
+		iso_639_2T_code="chr"
+		name="Cherokee" />
+	<iso_639_entry
+		iso_639_2B_code="chu"
+		iso_639_2T_code="chu"
+		iso_639_1_code="cu"
+		name="Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" />
+	<iso_639_entry
+		iso_639_2B_code="chv"
+		iso_639_2T_code="chv"
+		iso_639_1_code="cv"
+		name="Chuvash" />
+	<iso_639_entry
+		iso_639_2B_code="chy"
+		iso_639_2T_code="chy"
+		name="Cheyenne" />
+	<iso_639_entry
+		iso_639_2B_code="cmc"
+		iso_639_2T_code="cmc"
+		name="Chamic languages" />
+	<iso_639_entry
+		iso_639_2B_code="cop"
+		iso_639_2T_code="cop"
+		name="Coptic" />
+	<iso_639_entry
+		iso_639_2B_code="cor"
+		iso_639_2T_code="cor"
+		iso_639_1_code="kw"
+		name="Cornish" />
+	<iso_639_entry
+		iso_639_2B_code="cos"
+		iso_639_2T_code="cos"
+		iso_639_1_code="co"
+		name="Corsican" />
+	<iso_639_entry
+		iso_639_2B_code="cpe"
+		iso_639_2T_code="cpe"
+		name="Creoles and pidgins, English based" />
+	<iso_639_entry
+		iso_639_2B_code="cpf"
+		iso_639_2T_code="cpf"
+		name="Creoles and pidgins, French-based" />
+	<iso_639_entry
+		iso_639_2B_code="cpp"
+		iso_639_2T_code="cpp"
+		name="Creoles and pidgins, Portuguese-based" />
+	<iso_639_entry
+		iso_639_2B_code="cre"
+		iso_639_2T_code="cre"
+		iso_639_1_code="cr"
+		name="Cree" />
+	<iso_639_entry
+		iso_639_2B_code="crh"
+		iso_639_2T_code="crh"
+		name="Crimean Tatar; Crimean Turkish" />
+	<iso_639_entry
+		iso_639_2B_code="crp"
+		iso_639_2T_code="crp"
+		name="Creoles and pidgins" />
+	<iso_639_entry
+		iso_639_2B_code="csb"
+		iso_639_2T_code="csb"
+		name="Kashubian" />
+	<iso_639_entry
+		iso_639_2B_code="cus"
+		iso_639_2T_code="cus"
+		name="Cushitic languages" />
+	<iso_639_entry
+		iso_639_2B_code="cze"
+		iso_639_2T_code="ces"
+		iso_639_1_code="cs"
+		name="Czech" />
+	<iso_639_entry
+		iso_639_2B_code="dak"
+		iso_639_2T_code="dak"
+		name="Dakota" />
+	<iso_639_entry
+		iso_639_2B_code="dan"
+		iso_639_2T_code="dan"
+		iso_639_1_code="da"
+		name="Danish" />
+	<iso_639_entry
+		iso_639_2B_code="dar"
+		iso_639_2T_code="dar"
+		name="Dargwa" />
+	<iso_639_entry
+		iso_639_2B_code="day"
+		iso_639_2T_code="day"
+		name="Land Dayak languages" />
+	<iso_639_entry
+		iso_639_2B_code="del"
+		iso_639_2T_code="del"
+		name="Delaware" />
+	<iso_639_entry
+		iso_639_2B_code="den"
+		iso_639_2T_code="den"
+		name="Slave (Athapascan)" />
+	<iso_639_entry
+		iso_639_2B_code="dgr"
+		iso_639_2T_code="dgr"
+		name="Dogrib" />
+	<iso_639_entry
+		iso_639_2B_code="din"
+		iso_639_2T_code="din"
+		name="Dinka" />
+	<iso_639_entry
+		iso_639_2B_code="div"
+		iso_639_2T_code="div"
+		iso_639_1_code="dv"
+		name="Divehi; Dhivehi; Maldivian" />
+	<iso_639_entry
+		iso_639_2B_code="doi"
+		iso_639_2T_code="doi"
+		name="Dogri" />
+	<iso_639_entry
+		iso_639_2B_code="dra"
+		iso_639_2T_code="dra"
+		name="Dravidian languages" />
+	<iso_639_entry
+		iso_639_2B_code="dsb"
+		iso_639_2T_code="dsb"
+		name="Lower Sorbian" />
+	<iso_639_entry
+		iso_639_2B_code="dua"
+		iso_639_2T_code="dua"
+		name="Duala" />
+	<iso_639_entry
+		iso_639_2B_code="dum"
+		iso_639_2T_code="dum"
+		name="Dutch, Middle (ca. 1050-1350)" />
+	<iso_639_entry
+		iso_639_2B_code="dut"
+		iso_639_2T_code="nld"
+		iso_639_1_code="nl"
+		name="Dutch; Flemish" />
+	<iso_639_entry
+		iso_639_2B_code="dyu"
+		iso_639_2T_code="dyu"
+		name="Dyula" />
+	<iso_639_entry
+		iso_639_2B_code="dzo"
+		iso_639_2T_code="dzo"
+		iso_639_1_code="dz"
+		name="Dzongkha" />
+	<iso_639_entry
+		iso_639_2B_code="efi"
+		iso_639_2T_code="efi"
+		name="Efik" />
+	<iso_639_entry
+		iso_639_2B_code="egy"
+		iso_639_2T_code="egy"
+		name="Egyptian (Ancient)" />
+	<iso_639_entry
+		iso_639_2B_code="eka"
+		iso_639_2T_code="eka"
+		name="Ekajuk" />
+	<iso_639_entry
+		iso_639_2B_code="elx"
+		iso_639_2T_code="elx"
+		name="Elamite" />
+	<iso_639_entry
+		iso_639_2B_code="eng"
+		iso_639_2T_code="eng"
+		iso_639_1_code="en"
+		name="English" />
+	<iso_639_entry
+		iso_639_2B_code="enm"
+		iso_639_2T_code="enm"
+		name="English, Middle (1100-1500)" />
+	<iso_639_entry
+		iso_639_2B_code="epo"
+		iso_639_2T_code="epo"
+		iso_639_1_code="eo"
+		name="Esperanto" />
+	<iso_639_entry
+		iso_639_2B_code="est"
+		iso_639_2T_code="est"
+		iso_639_1_code="et"
+		name="Estonian" />
+	<iso_639_entry
+		iso_639_2B_code="ewe"
+		iso_639_2T_code="ewe"
+		iso_639_1_code="ee"
+		name="Ewe" />
+	<iso_639_entry
+		iso_639_2B_code="ewo"
+		iso_639_2T_code="ewo"
+		name="Ewondo" />
+	<iso_639_entry
+		iso_639_2B_code="fan"
+		iso_639_2T_code="fan"
+		name="Fang" />
+	<iso_639_entry
+		iso_639_2B_code="fao"
+		iso_639_2T_code="fao"
+		iso_639_1_code="fo"
+		name="Faroese" />
+	<iso_639_entry
+		iso_639_2B_code="fat"
+		iso_639_2T_code="fat"
+		name="Fanti" />
+	<iso_639_entry
+		iso_639_2B_code="fij"
+		iso_639_2T_code="fij"
+		iso_639_1_code="fj"
+		name="Fijian" />
+	<iso_639_entry
+		iso_639_2B_code="fil"
+		iso_639_2T_code="fil"
+		name="Filipino; Pilipino" />
+	<iso_639_entry
+		iso_639_2B_code="fin"
+		iso_639_2T_code="fin"
+		iso_639_1_code="fi"
+		name="Finnish" />
+	<iso_639_entry
+		iso_639_2B_code="fiu"
+		iso_639_2T_code="fiu"
+		name="Finno-Ugrian languages" />
+	<iso_639_entry
+		iso_639_2B_code="fon"
+		iso_639_2T_code="fon"
+		name="Fon" />
+	<iso_639_entry
+		iso_639_2B_code="fre"
+		iso_639_2T_code="fra"
+		iso_639_1_code="fr"
+		name="French" />
+	<iso_639_entry
+		iso_639_2B_code="frm"
+		iso_639_2T_code="frm"
+		name="French, Middle (ca. 1400-1600)" />
+	<iso_639_entry
+		iso_639_2B_code="fro"
+		iso_639_2T_code="fro"
+		name="French, Old (842-ca. 1400)" />
+	<iso_639_entry
+		iso_639_2B_code="frr"
+		iso_639_2T_code="frr"
+		name="Northern Frisian" />
+	<iso_639_entry
+		iso_639_2B_code="frs"
+		iso_639_2T_code="frs"
+		name="Eastern Frisian" />
+	<iso_639_entry
+		iso_639_2B_code="fry"
+		iso_639_2T_code="fry"
+		iso_639_1_code="fy"
+		name="Western Frisian" />
+	<iso_639_entry
+		iso_639_2B_code="ful"
+		iso_639_2T_code="ful"
+		iso_639_1_code="ff"
+		name="Fulah" />
+	<iso_639_entry
+		iso_639_2B_code="fur"
+		iso_639_2T_code="fur"
+		name="Friulian" />
+	<iso_639_entry
+		iso_639_2B_code="gaa"
+		iso_639_2T_code="gaa"
+		name="Ga" />
+	<iso_639_entry
+		iso_639_2B_code="gay"
+		iso_639_2T_code="gay"
+		name="Gayo" />
+	<iso_639_entry
+		iso_639_2B_code="gba"
+		iso_639_2T_code="gba"
+		name="Gbaya" />
+	<iso_639_entry
+		iso_639_2B_code="gem"
+		iso_639_2T_code="gem"
+		name="Germanic languages" />
+	<iso_639_entry
+		iso_639_2B_code="geo"
+		iso_639_2T_code="kat"
+		iso_639_1_code="ka"
+		name="Georgian" />
+	<iso_639_entry
+		iso_639_2B_code="ger"
+		iso_639_2T_code="deu"
+		iso_639_1_code="de"
+		name="German" />
+	<iso_639_entry
+		iso_639_2B_code="gez"
+		iso_639_2T_code="gez"
+		name="Geez" />
+	<iso_639_entry
+		iso_639_2B_code="gil"
+		iso_639_2T_code="gil"
+		name="Gilbertese" />
+	<iso_639_entry
+		iso_639_2B_code="gla"
+		iso_639_2T_code="gla"
+		iso_639_1_code="gd"
+		name="Gaelic; Scottish Gaelic" />
+	<iso_639_entry
+		iso_639_2B_code="gle"
+		iso_639_2T_code="gle"
+		iso_639_1_code="ga"
+		name="Irish" />
+	<iso_639_entry
+		iso_639_2B_code="glg"
+		iso_639_2T_code="glg"
+		iso_639_1_code="gl"
+		name="Galician" />
+	<iso_639_entry
+		iso_639_2B_code="glv"
+		iso_639_2T_code="glv"
+		iso_639_1_code="gv"
+		name="Manx" />
+	<iso_639_entry
+		iso_639_2B_code="gmh"
+		iso_639_2T_code="gmh"
+		name="German, Middle High (ca. 1050-1500)" />
+	<iso_639_entry
+		iso_639_2B_code="goh"
+		iso_639_2T_code="goh"
+		name="German, Old High (ca. 750-1050)" />
+	<iso_639_entry
+		iso_639_2B_code="gon"
+		iso_639_2T_code="gon"
+		name="Gondi" />
+	<iso_639_entry
+		iso_639_2B_code="gor"
+		iso_639_2T_code="gor"
+		name="Gorontalo" />
+	<iso_639_entry
+		iso_639_2B_code="got"
+		iso_639_2T_code="got"
+		name="Gothic" />
+	<iso_639_entry
+		iso_639_2B_code="grb"
+		iso_639_2T_code="grb"
+		name="Grebo" />
+	<iso_639_entry
+		iso_639_2B_code="grc"
+		iso_639_2T_code="grc"
+		name="Greek, Ancient (to 1453)" />
+	<iso_639_entry
+		iso_639_2B_code="gre"
+		iso_639_2T_code="ell"
+		iso_639_1_code="el"
+		name="Greek, Modern (1453-)" />
+	<iso_639_entry
+		iso_639_2B_code="grn"
+		iso_639_2T_code="grn"
+		iso_639_1_code="gn"
+		name="Guarani" />
+	<iso_639_entry
+		iso_639_2B_code="gsw"
+		iso_639_2T_code="gsw"
+		name="Swiss German; Alemannic; Alsatian" />
+	<iso_639_entry
+		iso_639_2B_code="guj"
+		iso_639_2T_code="guj"
+		iso_639_1_code="gu"
+		name="Gujarati" />
+	<iso_639_entry
+		iso_639_2B_code="gwi"
+		iso_639_2T_code="gwi"
+		name="Gwich'in" />
+	<iso_639_entry
+		iso_639_2B_code="hai"
+		iso_639_2T_code="hai"
+		name="Haida" />
+	<iso_639_entry
+		iso_639_2B_code="hat"
+		iso_639_2T_code="hat"
+		iso_639_1_code="ht"
+		name="Haitian; Haitian Creole" />
+	<iso_639_entry
+		iso_639_2B_code="hau"
+		iso_639_2T_code="hau"
+		iso_639_1_code="ha"
+		name="Hausa" />
+	<iso_639_entry
+		iso_639_2B_code="haw"
+		iso_639_2T_code="haw"
+		name="Hawaiian" />
+	<iso_639_entry
+		iso_639_2B_code="heb"
+		iso_639_2T_code="heb"
+		iso_639_1_code="he"
+		name="Hebrew" />
+	<iso_639_entry
+		iso_639_2B_code="her"
+		iso_639_2T_code="her"
+		iso_639_1_code="hz"
+		name="Herero" />
+	<iso_639_entry
+		iso_639_2B_code="hil"
+		iso_639_2T_code="hil"
+		name="Hiligaynon" />
+	<iso_639_entry
+		iso_639_2B_code="him"
+		iso_639_2T_code="him"
+		name="Himachali languages; Western Pahari languages" />
+	<iso_639_entry
+		iso_639_2B_code="hin"
+		iso_639_2T_code="hin"
+		iso_639_1_code="hi"
+		name="Hindi" />
+	<iso_639_entry
+		iso_639_2B_code="hit"
+		iso_639_2T_code="hit"
+		name="Hittite" />
+	<iso_639_entry
+		iso_639_2B_code="hmn"
+		iso_639_2T_code="hmn"
+		name="Hmong; Mong" />
+	<iso_639_entry
+		iso_639_2B_code="hmo"
+		iso_639_2T_code="hmo"
+		iso_639_1_code="ho"
+		name="Hiri Motu" />
+	<iso_639_entry
+		iso_639_2B_code="hrv"
+		iso_639_2T_code="hrv"
+		iso_639_1_code="hr"
+		name="Croatian" />
+	<iso_639_entry
+		iso_639_2B_code="hsb"
+		iso_639_2T_code="hsb"
+		name="Upper Sorbian" />
+	<iso_639_entry
+		iso_639_2B_code="hun"
+		iso_639_2T_code="hun"
+		iso_639_1_code="hu"
+		name="Hungarian" />
+	<iso_639_entry
+		iso_639_2B_code="hup"
+		iso_639_2T_code="hup"
+		name="Hupa" />
+	<iso_639_entry
+		iso_639_2B_code="iba"
+		iso_639_2T_code="iba"
+		name="Iban" />
+	<iso_639_entry
+		iso_639_2B_code="ibo"
+		iso_639_2T_code="ibo"
+		iso_639_1_code="ig"
+		name="Igbo" />
+	<iso_639_entry
+		iso_639_2B_code="ice"
+		iso_639_2T_code="isl"
+		iso_639_1_code="is"
+		name="Icelandic" />
+	<iso_639_entry
+		iso_639_2B_code="ido"
+		iso_639_2T_code="ido"
+		iso_639_1_code="io"
+		name="Ido" />
+	<iso_639_entry
+		iso_639_2B_code="iii"
+		iso_639_2T_code="iii"
+		iso_639_1_code="ii"
+		name="Sichuan Yi; Nuosu" />
+	<iso_639_entry
+		iso_639_2B_code="ijo"
+		iso_639_2T_code="ijo"
+		name="Ijo languages" />
+	<iso_639_entry
+		iso_639_2B_code="iku"
+		iso_639_2T_code="iku"
+		iso_639_1_code="iu"
+		name="Inuktitut" />
+	<iso_639_entry
+		iso_639_2B_code="ile"
+		iso_639_2T_code="ile"
+		iso_639_1_code="ie"
+		name="Interlingue; Occidental" />
+	<iso_639_entry
+		iso_639_2B_code="ilo"
+		iso_639_2T_code="ilo"
+		name="Iloko" />
+	<iso_639_entry
+		iso_639_2B_code="ina"
+		iso_639_2T_code="ina"
+		iso_639_1_code="ia"
+		name="Interlingua (International Auxiliary Language Association)" />
+	<iso_639_entry
+		iso_639_2B_code="inc"
+		iso_639_2T_code="inc"
+		name="Indic languages" />
+	<iso_639_entry
+		iso_639_2B_code="ind"
+		iso_639_2T_code="ind"
+		iso_639_1_code="id"
+		name="Indonesian" />
+	<iso_639_entry
+		iso_639_2B_code="ine"
+		iso_639_2T_code="ine"
+		name="Indo-European languages" />
+	<iso_639_entry
+		iso_639_2B_code="inh"
+		iso_639_2T_code="inh"
+		name="Ingush" />
+	<iso_639_entry
+		iso_639_2B_code="ipk"
+		iso_639_2T_code="ipk"
+		iso_639_1_code="ik"
+		name="Inupiaq" />
+	<iso_639_entry
+		iso_639_2B_code="ira"
+		iso_639_2T_code="ira"
+		name="Iranian languages" />
+	<iso_639_entry
+		iso_639_2B_code="iro"
+		iso_639_2T_code="iro"
+		name="Iroquoian languages" />
+	<iso_639_entry
+		iso_639_2B_code="ita"
+		iso_639_2T_code="ita"
+		iso_639_1_code="it"
+		name="Italian" />
+	<iso_639_entry
+		iso_639_2B_code="jav"
+		iso_639_2T_code="jav"
+		iso_639_1_code="jv"
+		name="Javanese" />
+	<iso_639_entry
+		iso_639_2B_code="jbo"
+		iso_639_2T_code="jbo"
+		name="Lojban" />
+	<iso_639_entry
+		iso_639_2B_code="jpn"
+		iso_639_2T_code="jpn"
+		iso_639_1_code="ja"
+		name="Japanese" />
+	<iso_639_entry
+		iso_639_2B_code="jpr"
+		iso_639_2T_code="jpr"
+		name="Judeo-Persian" />
+	<iso_639_entry
+		iso_639_2B_code="jrb"
+		iso_639_2T_code="jrb"
+		name="Judeo-Arabic" />
+	<iso_639_entry
+		iso_639_2B_code="kaa"
+		iso_639_2T_code="kaa"
+		name="Kara-Kalpak" />
+	<iso_639_entry
+		iso_639_2B_code="kab"
+		iso_639_2T_code="kab"
+		name="Kabyle" />
+	<iso_639_entry
+		iso_639_2B_code="kac"
+		iso_639_2T_code="kac"
+		name="Kachin; Jingpho" />
+	<iso_639_entry
+		iso_639_2B_code="kal"
+		iso_639_2T_code="kal"
+		iso_639_1_code="kl"
+		name="Kalaallisut; Greenlandic" />
+	<iso_639_entry
+		iso_639_2B_code="kam"
+		iso_639_2T_code="kam"
+		name="Kamba" />
+	<iso_639_entry
+		iso_639_2B_code="kan"
+		iso_639_2T_code="kan"
+		iso_639_1_code="kn"
+		name="Kannada" />
+	<iso_639_entry
+		iso_639_2B_code="kar"
+		iso_639_2T_code="kar"
+		name="Karen languages" />
+	<iso_639_entry
+		iso_639_2B_code="kas"
+		iso_639_2T_code="kas"
+		iso_639_1_code="ks"
+		name="Kashmiri" />
+	<iso_639_entry
+		iso_639_2B_code="kau"
+		iso_639_2T_code="kau"
+		iso_639_1_code="kr"
+		name="Kanuri" />
+	<iso_639_entry
+		iso_639_2B_code="kaw"
+		iso_639_2T_code="kaw"
+		name="Kawi" />
+	<iso_639_entry
+		iso_639_2B_code="kaz"
+		iso_639_2T_code="kaz"
+		iso_639_1_code="kk"
+		name="Kazakh" />
+	<iso_639_entry
+		iso_639_2B_code="kbd"
+		iso_639_2T_code="kbd"
+		name="Kabardian" />
+	<iso_639_entry
+		iso_639_2B_code="kha"
+		iso_639_2T_code="kha"
+		name="Khasi" />
+	<iso_639_entry
+		iso_639_2B_code="khi"
+		iso_639_2T_code="khi"
+		name="Khoisan languages" />
+	<iso_639_entry
+		iso_639_2B_code="khm"
+		iso_639_2T_code="khm"
+		iso_639_1_code="km"
+		name="Central Khmer" />
+	<iso_639_entry
+		iso_639_2B_code="kho"
+		iso_639_2T_code="kho"
+		name="Khotanese;Sakan" />
+	<iso_639_entry
+		iso_639_2B_code="kik"
+		iso_639_2T_code="kik"
+		iso_639_1_code="ki"
+		name="Kikuyu; Gikuyu" />
+	<iso_639_entry
+		iso_639_2B_code="kin"
+		iso_639_2T_code="kin"
+		iso_639_1_code="rw"
+		name="Kinyarwanda" />
+	<iso_639_entry
+		iso_639_2B_code="kir"
+		iso_639_2T_code="kir"
+		iso_639_1_code="ky"
+		name="Kirghiz; Kyrgyz" />
+	<iso_639_entry
+		iso_639_2B_code="kmb"
+		iso_639_2T_code="kmb"
+		name="Kimbundu" />
+	<iso_639_entry
+		iso_639_2B_code="kok"
+		iso_639_2T_code="kok"
+		name="Konkani" />
+	<iso_639_entry
+		iso_639_2B_code="kom"
+		iso_639_2T_code="kom"
+		iso_639_1_code="kv"
+		name="Komi" />
+	<iso_639_entry
+		iso_639_2B_code="kon"
+		iso_639_2T_code="kon"
+		iso_639_1_code="kg"
+		name="Kongo" />
+	<iso_639_entry
+		iso_639_2B_code="kor"
+		iso_639_2T_code="kor"
+		iso_639_1_code="ko"
+		name="Korean" />
+	<iso_639_entry
+		iso_639_2B_code="kos"
+		iso_639_2T_code="kos"
+		name="Kosraean" />
+	<iso_639_entry
+		iso_639_2B_code="kpe"
+		iso_639_2T_code="kpe"
+		name="Kpelle" />
+	<iso_639_entry
+		iso_639_2B_code="krc"
+		iso_639_2T_code="krc"
+		name="Karachay-Balkar" />
+	<iso_639_entry
+		iso_639_2B_code="krl"
+		iso_639_2T_code="krl"
+		name="Karelian" />
+	<iso_639_entry
+		iso_639_2B_code="kro"
+		iso_639_2T_code="kro"
+		name="Kru languages" />
+	<iso_639_entry
+		iso_639_2B_code="kru"
+		iso_639_2T_code="kru"
+		name="Kurukh" />
+	<iso_639_entry
+		iso_639_2B_code="kua"
+		iso_639_2T_code="kua"
+		iso_639_1_code="kj"
+		name="Kuanyama; Kwanyama" />
+	<iso_639_entry
+		iso_639_2B_code="kum"
+		iso_639_2T_code="kum"
+		name="Kumyk" />
+	<iso_639_entry
+		iso_639_2B_code="kur"
+		iso_639_2T_code="kur"
+		iso_639_1_code="ku"
+		name="Kurdish" />
+	<iso_639_entry
+		iso_639_2B_code="kut"
+		iso_639_2T_code="kut"
+		name="Kutenai" />
+	<iso_639_entry
+		iso_639_2B_code="lad"
+		iso_639_2T_code="lad"
+		name="Ladino" />
+	<iso_639_entry
+		iso_639_2B_code="lah"
+		iso_639_2T_code="lah"
+		name="Lahnda" />
+	<iso_639_entry
+		iso_639_2B_code="lam"
+		iso_639_2T_code="lam"
+		name="Lamba" />
+	<iso_639_entry
+		iso_639_2B_code="lao"
+		iso_639_2T_code="lao"
+		iso_639_1_code="lo"
+		name="Lao" />
+	<iso_639_entry
+		iso_639_2B_code="lat"
+		iso_639_2T_code="lat"
+		iso_639_1_code="la"
+		name="Latin" />
+	<iso_639_entry
+		iso_639_2B_code="lav"
+		iso_639_2T_code="lav"
+		iso_639_1_code="lv"
+		name="Latvian" />
+	<iso_639_entry
+		iso_639_2B_code="lez"
+		iso_639_2T_code="lez"
+		name="Lezghian" />
+	<iso_639_entry
+		iso_639_2B_code="lim"
+		iso_639_2T_code="lim"
+		iso_639_1_code="li"
+		name="Limburgan; Limburger; Limburgish" />
+	<iso_639_entry
+		iso_639_2B_code="lin"
+		iso_639_2T_code="lin"
+		iso_639_1_code="ln"
+		name="Lingala" />
+	<iso_639_entry
+		iso_639_2B_code="lit"
+		iso_639_2T_code="lit"
+		iso_639_1_code="lt"
+		name="Lithuanian" />
+	<iso_639_entry
+		iso_639_2B_code="lol"
+		iso_639_2T_code="lol"
+		name="Mongo" />
+	<iso_639_entry
+		iso_639_2B_code="loz"
+		iso_639_2T_code="loz"
+		name="Lozi" />
+	<iso_639_entry
+		iso_639_2B_code="ltz"
+		iso_639_2T_code="ltz"
+		iso_639_1_code="lb"
+		name="Luxembourgish; Letzeburgesch" />
+	<iso_639_entry
+		iso_639_2B_code="lua"
+		iso_639_2T_code="lua"
+		name="Luba-Lulua" />
+	<iso_639_entry
+		iso_639_2B_code="lub"
+		iso_639_2T_code="lub"
+		iso_639_1_code="lu"
+		name="Luba-Katanga" />
+	<iso_639_entry
+		iso_639_2B_code="lug"
+		iso_639_2T_code="lug"
+		iso_639_1_code="lg"
+		name="Ganda" />
+	<iso_639_entry
+		iso_639_2B_code="lui"
+		iso_639_2T_code="lui"
+		name="Luiseno" />
+	<iso_639_entry
+		iso_639_2B_code="lun"
+		iso_639_2T_code="lun"
+		name="Lunda" />
+	<iso_639_entry
+		iso_639_2B_code="luo"
+		iso_639_2T_code="luo"
+		name="Luo (Kenya and Tanzania)" />
+	<iso_639_entry
+		iso_639_2B_code="lus"
+		iso_639_2T_code="lus"
+		name="Lushai" />
+	<iso_639_entry
+		iso_639_2B_code="mac"
+		iso_639_2T_code="mkd"
+		iso_639_1_code="mk"
+		name="Macedonian" />
+	<iso_639_entry
+		iso_639_2B_code="mad"
+		iso_639_2T_code="mad"
+		name="Madurese" />
+	<iso_639_entry
+		iso_639_2B_code="mag"
+		iso_639_2T_code="mag"
+		name="Magahi" />
+	<iso_639_entry
+		iso_639_2B_code="mah"
+		iso_639_2T_code="mah"
+		iso_639_1_code="mh"
+		name="Marshallese" />
+	<iso_639_entry
+		iso_639_2B_code="mai"
+		iso_639_2T_code="mai"
+		name="Maithili" />
+	<iso_639_entry
+		iso_639_2B_code="mak"
+		iso_639_2T_code="mak"
+		name="Makasar" />
+	<iso_639_entry
+		iso_639_2B_code="mal"
+		iso_639_2T_code="mal"
+		iso_639_1_code="ml"
+		name="Malayalam" />
+	<iso_639_entry
+		iso_639_2B_code="man"
+		iso_639_2T_code="man"
+		name="Mandingo" />
+	<iso_639_entry
+		iso_639_2B_code="mao"
+		iso_639_2T_code="mri"
+		iso_639_1_code="mi"
+		name="Maori" />
+	<iso_639_entry
+		iso_639_2B_code="map"
+		iso_639_2T_code="map"
+		name="Austronesian languages" />
+	<iso_639_entry
+		iso_639_2B_code="mar"
+		iso_639_2T_code="mar"
+		iso_639_1_code="mr"
+		name="Marathi" />
+	<iso_639_entry
+		iso_639_2B_code="mas"
+		iso_639_2T_code="mas"
+		name="Masai" />
+	<iso_639_entry
+		iso_639_2B_code="may"
+		iso_639_2T_code="msa"
+		iso_639_1_code="ms"
+		name="Malay" />
+	<iso_639_entry
+		iso_639_2B_code="mdf"
+		iso_639_2T_code="mdf"
+		name="Moksha" />
+	<iso_639_entry
+		iso_639_2B_code="mdr"
+		iso_639_2T_code="mdr"
+		name="Mandar" />
+	<iso_639_entry
+		iso_639_2B_code="men"
+		iso_639_2T_code="men"
+		name="Mende" />
+	<iso_639_entry
+		iso_639_2B_code="mga"
+		iso_639_2T_code="mga"
+		name="Irish, Middle (900-1200)" />
+	<iso_639_entry
+		iso_639_2B_code="mic"
+		iso_639_2T_code="mic"
+		name="Mi'kmaq; Micmac" />
+	<iso_639_entry
+		iso_639_2B_code="min"
+		iso_639_2T_code="min"
+		name="Minangkabau" />
+	<iso_639_entry
+		iso_639_2B_code="mis"
+		iso_639_2T_code="mis"
+		name="Uncoded languages" />
+	<iso_639_entry
+		iso_639_2B_code="mkh"
+		iso_639_2T_code="mkh"
+		name="Mon-Khmer languages" />
+	<iso_639_entry
+		iso_639_2B_code="mlg"
+		iso_639_2T_code="mlg"
+		iso_639_1_code="mg"
+		name="Malagasy" />
+	<iso_639_entry
+		iso_639_2B_code="mlt"
+		iso_639_2T_code="mlt"
+		iso_639_1_code="mt"
+		name="Maltese" />
+	<iso_639_entry
+		iso_639_2B_code="mnc"
+		iso_639_2T_code="mnc"
+		name="Manchu" />
+	<iso_639_entry
+		iso_639_2B_code="mni"
+		iso_639_2T_code="mni"
+		name="Manipuri" />
+	<iso_639_entry
+		iso_639_2B_code="mno"
+		iso_639_2T_code="mno"
+		name="Manobo languages" />
+	<iso_639_entry
+		iso_639_2B_code="moh"
+		iso_639_2T_code="moh"
+		name="Mohawk" />
+	<iso_639_entry
+		iso_639_2B_code="mol"
+		iso_639_2T_code="mol"
+		iso_639_1_code="mo"
+		name="Moldavian; Moldovan" />
+	<iso_639_entry
+		iso_639_2B_code="mon"
+		iso_639_2T_code="mon"
+		iso_639_1_code="mn"
+		name="Mongolian" />
+	<iso_639_entry
+		iso_639_2B_code="mos"
+		iso_639_2T_code="mos"
+		name="Mossi" />
+	<iso_639_entry
+		iso_639_2B_code="mul"
+		iso_639_2T_code="mul"
+		name="Multiple languages" />
+	<iso_639_entry
+		iso_639_2B_code="mun"
+		iso_639_2T_code="mun"
+		name="Munda languages" />
+	<iso_639_entry
+		iso_639_2B_code="mus"
+		iso_639_2T_code="mus"
+		name="Creek" />
+	<iso_639_entry
+		iso_639_2B_code="mwl"
+		iso_639_2T_code="mwl"
+		name="Mirandese" />
+	<iso_639_entry
+		iso_639_2B_code="mwr"
+		iso_639_2T_code="mwr"
+		name="Marwari" />
+	<iso_639_entry
+		iso_639_2B_code="myn"
+		iso_639_2T_code="myn"
+		name="Mayan languages" />
+	<iso_639_entry
+		iso_639_2B_code="myv"
+		iso_639_2T_code="myv"
+		name="Erzya" />
+	<iso_639_entry
+		iso_639_2B_code="nah"
+		iso_639_2T_code="nah"
+		name="Nahuatl languages" />
+	<iso_639_entry
+		iso_639_2B_code="nai"
+		iso_639_2T_code="nai"
+		name="North American Indian languages" />
+	<iso_639_entry
+		iso_639_2B_code="nap"
+		iso_639_2T_code="nap"
+		name="Neapolitan" />
+	<iso_639_entry
+		iso_639_2B_code="nau"
+		iso_639_2T_code="nau"
+		iso_639_1_code="na"
+		name="Nauru" />
+	<iso_639_entry
+		iso_639_2B_code="nav"
+		iso_639_2T_code="nav"
+		iso_639_1_code="nv"
+		name="Navajo; Navaho" />
+	<iso_639_entry
+		iso_639_2B_code="nbl"
+		iso_639_2T_code="nbl"
+		iso_639_1_code="nr"
+		name="Ndebele, South; South Ndebele" />
+	<iso_639_entry
+		iso_639_2B_code="nde"
+		iso_639_2T_code="nde"
+		iso_639_1_code="nd"
+		name="Ndebele, North; North Ndebele" />
+	<iso_639_entry
+		iso_639_2B_code="ndo"
+		iso_639_2T_code="ndo"
+		iso_639_1_code="ng"
+		name="Ndonga" />
+	<iso_639_entry
+		iso_639_2B_code="nds"
+		iso_639_2T_code="nds"
+		name="Low German; Low Saxon; German, Low; Saxon, Low" />
+	<iso_639_entry
+		iso_639_2B_code="nep"
+		iso_639_2T_code="nep"
+		iso_639_1_code="ne"
+		name="Nepali" />
+	<iso_639_entry
+		iso_639_2B_code="new"
+		iso_639_2T_code="new"
+		name="Nepal Bhasa; Newari" />
+	<iso_639_entry
+		iso_639_2B_code="nia"
+		iso_639_2T_code="nia"
+		name="Nias" />
+	<iso_639_entry
+		iso_639_2B_code="nic"
+		iso_639_2T_code="nic"
+		name="Niger-Kordofanian languages" />
+	<iso_639_entry
+		iso_639_2B_code="niu"
+		iso_639_2T_code="niu"
+		name="Niuean" />
+	<iso_639_entry
+		iso_639_2B_code="nno"
+		iso_639_2T_code="nno"
+		iso_639_1_code="nn"
+		name="Norwegian Nynorsk; Nynorsk, Norwegian" />
+	<iso_639_entry
+		iso_639_2B_code="nob"
+		iso_639_2T_code="nob"
+		iso_639_1_code="nb"
+		name="Bokmål, Norwegian; Norwegian Bokmål" />
+	<iso_639_entry
+		iso_639_2B_code="nog"
+		iso_639_2T_code="nog"
+		name="Nogai" />
+	<iso_639_entry
+		iso_639_2B_code="non"
+		iso_639_2T_code="non"
+		name="Norse, Old" />
+	<iso_639_entry
+		iso_639_2B_code="nor"
+		iso_639_2T_code="nor"
+		iso_639_1_code="no"
+		name="Norwegian" />
+	<iso_639_entry
+		iso_639_2B_code="nqo"
+		iso_639_2T_code="nqo"
+		name="N'Ko" />
+	<iso_639_entry
+		iso_639_2B_code="nso"
+		iso_639_2T_code="nso"
+		name="Pedi; Sepedi; Northern Sotho" />
+	<iso_639_entry
+		iso_639_2B_code="nub"
+		iso_639_2T_code="nub"
+		name="Nubian languages" />
+	<iso_639_entry
+		iso_639_2B_code="nwc"
+		iso_639_2T_code="nwc"
+		name="Classical Newari; Old Newari; Classical Nepal Bhasa" />
+	<iso_639_entry
+		iso_639_2B_code="nya"
+		iso_639_2T_code="nya"
+		iso_639_1_code="ny"
+		name="Chichewa; Chewa; Nyanja" />
+	<iso_639_entry
+		iso_639_2B_code="nym"
+		iso_639_2T_code="nym"
+		name="Nyamwezi" />
+	<iso_639_entry
+		iso_639_2B_code="nyn"
+		iso_639_2T_code="nyn"
+		name="Nyankole" />
+	<iso_639_entry
+		iso_639_2B_code="nyo"
+		iso_639_2T_code="nyo"
+		name="Nyoro" />
+	<iso_639_entry
+		iso_639_2B_code="nzi"
+		iso_639_2T_code="nzi"
+		name="Nzima" />
+	<iso_639_entry
+		iso_639_2B_code="oci"
+		iso_639_2T_code="oci"
+		iso_639_1_code="oc"
+		name="Occitan (post 1500)" />
+	<iso_639_entry
+		iso_639_2B_code="oji"
+		iso_639_2T_code="oji"
+		iso_639_1_code="oj"
+		name="Ojibwa" />
+	<iso_639_entry
+		iso_639_2B_code="ori"
+		iso_639_2T_code="ori"
+		iso_639_1_code="or"
+		name="Oriya" />
+	<iso_639_entry
+		iso_639_2B_code="orm"
+		iso_639_2T_code="orm"
+		iso_639_1_code="om"
+		name="Oromo" />
+	<iso_639_entry
+		iso_639_2B_code="osa"
+		iso_639_2T_code="osa"
+		name="Osage" />
+	<iso_639_entry
+		iso_639_2B_code="oss"
+		iso_639_2T_code="oss"
+		iso_639_1_code="os"
+		name="Ossetian; Ossetic" />
+	<iso_639_entry
+		iso_639_2B_code="ota"
+		iso_639_2T_code="ota"
+		name="Turkish, Ottoman (1500-1928)" />
+	<iso_639_entry
+		iso_639_2B_code="oto"
+		iso_639_2T_code="oto"
+		name="Otomian languages" />
+	<iso_639_entry
+		iso_639_2B_code="paa"
+		iso_639_2T_code="paa"
+		name="Papuan languages" />
+	<iso_639_entry
+		iso_639_2B_code="pag"
+		iso_639_2T_code="pag"
+		name="Pangasinan" />
+	<iso_639_entry
+		iso_639_2B_code="pal"
+		iso_639_2T_code="pal"
+		name="Pahlavi" />
+	<iso_639_entry
+		iso_639_2B_code="pam"
+		iso_639_2T_code="pam"
+		name="Pampanga; Kapampangan" />
+	<iso_639_entry
+		iso_639_2B_code="pan"
+		iso_639_2T_code="pan"
+		iso_639_1_code="pa"
+		name="Panjabi; Punjabi" />
+	<iso_639_entry
+		iso_639_2B_code="pap"
+		iso_639_2T_code="pap"
+		name="Papiamento" />
+	<iso_639_entry
+		iso_639_2B_code="pau"
+		iso_639_2T_code="pau"
+		name="Palauan" />
+	<iso_639_entry
+		iso_639_2B_code="peo"
+		iso_639_2T_code="peo"
+		name="Persian, Old (ca. 600-400 B.C.)" />
+	<iso_639_entry
+		iso_639_2B_code="per"
+		iso_639_2T_code="fas"
+		iso_639_1_code="fa"
+		name="Persian" />
+	<iso_639_entry
+		iso_639_2B_code="phi"
+		iso_639_2T_code="phi"
+		name="Philippine languages" />
+	<iso_639_entry
+		iso_639_2B_code="phn"
+		iso_639_2T_code="phn"
+		name="Phoenician" />
+	<iso_639_entry
+		iso_639_2B_code="pli"
+		iso_639_2T_code="pli"
+		iso_639_1_code="pi"
+		name="Pali" />
+	<iso_639_entry
+		iso_639_2B_code="pol"
+		iso_639_2T_code="pol"
+		iso_639_1_code="pl"
+		name="Polish" />
+	<iso_639_entry
+		iso_639_2B_code="pon"
+		iso_639_2T_code="pon"
+		name="Pohnpeian" />
+	<iso_639_entry
+		iso_639_2B_code="por"
+		iso_639_2T_code="por"
+		iso_639_1_code="pt"
+		name="Portuguese" />
+	<iso_639_entry
+		iso_639_2B_code="pra"
+		iso_639_2T_code="pra"
+		name="Prakrit languages" />
+	<iso_639_entry
+		iso_639_2B_code="pro"
+		iso_639_2T_code="pro"
+		name="Provençal, Old (to 1500); Occitan, Old (to 1500)" />
+	<iso_639_entry
+		iso_639_2B_code="pus"
+		iso_639_2T_code="pus"
+		iso_639_1_code="ps"
+		name="Pushto; Pashto" />
+	<iso_639_entry
+		iso_639_2B_code="qaa-qtz"
+		iso_639_2T_code="qaa-qtz"
+		name="Reserved for local use" />
+	<iso_639_entry
+		iso_639_2B_code="que"
+		iso_639_2T_code="que"
+		iso_639_1_code="qu"
+		name="Quechua" />
+	<iso_639_entry
+		iso_639_2B_code="raj"
+		iso_639_2T_code="raj"
+		name="Rajasthani" />
+	<iso_639_entry
+		iso_639_2B_code="rap"
+		iso_639_2T_code="rap"
+		name="Rapanui" />
+	<iso_639_entry
+		iso_639_2B_code="rar"
+		iso_639_2T_code="rar"
+		name="Rarotongan; Cook Islands Maori" />
+	<iso_639_entry
+		iso_639_2B_code="roa"
+		iso_639_2T_code="roa"
+		name="Romance languages" />
+	<iso_639_entry
+		iso_639_2B_code="roh"
+		iso_639_2T_code="roh"
+		iso_639_1_code="rm"
+		name="Romansh" />
+	<iso_639_entry
+		iso_639_2B_code="rom"
+		iso_639_2T_code="rom"
+		name="Romany" />
+	<iso_639_entry
+		iso_639_2B_code="rum"
+		iso_639_2T_code="ron"
+		iso_639_1_code="ro"
+		name="Romanian" />
+	<iso_639_entry
+		iso_639_2B_code="run"
+		iso_639_2T_code="run"
+		iso_639_1_code="rn"
+		name="Rundi" />
+	<iso_639_entry
+		iso_639_2B_code="rup"
+		iso_639_2T_code="rup"
+		name="Aromanian; Arumanian; Macedo-Romanian" />
+	<iso_639_entry
+		iso_639_2B_code="rus"
+		iso_639_2T_code="rus"
+		iso_639_1_code="ru"
+		name="Russian" />
+	<iso_639_entry
+		iso_639_2B_code="sad"
+		iso_639_2T_code="sad"
+		name="Sandawe" />
+	<iso_639_entry
+		iso_639_2B_code="sag"
+		iso_639_2T_code="sag"
+		iso_639_1_code="sg"
+		name="Sango" />
+	<iso_639_entry
+		iso_639_2B_code="sah"
+		iso_639_2T_code="sah"
+		name="Yakut" />
+	<iso_639_entry
+		iso_639_2B_code="sai"
+		iso_639_2T_code="sai"
+		name="South American Indian languages" />
+	<iso_639_entry
+		iso_639_2B_code="sal"
+		iso_639_2T_code="sal"
+		name="Salishan languages" />
+	<iso_639_entry
+		iso_639_2B_code="sam"
+		iso_639_2T_code="sam"
+		name="Samaritan Aramaic" />
+	<iso_639_entry
+		iso_639_2B_code="san"
+		iso_639_2T_code="san"
+		iso_639_1_code="sa"
+		name="Sanskrit" />
+	<iso_639_entry
+		iso_639_2B_code="sas"
+		iso_639_2T_code="sas"
+		name="Sasak" />
+	<iso_639_entry
+		iso_639_2B_code="sat"
+		iso_639_2T_code="sat"
+		name="Santali" />
+	<iso_639_entry
+		iso_639_2B_code="scn"
+		iso_639_2T_code="scn"
+		name="Sicilian" />
+	<iso_639_entry
+		iso_639_2B_code="sco"
+		iso_639_2T_code="sco"
+		name="Scots" />
+	<iso_639_entry
+		iso_639_2B_code="sel"
+		iso_639_2T_code="sel"
+		name="Selkup" />
+	<iso_639_entry
+		iso_639_2B_code="sem"
+		iso_639_2T_code="sem"
+		name="Semitic languages" />
+	<iso_639_entry
+		iso_639_2B_code="sga"
+		iso_639_2T_code="sga"
+		name="Irish, Old (to 900)" />
+	<iso_639_entry
+		iso_639_2B_code="sgn"
+		iso_639_2T_code="sgn"
+		name="Sign Languages" />
+	<iso_639_entry
+		iso_639_2B_code="shn"
+		iso_639_2T_code="shn"
+		name="Shan" />
+	<iso_639_entry
+		iso_639_2B_code="sid"
+		iso_639_2T_code="sid"
+		name="Sidamo" />
+	<iso_639_entry
+		iso_639_2B_code="sin"
+		iso_639_2T_code="sin"
+		iso_639_1_code="si"
+		name="Sinhala; Sinhalese" />
+	<iso_639_entry
+		iso_639_2B_code="sio"
+		iso_639_2T_code="sio"
+		name="Siouan languages" />
+	<iso_639_entry
+		iso_639_2B_code="sit"
+		iso_639_2T_code="sit"
+		name="Sino-Tibetan languages" />
+	<iso_639_entry
+		iso_639_2B_code="sla"
+		iso_639_2T_code="sla"
+		name="Slavic languages" />
+	<iso_639_entry
+		iso_639_2B_code="slo"
+		iso_639_2T_code="slk"
+		iso_639_1_code="sk"
+		name="Slovak" />
+	<iso_639_entry
+		iso_639_2B_code="slv"
+		iso_639_2T_code="slv"
+		iso_639_1_code="sl"
+		name="Slovenian" />
+	<iso_639_entry
+		iso_639_2B_code="sma"
+		iso_639_2T_code="sma"
+		name="Southern Sami" />
+	<iso_639_entry
+		iso_639_2B_code="sme"
+		iso_639_2T_code="sme"
+		iso_639_1_code="se"
+		name="Northern Sami" />
+	<iso_639_entry
+		iso_639_2B_code="smi"
+		iso_639_2T_code="smi"
+		name="Sami languages" />
+	<iso_639_entry
+		iso_639_2B_code="smj"
+		iso_639_2T_code="smj"
+		name="Lule Sami" />
+	<iso_639_entry
+		iso_639_2B_code="smn"
+		iso_639_2T_code="smn"
+		name="Inari Sami" />
+	<iso_639_entry
+		iso_639_2B_code="smo"
+		iso_639_2T_code="smo"
+		iso_639_1_code="sm"
+		name="Samoan" />
+	<iso_639_entry
+		iso_639_2B_code="sms"
+		iso_639_2T_code="sms"
+		name="Skolt Sami" />
+	<iso_639_entry
+		iso_639_2B_code="sna"
+		iso_639_2T_code="sna"
+		iso_639_1_code="sn"
+		name="Shona" />
+	<iso_639_entry
+		iso_639_2B_code="snd"
+		iso_639_2T_code="snd"
+		iso_639_1_code="sd"
+		name="Sindhi" />
+	<iso_639_entry
+		iso_639_2B_code="snk"
+		iso_639_2T_code="snk"
+		name="Soninke" />
+	<iso_639_entry
+		iso_639_2B_code="sog"
+		iso_639_2T_code="sog"
+		name="Sogdian" />
+	<iso_639_entry
+		iso_639_2B_code="som"
+		iso_639_2T_code="som"
+		iso_639_1_code="so"
+		name="Somali" />
+	<iso_639_entry
+		iso_639_2B_code="son"
+		iso_639_2T_code="son"
+		name="Songhai languages" />
+	<iso_639_entry
+		iso_639_2B_code="sot"
+		iso_639_2T_code="sot"
+		iso_639_1_code="st"
+		name="Sotho, Southern" />
+	<iso_639_entry
+		iso_639_2B_code="spa"
+		iso_639_2T_code="spa"
+		iso_639_1_code="es"
+		name="Spanish; Castilian" />
+	<iso_639_entry
+		iso_639_2B_code="srd"
+		iso_639_2T_code="srd"
+		iso_639_1_code="sc"
+		name="Sardinian" />
+	<iso_639_entry
+		iso_639_2B_code="srn"
+		iso_639_2T_code="srn"
+		name="Sranan Tongo" />
+	<iso_639_entry
+		iso_639_2B_code="srp"
+		iso_639_2T_code="srp"
+		iso_639_1_code="sr"
+		name="Serbian" />
+	<iso_639_entry
+		iso_639_2B_code="srr"
+		iso_639_2T_code="srr"
+		name="Serer" />
+	<iso_639_entry
+		iso_639_2B_code="ssa"
+		iso_639_2T_code="ssa"
+		name="Nilo-Saharan languages" />
+	<iso_639_entry
+		iso_639_2B_code="ssw"
+		iso_639_2T_code="ssw"
+		iso_639_1_code="ss"
+		name="Swati" />
+	<iso_639_entry
+		iso_639_2B_code="suk"
+		iso_639_2T_code="suk"
+		name="Sukuma" />
+	<iso_639_entry
+		iso_639_2B_code="sun"
+		iso_639_2T_code="sun"
+		iso_639_1_code="su"
+		name="Sundanese" />
+	<iso_639_entry
+		iso_639_2B_code="sus"
+		iso_639_2T_code="sus"
+		name="Susu" />
+	<iso_639_entry
+		iso_639_2B_code="sux"
+		iso_639_2T_code="sux"
+		name="Sumerian" />
+	<iso_639_entry
+		iso_639_2B_code="swa"
+		iso_639_2T_code="swa"
+		iso_639_1_code="sw"
+		name="Swahili" />
+	<iso_639_entry
+		iso_639_2B_code="swe"
+		iso_639_2T_code="swe"
+		iso_639_1_code="sv"
+		name="Swedish" />
+	<iso_639_entry
+		iso_639_2B_code="syc"
+		iso_639_2T_code="syc"
+		name="Classical Syriac" />
+	<iso_639_entry
+		iso_639_2B_code="syr"
+		iso_639_2T_code="syr"
+		name="Syriac" />
+	<iso_639_entry
+		iso_639_2B_code="tah"
+		iso_639_2T_code="tah"
+		iso_639_1_code="ty"
+		name="Tahitian" />
+	<iso_639_entry
+		iso_639_2B_code="tai"
+		iso_639_2T_code="tai"
+		name="Tai languages" />
+	<iso_639_entry
+		iso_639_2B_code="tam"
+		iso_639_2T_code="tam"
+		iso_639_1_code="ta"
+		name="Tamil" />
+	<iso_639_entry
+		iso_639_2B_code="tat"
+		iso_639_2T_code="tat"
+		iso_639_1_code="tt"
+		name="Tatar" />
+	<iso_639_entry
+		iso_639_2B_code="tel"
+		iso_639_2T_code="tel"
+		iso_639_1_code="te"
+		name="Telugu" />
+	<iso_639_entry
+		iso_639_2B_code="tem"
+		iso_639_2T_code="tem"
+		name="Timne" />
+	<iso_639_entry
+		iso_639_2B_code="ter"
+		iso_639_2T_code="ter"
+		name="Tereno" />
+	<iso_639_entry
+		iso_639_2B_code="tet"
+		iso_639_2T_code="tet"
+		name="Tetum" />
+	<iso_639_entry
+		iso_639_2B_code="tgk"
+		iso_639_2T_code="tgk"
+		iso_639_1_code="tg"
+		name="Tajik" />
+	<iso_639_entry
+		iso_639_2B_code="tgl"
+		iso_639_2T_code="tgl"
+		iso_639_1_code="tl"
+		name="Tagalog" />
+	<iso_639_entry
+		iso_639_2B_code="tha"
+		iso_639_2T_code="tha"
+		iso_639_1_code="th"
+		name="Thai" />
+	<iso_639_entry
+		iso_639_2B_code="tib"
+		iso_639_2T_code="bod"
+		iso_639_1_code="bo"
+		name="Tibetan" />
+	<iso_639_entry
+		iso_639_2B_code="tig"
+		iso_639_2T_code="tig"
+		name="Tigre" />
+	<iso_639_entry
+		iso_639_2B_code="tir"
+		iso_639_2T_code="tir"
+		iso_639_1_code="ti"
+		name="Tigrinya" />
+	<iso_639_entry
+		iso_639_2B_code="tiv"
+		iso_639_2T_code="tiv"
+		name="Tiv" />
+	<iso_639_entry
+		iso_639_2B_code="tkl"
+		iso_639_2T_code="tkl"
+		name="Tokelau" />
+	<iso_639_entry
+		iso_639_2B_code="tlh"
+		iso_639_2T_code="tlh"
+		name="Klingon; tlhIngan-Hol" />
+	<iso_639_entry
+		iso_639_2B_code="tli"
+		iso_639_2T_code="tli"
+		name="Tlingit" />
+	<iso_639_entry
+		iso_639_2B_code="tmh"
+		iso_639_2T_code="tmh"
+		name="Tamashek" />
+	<iso_639_entry
+		iso_639_2B_code="tog"
+		iso_639_2T_code="tog"
+		name="Tonga (Nyasa)" />
+	<iso_639_entry
+		iso_639_2B_code="ton"
+		iso_639_2T_code="ton"
+		iso_639_1_code="to"
+		name="Tonga (Tonga Islands)" />
+	<iso_639_entry
+		iso_639_2B_code="tpi"
+		iso_639_2T_code="tpi"
+		name="Tok Pisin" />
+	<iso_639_entry
+		iso_639_2B_code="tsi"
+		iso_639_2T_code="tsi"
+		name="Tsimshian" />
+	<iso_639_entry
+		iso_639_2B_code="tsn"
+		iso_639_2T_code="tsn"
+		iso_639_1_code="tn"
+		name="Tswana" />
+	<iso_639_entry
+		iso_639_2B_code="tso"
+		iso_639_2T_code="tso"
+		iso_639_1_code="ts"
+		name="Tsonga" />
+	<iso_639_entry
+		iso_639_2B_code="tuk"
+		iso_639_2T_code="tuk"
+		iso_639_1_code="tk"
+		name="Turkmen" />
+	<iso_639_entry
+		iso_639_2B_code="tum"
+		iso_639_2T_code="tum"
+		name="Tumbuka" />
+	<iso_639_entry
+		iso_639_2B_code="tup"
+		iso_639_2T_code="tup"
+		name="Tupi languages" />
+	<iso_639_entry
+		iso_639_2B_code="tur"
+		iso_639_2T_code="tur"
+		iso_639_1_code="tr"
+		name="Turkish" />
+	<iso_639_entry
+		iso_639_2B_code="tut"
+		iso_639_2T_code="tut"
+		name="Altaic languages" />
+	<iso_639_entry
+		iso_639_2B_code="tvl"
+		iso_639_2T_code="tvl"
+		name="Tuvalu" />
+	<iso_639_entry
+		iso_639_2B_code="twi"
+		iso_639_2T_code="twi"
+		iso_639_1_code="tw"
+		name="Twi" />
+	<iso_639_entry
+		iso_639_2B_code="tyv"
+		iso_639_2T_code="tyv"
+		name="Tuvinian" />
+	<iso_639_entry
+		iso_639_2B_code="udm"
+		iso_639_2T_code="udm"
+		name="Udmurt" />
+	<iso_639_entry
+		iso_639_2B_code="uga"
+		iso_639_2T_code="uga"
+		name="Ugaritic" />
+	<iso_639_entry
+		iso_639_2B_code="uig"
+		iso_639_2T_code="uig"
+		iso_639_1_code="ug"
+		name="Uighur; Uyghur" />
+	<iso_639_entry
+		iso_639_2B_code="ukr"
+		iso_639_2T_code="ukr"
+		iso_639_1_code="uk"
+		name="Ukrainian" />
+	<iso_639_entry
+		iso_639_2B_code="umb"
+		iso_639_2T_code="umb"
+		name="Umbundu" />
+	<iso_639_entry
+		iso_639_2B_code="und"
+		iso_639_2T_code="und"
+		name="Undetermined" />
+	<iso_639_entry
+		iso_639_2B_code="urd"
+		iso_639_2T_code="urd"
+		iso_639_1_code="ur"
+		name="Urdu" />
+	<iso_639_entry
+		iso_639_2B_code="uzb"
+		iso_639_2T_code="uzb"
+		iso_639_1_code="uz"
+		name="Uzbek" />
+	<iso_639_entry
+		iso_639_2B_code="vai"
+		iso_639_2T_code="vai"
+		name="Vai" />
+	<iso_639_entry
+		iso_639_2B_code="ven"
+		iso_639_2T_code="ven"
+		iso_639_1_code="ve"
+		name="Venda" />
+	<iso_639_entry
+		iso_639_2B_code="vie"
+		iso_639_2T_code="vie"
+		iso_639_1_code="vi"
+		name="Vietnamese" />
+	<iso_639_entry
+		iso_639_2B_code="vol"
+		iso_639_2T_code="vol"
+		iso_639_1_code="vo"
+		name="Volapük" />
+	<iso_639_entry
+		iso_639_2B_code="vot"
+		iso_639_2T_code="vot"
+		name="Votic" />
+	<iso_639_entry
+		iso_639_2B_code="wak"
+		iso_639_2T_code="wak"
+		name="Wakashan languages" />
+	<iso_639_entry
+		iso_639_2B_code="wal"
+		iso_639_2T_code="wal"
+		name="Wolaitta; Wolaytta" />
+	<iso_639_entry
+		iso_639_2B_code="war"
+		iso_639_2T_code="war"
+		name="Waray" />
+	<iso_639_entry
+		iso_639_2B_code="was"
+		iso_639_2T_code="was"
+		name="Washo" />
+	<iso_639_entry
+		iso_639_2B_code="wel"
+		iso_639_2T_code="cym"
+		iso_639_1_code="cy"
+		name="Welsh" />
+	<iso_639_entry
+		iso_639_2B_code="wen"
+		iso_639_2T_code="wen"
+		name="Sorbian languages" />
+	<iso_639_entry
+		iso_639_2B_code="wln"
+		iso_639_2T_code="wln"
+		iso_639_1_code="wa"
+		name="Walloon" />
+	<iso_639_entry
+		iso_639_2B_code="wol"
+		iso_639_2T_code="wol"
+		iso_639_1_code="wo"
+		name="Wolof" />
+	<iso_639_entry
+		iso_639_2B_code="xal"
+		iso_639_2T_code="xal"
+		name="Kalmyk; Oirat" />
+	<iso_639_entry
+		iso_639_2B_code="xho"
+		iso_639_2T_code="xho"
+		iso_639_1_code="xh"
+		name="Xhosa" />
+	<iso_639_entry
+		iso_639_2B_code="yao"
+		iso_639_2T_code="yao"
+		name="Yao" />
+	<iso_639_entry
+		iso_639_2B_code="yap"
+		iso_639_2T_code="yap"
+		name="Yapese" />
+	<iso_639_entry
+		iso_639_2B_code="yid"
+		iso_639_2T_code="yid"
+		iso_639_1_code="yi"
+		name="Yiddish" />
+	<iso_639_entry
+		iso_639_2B_code="yor"
+		iso_639_2T_code="yor"
+		iso_639_1_code="yo"
+		name="Yoruba" />
+	<iso_639_entry
+		iso_639_2B_code="ypk"
+		iso_639_2T_code="ypk"
+		name="Yupik languages" />
+	<iso_639_entry
+		iso_639_2B_code="zap"
+		iso_639_2T_code="zap"
+		name="Zapotec" />
+	<iso_639_entry
+		iso_639_2B_code="zbl"
+		iso_639_2T_code="zbl"
+		name="Blissymbols; Blissymbolics; Bliss" />
+	<iso_639_entry
+		iso_639_2B_code="zen"
+		iso_639_2T_code="zen"
+		name="Zenaga" />
+	<iso_639_entry
+		iso_639_2B_code="zha"
+		iso_639_2T_code="zha"
+		iso_639_1_code="za"
+		name="Zhuang; Chuang" />
+	<iso_639_entry
+		iso_639_2B_code="znd"
+		iso_639_2T_code="znd"
+		name="Zande languages" />
+	<iso_639_entry
+		iso_639_2B_code="zul"
+		iso_639_2T_code="zul"
+		iso_639_1_code="zu"
+		name="Zulu" />
+	<iso_639_entry
+		iso_639_2B_code="zun"
+		iso_639_2T_code="zun"
+		name="Zuni" />
+	<iso_639_entry
+		iso_639_2B_code="zxx"
+		iso_639_2T_code="zxx"
+		name="No linguistic content; Not applicable" />
+	<iso_639_entry
+		iso_639_2B_code="zza"
+		iso_639_2T_code="zza"
+		name="Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki" />
+</iso_639_entries>
diff --git a/win32/etc/download.png b/win32/etc/download.png
deleted file mode 100644
index 43253432..00000000
Binary files a/win32/etc/download.png and /dev/null differ
diff --git a/win32/etc/gtk-2.0/gtkrc b/win32/etc/gtk-2.0/gtkrc
deleted file mode 100644
index 6ac7b76c..00000000
--- a/win32/etc/gtk-2.0/gtkrc
+++ /dev/null
@@ -1,71 +0,0 @@
-gtk-font-name = "sans 8"
-
-gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32"
-gtk-toolbar-icon-size = small-toolbar
-
-# disable images in buttons. i've only seen ugly delphi apps use this feature.
-gtk-button-images = 0
-
-# enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly.
-# the office apps use them heavily, though.
-gtk-menu-images = 1
-
-# use the win32 button ordering instead of the GNOME HIG one, where applicable
-gtk-alternative-button-order = 1
-
-# use the win32 sort indicators direction, as in Explorer
-gtk-alternative-sort-arrows = 1
-
-# Windows users don't expect the PC Speaker beeping at them when they backspace in an empty textview and stuff like that
-gtk-error-bell = 0
-
-# hide mnemonic underlines until the Alt key is pressed (requires gtk 2.18+)
-# gtk-auto-mnemonics = 1
-
-style "msw-default"
-{
-  GtkWidget::interior-focus = 1
-  GtkOptionMenu::indicator-size = { 9, 5 }
-  GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 }
-  GtkSpinButton::shadow-type = in
-
-  # Owen and I disagree that these should be themable
-  #GtkUIManager::add-tearoffs = 0
-  #GtkComboBox::add-tearoffs = 0
-
-  GtkComboBox::appears-as-list = 1
-  GtkComboBox::focus-on-click = 0
-
-  GOComboBox::add_tearoffs = 0
-
-  GtkTreeView::allow-rules = 0
-  GtkTreeView::expander-size = 12
-
-  GtkExpander::expander-size = 12
-
-  GtkScrolledWindow::scrollbar_spacing = 1
-
-  GtkSeparatorMenuItem::horizontal-padding = 2
-
-  engine "wimp"
-  {
-  }
-}
-class "*" style "msw-default"
-
-binding "ms-windows-tree-view"
-{
-  bind "Right" { "expand-collapse-cursor-row" (1,1,0) }
-  bind "Left" { "expand-collapse-cursor-row" (1,0,0) }
-}
-
-class "GtkTreeView" binding "ms-windows-tree-view"
-
-style "msw-combobox-thickness" = "msw-default"
-{
-  xthickness = 0
-  ythickness = 0
-}
-
-widget_class "*TreeView*ComboBox*" style "msw-combobox-thickness"
-widget_class "*ComboBox*GtkFrame*" style "msw-combobox-thickness"
diff --git a/win32/etc/gtkpref.png b/win32/etc/gtkpref.png
deleted file mode 100644
index 9a6c9cf9..00000000
Binary files a/win32/etc/gtkpref.png and /dev/null differ
diff --git a/win32/etc/music.png b/win32/etc/music.png
deleted file mode 100644
index 3a72f118..00000000
Binary files a/win32/etc/music.png and /dev/null differ
diff --git a/win32/etc/system.png b/win32/etc/system.png
deleted file mode 100644
index fc4282c7..00000000
Binary files a/win32/etc/system.png and /dev/null differ
diff --git a/win32/installer/installer.vcxproj b/win32/installer/installer.vcxproj
index a8ca84fa..3cb84d56 100644
--- a/win32/installer/installer.vcxproj
+++ b/win32/installer/installer.vcxproj
@@ -16,6 +16,7 @@
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
@@ -25,7 +26,10 @@
     <Import Project="..\xchat.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -39,19 +43,25 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
     <PreBuildEvent>
-      <Command>echo [Setup] &gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-echo WizardImageFile="$(SolutionDir)\bitmaps\wizardimage.bmp" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-echo WizardSmallImageFile="$(SolutionDir)\bitmaps\wizardsmallimage.bmp" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-"$(OutDir)\version" -a32 &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-"$(OutDir)\version" -v &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-"$(OutDir)\version" -i &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-"$(OutDir)\version" -o32 &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-echo SetupIconFile="$(SolutionDir)\..\xchat.ico" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-type "$(SolutionDir)\xchat-wdk-x86.skel.iss" &gt;&gt; "$(SolutionDir)\xchat-wdk-x86.iss"
-"$(ProgramFiles)\Inno Setup 5\compil32" /cc "$(SolutionDir)\xchat-wdk-x86.iss"</Command>
+      <Command>echo [Setup] &gt; "$(OutDir)\xchat-wdk-x86.iss"
+echo WizardImageFile="$(ProjectDir)\wizardimage.bmp" &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+echo WizardSmallImageFile="$(ProjectDir)\wizardsmallimage.bmp" &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -a &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -v &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -i &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+"$(OutDir)\version" -o &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+echo SetupIconFile="$(SolutionDir)\..\xchat.ico" &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+type xchat-wdk-x86.skel.iss &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
+"$(ProgramFiles)\Inno Setup 5\compil32" /cc "$(OutDir)\xchat-wdk-x86.iss"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <None Include="watercolorlite-blue.cjstyles" />
+    <None Include="watercolorlite-green.cjstyles" />
+    <None Include="wizardimage.bmp" />
+    <None Include="wizardsmallimage.bmp" />
+    <None Include="xchat-wdk-x64.skel.iss" />
+    <None Include="xchat-wdk-x86.skel.iss" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
diff --git a/win32/installer/installer.vcxproj.filters b/win32/installer/installer.vcxproj.filters
index 47cfb34e..b18a6411 100644
--- a/win32/installer/installer.vcxproj.filters
+++ b/win32/installer/installer.vcxproj.filters
@@ -1,17 +1,29 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
     <Filter Include="Resource Files">
       <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
       <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
     </Filter>
   </ItemGroup>
+  <ItemGroup>
+    <None Include="xchat-wdk-x64.skel.iss">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="xchat-wdk-x86.skel.iss">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="watercolorlite-blue.cjstyles">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="watercolorlite-green.cjstyles">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="wizardimage.bmp">
+      <Filter>Resource Files</Filter>
+    </None>
+    <None Include="wizardsmallimage.bmp">
+      <Filter>Resource Files</Filter>
+    </None>
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/win32/installer/watercolorlite-blue.cjstyles b/win32/installer/watercolorlite-blue.cjstyles
new file mode 100644
index 00000000..a457029b
Binary files /dev/null and b/win32/installer/watercolorlite-blue.cjstyles differ
diff --git a/win32/installer/watercolorlite-green.cjstyles b/win32/installer/watercolorlite-green.cjstyles
new file mode 100644
index 00000000..2b77026d
Binary files /dev/null and b/win32/installer/watercolorlite-green.cjstyles differ
diff --git a/win32/installer/wizardimage.bmp b/win32/installer/wizardimage.bmp
new file mode 100644
index 00000000..9f5a4c90
Binary files /dev/null and b/win32/installer/wizardimage.bmp differ
diff --git a/win32/installer/wizardsmallimage.bmp b/win32/installer/wizardsmallimage.bmp
new file mode 100644
index 00000000..1bb8b790
Binary files /dev/null and b/win32/installer/wizardsmallimage.bmp differ
diff --git a/win32/installer/xchat-wdk-x64.skel.iss b/win32/installer/xchat-wdk-x64.skel.iss
new file mode 100644
index 00000000..e0a804db
--- /dev/null
+++ b/win32/installer/xchat-wdk-x64.skel.iss
@@ -0,0 +1,279 @@
+AppName=XChat-WDK (x64)
+AppPublisher=XChat-WDK
+AppPublisherURL=http://www.xchat-wdk.org/
+AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
+AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list
+AppUpdatesURL=http://www.xchat-wdk.org/home/downloads
+LicenseFile=COPYING
+UninstallDisplayIcon={app}\xchat.exe
+UninstallDisplayName=XChat-WDK (x64)
+DefaultDirName={pf}\XChat-WDK
+DefaultGroupName=XChat-WDK
+DisableProgramGroupPage=yes
+SolidCompression=yes
+SourceDir=..\..\rel
+OutputDir=..\..
+FlatComponentsList=no
+PrivilegesRequired=none
+ShowComponentSizes=no
+CreateUninstallRegKey=not IsTaskSelected('portable')
+Uninstallable=not IsTaskSelected('portable')
+ArchitecturesAllowed=x64
+ArchitecturesInstallIn64BitMode=x64
+
+[Types]
+Name: "normal"; Description: "Normal Installation"
+Name: "full"; Description: "Full Installation"
+Name: "minimal"; Description: "Minimal Installation"
+Name: "custom"; Description: "Custom Installation"; Flags: iscustom
+
+[Components]
+Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed
+Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning
+Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning
+;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning
+;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins"; Description: "Plugins"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\checksum"; Description: "Checksum"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\dns"; Description: "DNS"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\doat"; Description: "Do At"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\exec"; Description: "Exec"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: full custom; Flags: disablenouninstallwarning
+;Name: "plugins\nonbmp"; Description: "Non-BMP"; Types: normal full custom; Flags: disablenouninstallwarning
+Name: "plugins\upd"; Description: "Update Checker"; Types: normal full custom; Flags: disablenouninstallwarning
+Name: "plugins\winamp"; Description: "Winamp"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\winsys"; Description: "WinSys"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\xsasl"; Description: "X-SASL"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\xtray"; Description: "X-Tray"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs"; Description: "Language Interfaces"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\lua"; Description: "Lua"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\perl"; Description: "Perl"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\python"; Description: "Python"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\tcl"; Description: "Tcl"; Types: full custom; Flags: disablenouninstallwarning
+
+[Tasks]
+Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked
+
+Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl
+Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+
+[Registry]
+Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
+
+[Run]
+Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent
+
+[Files]
+; Add the ISSkin DLL used for skinning Inno Setup installations.
+Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
+
+; Add the Visual Style resource contains resources used for skinning,
+; you can also use Microsoft Visual Styles (*.msstyles) resources.
+Source: watercolorlite-blue.cjstyles; DestDir: {tmp}; Flags: dontcopy
+
+Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
+
+Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "COPYING"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.OPENSSL"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.ZLIB"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.GTK"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs
+;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines
+Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
+Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
+Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
+;Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: spelling
+
+Source: "libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libexpat-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libffi-5.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libfontconfig-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libjasper-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libjpeg-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libpixman-1-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libtiff-3.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpng14-14.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libpng15-15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+
+Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
+
+Source: "lib\gtk-2.0\2.10.0\engines\libpixmap.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+Source: "lib\gtk-2.0\modules\libgail.dll"; DestDir: "{app}\lib\gtk-2.0\modules"; Flags: ignoreversion; Components: libs
+
+;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "plugins\xcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines
+;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines
+
+Source: "plugins\xcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum
+Source: "plugins\xcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns
+Source: "plugins\xcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat
+Source: "plugins\xcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec
+Source: "plugins\xcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim
+Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo
+Source: "plugins\xcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo
+;Source: "plugins\xcnonbmp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\nonbmp
+Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\xcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\xcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp
+Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winsys
+Source: "plugins\xcwinsys.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winsys
+Source: "plugins\xcxsasl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xsasl
+Source: "plugins\xtray.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xtray
+Source: "plugins\xcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa
+
+Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua
+Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python
+Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl
+
+Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512
+Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514
+
+Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
+
+[Icons]
+Name: "{group}\XChat-WDK (x64)"; Filename: "{app}\xchat.exe"; Tasks: not portable
+Name: "{group}\XChat-Text (x64)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable
+Name: "{group}\Uninstall XChat-WDK (x64)"; Filename: "{uninstallexe}"; Tasks: not portable
+
+[Messages]
+BeveledLabel= XChat-WDK
+
+[Code]
+/////////////////////////////////////////////////////////////////////
+// these are required for x86->x64 or reverse upgrades
+/////////////////////////////////////////////////////////////////////
+function GetUninstallString(): String;
+var
+	sUnInstPath: String;
+	sUnInstallString: String;
+begin
+	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\XChat-WDK (x64)_is1');
+	sUnInstallString := '';
+	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
+		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
+	Result := sUnInstallString;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function IsUpgrade(): Boolean;
+begin
+	Result := (GetUninstallString() <> '');
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function UnInstallOldVersion(): Integer;
+var
+	sUnInstallString: String;
+	iResultCode: Integer;
+begin
+// Return Values:
+// 1 - uninstall string is empty
+// 2 - error executing the UnInstallString
+// 3 - successfully executed the UnInstallString
+
+	// default return value
+	Result := 0;
+
+	// get the uninstall string of the old app
+	sUnInstallString := GetUninstallString();
+	if sUnInstallString <> '' then begin
+		sUnInstallString := RemoveQuotes(sUnInstallString);
+		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
+			Result := 3
+		else
+			Result := 2;
+	end else
+		Result := 1;
+end;
+
+/////////////////////////////////////////////////////////////////////
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+	if not (IsTaskSelected('portable')) then
+	begin
+		if (CurStep=ssInstall) then
+		begin
+			if (IsUpgrade()) then
+			begin
+				UnInstallOldVersion();
+			end;
+		end;
+	end;
+end;
+
+/////////////////////////////////////////////////////////////////////
+// Importing LoadSkin API from ISSkin.DLL
+procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
+external 'LoadSkin@files:isskinu.dll stdcall';
+
+// Importing UnloadSkin API from ISSkin.DLL
+procedure UnloadSkin();
+external 'UnloadSkin@files:isskinu.dll stdcall';
+
+// Importing ShowWindow Windows API from User32.DLL
+function ShowWindow(hWnd: Integer; uType: Integer): Integer;
+external 'ShowWindow@user32.dll stdcall';
+
+function InitializeSetup(): Boolean;
+begin
+  ExtractTemporaryFile('watercolorlite-blue.cjstyles');
+  LoadSkin(ExpandConstant('{tmp}\watercolorlite-blue.cjstyles'), '');
+  Result := True;
+end;
+
+procedure DeinitializeSetup();
+begin
+  // Hide Window before unloading skin so user does not get
+  // a glimpse of an unskinned window before it is closed.
+  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
+  UnloadSkin();
+end;
diff --git a/win32/installer/xchat-wdk-x86.skel.iss b/win32/installer/xchat-wdk-x86.skel.iss
new file mode 100644
index 00000000..748c2b19
--- /dev/null
+++ b/win32/installer/xchat-wdk-x86.skel.iss
@@ -0,0 +1,282 @@
+AppName=XChat-WDK (x86)
+AppPublisher=XChat-WDK
+AppPublisherURL=http://www.xchat-wdk.org/
+AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
+AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list
+AppUpdatesURL=http://www.xchat-wdk.org/home/downloads
+LicenseFile=COPYING
+UninstallDisplayIcon={app}\xchat.exe
+UninstallDisplayName=XChat-WDK (x86)
+DefaultDirName={pf}\XChat-WDK
+DefaultGroupName=XChat-WDK
+DisableProgramGroupPage=yes
+SolidCompression=yes
+SourceDir=..\rel
+OutputDir=..
+FlatComponentsList=no
+PrivilegesRequired=none
+ShowComponentSizes=no
+CreateUninstallRegKey=not IsTaskSelected('portable')
+Uninstallable=not IsTaskSelected('portable')
+ArchitecturesAllowed=x86 x64
+
+[Types]
+Name: "normal"; Description: "Normal Installation"
+Name: "full"; Description: "Full Installation"
+Name: "minimal"; Description: "Minimal Installation"
+Name: "custom"; Description: "Custom Installation"; Flags: iscustom
+
+[Components]
+Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed
+Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning
+Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning
+;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning
+;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins"; Description: "Plugins"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\checksum"; Description: "Checksum"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\dns"; Description: "DNS"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\doat"; Description: "Do At"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\exec"; Description: "Exec"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: full custom; Flags: disablenouninstallwarning
+;Name: "plugins\nonbmp"; Description: "Non-BMP"; Types: normal full custom; Flags: disablenouninstallwarning
+Name: "plugins\upd"; Description: "Update Checker"; Types: normal full custom; Flags: disablenouninstallwarning
+Name: "plugins\winamp"; Description: "Winamp"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\winsys"; Description: "WinSys"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\xsasl"; Description: "X-SASL"; Types: full custom; Flags: disablenouninstallwarning
+Name: "plugins\xtray"; Description: "X-Tray"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs"; Description: "Language Interfaces"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\lua"; Description: "Lua"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\perl"; Description: "Perl"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\python"; Description: "Python"; Types: full custom; Flags: disablenouninstallwarning
+Name: "langs\tcl"; Description: "Tcl"; Types: full custom; Flags: disablenouninstallwarning
+
+[Tasks]
+Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked
+
+Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl
+Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+Name: perl516; Description: "5.16"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
+
+[Registry]
+Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
+Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
+
+[Run]
+Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent
+
+[Files]
+; Add the ISSkin DLL used for skinning Inno Setup installations.
+Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
+
+; Add the Visual Style resource contains resources used for skinning,
+; you can also use Microsoft Visual Styles (*.msstyles) resources.
+Source: watercolorlite-green.cjstyles; DestDir: {tmp}; Flags: dontcopy
+
+Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
+
+Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "COPYING"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.OPENSSL"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.ZLIB"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.GTK"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs
+;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines
+Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
+Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
+Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
+;Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: spelling
+
+Source: "libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libexpat-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libffi-5.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "freetype6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libfontconfig-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "intl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libjasper-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libjpeg-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libpixman-1-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libtiff-3.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libpng14-14.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libpng15-15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+;obs Source: "libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+
+Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
+
+Source: "lib\gtk-2.0\2.10.0\engines\libpixmap.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
+Source: "lib\gtk-2.0\modules\libgail.dll"; DestDir: "{app}\lib\gtk-2.0\modules"; Flags: ignoreversion; Components: libs
+
+;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "plugins\xcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines
+;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines
+;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines
+
+Source: "plugins\xcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum
+Source: "plugins\xcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns
+Source: "plugins\xcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat
+Source: "plugins\xcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec
+Source: "plugins\xcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim
+Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo
+Source: "plugins\xcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo
+;Source: "plugins\xcnonbmp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\nonbmp
+Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\xcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd
+Source: "plugins\xcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp
+Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winsys
+Source: "plugins\xcwinsys.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winsys
+Source: "plugins\xcxsasl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xsasl
+Source: "plugins\xtray.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xtray
+Source: "plugins\xcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa
+
+Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua
+Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python
+Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl
+
+Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512
+Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514
+Source: "plugins\xcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl516
+
+Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
+Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
+
+[Icons]
+Name: "{group}\XChat-WDK (x86)"; Filename: "{app}\xchat.exe"; Tasks: not portable
+Name: "{group}\XChat-Text (x86)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable
+Name: "{group}\Uninstall XChat-WDK (x86)"; Filename: "{uninstallexe}"; Tasks: not portable
+
+[Messages]
+BeveledLabel= XChat-WDK
+
+[Code]
+/////////////////////////////////////////////////////////////////////
+// these are required for x86->x64 or reverse upgrades
+/////////////////////////////////////////////////////////////////////
+function GetUninstallString(): String;
+var
+	sUnInstPath: String;
+	sUnInstallString: String;
+begin
+	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\XChat-WDK (x86)_is1');
+	sUnInstallString := '';
+	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
+		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
+	Result := sUnInstallString;
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function IsUpgrade(): Boolean;
+begin
+	Result := (GetUninstallString() <> '');
+end;
+
+
+/////////////////////////////////////////////////////////////////////
+function UnInstallOldVersion(): Integer;
+var
+	sUnInstallString: String;
+	iResultCode: Integer;
+begin
+// Return Values:
+// 1 - uninstall string is empty
+// 2 - error executing the UnInstallString
+// 3 - successfully executed the UnInstallString
+
+	// default return value
+	Result := 0;
+
+	// get the uninstall string of the old app
+	sUnInstallString := GetUninstallString();
+	if sUnInstallString <> '' then begin
+		sUnInstallString := RemoveQuotes(sUnInstallString);
+		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
+			Result := 3
+		else
+			Result := 2;
+	end else
+		Result := 1;
+end;
+
+/////////////////////////////////////////////////////////////////////
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+	if not (IsTaskSelected('portable')) then
+	begin
+		if (CurStep=ssInstall) then
+		begin
+			if (IsUpgrade()) then
+			begin
+				UnInstallOldVersion();
+			end;
+		end;
+	end;
+end;
+
+/////////////////////////////////////////////////////////////////////
+// Importing LoadSkin API from ISSkin.DLL
+procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
+external 'LoadSkin@files:isskinu.dll stdcall';
+
+// Importing UnloadSkin API from ISSkin.DLL
+procedure UnloadSkin();
+external 'UnloadSkin@files:isskinu.dll stdcall';
+
+// Importing ShowWindow Windows API from User32.DLL
+function ShowWindow(hWnd: Integer; uType: Integer): Integer;
+external 'ShowWindow@user32.dll stdcall';
+
+function InitializeSetup(): Boolean;
+begin
+  ExtractTemporaryFile('watercolorlite-green.cjstyles');
+  LoadSkin(ExpandConstant('{tmp}\watercolorlite-green.cjstyles'), '');
+  Result := True;
+end;
+
+procedure DeinitializeSetup();
+begin
+  // Hide Window before unloading skin so user does not get
+  // a glimpse of an unskinned window before it is closed.
+  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
+  UnloadSkin();
+end;
diff --git a/win32/isskin/watercolorlite-blue.cjstyles b/win32/isskin/watercolorlite-blue.cjstyles
deleted file mode 100644
index a457029b..00000000
Binary files a/win32/isskin/watercolorlite-blue.cjstyles and /dev/null differ
diff --git a/win32/isskin/watercolorlite-green.cjstyles b/win32/isskin/watercolorlite-green.cjstyles
deleted file mode 100644
index 2b77026d..00000000
Binary files a/win32/isskin/watercolorlite-green.cjstyles and /dev/null differ
diff --git a/win32/nls/nls.vcxproj b/win32/nls/nls.vcxproj
index a9fa71bf..10e53bd8 100644
--- a/win32/nls/nls.vcxproj
+++ b/win32/nls/nls.vcxproj
@@ -26,7 +26,10 @@
     <Import Project="..\xchat.props" />
   </ImportGroup>
   <PropertyGroup Label="UserMacros" />
-  <PropertyGroup />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -45,11 +48,11 @@
     </PostBuildEvent>
     <PreBuildEvent>
       <Command>cd ..\..\po
-rmdir /q /s locale
-mkdir locale
+rmdir /q /s "$(OutDir)\locale"
+mkdir "$(OutDir)\locale"
 for %%A in (*.po) do (
-mkdir locale\%%~nA\LC_MESSAGES
-"$(DepsRoot)\bin\msgfmt" -co locale\%%~nA\LC_MESSAGES\xchat.mo %%A
+mkdir "$(OutDir)\locale\%%~nA\LC_MESSAGES"
+"$(DepsRoot)\bin\msgfmt" -co "$(OutDir)\locale\%%~nA\LC_MESSAGES\xchat.mo" %%A
 )</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
diff --git a/win32/share/themes/Murrine/gtk-2.0/gtkrc b/win32/share/themes/Murrine/gtk-2.0/gtkrc
deleted file mode 100644
index b9d95848..00000000
--- a/win32/share/themes/Murrine/gtk-2.0/gtkrc
+++ /dev/null
@@ -1,7 +0,0 @@
-style "default"
-{
-  engine "murrine" 
-  {
-  }
-}
-class "*" style "default"
diff --git a/win32/share/xml/iso-codes/iso_3166.xml b/win32/share/xml/iso-codes/iso_3166.xml
deleted file mode 100644
index 77c72eb2..00000000
--- a/win32/share/xml/iso-codes/iso_3166.xml
+++ /dev/null
@@ -1,1703 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
-This file gives a list of all countries in the ISO 3166
-standard, and is used to provide translations via gettext
-
-Copyright (C) 2002, 2004, 2006 Alastair McKinstry <mckinstry@computer.org>
-Copyright (C) 2004 Andreas Jochens <aj@andaco.de>
-Copyright (C) 2004, 2007 Christian Perrier <bubulle@debian.org>
-Copyright (C) 2005, 2006, 2007 Tobias Quathamer <toddy@debian.org>
-
-    This file is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This file is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this file; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Source: <http://www.iso.org/iso/country_codes>
--->
-
-<!DOCTYPE iso_3166_entries [
-	<!ELEMENT iso_3166_entries (iso_3166_entry+, iso_3166_3_entry*)>
-	<!ELEMENT iso_3166_entry EMPTY>
-	<!ATTLIST iso_3166_entry
-		alpha_2_code		CDATA	#REQUIRED
-		alpha_3_code		CDATA	#REQUIRED
-		numeric_code		CDATA	#REQUIRED
-		common_name		CDATA	#IMPLIED
-		name			CDATA	#REQUIRED
-		official_name		CDATA	#IMPLIED
-	>
-	<!ELEMENT iso_3166_3_entry EMPTY>
-	<!ATTLIST iso_3166_3_entry
-		alpha_4_code		CDATA	#REQUIRED
-		alpha_3_code		CDATA	#REQUIRED
-		numeric_code		CDATA	#IMPLIED
-		date_withdrawn		CDATA	#IMPLIED
-		names			CDATA	#REQUIRED
-		comment			CDATA	#IMPLIED
-	>
-]>
-
-<iso_3166_entries>
-	<iso_3166_entry
-		alpha_2_code="AF"
-		alpha_3_code="AFG"
-		numeric_code="004"
-		name="Afghanistan"
-		official_name="Islamic Republic of Afghanistan" />
-	<iso_3166_entry
-		alpha_2_code="AX"
-		alpha_3_code="ALA"
-		numeric_code="248"
-		name="Åland Islands" />
-	<iso_3166_entry
-		alpha_2_code="AL"
-		alpha_3_code="ALB"
-		numeric_code="008"
-		name="Albania"
-		official_name="Republic of Albania" />
-	<iso_3166_entry
-		alpha_2_code="DZ"
-		alpha_3_code="DZA"
-		numeric_code="012"
-		name="Algeria"
-		official_name="People's Democratic Republic of Algeria" />
-	<iso_3166_entry
-		alpha_2_code="AS"
-		alpha_3_code="ASM"
-		numeric_code="016"
-		name="American Samoa" />
-	<iso_3166_entry
-		alpha_2_code="AD"
-		alpha_3_code="AND"
-		numeric_code="020"
-		name="Andorra"
-		official_name="Principality of Andorra" />
-	<iso_3166_entry
-		alpha_2_code="AO"
-		alpha_3_code="AGO"
-		numeric_code="024"
-		name="Angola"
-		official_name="Republic of Angola" />
-	<iso_3166_entry
-		alpha_2_code="AI"
-		alpha_3_code="AIA"
-		numeric_code="660"
-		name="Anguilla" />
-	<iso_3166_entry
-		alpha_2_code="AQ"
-		alpha_3_code="ATA"
-		numeric_code="010"
-		name="Antarctica" />
-	<iso_3166_entry
-		alpha_2_code="AG"
-		alpha_3_code="ATG"
-		numeric_code="028"
-		name="Antigua and Barbuda" />
-	<iso_3166_entry
-		alpha_2_code="AR"
-		alpha_3_code="ARG"
-		numeric_code="032"
-		name="Argentina"
-		official_name="Argentine Republic" />
-	<iso_3166_entry
-		alpha_2_code="AM"
-		alpha_3_code="ARM"
-		numeric_code="051"
-		name="Armenia"
-		official_name="Republic of Armenia" />
-	<iso_3166_entry
-		alpha_2_code="AW"
-		alpha_3_code="ABW"
-		numeric_code="533"
-		name="Aruba" />
-	<iso_3166_entry
-		alpha_2_code="AU"
-		alpha_3_code="AUS"
-		numeric_code="036"
-		name="Australia" />
-	<iso_3166_entry
-		alpha_2_code="AT"
-		alpha_3_code="AUT"
-		numeric_code="040"
-		name="Austria"
-		official_name="Republic of Austria" />
-	<iso_3166_entry
-		alpha_2_code="AZ"
-		alpha_3_code="AZE"
-		numeric_code="031"
-		name="Azerbaijan"
-		official_name="Republic of Azerbaijan" />
-	<iso_3166_entry
-		alpha_2_code="BS"
-		alpha_3_code="BHS"
-		numeric_code="044"
-		name="Bahamas"
-		official_name="Commonwealth of the Bahamas" />
-	<iso_3166_entry
-		alpha_2_code="BH"
-		alpha_3_code="BHR"
-		numeric_code="048"
-		name="Bahrain"
-		official_name="Kingdom of Bahrain" />
-	<iso_3166_entry
-		alpha_2_code="BD"
-		alpha_3_code="BGD"
-		numeric_code="050"
-		name="Bangladesh"
-		official_name="People's Republic of Bangladesh" />
-	<iso_3166_entry
-		alpha_2_code="BB"
-		alpha_3_code="BRB"
-		numeric_code="052"
-		name="Barbados" />
-	<iso_3166_entry
-		alpha_2_code="BY"
-		alpha_3_code="BLR"
-		numeric_code="112"
-		name="Belarus"
-		official_name="Republic of Belarus" />
-	<iso_3166_entry
-		alpha_2_code="BE"
-		alpha_3_code="BEL"
-		numeric_code="056"
-		name="Belgium"
-		official_name="Kingdom of Belgium" />
-	<iso_3166_entry
-		alpha_2_code="BZ"
-		alpha_3_code="BLZ"
-		numeric_code="084"
-		name="Belize" />
-	<iso_3166_entry
-		alpha_2_code="BJ"
-		alpha_3_code="BEN"
-		numeric_code="204"
-		name="Benin"
-		official_name="Republic of Benin" />
-	<iso_3166_entry
-		alpha_2_code="BM"
-		alpha_3_code="BMU"
-		numeric_code="060"
-		name="Bermuda" />
-	<iso_3166_entry
-		alpha_2_code="BT"
-		alpha_3_code="BTN"
-		numeric_code="064"
-		name="Bhutan"
-		official_name="Kingdom of Bhutan" />
-	<iso_3166_entry
-		alpha_2_code="BO"
-		alpha_3_code="BOL"
-		numeric_code="068"
-		common_name="Bolivia"
-		name="Bolivia, Plurinational State of"
-		official_name="Plurinational State of Bolivia" />
-	<iso_3166_entry
-		alpha_2_code="BQ"
-		alpha_3_code="BES"
-		numeric_code="535"
-		name="Bonaire, Sint Eustatius and Saba"
-		official_name="Bonaire, Sint Eustatius and Saba" />
-	<iso_3166_entry
-		alpha_2_code="BA"
-		alpha_3_code="BIH"
-		numeric_code="070"
-		name="Bosnia and Herzegovina"
-		official_name="Republic of Bosnia and Herzegovina" />
-	<iso_3166_entry
-		alpha_2_code="BW"
-		alpha_3_code="BWA"
-		numeric_code="072"
-		name="Botswana"
-		official_name="Republic of Botswana" />
-	<iso_3166_entry
-		alpha_2_code="BV"
-		alpha_3_code="BVT"
-		numeric_code="074"
-		name="Bouvet Island" />
-	<iso_3166_entry
-		alpha_2_code="BR"
-		alpha_3_code="BRA"
-		numeric_code="076"
-		name="Brazil"
-		official_name="Federative Republic of Brazil" />
-	<iso_3166_entry
-		alpha_2_code="IO"
-		alpha_3_code="IOT"
-		numeric_code="086"
-		name="British Indian Ocean Territory" />
-	<iso_3166_entry
-		alpha_2_code="BN"
-		alpha_3_code="BRN"
-		numeric_code="096"
-		name="Brunei Darussalam" />
-	<iso_3166_entry
-		alpha_2_code="BG"
-		alpha_3_code="BGR"
-		numeric_code="100"
-		name="Bulgaria"
-		official_name="Republic of Bulgaria" />
-	<iso_3166_entry
-		alpha_2_code="BF"
-		alpha_3_code="BFA"
-		numeric_code="854"
-		name="Burkina Faso" />
-	<iso_3166_entry
-		alpha_2_code="BI"
-		alpha_3_code="BDI"
-		numeric_code="108"
-		name="Burundi"
-		official_name="Republic of Burundi" />
-	<iso_3166_entry
-		alpha_2_code="KH"
-		alpha_3_code="KHM"
-		numeric_code="116"
-		name="Cambodia"
-		official_name="Kingdom of Cambodia" />
-	<iso_3166_entry
-		alpha_2_code="CM"
-		alpha_3_code="CMR"
-		numeric_code="120"
-		name="Cameroon"
-		official_name="Republic of Cameroon" />
-	<iso_3166_entry
-		alpha_2_code="CA"
-		alpha_3_code="CAN"
-		numeric_code="124"
-		name="Canada" />
-	<iso_3166_entry
-		alpha_2_code="CV"
-		alpha_3_code="CPV"
-		numeric_code="132"
-		name="Cape Verde"
-		official_name="Republic of Cape Verde" />
-	<iso_3166_entry
-		alpha_2_code="KY"
-		alpha_3_code="CYM"
-		numeric_code="136"
-		name="Cayman Islands" />
-	<iso_3166_entry
-		alpha_2_code="CF"
-		alpha_3_code="CAF"
-		numeric_code="140"
-		name="Central African Republic" />
-	<iso_3166_entry
-		alpha_2_code="TD"
-		alpha_3_code="TCD"
-		numeric_code="148"
-		name="Chad"
-		official_name="Republic of Chad" />
-	<iso_3166_entry
-		alpha_2_code="CL"
-		alpha_3_code="CHL"
-		numeric_code="152"
-		name="Chile"
-		official_name="Republic of Chile" />
-	<iso_3166_entry
-		alpha_2_code="CN"
-		alpha_3_code="CHN"
-		numeric_code="156"
-		name="China"
-		official_name="People's Republic of China" />
-	<iso_3166_entry
-		alpha_2_code="CX"
-		alpha_3_code="CXR"
-		numeric_code="162"
-		name="Christmas Island" />
-	<iso_3166_entry
-		alpha_2_code="CC"
-		alpha_3_code="CCK"
-		numeric_code="166"
-		name="Cocos (Keeling) Islands" />
-	<iso_3166_entry
-		alpha_2_code="CO"
-		alpha_3_code="COL"
-		numeric_code="170"
-		name="Colombia"
-		official_name="Republic of Colombia" />
-	<iso_3166_entry
-		alpha_2_code="KM"
-		alpha_3_code="COM"
-		numeric_code="174"
-		name="Comoros"
-		official_name="Union of the Comoros" />
-	<iso_3166_entry
-		alpha_2_code="CG"
-		alpha_3_code="COG"
-		numeric_code="178"
-		name="Congo"
-		official_name="Republic of the Congo" />
-	<iso_3166_entry
-		alpha_2_code="CD"
-		alpha_3_code="COD"
-		numeric_code="180"
-		name="Congo, The Democratic Republic of the" />
-	<iso_3166_entry
-		alpha_2_code="CK"
-		alpha_3_code="COK"
-		numeric_code="184"
-		name="Cook Islands" />
-	<iso_3166_entry
-		alpha_2_code="CR"
-		alpha_3_code="CRI"
-		numeric_code="188"
-		name="Costa Rica"
-		official_name="Republic of Costa Rica" />
-	<iso_3166_entry
-		alpha_2_code="CI"
-		alpha_3_code="CIV"
-		numeric_code="384"
-		name="Côte d'Ivoire"
-		official_name="Republic of Côte d'Ivoire" />
-	<iso_3166_entry
-		alpha_2_code="HR"
-		alpha_3_code="HRV"
-		numeric_code="191"
-		name="Croatia"
-		official_name="Republic of Croatia" />
-	<iso_3166_entry
-		alpha_2_code="CU"
-		alpha_3_code="CUB"
-		numeric_code="192"
-		name="Cuba"
-		official_name="Republic of Cuba" />
-	<iso_3166_entry
-		alpha_2_code="CW"
-		alpha_3_code="CUW"
-		numeric_code="531"
-		name="Curaçao"
-		official_name="Curaçao" />
-	<iso_3166_entry
-		alpha_2_code="CY"
-		alpha_3_code="CYP"
-		numeric_code="196"
-		name="Cyprus"
-		official_name="Republic of Cyprus" />
-	<iso_3166_entry
-		alpha_2_code="CZ"
-		alpha_3_code="CZE"
-		numeric_code="203"
-		name="Czech Republic" />
-	<iso_3166_entry
-		alpha_2_code="DK"
-		alpha_3_code="DNK"
-		numeric_code="208"
-		name="Denmark"
-		official_name="Kingdom of Denmark" />
-	<iso_3166_entry
-		alpha_2_code="DJ"
-		alpha_3_code="DJI"
-		numeric_code="262"
-		name="Djibouti"
-		official_name="Republic of Djibouti" />
-	<iso_3166_entry
-		alpha_2_code="DM"
-		alpha_3_code="DMA"
-		numeric_code="212"
-		name="Dominica"
-		official_name="Commonwealth of Dominica" />
-	<iso_3166_entry
-		alpha_2_code="DO"
-		alpha_3_code="DOM"
-		numeric_code="214"
-		name="Dominican Republic" />
-	<iso_3166_entry
-		alpha_2_code="EC"
-		alpha_3_code="ECU"
-		numeric_code="218"
-		name="Ecuador"
-		official_name="Republic of Ecuador" />
-	<iso_3166_entry
-		alpha_2_code="EG"
-		alpha_3_code="EGY"
-		numeric_code="818"
-		name="Egypt"
-		official_name="Arab Republic of Egypt" />
-	<iso_3166_entry
-		alpha_2_code="SV"
-		alpha_3_code="SLV"
-		numeric_code="222"
-		name="El Salvador"
-		official_name="Republic of El Salvador" />
-	<iso_3166_entry
-		alpha_2_code="GQ"
-		alpha_3_code="GNQ"
-		numeric_code="226"
-		name="Equatorial Guinea"
-		official_name="Republic of Equatorial Guinea" />
-	<iso_3166_entry
-		alpha_2_code="ER"
-		alpha_3_code="ERI"
-		numeric_code="232"
-		name="Eritrea" />
-	<iso_3166_entry
-		alpha_2_code="EE"
-		alpha_3_code="EST"
-		numeric_code="233"
-		name="Estonia"
-		official_name="Republic of Estonia" />
-	<iso_3166_entry
-		alpha_2_code="ET"
-		alpha_3_code="ETH"
-		numeric_code="231"
-		name="Ethiopia"
-		official_name="Federal Democratic Republic of Ethiopia" />
-	<iso_3166_entry
-		alpha_2_code="FK"
-		alpha_3_code="FLK"
-		numeric_code="238"
-		name="Falkland Islands (Malvinas)" />
-	<iso_3166_entry
-		alpha_2_code="FO"
-		alpha_3_code="FRO"
-		numeric_code="234"
-		name="Faroe Islands" />
-	<iso_3166_entry
-		alpha_2_code="FJ"
-		alpha_3_code="FJI"
-		numeric_code="242"
-		name="Fiji"
-		official_name="Republic of Fiji" />
-	<iso_3166_entry
-		alpha_2_code="FI"
-		alpha_3_code="FIN"
-		numeric_code="246"
-		name="Finland"
-		official_name="Republic of Finland" />
-	<iso_3166_entry
-		alpha_2_code="FR"
-		alpha_3_code="FRA"
-		numeric_code="250"
-		name="France"
-		official_name="French Republic" />
-	<iso_3166_entry
-		alpha_2_code="GF"
-		alpha_3_code="GUF"
-		numeric_code="254"
-		name="French Guiana" />
-	<iso_3166_entry
-		alpha_2_code="PF"
-		alpha_3_code="PYF"
-		numeric_code="258"
-		name="French Polynesia" />
-	<iso_3166_entry
-		alpha_2_code="TF"
-		alpha_3_code="ATF"
-		numeric_code="260"
-		name="French Southern Territories" />
-	<iso_3166_entry
-		alpha_2_code="GA"
-		alpha_3_code="GAB"
-		numeric_code="266"
-		name="Gabon"
-		official_name="Gabonese Republic" />
-	<iso_3166_entry
-		alpha_2_code="GM"
-		alpha_3_code="GMB"
-		numeric_code="270"
-		name="Gambia"
-		official_name="Republic of the Gambia" />
-	<iso_3166_entry
-		alpha_2_code="GE"
-		alpha_3_code="GEO"
-		numeric_code="268"
-		name="Georgia" />
-	<iso_3166_entry
-		alpha_2_code="DE"
-		alpha_3_code="DEU"
-		numeric_code="276"
-		name="Germany"
-		official_name="Federal Republic of Germany" />
-	<iso_3166_entry
-		alpha_2_code="GH"
-		alpha_3_code="GHA"
-		numeric_code="288"
-		name="Ghana"
-		official_name="Republic of Ghana" />
-	<iso_3166_entry
-		alpha_2_code="GI"
-		alpha_3_code="GIB"
-		numeric_code="292"
-		name="Gibraltar" />
-	<iso_3166_entry
-		alpha_2_code="GR"
-		alpha_3_code="GRC"
-		numeric_code="300"
-		name="Greece"
-		official_name="Hellenic Republic" />
-	<iso_3166_entry
-		alpha_2_code="GL"
-		alpha_3_code="GRL"
-		numeric_code="304"
-		name="Greenland" />
-	<iso_3166_entry
-		alpha_2_code="GD"
-		alpha_3_code="GRD"
-		numeric_code="308"
-		name="Grenada" />
-	<iso_3166_entry
-		alpha_2_code="GP"
-		alpha_3_code="GLP"
-		numeric_code="312"
-		name="Guadeloupe" />
-	<iso_3166_entry
-		alpha_2_code="GU"
-		alpha_3_code="GUM"
-		numeric_code="316"
-		name="Guam" />
-	<iso_3166_entry
-		alpha_2_code="GT"
-		alpha_3_code="GTM"
-		numeric_code="320"
-		name="Guatemala"
-		official_name="Republic of Guatemala" />
-	<iso_3166_entry
-		alpha_2_code="GG"
-		alpha_3_code="GGY"
-		numeric_code="831"
-		name="Guernsey" />
-	<iso_3166_entry
-		alpha_2_code="GN"
-		alpha_3_code="GIN"
-		numeric_code="324"
-		name="Guinea"
-		official_name="Republic of Guinea" />
-	<iso_3166_entry
-		alpha_2_code="GW"
-		alpha_3_code="GNB"
-		numeric_code="624"
-		name="Guinea-Bissau"
-		official_name="Republic of Guinea-Bissau" />
-	<iso_3166_entry
-		alpha_2_code="GY"
-		alpha_3_code="GUY"
-		numeric_code="328"
-		name="Guyana"
-		official_name="Republic of Guyana" />
-	<iso_3166_entry
-		alpha_2_code="HT"
-		alpha_3_code="HTI"
-		numeric_code="332"
-		name="Haiti"
-		official_name="Republic of Haiti" />
-	<iso_3166_entry
-		alpha_2_code="HM"
-		alpha_3_code="HMD"
-		numeric_code="334"
-		name="Heard Island and McDonald Islands" />
-	<iso_3166_entry
-		alpha_2_code="VA"
-		alpha_3_code="VAT"
-		numeric_code="336"
-		name="Holy See (Vatican City State)" />
-	<iso_3166_entry
-		alpha_2_code="HN"
-		alpha_3_code="HND"
-		numeric_code="340"
-		name="Honduras"
-		official_name="Republic of Honduras" />
-	<iso_3166_entry
-		alpha_2_code="HK"
-		alpha_3_code="HKG"
-		numeric_code="344"
-		name="Hong Kong"
-		official_name="Hong Kong Special Administrative Region of China" />
-	<iso_3166_entry
-		alpha_2_code="HU"
-		alpha_3_code="HUN"
-		numeric_code="348"
-		name="Hungary"
-		official_name="Republic of Hungary" />
-	<iso_3166_entry
-		alpha_2_code="IS"
-		alpha_3_code="ISL"
-		numeric_code="352"
-		name="Iceland"
-		official_name="Republic of Iceland" />
-	<iso_3166_entry
-		alpha_2_code="IN"
-		alpha_3_code="IND"
-		numeric_code="356"
-		name="India"
-		official_name="Republic of India" />
-	<iso_3166_entry
-		alpha_2_code="ID"
-		alpha_3_code="IDN"
-		numeric_code="360"
-		name="Indonesia"
-		official_name="Republic of Indonesia" />
-	<iso_3166_entry
-		alpha_2_code="IR"
-		alpha_3_code="IRN"
-		numeric_code="364"
-		name="Iran, Islamic Republic of"
-		official_name="Islamic Republic of Iran" />
-	<iso_3166_entry
-		alpha_2_code="IQ"
-		alpha_3_code="IRQ"
-		numeric_code="368"
-		name="Iraq"
-		official_name="Republic of Iraq" />
-	<iso_3166_entry
-		alpha_2_code="IE"
-		alpha_3_code="IRL"
-		numeric_code="372"
-		name="Ireland" />
-	<iso_3166_entry
-		alpha_2_code="IM"
-		alpha_3_code="IMN"
-		numeric_code="833"
-		name="Isle of Man" />
-	<iso_3166_entry
-		alpha_2_code="IL"
-		alpha_3_code="ISR"
-		numeric_code="376"
-		name="Israel"
-		official_name="State of Israel" />
-	<iso_3166_entry
-		alpha_2_code="IT"
-		alpha_3_code="ITA"
-		numeric_code="380"
-		name="Italy"
-		official_name="Italian Republic" />
-	<iso_3166_entry
-		alpha_2_code="JM"
-		alpha_3_code="JAM"
-		numeric_code="388"
-		name="Jamaica" />
-	<iso_3166_entry
-		alpha_2_code="JP"
-		alpha_3_code="JPN"
-		numeric_code="392"
-		name="Japan" />
-	<iso_3166_entry
-		alpha_2_code="JE"
-		alpha_3_code="JEY"
-		numeric_code="832"
-		name="Jersey" />
-	<iso_3166_entry
-		alpha_2_code="JO"
-		alpha_3_code="JOR"
-		numeric_code="400"
-		name="Jordan"
-		official_name="Hashemite Kingdom of Jordan" />
-	<iso_3166_entry
-		alpha_2_code="KZ"
-		alpha_3_code="KAZ"
-		numeric_code="398"
-		name="Kazakhstan"
-		official_name="Republic of Kazakhstan" />
-	<iso_3166_entry
-		alpha_2_code="KE"
-		alpha_3_code="KEN"
-		numeric_code="404"
-		name="Kenya"
-		official_name="Republic of Kenya" />
-	<iso_3166_entry
-		alpha_2_code="KI"
-		alpha_3_code="KIR"
-		numeric_code="296"
-		name="Kiribati"
-		official_name="Republic of Kiribati" />
-	<iso_3166_entry
-		alpha_2_code="KP"
-		alpha_3_code="PRK"
-		numeric_code="408"
-		name="Korea, Democratic People's Republic of"
-		official_name="Democratic People's Republic of Korea" />
-	<iso_3166_entry
-		alpha_2_code="KR"
-		alpha_3_code="KOR"
-		numeric_code="410"
-		name="Korea, Republic of" />
-	<iso_3166_entry
-		alpha_2_code="KW"
-		alpha_3_code="KWT"
-		numeric_code="414"
-		name="Kuwait"
-		official_name="State of Kuwait" />
-	<iso_3166_entry
-		alpha_2_code="KG"
-		alpha_3_code="KGZ"
-		numeric_code="417"
-		name="Kyrgyzstan"
-		official_name="Kyrgyz Republic" />
-	<iso_3166_entry
-		alpha_2_code="LA"
-		alpha_3_code="LAO"
-		numeric_code="418"
-		name="Lao People's Democratic Republic" />
-	<iso_3166_entry
-		alpha_2_code="LV"
-		alpha_3_code="LVA"
-		numeric_code="428"
-		name="Latvia"
-		official_name="Republic of Latvia" />
-	<iso_3166_entry
-		alpha_2_code="LB"
-		alpha_3_code="LBN"
-		numeric_code="422"
-		name="Lebanon"
-		official_name="Lebanese Republic" />
-	<iso_3166_entry
-		alpha_2_code="LS"
-		alpha_3_code="LSO"
-		numeric_code="426"
-		name="Lesotho"
-		official_name="Kingdom of Lesotho" />
-	<iso_3166_entry
-		alpha_2_code="LR"
-		alpha_3_code="LBR"
-		numeric_code="430"
-		name="Liberia"
-		official_name="Republic of Liberia" />
-	<iso_3166_entry
-		alpha_2_code="LY"
-		alpha_3_code="LBY"
-		numeric_code="434"
-		common_name="Libya"
-		name="Libyan Arab Jamahiriya"
-		official_name="Socialist People's Libyan Arab Jamahiriya" />
-	<iso_3166_entry
-		alpha_2_code="LI"
-		alpha_3_code="LIE"
-		numeric_code="438"
-		name="Liechtenstein"
-		official_name="Principality of Liechtenstein" />
-	<iso_3166_entry
-		alpha_2_code="LT"
-		alpha_3_code="LTU"
-		numeric_code="440"
-		name="Lithuania"
-		official_name="Republic of Lithuania" />
-	<iso_3166_entry
-		alpha_2_code="LU"
-		alpha_3_code="LUX"
-		numeric_code="442"
-		name="Luxembourg"
-		official_name="Grand Duchy of Luxembourg" />
-	<iso_3166_entry
-		alpha_2_code="MO"
-		alpha_3_code="MAC"
-		numeric_code="446"
-		name="Macao"
-		official_name="Macao Special Administrative Region of China" />
-	<iso_3166_entry
-		alpha_2_code="MK"
-		alpha_3_code="MKD"
-		numeric_code="807"
-		name="Macedonia, Republic of"
-		official_name="The Former Yugoslav Republic of Macedonia" />
-	<iso_3166_entry
-		alpha_2_code="MG"
-		alpha_3_code="MDG"
-		numeric_code="450"
-		name="Madagascar"
-		official_name="Republic of Madagascar" />
-	<iso_3166_entry
-		alpha_2_code="MW"
-		alpha_3_code="MWI"
-		numeric_code="454"
-		name="Malawi"
-		official_name="Republic of Malawi" />
-	<iso_3166_entry
-		alpha_2_code="MY"
-		alpha_3_code="MYS"
-		numeric_code="458"
-		name="Malaysia" />
-	<iso_3166_entry
-		alpha_2_code="MV"
-		alpha_3_code="MDV"
-		numeric_code="462"
-		name="Maldives"
-		official_name="Republic of Maldives" />
-	<iso_3166_entry
-		alpha_2_code="ML"
-		alpha_3_code="MLI"
-		numeric_code="466"
-		name="Mali"
-		official_name="Republic of Mali" />
-	<iso_3166_entry
-		alpha_2_code="MT"
-		alpha_3_code="MLT"
-		numeric_code="470"
-		name="Malta"
-		official_name="Republic of Malta" />
-	<iso_3166_entry
-		alpha_2_code="MH"
-		alpha_3_code="MHL"
-		numeric_code="584"
-		name="Marshall Islands"
-		official_name="Republic of the Marshall Islands" />
-	<iso_3166_entry
-		alpha_2_code="MQ"
-		alpha_3_code="MTQ"
-		numeric_code="474"
-		name="Martinique" />
-	<iso_3166_entry
-		alpha_2_code="MR"
-		alpha_3_code="MRT"
-		numeric_code="478"
-		name="Mauritania"
-		official_name="Islamic Republic of Mauritania" />
-	<iso_3166_entry
-		alpha_2_code="MU"
-		alpha_3_code="MUS"
-		numeric_code="480"
-		name="Mauritius"
-		official_name="Republic of Mauritius" />
-	<iso_3166_entry
-		alpha_2_code="YT"
-		alpha_3_code="MYT"
-		numeric_code="175"
-		name="Mayotte" />
-	<iso_3166_entry
-		alpha_2_code="MX"
-		alpha_3_code="MEX"
-		numeric_code="484"
-		name="Mexico"
-		official_name="United Mexican States" />
-	<iso_3166_entry
-		alpha_2_code="FM"
-		alpha_3_code="FSM"
-		numeric_code="583"
-		name="Micronesia, Federated States of"
-		official_name="Federated States of Micronesia" />
-	<iso_3166_entry
-		alpha_2_code="MD"
-		alpha_3_code="MDA"
-		numeric_code="498"
-		common_name="Moldova"
-		name="Moldova, Republic of"
-		official_name="Republic of Moldova" />
-	<iso_3166_entry
-		alpha_2_code="MC"
-		alpha_3_code="MCO"
-		numeric_code="492"
-		name="Monaco"
-		official_name="Principality of Monaco" />
-	<iso_3166_entry
-		alpha_2_code="MN"
-		alpha_3_code="MNG"
-		numeric_code="496"
-		name="Mongolia" />
-	<iso_3166_entry
-		alpha_2_code="ME"
-		alpha_3_code="MNE"
-		numeric_code="499"
-		name="Montenegro"
-		official_name="Montenegro" />
-	<iso_3166_entry
-		alpha_2_code="MS"
-		alpha_3_code="MSR"
-		numeric_code="500"
-		name="Montserrat" />
-	<iso_3166_entry
-		alpha_2_code="MA"
-		alpha_3_code="MAR"
-		numeric_code="504"
-		name="Morocco"
-		official_name="Kingdom of Morocco" />
-	<iso_3166_entry
-		alpha_2_code="MZ"
-		alpha_3_code="MOZ"
-		numeric_code="508"
-		name="Mozambique"
-		official_name="Republic of Mozambique" />
-	<iso_3166_entry
-		alpha_2_code="MM"
-		alpha_3_code="MMR"
-		numeric_code="104"
-		name="Myanmar"
-		official_name="Republic of Myanmar" />
-	<iso_3166_entry
-		alpha_2_code="NA"
-		alpha_3_code="NAM"
-		numeric_code="516"
-		name="Namibia"
-		official_name="Republic of Namibia" />
-	<iso_3166_entry
-		alpha_2_code="NR"
-		alpha_3_code="NRU"
-		numeric_code="520"
-		name="Nauru"
-		official_name="Republic of Nauru" />
-	<iso_3166_entry
-		alpha_2_code="NP"
-		alpha_3_code="NPL"
-		numeric_code="524"
-		name="Nepal"
-		official_name="Federal Democratic Republic of Nepal" />
-	<iso_3166_entry
-		alpha_2_code="NL"
-		alpha_3_code="NLD"
-		numeric_code="528"
-		name="Netherlands"
-		official_name="Kingdom of the Netherlands" />
-	<iso_3166_entry
-		alpha_2_code="NC"
-		alpha_3_code="NCL"
-		numeric_code="540"
-		name="New Caledonia" />
-	<iso_3166_entry
-		alpha_2_code="NZ"
-		alpha_3_code="NZL"
-		numeric_code="554"
-		name="New Zealand" />
-	<iso_3166_entry
-		alpha_2_code="NI"
-		alpha_3_code="NIC"
-		numeric_code="558"
-		name="Nicaragua"
-		official_name="Republic of Nicaragua" />
-	<iso_3166_entry
-		alpha_2_code="NE"
-		alpha_3_code="NER"
-		numeric_code="562"
-		name="Niger"
-		official_name="Republic of the Niger" />
-	<iso_3166_entry
-		alpha_2_code="NG"
-		alpha_3_code="NGA"
-		numeric_code="566"
-		name="Nigeria"
-		official_name="Federal Republic of Nigeria" />
-	<iso_3166_entry
-		alpha_2_code="NU"
-		alpha_3_code="NIU"
-		numeric_code="570"
-		name="Niue"
-		official_name="Niue" />
-	<iso_3166_entry
-		alpha_2_code="NF"
-		alpha_3_code="NFK"
-		numeric_code="574"
-		name="Norfolk Island" />
-	<iso_3166_entry
-		alpha_2_code="MP"
-		alpha_3_code="MNP"
-		numeric_code="580"
-		name="Northern Mariana Islands"
-		official_name="Commonwealth of the Northern Mariana Islands" />
-	<iso_3166_entry
-		alpha_2_code="NO"
-		alpha_3_code="NOR"
-		numeric_code="578"
-		name="Norway"
-		official_name="Kingdom of Norway" />
-	<iso_3166_entry
-		alpha_2_code="OM"
-		alpha_3_code="OMN"
-		numeric_code="512"
-		name="Oman"
-		official_name="Sultanate of Oman" />
-	<iso_3166_entry
-		alpha_2_code="PK"
-		alpha_3_code="PAK"
-		numeric_code="586"
-		name="Pakistan"
-		official_name="Islamic Republic of Pakistan" />
-	<iso_3166_entry
-		alpha_2_code="PW"
-		alpha_3_code="PLW"
-		numeric_code="585"
-		name="Palau"
-		official_name="Republic of Palau" />
-	<iso_3166_entry
-		alpha_2_code="PS"
-		alpha_3_code="PSE"
-		numeric_code="275"
-		name="Palestinian Territory, Occupied"
-		official_name="Occupied Palestinian Territory" />
-	<iso_3166_entry
-		alpha_2_code="PA"
-		alpha_3_code="PAN"
-		numeric_code="591"
-		name="Panama"
-		official_name="Republic of Panama" />
-	<iso_3166_entry
-		alpha_2_code="PG"
-		alpha_3_code="PNG"
-		numeric_code="598"
-		name="Papua New Guinea" />
-	<iso_3166_entry
-		alpha_2_code="PY"
-		alpha_3_code="PRY"
-		numeric_code="600"
-		name="Paraguay"
-		official_name="Republic of Paraguay" />
-	<iso_3166_entry
-		alpha_2_code="PE"
-		alpha_3_code="PER"
-		numeric_code="604"
-		name="Peru"
-		official_name="Republic of Peru" />
-	<iso_3166_entry
-		alpha_2_code="PH"
-		alpha_3_code="PHL"
-		numeric_code="608"
-		name="Philippines"
-		official_name="Republic of the Philippines" />
-	<iso_3166_entry
-		alpha_2_code="PN"
-		alpha_3_code="PCN"
-		numeric_code="612"
-		name="Pitcairn" />
-	<iso_3166_entry
-		alpha_2_code="PL"
-		alpha_3_code="POL"
-		numeric_code="616"
-		name="Poland"
-		official_name="Republic of Poland" />
-	<iso_3166_entry
-		alpha_2_code="PT"
-		alpha_3_code="PRT"
-		numeric_code="620"
-		name="Portugal"
-		official_name="Portuguese Republic" />
-	<iso_3166_entry
-		alpha_2_code="PR"
-		alpha_3_code="PRI"
-		numeric_code="630"
-		name="Puerto Rico" />
-	<iso_3166_entry
-		alpha_2_code="QA"
-		alpha_3_code="QAT"
-		numeric_code="634"
-		name="Qatar"
-		official_name="State of Qatar" />
-	<iso_3166_entry
-		alpha_2_code="RE"
-		alpha_3_code="REU"
-		numeric_code="638"
-		name="Reunion" />
-	<iso_3166_entry
-		alpha_2_code="RO"
-		alpha_3_code="ROU"
-		numeric_code="642"
-		name="Romania" />
-	<iso_3166_entry
-		alpha_2_code="RU"
-		alpha_3_code="RUS"
-		numeric_code="643"
-		name="Russian Federation" />
-	<iso_3166_entry
-		alpha_2_code="RW"
-		alpha_3_code="RWA"
-		numeric_code="646"
-		name="Rwanda"
-		official_name="Rwandese Republic" />
-	<iso_3166_entry
-		alpha_2_code="BL"
-		alpha_3_code="BLM"
-		numeric_code="652"
-		name="Saint Barthélemy" />
-	<iso_3166_entry
-		alpha_2_code="SH"
-		alpha_3_code="SHN"
-		numeric_code="654"
-		name="Saint Helena, Ascension and Tristan da Cunha" />
-	<iso_3166_entry
-		alpha_2_code="KN"
-		alpha_3_code="KNA"
-		numeric_code="659"
-		name="Saint Kitts and Nevis" />
-	<iso_3166_entry
-		alpha_2_code="LC"
-		alpha_3_code="LCA"
-		numeric_code="662"
-		name="Saint Lucia" />
-	<iso_3166_entry
-		alpha_2_code="MF"
-		alpha_3_code="MAF"
-		numeric_code="663"
-		name="Saint Martin (French part)" />
-	<iso_3166_entry
-		alpha_2_code="PM"
-		alpha_3_code="SPM"
-		numeric_code="666"
-		name="Saint Pierre and Miquelon" />
-	<iso_3166_entry
-		alpha_2_code="VC"
-		alpha_3_code="VCT"
-		numeric_code="670"
-		name="Saint Vincent and the Grenadines" />
-	<iso_3166_entry
-		alpha_2_code="WS"
-		alpha_3_code="WSM"
-		numeric_code="882"
-		name="Samoa"
-		official_name="Independent State of Samoa" />
-	<iso_3166_entry
-		alpha_2_code="SM"
-		alpha_3_code="SMR"
-		numeric_code="674"
-		name="San Marino"
-		official_name="Republic of San Marino" />
-	<iso_3166_entry
-		alpha_2_code="ST"
-		alpha_3_code="STP"
-		numeric_code="678"
-		name="Sao Tome and Principe"
-		official_name="Democratic Republic of Sao Tome and Principe" />
-	<iso_3166_entry
-		alpha_2_code="SA"
-		alpha_3_code="SAU"
-		numeric_code="682"
-		name="Saudi Arabia"
-		official_name="Kingdom of Saudi Arabia" />
-	<iso_3166_entry
-		alpha_2_code="SN"
-		alpha_3_code="SEN"
-		numeric_code="686"
-		name="Senegal"
-		official_name="Republic of Senegal" />
-	<iso_3166_entry
-		alpha_2_code="RS"
-		alpha_3_code="SRB"
-		numeric_code="688"
-		name="Serbia"
-		official_name="Republic of Serbia" />
-	<iso_3166_entry
-		alpha_2_code="SC"
-		alpha_3_code="SYC"
-		numeric_code="690"
-		name="Seychelles"
-		official_name="Republic of Seychelles" />
-	<iso_3166_entry
-		alpha_2_code="SL"
-		alpha_3_code="SLE"
-		numeric_code="694"
-		name="Sierra Leone"
-		official_name="Republic of Sierra Leone" />
-	<iso_3166_entry
-		alpha_2_code="SG"
-		alpha_3_code="SGP"
-		numeric_code="702"
-		name="Singapore"
-		official_name="Republic of Singapore" />
-	<iso_3166_entry
-		alpha_2_code="SX"
-		alpha_3_code="SXM"
-		numeric_code="702"
-		name="Sint Maarten"
-		official_name="Sint Maarten (Dutch part)" />
-	<iso_3166_entry
-		alpha_2_code="SK"
-		alpha_3_code="SVK"
-		numeric_code="703"
-		name="Slovakia"
-		official_name="Slovak Republic" />
-	<iso_3166_entry
-		alpha_2_code="SI"
-		alpha_3_code="SVN"
-		numeric_code="705"
-		name="Slovenia"
-		official_name="Republic of Slovenia" />
-	<iso_3166_entry
-		alpha_2_code="SB"
-		alpha_3_code="SLB"
-		numeric_code="090"
-		name="Solomon Islands" />
-	<iso_3166_entry
-		alpha_2_code="SO"
-		alpha_3_code="SOM"
-		numeric_code="706"
-		name="Somalia"
-		official_name="Somali Republic" />
-	<iso_3166_entry
-		alpha_2_code="ZA"
-		alpha_3_code="ZAF"
-		numeric_code="710"
-		name="South Africa"
-		official_name="Republic of South Africa" />
-	<iso_3166_entry
-		alpha_2_code="GS"
-		alpha_3_code="SGS"
-		numeric_code="239"
-		name="South Georgia and the South Sandwich Islands" />
-	<iso_3166_entry
-		alpha_2_code="ES"
-		alpha_3_code="ESP"
-		numeric_code="724"
-		name="Spain"
-		official_name="Kingdom of Spain" />
-	<iso_3166_entry
-		alpha_2_code="LK"
-		alpha_3_code="LKA"
-		numeric_code="144"
-		name="Sri Lanka"
-		official_name="Democratic Socialist Republic of Sri Lanka" />
-	<iso_3166_entry
-		alpha_2_code="SD"
-		alpha_3_code="SDN"
-		numeric_code="736"
-		name="Sudan"
-		official_name="Republic of the Sudan" />
-	<iso_3166_entry
-		alpha_2_code="SR"
-		alpha_3_code="SUR"
-		numeric_code="740"
-		name="Suriname"
-		official_name="Republic of Suriname" />
-	<iso_3166_entry
-		alpha_2_code="SJ"
-		alpha_3_code="SJM"
-		numeric_code="744"
-		name="Svalbard and Jan Mayen" />
-	<iso_3166_entry
-		alpha_2_code="SZ"
-		alpha_3_code="SWZ"
-		numeric_code="748"
-		name="Swaziland"
-		official_name="Kingdom of Swaziland" />
-	<iso_3166_entry
-		alpha_2_code="SE"
-		alpha_3_code="SWE"
-		numeric_code="752"
-		name="Sweden"
-		official_name="Kingdom of Sweden" />
-	<iso_3166_entry
-		alpha_2_code="CH"
-		alpha_3_code="CHE"
-		numeric_code="756"
-		name="Switzerland"
-		official_name="Swiss Confederation" />
-	<iso_3166_entry
-		alpha_2_code="SY"
-		alpha_3_code="SYR"
-		numeric_code="760"
-		name="Syrian Arab Republic" />
-	<iso_3166_entry
-		alpha_2_code="TW"
-		alpha_3_code="TWN"
-		numeric_code="158"
-		common_name="Taiwan"
-		name="Taiwan, Province of China"
-		official_name="Taiwan, Province of China" />
-	<iso_3166_entry
-		alpha_2_code="TJ"
-		alpha_3_code="TJK"
-		numeric_code="762"
-		name="Tajikistan"
-		official_name="Republic of Tajikistan" />
-	<iso_3166_entry
-		alpha_2_code="TZ"
-		alpha_3_code="TZA"
-		numeric_code="834"
-		name="Tanzania, United Republic of"
-		official_name="United Republic of Tanzania" />
-	<iso_3166_entry
-		alpha_2_code="TH"
-		alpha_3_code="THA"
-		numeric_code="764"
-		name="Thailand"
-		official_name="Kingdom of Thailand" />
-	<iso_3166_entry
-		alpha_2_code="TL"
-		alpha_3_code="TLS"
-		numeric_code="626"
-		name="Timor-Leste"
-		official_name="Democratic Republic of Timor-Leste" />
-	<iso_3166_entry
-		alpha_2_code="TG"
-		alpha_3_code="TGO"
-		numeric_code="768"
-		name="Togo"
-		official_name="Togolese Republic" />
-	<iso_3166_entry
-		alpha_2_code="TK"
-		alpha_3_code="TKL"
-		numeric_code="772"
-		name="Tokelau" />
-	<iso_3166_entry
-		alpha_2_code="TO"
-		alpha_3_code="TON"
-		numeric_code="776"
-		name="Tonga"
-		official_name="Kingdom of Tonga" />
-	<iso_3166_entry
-		alpha_2_code="TT"
-		alpha_3_code="TTO"
-		numeric_code="780"
-		name="Trinidad and Tobago"
-		official_name="Republic of Trinidad and Tobago" />
-	<iso_3166_entry
-		alpha_2_code="TN"
-		alpha_3_code="TUN"
-		numeric_code="788"
-		name="Tunisia"
-		official_name="Republic of Tunisia" />
-	<iso_3166_entry
-		alpha_2_code="TR"
-		alpha_3_code="TUR"
-		numeric_code="792"
-		name="Turkey"
-		official_name="Republic of Turkey" />
-	<iso_3166_entry
-		alpha_2_code="TM"
-		alpha_3_code="TKM"
-		numeric_code="795"
-		name="Turkmenistan" />
-	<iso_3166_entry
-		alpha_2_code="TC"
-		alpha_3_code="TCA"
-		numeric_code="796"
-		name="Turks and Caicos Islands" />
-	<iso_3166_entry
-		alpha_2_code="TV"
-		alpha_3_code="TUV"
-		numeric_code="798"
-		name="Tuvalu" />
-	<iso_3166_entry
-		alpha_2_code="UG"
-		alpha_3_code="UGA"
-		numeric_code="800"
-		name="Uganda"
-		official_name="Republic of Uganda" />
-	<iso_3166_entry
-		alpha_2_code="UA"
-		alpha_3_code="UKR"
-		numeric_code="804"
-		name="Ukraine" />
-	<iso_3166_entry
-		alpha_2_code="AE"
-		alpha_3_code="ARE"
-		numeric_code="784"
-		name="United Arab Emirates" />
-	<iso_3166_entry
-		alpha_2_code="GB"
-		alpha_3_code="GBR"
-		numeric_code="826"
-		name="United Kingdom"
-		official_name="United Kingdom of Great Britain and Northern Ireland" />
-	<iso_3166_entry
-		alpha_2_code="US"
-		alpha_3_code="USA"
-		numeric_code="840"
-		name="United States"
-		official_name="United States of America" />
-	<iso_3166_entry
-		alpha_2_code="UM"
-		alpha_3_code="UMI"
-		numeric_code="581"
-		name="United States Minor Outlying Islands" />
-	<iso_3166_entry
-		alpha_2_code="UY"
-		alpha_3_code="URY"
-		numeric_code="858"
-		name="Uruguay"
-		official_name="Eastern Republic of Uruguay" />
-	<iso_3166_entry
-		alpha_2_code="UZ"
-		alpha_3_code="UZB"
-		numeric_code="860"
-		name="Uzbekistan"
-		official_name="Republic of Uzbekistan" />
-	<iso_3166_entry
-		alpha_2_code="VU"
-		alpha_3_code="VUT"
-		numeric_code="548"
-		name="Vanuatu"
-		official_name="Republic of Vanuatu" />
-	<iso_3166_entry
-		alpha_2_code="VE"
-		alpha_3_code="VEN"
-		numeric_code="862"
-		common_name="Venezuela"
-		name="Venezuela, Bolivarian republic of"
-		official_name="Bolivarian Republic of Venezuela" />
-	<iso_3166_entry
-		alpha_2_code="VN"
-		alpha_3_code="VNM"
-		numeric_code="704"
-		name="Viet Nam"
-		official_name="Socialist Republic of Viet Nam" />
-	<!-- FIXME CHECK OFFICIAL NAME -->
-	<iso_3166_entry
-		alpha_2_code="VG"
-		alpha_3_code="VGB"
-		numeric_code="092"
-		name="Virgin Islands, British"
-		official_name="British Virgin Islands" />
-	<iso_3166_entry
-		alpha_2_code="VI"
-		alpha_3_code="VIR"
-		numeric_code="850"
-		name="Virgin Islands, U.S."
-		official_name="Virgin Islands of the United States" />
-	<iso_3166_entry
-		alpha_2_code="WF"
-		alpha_3_code="WLF"
-		numeric_code="876"
-		name="Wallis and Futuna" />
-	<iso_3166_entry
-		alpha_2_code="EH"
-		alpha_3_code="ESH"
-		numeric_code="732"
-		name="Western Sahara" />
-	<iso_3166_entry
-		alpha_2_code="YE"
-		alpha_3_code="YEM"
-		numeric_code="887"
-		name="Yemen"
-		official_name="Republic of Yemen" />
-	<iso_3166_entry
-		alpha_2_code="ZM"
-		alpha_3_code="ZMB"
-		numeric_code="894"
-		name="Zambia"
-		official_name="Republic of Zambia" />
-	<iso_3166_entry
-		alpha_2_code="ZW"
-		alpha_3_code="ZWE"
-		numeric_code="716"
-		name="Zimbabwe"
-		official_name="Republic of Zimbabwe" />
-	<iso_3166_3_entry
-		alpha_4_code="BQAQ"
-		alpha_3_code="ATB"
-		date_withdrawn="1979"
-		names="British Antarctic Territory" />
-	<iso_3166_3_entry
-		alpha_4_code="BUMM"
-		alpha_3_code="BUR"
-		numeric_code="104"
-		date_withdrawn="1989-12-05"
-		names="Burma, Socialist Republic of the Union of" />
-	<iso_3166_3_entry
-		alpha_4_code="BYAA"
-		alpha_3_code="BYS"
-		numeric_code="112"
-		date_withdrawn="1992-06-15"
-		names="Byelorussian SSR Soviet Socialist Republic" />
-	<iso_3166_3_entry
-		alpha_4_code="CTKI"
-		alpha_3_code="CTE"
-		numeric_code="128"
-		date_withdrawn="1984"
-		names="Canton and Enderbury Islands" />
-	<iso_3166_3_entry
-		alpha_4_code="CSHH"
-		alpha_3_code="CSK"
-		numeric_code="200"
-		date_withdrawn="1993-06-15"
-		names="Czechoslovakia, Czechoslovak Socialist Republic" />
-	<iso_3166_3_entry
-		alpha_4_code="DYBJ"
-		alpha_3_code="DHY"
-		numeric_code="204"
-		date_withdrawn="1977"
-		names="Dahomey" />
-	<iso_3166_3_entry
-		alpha_4_code="NQAQ"
-		alpha_3_code="ATN"
-		numeric_code="216"
-		date_withdrawn="1983"
-		names="Dronning Maud Land" />
-	<iso_3166_3_entry
-		alpha_4_code="TPTL"
-		alpha_3_code="TMP"
-		numeric_code="626"
-		date_withdrawn="2002-05-20"
-		names="East Timor"
-		comment="was Portuguese Timor" />
-	<iso_3166_3_entry
-		alpha_4_code="ET"
-		alpha_3_code="ETH"
-		numeric_code="230"
-		date_withdrawn="1993-07-16"
-		names="Ethiopia" />
-	<iso_3166_3_entry
-		alpha_4_code="FXFR"
-		alpha_3_code="FXX"
-		numeric_code="249"
-		date_withdrawn="1997-07-14"
-		names="France, Metropolitan" />
-	<iso_3166_3_entry
-		alpha_4_code="AIDJ"
-		alpha_3_code="AFI"
-		numeric_code="262"
-		date_withdrawn="1977"
-		names="French Afars and Issas" />
-	<iso_3166_3_entry
-		alpha_4_code="FQHH"
-		alpha_3_code="ATF"
-		date_withdrawn="1979"
-		names="French Southern and Antarctic Territories"
-		comment="now split between AQ and TF" />
-	<iso_3166_3_entry
-		alpha_4_code="DDDE"
-		alpha_3_code="DDR"
-		numeric_code="278"
-		date_withdrawn="1990-10-30"
-		names="German Democratic Republic" />
-	<iso_3166_3_entry
-		alpha_4_code="DE"
-		alpha_3_code="DEU"
-		numeric_code="280"
-		date_withdrawn="1990-10-30"
-		names="Germany, Federal Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="GEHH"
-		alpha_3_code="GEL"
-		numeric_code="296"
-		date_withdrawn="1979"
-		names="Gilbert and Ellice Islands"
-		comment="now split into Kiribati and Tuvalu" />
-	<iso_3166_3_entry
-		alpha_4_code="JTUM"
-		alpha_3_code="JTN"
-		numeric_code="396"
-		date_withdrawn="1986"
-		names="Johnston Island" />
-	<iso_3166_3_entry
-		alpha_4_code="MIUM"
-		alpha_3_code="MID"
-		numeric_code="488"
-		date_withdrawn="1986"
-		names="Midway Islands" />
-	<iso_3166_3_entry
-		alpha_4_code="AN"
-		alpha_3_code="ANT"
-		numeric_code="532"
-		date_withdrawn="1993-07-12"
-		names="Netherlands Antilles" />
-	<iso_3166_3_entry
-		alpha_4_code="NTHH"
-		alpha_3_code="NTZ"
-		numeric_code="536"
-		date_withdrawn="1993-07-12"
-		names="Neutral Zone"
-		comment="formerly between Saudi Arabia and Iraq" />
-	<iso_3166_3_entry
-		alpha_4_code="NHVU"
-		alpha_3_code="NHB"
-		numeric_code="548"
-		date_withdrawn="1980"
-		names="New Hebrides" />
-	<iso_3166_3_entry
-		alpha_4_code="PCHH"
-		alpha_3_code="PCI"
-		numeric_code="582"
-		date_withdrawn="1986"
-		names="Pacific Islands (trust territory)"
-		comment="divided into FM, MH, MP, and PW" />
-	<iso_3166_3_entry
-		alpha_4_code="PA"
-		alpha_3_code="PAN"
-		numeric_code="590"
-		date_withdrawn="1993-07-22"
-		names="Panama, Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="PZPA"
-		alpha_3_code="PCZ"
-		date_withdrawn="1980"
-		names="Panama Canal Zone" />
-	<iso_3166_3_entry
-		alpha_4_code="RO"
-		alpha_3_code="ROM"
-		numeric_code="642"
-		date_withdrawn="2002-02-01"
-		names="Romania, Socialist Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="KN"
-		alpha_3_code="KNA"
-		numeric_code="658"
-		date_withdrawn="1988"
-		names="St. Kitts-Nevis-Anguilla"
-		comment="now St. Kitts and Nevis and Anguilla" />
-	<iso_3166_3_entry
-		alpha_4_code="CSXX"
-		alpha_3_code="SCG"
-		numeric_code="891"
-		date_withdrawn="2006-06-05"
-		names="Serbia and Montenegro" />
-	<iso_3166_3_entry
-		alpha_4_code="SKIN"
-		alpha_3_code="SKM"
-		date_withdrawn="1975"
-		names="Sikkim" />
-	<iso_3166_3_entry
-		alpha_4_code="RHZW"
-		alpha_3_code="RHO"
-		numeric_code="716"
-		date_withdrawn="1980"
-		names="Southern Rhodesia" />
-	<iso_3166_3_entry
-		alpha_4_code="EH"
-		alpha_3_code="ESH"
-		numeric_code="732"
-		date_withdrawn="1988"
-		names="Spanish Sahara"
-		comment="now Western Sahara" />
-	<iso_3166_3_entry
-		alpha_4_code="PUUM"
-		alpha_3_code="PUS"
-		numeric_code="849"
-		date_withdrawn="1986"
-		names="US Miscellaneous Pacific Islands" />
-	<iso_3166_3_entry
-		alpha_4_code="SUHH"
-		alpha_3_code="SUN"
-		numeric_code="810"
-		date_withdrawn="1992-08-30"
-		names="USSR, Union of Soviet Socialist Republics" />
-	<iso_3166_3_entry
-		alpha_4_code="HVBF"
-		alpha_3_code="HVO"
-		numeric_code="854"
-		date_withdrawn="1984"
-		names="Upper Volta, Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="VA"
-		alpha_3_code="VAT"
-		numeric_code="336"
-		date_withdrawn="1996-04-03"
-		names="Vatican City State (Holy See)" />
-	<iso_3166_3_entry
-		alpha_4_code="VDVN"
-		alpha_3_code="VDR"
-		date_withdrawn="1977"
-		names="Viet-Nam, Democratic Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="WKUM"
-		alpha_3_code="WAK"
-		numeric_code="872"
-		date_withdrawn="1986"
-		names="Wake Island" />
-	<iso_3166_3_entry
-		alpha_4_code="YDYE"
-		alpha_3_code="YMD"
-		numeric_code="720"
-		date_withdrawn="1990-08-14"
-		names="Yemen, Democratic, People's Democratic Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="YE"
-		alpha_3_code="YEM"
-		numeric_code="891"
-		date_withdrawn="1990-08-14"
-		names="Yemen, Yemen Arab Republic" />
-	<iso_3166_3_entry
-		alpha_4_code="YUCS"
-		alpha_3_code="YUG"
-		numeric_code="891"
-		date_withdrawn="1993-07-28"
-		names="Yugoslavia, Socialist Federal Republic of" />
-	<iso_3166_3_entry
-		alpha_4_code="ZRCD"
-		alpha_3_code="ZAR"
-		numeric_code="180"
-		date_withdrawn="1997-07-14"
-		names="Zaire, Republic of" />
-</iso_3166_entries>
diff --git a/win32/share/xml/iso-codes/iso_639.xml b/win32/share/xml/iso-codes/iso_639.xml
deleted file mode 100644
index 02fa01fb..00000000
--- a/win32/share/xml/iso-codes/iso_639.xml
+++ /dev/null
@@ -1,2169 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
-This file gives a list of all languages in the ISO 639
-standard, and is used to provide translations via gettext
-
-Copyright (C) 2004-2006 Alastair McKinstry <mckinstry@computer.org>
-Copyright (C) 2004-2009 Christian Perrier <bubulle@debian.org>
-Copyright (C) 2005-2008 Tobias Quathamer <toddy@debian.org>
-
-    This file is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This file is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this file; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Source: <http://www.loc.gov/standards/iso639-2/>
--->
-
-<!DOCTYPE iso_639_entries [
-	<!ELEMENT iso_639_entries (iso_639_entry+)>
-	<!ELEMENT iso_639_entry EMPTY>
-	<!ATTLIST iso_639_entry
-		iso_639_2B_code		CDATA	#REQUIRED
-		iso_639_2T_code		CDATA	#REQUIRED
-		iso_639_1_code		CDATA	#IMPLIED
-		name			CDATA	#REQUIRED
-	>
-]>
-
-<iso_639_entries>
-	<iso_639_entry
-		iso_639_2B_code="aar"
-		iso_639_2T_code="aar"
-		iso_639_1_code="aa"
-		name="Afar" />
-	<iso_639_entry
-		iso_639_2B_code="abk"
-		iso_639_2T_code="abk"
-		iso_639_1_code="ab"
-		name="Abkhazian" />
-	<iso_639_entry
-		iso_639_2B_code="ace"
-		iso_639_2T_code="ace"
-		name="Achinese" />
-	<iso_639_entry
-		iso_639_2B_code="ach"
-		iso_639_2T_code="ach"
-		name="Acoli" />
-	<iso_639_entry
-		iso_639_2B_code="ada"
-		iso_639_2T_code="ada"
-		name="Adangme" />
-	<iso_639_entry
-		iso_639_2B_code="ady"
-		iso_639_2T_code="ady"
-		name="Adyghe; Adygei" />
-	<iso_639_entry
-		iso_639_2B_code="afa"
-		iso_639_2T_code="afa"
-		name="Afro-Asiatic languages" />
-	<iso_639_entry
-		iso_639_2B_code="afh"
-		iso_639_2T_code="afh"
-		name="Afrihili" />
-	<iso_639_entry
-		iso_639_2B_code="afr"
-		iso_639_2T_code="afr"
-		iso_639_1_code="af"
-		name="Afrikaans" />
-	<iso_639_entry
-		iso_639_2B_code="ain"
-		iso_639_2T_code="ain"
-		name="Ainu" />
-	<iso_639_entry
-		iso_639_2B_code="aka"
-		iso_639_2T_code="aka"
-		iso_639_1_code="ak"
-		name="Akan" />
-	<iso_639_entry
-		iso_639_2B_code="akk"
-		iso_639_2T_code="akk"
-		name="Akkadian" />
-	<iso_639_entry
-		iso_639_2B_code="alb"
-		iso_639_2T_code="sqi"
-		iso_639_1_code="sq"
-		name="Albanian" />
-	<iso_639_entry
-		iso_639_2B_code="ale"
-		iso_639_2T_code="ale"
-		name="Aleut" />
-	<iso_639_entry
-		iso_639_2B_code="alg"
-		iso_639_2T_code="alg"
-		name="Algonquian languages" />
-	<iso_639_entry
-		iso_639_2B_code="alt"
-		iso_639_2T_code="alt"
-		name="Southern Altai" />
-	<iso_639_entry
-		iso_639_2B_code="amh"
-		iso_639_2T_code="amh"
-		iso_639_1_code="am"
-		name="Amharic" />
-	<iso_639_entry
-		iso_639_2B_code="ang"
-		iso_639_2T_code="ang"
-		name="English, Old (ca. 450-1100)" />
-	<iso_639_entry
-		iso_639_2B_code="anp"
-		iso_639_2T_code="anp"
-		name="Angika" />
-	<iso_639_entry
-		iso_639_2B_code="apa"
-		iso_639_2T_code="apa"
-		name="Apache languages" />
-	<iso_639_entry
-		iso_639_2B_code="ara"
-		iso_639_2T_code="ara"
-		iso_639_1_code="ar"
-		name="Arabic" />
-	<iso_639_entry
-		iso_639_2B_code="arc"
-		iso_639_2T_code="arc"
-		name="Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)" />
-	<iso_639_entry
-		iso_639_2B_code="arg"
-		iso_639_2T_code="arg"
-		iso_639_1_code="an"
-		name="Aragonese" />
-	<iso_639_entry
-		iso_639_2B_code="arm"
-		iso_639_2T_code="hye"
-		iso_639_1_code="hy"
-		name="Armenian" />
-	<iso_639_entry
-		iso_639_2B_code="arn"
-		iso_639_2T_code="arn"
-		name="Mapudungun; Mapuche" />
-	<iso_639_entry
-		iso_639_2B_code="arp"
-		iso_639_2T_code="arp"
-		name="Arapaho" />
-	<iso_639_entry
-		iso_639_2B_code="art"
-		iso_639_2T_code="art"
-		name="Artificial languages" />
-	<iso_639_entry
-		iso_639_2B_code="arw"
-		iso_639_2T_code="arw"
-		name="Arawak" />
-	<iso_639_entry
-		iso_639_2B_code="asm"
-		iso_639_2T_code="asm"
-		iso_639_1_code="as"
-		name="Assamese" />
-	<iso_639_entry
-		iso_639_2B_code="ast"
-		iso_639_2T_code="ast"
-		name="Asturian; Bable; Leonese; Asturleonese" />
-	<iso_639_entry
-		iso_639_2B_code="ath"
-		iso_639_2T_code="ath"
-		name="Athapascan languages" />
-	<iso_639_entry
-		iso_639_2B_code="aus"
-		iso_639_2T_code="aus"
-		name="Australian languages" />
-	<iso_639_entry
-		iso_639_2B_code="ava"
-		iso_639_2T_code="ava"
-		iso_639_1_code="av"
-		name="Avaric" />
-	<iso_639_entry
-		iso_639_2B_code="ave"
-		iso_639_2T_code="ave"
-		iso_639_1_code="ae"
-		name="Avestan" />
-	<iso_639_entry
-		iso_639_2B_code="awa"
-		iso_639_2T_code="awa"
-		name="Awadhi" />
-	<iso_639_entry
-		iso_639_2B_code="aym"
-		iso_639_2T_code="aym"
-		iso_639_1_code="ay"
-		name="Aymara" />
-	<iso_639_entry
-		iso_639_2B_code="aze"
-		iso_639_2T_code="aze"
-		iso_639_1_code="az"
-		name="Azerbaijani" />
-	<iso_639_entry
-		iso_639_2B_code="bad"
-		iso_639_2T_code="bad"
-		name="Banda languages" />
-	<iso_639_entry
-		iso_639_2B_code="bai"
-		iso_639_2T_code="bai"
-		name="Bamileke languages" />
-	<iso_639_entry
-		iso_639_2B_code="bak"
-		iso_639_2T_code="bak"
-		iso_639_1_code="ba"
-		name="Bashkir" />
-	<iso_639_entry
-		iso_639_2B_code="bal"
-		iso_639_2T_code="bal"
-		name="Baluchi" />
-	<iso_639_entry
-		iso_639_2B_code="bam"
-		iso_639_2T_code="bam"
-		iso_639_1_code="bm"
-		name="Bambara" />
-	<iso_639_entry
-		iso_639_2B_code="ban"
-		iso_639_2T_code="ban"
-		name="Balinese" />
-	<iso_639_entry
-		iso_639_2B_code="baq"
-		iso_639_2T_code="eus"
-		iso_639_1_code="eu"
-		name="Basque" />
-	<iso_639_entry
-		iso_639_2B_code="bas"
-		iso_639_2T_code="bas"
-		name="Basa" />
-	<iso_639_entry
-		iso_639_2B_code="bat"
-		iso_639_2T_code="bat"
-		name="Baltic languages" />
-	<iso_639_entry
-		iso_639_2B_code="bej"
-		iso_639_2T_code="bej"
-		name="Beja; Bedawiyet" />
-	<iso_639_entry
-		iso_639_2B_code="bel"
-		iso_639_2T_code="bel"
-		iso_639_1_code="be"
-		name="Belarusian" />
-	<iso_639_entry
-		iso_639_2B_code="bem"
-		iso_639_2T_code="bem"
-		name="Bemba" />
-	<iso_639_entry
-		iso_639_2B_code="ben"
-		iso_639_2T_code="ben"
-		iso_639_1_code="bn"
-		name="Bengali" />
-	<iso_639_entry
-		iso_639_2B_code="ber"
-		iso_639_2T_code="ber"
-		name="Berber languages" />
-	<iso_639_entry
-		iso_639_2B_code="bho"
-		iso_639_2T_code="bho"
-		name="Bhojpuri" />
-	<iso_639_entry
-		iso_639_2B_code="bih"
-		iso_639_2T_code="bih"
-		iso_639_1_code="bh"
-		name="Bihari languages" />
-	<iso_639_entry
-		iso_639_2B_code="bik"
-		iso_639_2T_code="bik"
-		name="Bikol" />
-	<iso_639_entry
-		iso_639_2B_code="bin"
-		iso_639_2T_code="bin"
-		name="Bini; Edo" />
-	<iso_639_entry
-		iso_639_2B_code="bis"
-		iso_639_2T_code="bis"
-		iso_639_1_code="bi"
-		name="Bislama" />
-	<iso_639_entry
-		iso_639_2B_code="bla"
-		iso_639_2T_code="bla"
-		name="Siksika" />
-	<iso_639_entry
-		iso_639_2B_code="bnt"
-		iso_639_2T_code="bnt"
-		name="Bantu languages" />
-	<iso_639_entry
-		iso_639_2B_code="bos"
-		iso_639_2T_code="bos"
-		iso_639_1_code="bs"
-		name="Bosnian" />
-	<iso_639_entry
-		iso_639_2B_code="bra"
-		iso_639_2T_code="bra"
-		name="Braj" />
-	<iso_639_entry
-		iso_639_2B_code="bre"
-		iso_639_2T_code="bre"
-		iso_639_1_code="br"
-		name="Breton" />
-	<iso_639_entry
-		iso_639_2B_code="btk"
-		iso_639_2T_code="btk"
-		name="Batak languages" />
-	<iso_639_entry
-		iso_639_2B_code="bua"
-		iso_639_2T_code="bua"
-		name="Buriat" />
-	<iso_639_entry
-		iso_639_2B_code="bug"
-		iso_639_2T_code="bug"
-		name="Buginese" />
-	<iso_639_entry
-		iso_639_2B_code="bul"
-		iso_639_2T_code="bul"
-		iso_639_1_code="bg"
-		name="Bulgarian" />
-	<iso_639_entry
-		iso_639_2B_code="bur"
-		iso_639_2T_code="mya"
-		iso_639_1_code="my"
-		name="Burmese" />
-	<iso_639_entry
-		iso_639_2B_code="byn"
-		iso_639_2T_code="byn"
-		name="Blin; Bilin" />
-	<iso_639_entry
-		iso_639_2B_code="cad"
-		iso_639_2T_code="cad"
-		name="Caddo" />
-	<iso_639_entry
-		iso_639_2B_code="cai"
-		iso_639_2T_code="cai"
-		name="Central American Indian languages" />
-	<iso_639_entry
-		iso_639_2B_code="car"
-		iso_639_2T_code="car"
-		name="Galibi Carib" />
-	<iso_639_entry
-		iso_639_2B_code="cat"
-		iso_639_2T_code="cat"
-		iso_639_1_code="ca"
-		name="Catalan; Valencian" />
-	<iso_639_entry
-		iso_639_2B_code="cau"
-		iso_639_2T_code="cau"
-		name="Caucasian languages" />
-	<iso_639_entry
-		iso_639_2B_code="ceb"
-		iso_639_2T_code="ceb"
-		name="Cebuano" />
-	<iso_639_entry
-		iso_639_2B_code="cel"
-		iso_639_2T_code="cel"
-		name="Celtic languages" />
-	<iso_639_entry
-		iso_639_2B_code="cha"
-		iso_639_2T_code="cha"
-		iso_639_1_code="ch"
-		name="Chamorro" />
-	<iso_639_entry
-		iso_639_2B_code="chb"
-		iso_639_2T_code="chb"
-		name="Chibcha" />
-	<iso_639_entry
-		iso_639_2B_code="che"
-		iso_639_2T_code="che"
-		iso_639_1_code="ce"
-		name="Chechen" />
-	<iso_639_entry
-		iso_639_2B_code="chg"
-		iso_639_2T_code="chg"
-		name="Chagatai" />
-	<iso_639_entry
-		iso_639_2B_code="chi"
-		iso_639_2T_code="zho"
-		iso_639_1_code="zh"
-		name="Chinese" />
-	<iso_639_entry
-		iso_639_2B_code="chk"
-		iso_639_2T_code="chk"
-		name="Chuukese" />
-	<iso_639_entry
-		iso_639_2B_code="chm"
-		iso_639_2T_code="chm"
-		name="Mari" />
-	<iso_639_entry
-		iso_639_2B_code="chn"
-		iso_639_2T_code="chn"
-		name="Chinook jargon" />
-	<iso_639_entry
-		iso_639_2B_code="cho"
-		iso_639_2T_code="cho"
-		name="Choctaw" />
-	<iso_639_entry
-		iso_639_2B_code="chp"
-		iso_639_2T_code="chp"
-		name="Chipewyan; Dene Suline" />
-	<iso_639_entry
-		iso_639_2B_code="chr"
-		iso_639_2T_code="chr"
-		name="Cherokee" />
-	<iso_639_entry
-		iso_639_2B_code="chu"
-		iso_639_2T_code="chu"
-		iso_639_1_code="cu"
-		name="Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" />
-	<iso_639_entry
-		iso_639_2B_code="chv"
-		iso_639_2T_code="chv"
-		iso_639_1_code="cv"
-		name="Chuvash" />
-	<iso_639_entry
-		iso_639_2B_code="chy"
-		iso_639_2T_code="chy"
-		name="Cheyenne" />
-	<iso_639_entry
-		iso_639_2B_code="cmc"
-		iso_639_2T_code="cmc"
-		name="Chamic languages" />
-	<iso_639_entry
-		iso_639_2B_code="cop"
-		iso_639_2T_code="cop"
-		name="Coptic" />
-	<iso_639_entry
-		iso_639_2B_code="cor"
-		iso_639_2T_code="cor"
-		iso_639_1_code="kw"
-		name="Cornish" />
-	<iso_639_entry
-		iso_639_2B_code="cos"
-		iso_639_2T_code="cos"
-		iso_639_1_code="co"
-		name="Corsican" />
-	<iso_639_entry
-		iso_639_2B_code="cpe"
-		iso_639_2T_code="cpe"
-		name="Creoles and pidgins, English based" />
-	<iso_639_entry
-		iso_639_2B_code="cpf"
-		iso_639_2T_code="cpf"
-		name="Creoles and pidgins, French-based" />
-	<iso_639_entry
-		iso_639_2B_code="cpp"
-		iso_639_2T_code="cpp"
-		name="Creoles and pidgins, Portuguese-based" />
-	<iso_639_entry
-		iso_639_2B_code="cre"
-		iso_639_2T_code="cre"
-		iso_639_1_code="cr"
-		name="Cree" />
-	<iso_639_entry
-		iso_639_2B_code="crh"
-		iso_639_2T_code="crh"
-		name="Crimean Tatar; Crimean Turkish" />
-	<iso_639_entry
-		iso_639_2B_code="crp"
-		iso_639_2T_code="crp"
-		name="Creoles and pidgins" />
-	<iso_639_entry
-		iso_639_2B_code="csb"
-		iso_639_2T_code="csb"
-		name="Kashubian" />
-	<iso_639_entry
-		iso_639_2B_code="cus"
-		iso_639_2T_code="cus"
-		name="Cushitic languages" />
-	<iso_639_entry
-		iso_639_2B_code="cze"
-		iso_639_2T_code="ces"
-		iso_639_1_code="cs"
-		name="Czech" />
-	<iso_639_entry
-		iso_639_2B_code="dak"
-		iso_639_2T_code="dak"
-		name="Dakota" />
-	<iso_639_entry
-		iso_639_2B_code="dan"
-		iso_639_2T_code="dan"
-		iso_639_1_code="da"
-		name="Danish" />
-	<iso_639_entry
-		iso_639_2B_code="dar"
-		iso_639_2T_code="dar"
-		name="Dargwa" />
-	<iso_639_entry
-		iso_639_2B_code="day"
-		iso_639_2T_code="day"
-		name="Land Dayak languages" />
-	<iso_639_entry
-		iso_639_2B_code="del"
-		iso_639_2T_code="del"
-		name="Delaware" />
-	<iso_639_entry
-		iso_639_2B_code="den"
-		iso_639_2T_code="den"
-		name="Slave (Athapascan)" />
-	<iso_639_entry
-		iso_639_2B_code="dgr"
-		iso_639_2T_code="dgr"
-		name="Dogrib" />
-	<iso_639_entry
-		iso_639_2B_code="din"
-		iso_639_2T_code="din"
-		name="Dinka" />
-	<iso_639_entry
-		iso_639_2B_code="div"
-		iso_639_2T_code="div"
-		iso_639_1_code="dv"
-		name="Divehi; Dhivehi; Maldivian" />
-	<iso_639_entry
-		iso_639_2B_code="doi"
-		iso_639_2T_code="doi"
-		name="Dogri" />
-	<iso_639_entry
-		iso_639_2B_code="dra"
-		iso_639_2T_code="dra"
-		name="Dravidian languages" />
-	<iso_639_entry
-		iso_639_2B_code="dsb"
-		iso_639_2T_code="dsb"
-		name="Lower Sorbian" />
-	<iso_639_entry
-		iso_639_2B_code="dua"
-		iso_639_2T_code="dua"
-		name="Duala" />
-	<iso_639_entry
-		iso_639_2B_code="dum"
-		iso_639_2T_code="dum"
-		name="Dutch, Middle (ca. 1050-1350)" />
-	<iso_639_entry
-		iso_639_2B_code="dut"
-		iso_639_2T_code="nld"
-		iso_639_1_code="nl"
-		name="Dutch; Flemish" />
-	<iso_639_entry
-		iso_639_2B_code="dyu"
-		iso_639_2T_code="dyu"
-		name="Dyula" />
-	<iso_639_entry
-		iso_639_2B_code="dzo"
-		iso_639_2T_code="dzo"
-		iso_639_1_code="dz"
-		name="Dzongkha" />
-	<iso_639_entry
-		iso_639_2B_code="efi"
-		iso_639_2T_code="efi"
-		name="Efik" />
-	<iso_639_entry
-		iso_639_2B_code="egy"
-		iso_639_2T_code="egy"
-		name="Egyptian (Ancient)" />
-	<iso_639_entry
-		iso_639_2B_code="eka"
-		iso_639_2T_code="eka"
-		name="Ekajuk" />
-	<iso_639_entry
-		iso_639_2B_code="elx"
-		iso_639_2T_code="elx"
-		name="Elamite" />
-	<iso_639_entry
-		iso_639_2B_code="eng"
-		iso_639_2T_code="eng"
-		iso_639_1_code="en"
-		name="English" />
-	<iso_639_entry
-		iso_639_2B_code="enm"
-		iso_639_2T_code="enm"
-		name="English, Middle (1100-1500)" />
-	<iso_639_entry
-		iso_639_2B_code="epo"
-		iso_639_2T_code="epo"
-		iso_639_1_code="eo"
-		name="Esperanto" />
-	<iso_639_entry
-		iso_639_2B_code="est"
-		iso_639_2T_code="est"
-		iso_639_1_code="et"
-		name="Estonian" />
-	<iso_639_entry
-		iso_639_2B_code="ewe"
-		iso_639_2T_code="ewe"
-		iso_639_1_code="ee"
-		name="Ewe" />
-	<iso_639_entry
-		iso_639_2B_code="ewo"
-		iso_639_2T_code="ewo"
-		name="Ewondo" />
-	<iso_639_entry
-		iso_639_2B_code="fan"
-		iso_639_2T_code="fan"
-		name="Fang" />
-	<iso_639_entry
-		iso_639_2B_code="fao"
-		iso_639_2T_code="fao"
-		iso_639_1_code="fo"
-		name="Faroese" />
-	<iso_639_entry
-		iso_639_2B_code="fat"
-		iso_639_2T_code="fat"
-		name="Fanti" />
-	<iso_639_entry
-		iso_639_2B_code="fij"
-		iso_639_2T_code="fij"
-		iso_639_1_code="fj"
-		name="Fijian" />
-	<iso_639_entry
-		iso_639_2B_code="fil"
-		iso_639_2T_code="fil"
-		name="Filipino; Pilipino" />
-	<iso_639_entry
-		iso_639_2B_code="fin"
-		iso_639_2T_code="fin"
-		iso_639_1_code="fi"
-		name="Finnish" />
-	<iso_639_entry
-		iso_639_2B_code="fiu"
-		iso_639_2T_code="fiu"
-		name="Finno-Ugrian languages" />
-	<iso_639_entry
-		iso_639_2B_code="fon"
-		iso_639_2T_code="fon"
-		name="Fon" />
-	<iso_639_entry
-		iso_639_2B_code="fre"
-		iso_639_2T_code="fra"
-		iso_639_1_code="fr"
-		name="French" />
-	<iso_639_entry
-		iso_639_2B_code="frm"
-		iso_639_2T_code="frm"
-		name="French, Middle (ca. 1400-1600)" />
-	<iso_639_entry
-		iso_639_2B_code="fro"
-		iso_639_2T_code="fro"
-		name="French, Old (842-ca. 1400)" />
-	<iso_639_entry
-		iso_639_2B_code="frr"
-		iso_639_2T_code="frr"
-		name="Northern Frisian" />
-	<iso_639_entry
-		iso_639_2B_code="frs"
-		iso_639_2T_code="frs"
-		name="Eastern Frisian" />
-	<iso_639_entry
-		iso_639_2B_code="fry"
-		iso_639_2T_code="fry"
-		iso_639_1_code="fy"
-		name="Western Frisian" />
-	<iso_639_entry
-		iso_639_2B_code="ful"
-		iso_639_2T_code="ful"
-		iso_639_1_code="ff"
-		name="Fulah" />
-	<iso_639_entry
-		iso_639_2B_code="fur"
-		iso_639_2T_code="fur"
-		name="Friulian" />
-	<iso_639_entry
-		iso_639_2B_code="gaa"
-		iso_639_2T_code="gaa"
-		name="Ga" />
-	<iso_639_entry
-		iso_639_2B_code="gay"
-		iso_639_2T_code="gay"
-		name="Gayo" />
-	<iso_639_entry
-		iso_639_2B_code="gba"
-		iso_639_2T_code="gba"
-		name="Gbaya" />
-	<iso_639_entry
-		iso_639_2B_code="gem"
-		iso_639_2T_code="gem"
-		name="Germanic languages" />
-	<iso_639_entry
-		iso_639_2B_code="geo"
-		iso_639_2T_code="kat"
-		iso_639_1_code="ka"
-		name="Georgian" />
-	<iso_639_entry
-		iso_639_2B_code="ger"
-		iso_639_2T_code="deu"
-		iso_639_1_code="de"
-		name="German" />
-	<iso_639_entry
-		iso_639_2B_code="gez"
-		iso_639_2T_code="gez"
-		name="Geez" />
-	<iso_639_entry
-		iso_639_2B_code="gil"
-		iso_639_2T_code="gil"
-		name="Gilbertese" />
-	<iso_639_entry
-		iso_639_2B_code="gla"
-		iso_639_2T_code="gla"
-		iso_639_1_code="gd"
-		name="Gaelic; Scottish Gaelic" />
-	<iso_639_entry
-		iso_639_2B_code="gle"
-		iso_639_2T_code="gle"
-		iso_639_1_code="ga"
-		name="Irish" />
-	<iso_639_entry
-		iso_639_2B_code="glg"
-		iso_639_2T_code="glg"
-		iso_639_1_code="gl"
-		name="Galician" />
-	<iso_639_entry
-		iso_639_2B_code="glv"
-		iso_639_2T_code="glv"
-		iso_639_1_code="gv"
-		name="Manx" />
-	<iso_639_entry
-		iso_639_2B_code="gmh"
-		iso_639_2T_code="gmh"
-		name="German, Middle High (ca. 1050-1500)" />
-	<iso_639_entry
-		iso_639_2B_code="goh"
-		iso_639_2T_code="goh"
-		name="German, Old High (ca. 750-1050)" />
-	<iso_639_entry
-		iso_639_2B_code="gon"
-		iso_639_2T_code="gon"
-		name="Gondi" />
-	<iso_639_entry
-		iso_639_2B_code="gor"
-		iso_639_2T_code="gor"
-		name="Gorontalo" />
-	<iso_639_entry
-		iso_639_2B_code="got"
-		iso_639_2T_code="got"
-		name="Gothic" />
-	<iso_639_entry
-		iso_639_2B_code="grb"
-		iso_639_2T_code="grb"
-		name="Grebo" />
-	<iso_639_entry
-		iso_639_2B_code="grc"
-		iso_639_2T_code="grc"
-		name="Greek, Ancient (to 1453)" />
-	<iso_639_entry
-		iso_639_2B_code="gre"
-		iso_639_2T_code="ell"
-		iso_639_1_code="el"
-		name="Greek, Modern (1453-)" />
-	<iso_639_entry
-		iso_639_2B_code="grn"
-		iso_639_2T_code="grn"
-		iso_639_1_code="gn"
-		name="Guarani" />
-	<iso_639_entry
-		iso_639_2B_code="gsw"
-		iso_639_2T_code="gsw"
-		name="Swiss German; Alemannic; Alsatian" />
-	<iso_639_entry
-		iso_639_2B_code="guj"
-		iso_639_2T_code="guj"
-		iso_639_1_code="gu"
-		name="Gujarati" />
-	<iso_639_entry
-		iso_639_2B_code="gwi"
-		iso_639_2T_code="gwi"
-		name="Gwich'in" />
-	<iso_639_entry
-		iso_639_2B_code="hai"
-		iso_639_2T_code="hai"
-		name="Haida" />
-	<iso_639_entry
-		iso_639_2B_code="hat"
-		iso_639_2T_code="hat"
-		iso_639_1_code="ht"
-		name="Haitian; Haitian Creole" />
-	<iso_639_entry
-		iso_639_2B_code="hau"
-		iso_639_2T_code="hau"
-		iso_639_1_code="ha"
-		name="Hausa" />
-	<iso_639_entry
-		iso_639_2B_code="haw"
-		iso_639_2T_code="haw"
-		name="Hawaiian" />
-	<iso_639_entry
-		iso_639_2B_code="heb"
-		iso_639_2T_code="heb"
-		iso_639_1_code="he"
-		name="Hebrew" />
-	<iso_639_entry
-		iso_639_2B_code="her"
-		iso_639_2T_code="her"
-		iso_639_1_code="hz"
-		name="Herero" />
-	<iso_639_entry
-		iso_639_2B_code="hil"
-		iso_639_2T_code="hil"
-		name="Hiligaynon" />
-	<iso_639_entry
-		iso_639_2B_code="him"
-		iso_639_2T_code="him"
-		name="Himachali languages; Western Pahari languages" />
-	<iso_639_entry
-		iso_639_2B_code="hin"
-		iso_639_2T_code="hin"
-		iso_639_1_code="hi"
-		name="Hindi" />
-	<iso_639_entry
-		iso_639_2B_code="hit"
-		iso_639_2T_code="hit"
-		name="Hittite" />
-	<iso_639_entry
-		iso_639_2B_code="hmn"
-		iso_639_2T_code="hmn"
-		name="Hmong; Mong" />
-	<iso_639_entry
-		iso_639_2B_code="hmo"
-		iso_639_2T_code="hmo"
-		iso_639_1_code="ho"
-		name="Hiri Motu" />
-	<iso_639_entry
-		iso_639_2B_code="hrv"
-		iso_639_2T_code="hrv"
-		iso_639_1_code="hr"
-		name="Croatian" />
-	<iso_639_entry
-		iso_639_2B_code="hsb"
-		iso_639_2T_code="hsb"
-		name="Upper Sorbian" />
-	<iso_639_entry
-		iso_639_2B_code="hun"
-		iso_639_2T_code="hun"
-		iso_639_1_code="hu"
-		name="Hungarian" />
-	<iso_639_entry
-		iso_639_2B_code="hup"
-		iso_639_2T_code="hup"
-		name="Hupa" />
-	<iso_639_entry
-		iso_639_2B_code="iba"
-		iso_639_2T_code="iba"
-		name="Iban" />
-	<iso_639_entry
-		iso_639_2B_code="ibo"
-		iso_639_2T_code="ibo"
-		iso_639_1_code="ig"
-		name="Igbo" />
-	<iso_639_entry
-		iso_639_2B_code="ice"
-		iso_639_2T_code="isl"
-		iso_639_1_code="is"
-		name="Icelandic" />
-	<iso_639_entry
-		iso_639_2B_code="ido"
-		iso_639_2T_code="ido"
-		iso_639_1_code="io"
-		name="Ido" />
-	<iso_639_entry
-		iso_639_2B_code="iii"
-		iso_639_2T_code="iii"
-		iso_639_1_code="ii"
-		name="Sichuan Yi; Nuosu" />
-	<iso_639_entry
-		iso_639_2B_code="ijo"
-		iso_639_2T_code="ijo"
-		name="Ijo languages" />
-	<iso_639_entry
-		iso_639_2B_code="iku"
-		iso_639_2T_code="iku"
-		iso_639_1_code="iu"
-		name="Inuktitut" />
-	<iso_639_entry
-		iso_639_2B_code="ile"
-		iso_639_2T_code="ile"
-		iso_639_1_code="ie"
-		name="Interlingue; Occidental" />
-	<iso_639_entry
-		iso_639_2B_code="ilo"
-		iso_639_2T_code="ilo"
-		name="Iloko" />
-	<iso_639_entry
-		iso_639_2B_code="ina"
-		iso_639_2T_code="ina"
-		iso_639_1_code="ia"
-		name="Interlingua (International Auxiliary Language Association)" />
-	<iso_639_entry
-		iso_639_2B_code="inc"
-		iso_639_2T_code="inc"
-		name="Indic languages" />
-	<iso_639_entry
-		iso_639_2B_code="ind"
-		iso_639_2T_code="ind"
-		iso_639_1_code="id"
-		name="Indonesian" />
-	<iso_639_entry
-		iso_639_2B_code="ine"
-		iso_639_2T_code="ine"
-		name="Indo-European languages" />
-	<iso_639_entry
-		iso_639_2B_code="inh"
-		iso_639_2T_code="inh"
-		name="Ingush" />
-	<iso_639_entry
-		iso_639_2B_code="ipk"
-		iso_639_2T_code="ipk"
-		iso_639_1_code="ik"
-		name="Inupiaq" />
-	<iso_639_entry
-		iso_639_2B_code="ira"
-		iso_639_2T_code="ira"
-		name="Iranian languages" />
-	<iso_639_entry
-		iso_639_2B_code="iro"
-		iso_639_2T_code="iro"
-		name="Iroquoian languages" />
-	<iso_639_entry
-		iso_639_2B_code="ita"
-		iso_639_2T_code="ita"
-		iso_639_1_code="it"
-		name="Italian" />
-	<iso_639_entry
-		iso_639_2B_code="jav"
-		iso_639_2T_code="jav"
-		iso_639_1_code="jv"
-		name="Javanese" />
-	<iso_639_entry
-		iso_639_2B_code="jbo"
-		iso_639_2T_code="jbo"
-		name="Lojban" />
-	<iso_639_entry
-		iso_639_2B_code="jpn"
-		iso_639_2T_code="jpn"
-		iso_639_1_code="ja"
-		name="Japanese" />
-	<iso_639_entry
-		iso_639_2B_code="jpr"
-		iso_639_2T_code="jpr"
-		name="Judeo-Persian" />
-	<iso_639_entry
-		iso_639_2B_code="jrb"
-		iso_639_2T_code="jrb"
-		name="Judeo-Arabic" />
-	<iso_639_entry
-		iso_639_2B_code="kaa"
-		iso_639_2T_code="kaa"
-		name="Kara-Kalpak" />
-	<iso_639_entry
-		iso_639_2B_code="kab"
-		iso_639_2T_code="kab"
-		name="Kabyle" />
-	<iso_639_entry
-		iso_639_2B_code="kac"
-		iso_639_2T_code="kac"
-		name="Kachin; Jingpho" />
-	<iso_639_entry
-		iso_639_2B_code="kal"
-		iso_639_2T_code="kal"
-		iso_639_1_code="kl"
-		name="Kalaallisut; Greenlandic" />
-	<iso_639_entry
-		iso_639_2B_code="kam"
-		iso_639_2T_code="kam"
-		name="Kamba" />
-	<iso_639_entry
-		iso_639_2B_code="kan"
-		iso_639_2T_code="kan"
-		iso_639_1_code="kn"
-		name="Kannada" />
-	<iso_639_entry
-		iso_639_2B_code="kar"
-		iso_639_2T_code="kar"
-		name="Karen languages" />
-	<iso_639_entry
-		iso_639_2B_code="kas"
-		iso_639_2T_code="kas"
-		iso_639_1_code="ks"
-		name="Kashmiri" />
-	<iso_639_entry
-		iso_639_2B_code="kau"
-		iso_639_2T_code="kau"
-		iso_639_1_code="kr"
-		name="Kanuri" />
-	<iso_639_entry
-		iso_639_2B_code="kaw"
-		iso_639_2T_code="kaw"
-		name="Kawi" />
-	<iso_639_entry
-		iso_639_2B_code="kaz"
-		iso_639_2T_code="kaz"
-		iso_639_1_code="kk"
-		name="Kazakh" />
-	<iso_639_entry
-		iso_639_2B_code="kbd"
-		iso_639_2T_code="kbd"
-		name="Kabardian" />
-	<iso_639_entry
-		iso_639_2B_code="kha"
-		iso_639_2T_code="kha"
-		name="Khasi" />
-	<iso_639_entry
-		iso_639_2B_code="khi"
-		iso_639_2T_code="khi"
-		name="Khoisan languages" />
-	<iso_639_entry
-		iso_639_2B_code="khm"
-		iso_639_2T_code="khm"
-		iso_639_1_code="km"
-		name="Central Khmer" />
-	<iso_639_entry
-		iso_639_2B_code="kho"
-		iso_639_2T_code="kho"
-		name="Khotanese;Sakan" />
-	<iso_639_entry
-		iso_639_2B_code="kik"
-		iso_639_2T_code="kik"
-		iso_639_1_code="ki"
-		name="Kikuyu; Gikuyu" />
-	<iso_639_entry
-		iso_639_2B_code="kin"
-		iso_639_2T_code="kin"
-		iso_639_1_code="rw"
-		name="Kinyarwanda" />
-	<iso_639_entry
-		iso_639_2B_code="kir"
-		iso_639_2T_code="kir"
-		iso_639_1_code="ky"
-		name="Kirghiz; Kyrgyz" />
-	<iso_639_entry
-		iso_639_2B_code="kmb"
-		iso_639_2T_code="kmb"
-		name="Kimbundu" />
-	<iso_639_entry
-		iso_639_2B_code="kok"
-		iso_639_2T_code="kok"
-		name="Konkani" />
-	<iso_639_entry
-		iso_639_2B_code="kom"
-		iso_639_2T_code="kom"
-		iso_639_1_code="kv"
-		name="Komi" />
-	<iso_639_entry
-		iso_639_2B_code="kon"
-		iso_639_2T_code="kon"
-		iso_639_1_code="kg"
-		name="Kongo" />
-	<iso_639_entry
-		iso_639_2B_code="kor"
-		iso_639_2T_code="kor"
-		iso_639_1_code="ko"
-		name="Korean" />
-	<iso_639_entry
-		iso_639_2B_code="kos"
-		iso_639_2T_code="kos"
-		name="Kosraean" />
-	<iso_639_entry
-		iso_639_2B_code="kpe"
-		iso_639_2T_code="kpe"
-		name="Kpelle" />
-	<iso_639_entry
-		iso_639_2B_code="krc"
-		iso_639_2T_code="krc"
-		name="Karachay-Balkar" />
-	<iso_639_entry
-		iso_639_2B_code="krl"
-		iso_639_2T_code="krl"
-		name="Karelian" />
-	<iso_639_entry
-		iso_639_2B_code="kro"
-		iso_639_2T_code="kro"
-		name="Kru languages" />
-	<iso_639_entry
-		iso_639_2B_code="kru"
-		iso_639_2T_code="kru"
-		name="Kurukh" />
-	<iso_639_entry
-		iso_639_2B_code="kua"
-		iso_639_2T_code="kua"
-		iso_639_1_code="kj"
-		name="Kuanyama; Kwanyama" />
-	<iso_639_entry
-		iso_639_2B_code="kum"
-		iso_639_2T_code="kum"
-		name="Kumyk" />
-	<iso_639_entry
-		iso_639_2B_code="kur"
-		iso_639_2T_code="kur"
-		iso_639_1_code="ku"
-		name="Kurdish" />
-	<iso_639_entry
-		iso_639_2B_code="kut"
-		iso_639_2T_code="kut"
-		name="Kutenai" />
-	<iso_639_entry
-		iso_639_2B_code="lad"
-		iso_639_2T_code="lad"
-		name="Ladino" />
-	<iso_639_entry
-		iso_639_2B_code="lah"
-		iso_639_2T_code="lah"
-		name="Lahnda" />
-	<iso_639_entry
-		iso_639_2B_code="lam"
-		iso_639_2T_code="lam"
-		name="Lamba" />
-	<iso_639_entry
-		iso_639_2B_code="lao"
-		iso_639_2T_code="lao"
-		iso_639_1_code="lo"
-		name="Lao" />
-	<iso_639_entry
-		iso_639_2B_code="lat"
-		iso_639_2T_code="lat"
-		iso_639_1_code="la"
-		name="Latin" />
-	<iso_639_entry
-		iso_639_2B_code="lav"
-		iso_639_2T_code="lav"
-		iso_639_1_code="lv"
-		name="Latvian" />
-	<iso_639_entry
-		iso_639_2B_code="lez"
-		iso_639_2T_code="lez"
-		name="Lezghian" />
-	<iso_639_entry
-		iso_639_2B_code="lim"
-		iso_639_2T_code="lim"
-		iso_639_1_code="li"
-		name="Limburgan; Limburger; Limburgish" />
-	<iso_639_entry
-		iso_639_2B_code="lin"
-		iso_639_2T_code="lin"
-		iso_639_1_code="ln"
-		name="Lingala" />
-	<iso_639_entry
-		iso_639_2B_code="lit"
-		iso_639_2T_code="lit"
-		iso_639_1_code="lt"
-		name="Lithuanian" />
-	<iso_639_entry
-		iso_639_2B_code="lol"
-		iso_639_2T_code="lol"
-		name="Mongo" />
-	<iso_639_entry
-		iso_639_2B_code="loz"
-		iso_639_2T_code="loz"
-		name="Lozi" />
-	<iso_639_entry
-		iso_639_2B_code="ltz"
-		iso_639_2T_code="ltz"
-		iso_639_1_code="lb"
-		name="Luxembourgish; Letzeburgesch" />
-	<iso_639_entry
-		iso_639_2B_code="lua"
-		iso_639_2T_code="lua"
-		name="Luba-Lulua" />
-	<iso_639_entry
-		iso_639_2B_code="lub"
-		iso_639_2T_code="lub"
-		iso_639_1_code="lu"
-		name="Luba-Katanga" />
-	<iso_639_entry
-		iso_639_2B_code="lug"
-		iso_639_2T_code="lug"
-		iso_639_1_code="lg"
-		name="Ganda" />
-	<iso_639_entry
-		iso_639_2B_code="lui"
-		iso_639_2T_code="lui"
-		name="Luiseno" />
-	<iso_639_entry
-		iso_639_2B_code="lun"
-		iso_639_2T_code="lun"
-		name="Lunda" />
-	<iso_639_entry
-		iso_639_2B_code="luo"
-		iso_639_2T_code="luo"
-		name="Luo (Kenya and Tanzania)" />
-	<iso_639_entry
-		iso_639_2B_code="lus"
-		iso_639_2T_code="lus"
-		name="Lushai" />
-	<iso_639_entry
-		iso_639_2B_code="mac"
-		iso_639_2T_code="mkd"
-		iso_639_1_code="mk"
-		name="Macedonian" />
-	<iso_639_entry
-		iso_639_2B_code="mad"
-		iso_639_2T_code="mad"
-		name="Madurese" />
-	<iso_639_entry
-		iso_639_2B_code="mag"
-		iso_639_2T_code="mag"
-		name="Magahi" />
-	<iso_639_entry
-		iso_639_2B_code="mah"
-		iso_639_2T_code="mah"
-		iso_639_1_code="mh"
-		name="Marshallese" />
-	<iso_639_entry
-		iso_639_2B_code="mai"
-		iso_639_2T_code="mai"
-		name="Maithili" />
-	<iso_639_entry
-		iso_639_2B_code="mak"
-		iso_639_2T_code="mak"
-		name="Makasar" />
-	<iso_639_entry
-		iso_639_2B_code="mal"
-		iso_639_2T_code="mal"
-		iso_639_1_code="ml"
-		name="Malayalam" />
-	<iso_639_entry
-		iso_639_2B_code="man"
-		iso_639_2T_code="man"
-		name="Mandingo" />
-	<iso_639_entry
-		iso_639_2B_code="mao"
-		iso_639_2T_code="mri"
-		iso_639_1_code="mi"
-		name="Maori" />
-	<iso_639_entry
-		iso_639_2B_code="map"
-		iso_639_2T_code="map"
-		name="Austronesian languages" />
-	<iso_639_entry
-		iso_639_2B_code="mar"
-		iso_639_2T_code="mar"
-		iso_639_1_code="mr"
-		name="Marathi" />
-	<iso_639_entry
-		iso_639_2B_code="mas"
-		iso_639_2T_code="mas"
-		name="Masai" />
-	<iso_639_entry
-		iso_639_2B_code="may"
-		iso_639_2T_code="msa"
-		iso_639_1_code="ms"
-		name="Malay" />
-	<iso_639_entry
-		iso_639_2B_code="mdf"
-		iso_639_2T_code="mdf"
-		name="Moksha" />
-	<iso_639_entry
-		iso_639_2B_code="mdr"
-		iso_639_2T_code="mdr"
-		name="Mandar" />
-	<iso_639_entry
-		iso_639_2B_code="men"
-		iso_639_2T_code="men"
-		name="Mende" />
-	<iso_639_entry
-		iso_639_2B_code="mga"
-		iso_639_2T_code="mga"
-		name="Irish, Middle (900-1200)" />
-	<iso_639_entry
-		iso_639_2B_code="mic"
-		iso_639_2T_code="mic"
-		name="Mi'kmaq; Micmac" />
-	<iso_639_entry
-		iso_639_2B_code="min"
-		iso_639_2T_code="min"
-		name="Minangkabau" />
-	<iso_639_entry
-		iso_639_2B_code="mis"
-		iso_639_2T_code="mis"
-		name="Uncoded languages" />
-	<iso_639_entry
-		iso_639_2B_code="mkh"
-		iso_639_2T_code="mkh"
-		name="Mon-Khmer languages" />
-	<iso_639_entry
-		iso_639_2B_code="mlg"
-		iso_639_2T_code="mlg"
-		iso_639_1_code="mg"
-		name="Malagasy" />
-	<iso_639_entry
-		iso_639_2B_code="mlt"
-		iso_639_2T_code="mlt"
-		iso_639_1_code="mt"
-		name="Maltese" />
-	<iso_639_entry
-		iso_639_2B_code="mnc"
-		iso_639_2T_code="mnc"
-		name="Manchu" />
-	<iso_639_entry
-		iso_639_2B_code="mni"
-		iso_639_2T_code="mni"
-		name="Manipuri" />
-	<iso_639_entry
-		iso_639_2B_code="mno"
-		iso_639_2T_code="mno"
-		name="Manobo languages" />
-	<iso_639_entry
-		iso_639_2B_code="moh"
-		iso_639_2T_code="moh"
-		name="Mohawk" />
-	<iso_639_entry
-		iso_639_2B_code="mol"
-		iso_639_2T_code="mol"
-		iso_639_1_code="mo"
-		name="Moldavian; Moldovan" />
-	<iso_639_entry
-		iso_639_2B_code="mon"
-		iso_639_2T_code="mon"
-		iso_639_1_code="mn"
-		name="Mongolian" />
-	<iso_639_entry
-		iso_639_2B_code="mos"
-		iso_639_2T_code="mos"
-		name="Mossi" />
-	<iso_639_entry
-		iso_639_2B_code="mul"
-		iso_639_2T_code="mul"
-		name="Multiple languages" />
-	<iso_639_entry
-		iso_639_2B_code="mun"
-		iso_639_2T_code="mun"
-		name="Munda languages" />
-	<iso_639_entry
-		iso_639_2B_code="mus"
-		iso_639_2T_code="mus"
-		name="Creek" />
-	<iso_639_entry
-		iso_639_2B_code="mwl"
-		iso_639_2T_code="mwl"
-		name="Mirandese" />
-	<iso_639_entry
-		iso_639_2B_code="mwr"
-		iso_639_2T_code="mwr"
-		name="Marwari" />
-	<iso_639_entry
-		iso_639_2B_code="myn"
-		iso_639_2T_code="myn"
-		name="Mayan languages" />
-	<iso_639_entry
-		iso_639_2B_code="myv"
-		iso_639_2T_code="myv"
-		name="Erzya" />
-	<iso_639_entry
-		iso_639_2B_code="nah"
-		iso_639_2T_code="nah"
-		name="Nahuatl languages" />
-	<iso_639_entry
-		iso_639_2B_code="nai"
-		iso_639_2T_code="nai"
-		name="North American Indian languages" />
-	<iso_639_entry
-		iso_639_2B_code="nap"
-		iso_639_2T_code="nap"
-		name="Neapolitan" />
-	<iso_639_entry
-		iso_639_2B_code="nau"
-		iso_639_2T_code="nau"
-		iso_639_1_code="na"
-		name="Nauru" />
-	<iso_639_entry
-		iso_639_2B_code="nav"
-		iso_639_2T_code="nav"
-		iso_639_1_code="nv"
-		name="Navajo; Navaho" />
-	<iso_639_entry
-		iso_639_2B_code="nbl"
-		iso_639_2T_code="nbl"
-		iso_639_1_code="nr"
-		name="Ndebele, South; South Ndebele" />
-	<iso_639_entry
-		iso_639_2B_code="nde"
-		iso_639_2T_code="nde"
-		iso_639_1_code="nd"
-		name="Ndebele, North; North Ndebele" />
-	<iso_639_entry
-		iso_639_2B_code="ndo"
-		iso_639_2T_code="ndo"
-		iso_639_1_code="ng"
-		name="Ndonga" />
-	<iso_639_entry
-		iso_639_2B_code="nds"
-		iso_639_2T_code="nds"
-		name="Low German; Low Saxon; German, Low; Saxon, Low" />
-	<iso_639_entry
-		iso_639_2B_code="nep"
-		iso_639_2T_code="nep"
-		iso_639_1_code="ne"
-		name="Nepali" />
-	<iso_639_entry
-		iso_639_2B_code="new"
-		iso_639_2T_code="new"
-		name="Nepal Bhasa; Newari" />
-	<iso_639_entry
-		iso_639_2B_code="nia"
-		iso_639_2T_code="nia"
-		name="Nias" />
-	<iso_639_entry
-		iso_639_2B_code="nic"
-		iso_639_2T_code="nic"
-		name="Niger-Kordofanian languages" />
-	<iso_639_entry
-		iso_639_2B_code="niu"
-		iso_639_2T_code="niu"
-		name="Niuean" />
-	<iso_639_entry
-		iso_639_2B_code="nno"
-		iso_639_2T_code="nno"
-		iso_639_1_code="nn"
-		name="Norwegian Nynorsk; Nynorsk, Norwegian" />
-	<iso_639_entry
-		iso_639_2B_code="nob"
-		iso_639_2T_code="nob"
-		iso_639_1_code="nb"
-		name="Bokmål, Norwegian; Norwegian Bokmål" />
-	<iso_639_entry
-		iso_639_2B_code="nog"
-		iso_639_2T_code="nog"
-		name="Nogai" />
-	<iso_639_entry
-		iso_639_2B_code="non"
-		iso_639_2T_code="non"
-		name="Norse, Old" />
-	<iso_639_entry
-		iso_639_2B_code="nor"
-		iso_639_2T_code="nor"
-		iso_639_1_code="no"
-		name="Norwegian" />
-	<iso_639_entry
-		iso_639_2B_code="nqo"
-		iso_639_2T_code="nqo"
-		name="N'Ko" />
-	<iso_639_entry
-		iso_639_2B_code="nso"
-		iso_639_2T_code="nso"
-		name="Pedi; Sepedi; Northern Sotho" />
-	<iso_639_entry
-		iso_639_2B_code="nub"
-		iso_639_2T_code="nub"
-		name="Nubian languages" />
-	<iso_639_entry
-		iso_639_2B_code="nwc"
-		iso_639_2T_code="nwc"
-		name="Classical Newari; Old Newari; Classical Nepal Bhasa" />
-	<iso_639_entry
-		iso_639_2B_code="nya"
-		iso_639_2T_code="nya"
-		iso_639_1_code="ny"
-		name="Chichewa; Chewa; Nyanja" />
-	<iso_639_entry
-		iso_639_2B_code="nym"
-		iso_639_2T_code="nym"
-		name="Nyamwezi" />
-	<iso_639_entry
-		iso_639_2B_code="nyn"
-		iso_639_2T_code="nyn"
-		name="Nyankole" />
-	<iso_639_entry
-		iso_639_2B_code="nyo"
-		iso_639_2T_code="nyo"
-		name="Nyoro" />
-	<iso_639_entry
-		iso_639_2B_code="nzi"
-		iso_639_2T_code="nzi"
-		name="Nzima" />
-	<iso_639_entry
-		iso_639_2B_code="oci"
-		iso_639_2T_code="oci"
-		iso_639_1_code="oc"
-		name="Occitan (post 1500)" />
-	<iso_639_entry
-		iso_639_2B_code="oji"
-		iso_639_2T_code="oji"
-		iso_639_1_code="oj"
-		name="Ojibwa" />
-	<iso_639_entry
-		iso_639_2B_code="ori"
-		iso_639_2T_code="ori"
-		iso_639_1_code="or"
-		name="Oriya" />
-	<iso_639_entry
-		iso_639_2B_code="orm"
-		iso_639_2T_code="orm"
-		iso_639_1_code="om"
-		name="Oromo" />
-	<iso_639_entry
-		iso_639_2B_code="osa"
-		iso_639_2T_code="osa"
-		name="Osage" />
-	<iso_639_entry
-		iso_639_2B_code="oss"
-		iso_639_2T_code="oss"
-		iso_639_1_code="os"
-		name="Ossetian; Ossetic" />
-	<iso_639_entry
-		iso_639_2B_code="ota"
-		iso_639_2T_code="ota"
-		name="Turkish, Ottoman (1500-1928)" />
-	<iso_639_entry
-		iso_639_2B_code="oto"
-		iso_639_2T_code="oto"
-		name="Otomian languages" />
-	<iso_639_entry
-		iso_639_2B_code="paa"
-		iso_639_2T_code="paa"
-		name="Papuan languages" />
-	<iso_639_entry
-		iso_639_2B_code="pag"
-		iso_639_2T_code="pag"
-		name="Pangasinan" />
-	<iso_639_entry
-		iso_639_2B_code="pal"
-		iso_639_2T_code="pal"
-		name="Pahlavi" />
-	<iso_639_entry
-		iso_639_2B_code="pam"
-		iso_639_2T_code="pam"
-		name="Pampanga; Kapampangan" />
-	<iso_639_entry
-		iso_639_2B_code="pan"
-		iso_639_2T_code="pan"
-		iso_639_1_code="pa"
-		name="Panjabi; Punjabi" />
-	<iso_639_entry
-		iso_639_2B_code="pap"
-		iso_639_2T_code="pap"
-		name="Papiamento" />
-	<iso_639_entry
-		iso_639_2B_code="pau"
-		iso_639_2T_code="pau"
-		name="Palauan" />
-	<iso_639_entry
-		iso_639_2B_code="peo"
-		iso_639_2T_code="peo"
-		name="Persian, Old (ca. 600-400 B.C.)" />
-	<iso_639_entry
-		iso_639_2B_code="per"
-		iso_639_2T_code="fas"
-		iso_639_1_code="fa"
-		name="Persian" />
-	<iso_639_entry
-		iso_639_2B_code="phi"
-		iso_639_2T_code="phi"
-		name="Philippine languages" />
-	<iso_639_entry
-		iso_639_2B_code="phn"
-		iso_639_2T_code="phn"
-		name="Phoenician" />
-	<iso_639_entry
-		iso_639_2B_code="pli"
-		iso_639_2T_code="pli"
-		iso_639_1_code="pi"
-		name="Pali" />
-	<iso_639_entry
-		iso_639_2B_code="pol"
-		iso_639_2T_code="pol"
-		iso_639_1_code="pl"
-		name="Polish" />
-	<iso_639_entry
-		iso_639_2B_code="pon"
-		iso_639_2T_code="pon"
-		name="Pohnpeian" />
-	<iso_639_entry
-		iso_639_2B_code="por"
-		iso_639_2T_code="por"
-		iso_639_1_code="pt"
-		name="Portuguese" />
-	<iso_639_entry
-		iso_639_2B_code="pra"
-		iso_639_2T_code="pra"
-		name="Prakrit languages" />
-	<iso_639_entry
-		iso_639_2B_code="pro"
-		iso_639_2T_code="pro"
-		name="Provençal, Old (to 1500); Occitan, Old (to 1500)" />
-	<iso_639_entry
-		iso_639_2B_code="pus"
-		iso_639_2T_code="pus"
-		iso_639_1_code="ps"
-		name="Pushto; Pashto" />
-	<iso_639_entry
-		iso_639_2B_code="qaa-qtz"
-		iso_639_2T_code="qaa-qtz"
-		name="Reserved for local use" />
-	<iso_639_entry
-		iso_639_2B_code="que"
-		iso_639_2T_code="que"
-		iso_639_1_code="qu"
-		name="Quechua" />
-	<iso_639_entry
-		iso_639_2B_code="raj"
-		iso_639_2T_code="raj"
-		name="Rajasthani" />
-	<iso_639_entry
-		iso_639_2B_code="rap"
-		iso_639_2T_code="rap"
-		name="Rapanui" />
-	<iso_639_entry
-		iso_639_2B_code="rar"
-		iso_639_2T_code="rar"
-		name="Rarotongan; Cook Islands Maori" />
-	<iso_639_entry
-		iso_639_2B_code="roa"
-		iso_639_2T_code="roa"
-		name="Romance languages" />
-	<iso_639_entry
-		iso_639_2B_code="roh"
-		iso_639_2T_code="roh"
-		iso_639_1_code="rm"
-		name="Romansh" />
-	<iso_639_entry
-		iso_639_2B_code="rom"
-		iso_639_2T_code="rom"
-		name="Romany" />
-	<iso_639_entry
-		iso_639_2B_code="rum"
-		iso_639_2T_code="ron"
-		iso_639_1_code="ro"
-		name="Romanian" />
-	<iso_639_entry
-		iso_639_2B_code="run"
-		iso_639_2T_code="run"
-		iso_639_1_code="rn"
-		name="Rundi" />
-	<iso_639_entry
-		iso_639_2B_code="rup"
-		iso_639_2T_code="rup"
-		name="Aromanian; Arumanian; Macedo-Romanian" />
-	<iso_639_entry
-		iso_639_2B_code="rus"
-		iso_639_2T_code="rus"
-		iso_639_1_code="ru"
-		name="Russian" />
-	<iso_639_entry
-		iso_639_2B_code="sad"
-		iso_639_2T_code="sad"
-		name="Sandawe" />
-	<iso_639_entry
-		iso_639_2B_code="sag"
-		iso_639_2T_code="sag"
-		iso_639_1_code="sg"
-		name="Sango" />
-	<iso_639_entry
-		iso_639_2B_code="sah"
-		iso_639_2T_code="sah"
-		name="Yakut" />
-	<iso_639_entry
-		iso_639_2B_code="sai"
-		iso_639_2T_code="sai"
-		name="South American Indian languages" />
-	<iso_639_entry
-		iso_639_2B_code="sal"
-		iso_639_2T_code="sal"
-		name="Salishan languages" />
-	<iso_639_entry
-		iso_639_2B_code="sam"
-		iso_639_2T_code="sam"
-		name="Samaritan Aramaic" />
-	<iso_639_entry
-		iso_639_2B_code="san"
-		iso_639_2T_code="san"
-		iso_639_1_code="sa"
-		name="Sanskrit" />
-	<iso_639_entry
-		iso_639_2B_code="sas"
-		iso_639_2T_code="sas"
-		name="Sasak" />
-	<iso_639_entry
-		iso_639_2B_code="sat"
-		iso_639_2T_code="sat"
-		name="Santali" />
-	<iso_639_entry
-		iso_639_2B_code="scn"
-		iso_639_2T_code="scn"
-		name="Sicilian" />
-	<iso_639_entry
-		iso_639_2B_code="sco"
-		iso_639_2T_code="sco"
-		name="Scots" />
-	<iso_639_entry
-		iso_639_2B_code="sel"
-		iso_639_2T_code="sel"
-		name="Selkup" />
-	<iso_639_entry
-		iso_639_2B_code="sem"
-		iso_639_2T_code="sem"
-		name="Semitic languages" />
-	<iso_639_entry
-		iso_639_2B_code="sga"
-		iso_639_2T_code="sga"
-		name="Irish, Old (to 900)" />
-	<iso_639_entry
-		iso_639_2B_code="sgn"
-		iso_639_2T_code="sgn"
-		name="Sign Languages" />
-	<iso_639_entry
-		iso_639_2B_code="shn"
-		iso_639_2T_code="shn"
-		name="Shan" />
-	<iso_639_entry
-		iso_639_2B_code="sid"
-		iso_639_2T_code="sid"
-		name="Sidamo" />
-	<iso_639_entry
-		iso_639_2B_code="sin"
-		iso_639_2T_code="sin"
-		iso_639_1_code="si"
-		name="Sinhala; Sinhalese" />
-	<iso_639_entry
-		iso_639_2B_code="sio"
-		iso_639_2T_code="sio"
-		name="Siouan languages" />
-	<iso_639_entry
-		iso_639_2B_code="sit"
-		iso_639_2T_code="sit"
-		name="Sino-Tibetan languages" />
-	<iso_639_entry
-		iso_639_2B_code="sla"
-		iso_639_2T_code="sla"
-		name="Slavic languages" />
-	<iso_639_entry
-		iso_639_2B_code="slo"
-		iso_639_2T_code="slk"
-		iso_639_1_code="sk"
-		name="Slovak" />
-	<iso_639_entry
-		iso_639_2B_code="slv"
-		iso_639_2T_code="slv"
-		iso_639_1_code="sl"
-		name="Slovenian" />
-	<iso_639_entry
-		iso_639_2B_code="sma"
-		iso_639_2T_code="sma"
-		name="Southern Sami" />
-	<iso_639_entry
-		iso_639_2B_code="sme"
-		iso_639_2T_code="sme"
-		iso_639_1_code="se"
-		name="Northern Sami" />
-	<iso_639_entry
-		iso_639_2B_code="smi"
-		iso_639_2T_code="smi"
-		name="Sami languages" />
-	<iso_639_entry
-		iso_639_2B_code="smj"
-		iso_639_2T_code="smj"
-		name="Lule Sami" />
-	<iso_639_entry
-		iso_639_2B_code="smn"
-		iso_639_2T_code="smn"
-		name="Inari Sami" />
-	<iso_639_entry
-		iso_639_2B_code="smo"
-		iso_639_2T_code="smo"
-		iso_639_1_code="sm"
-		name="Samoan" />
-	<iso_639_entry
-		iso_639_2B_code="sms"
-		iso_639_2T_code="sms"
-		name="Skolt Sami" />
-	<iso_639_entry
-		iso_639_2B_code="sna"
-		iso_639_2T_code="sna"
-		iso_639_1_code="sn"
-		name="Shona" />
-	<iso_639_entry
-		iso_639_2B_code="snd"
-		iso_639_2T_code="snd"
-		iso_639_1_code="sd"
-		name="Sindhi" />
-	<iso_639_entry
-		iso_639_2B_code="snk"
-		iso_639_2T_code="snk"
-		name="Soninke" />
-	<iso_639_entry
-		iso_639_2B_code="sog"
-		iso_639_2T_code="sog"
-		name="Sogdian" />
-	<iso_639_entry
-		iso_639_2B_code="som"
-		iso_639_2T_code="som"
-		iso_639_1_code="so"
-		name="Somali" />
-	<iso_639_entry
-		iso_639_2B_code="son"
-		iso_639_2T_code="son"
-		name="Songhai languages" />
-	<iso_639_entry
-		iso_639_2B_code="sot"
-		iso_639_2T_code="sot"
-		iso_639_1_code="st"
-		name="Sotho, Southern" />
-	<iso_639_entry
-		iso_639_2B_code="spa"
-		iso_639_2T_code="spa"
-		iso_639_1_code="es"
-		name="Spanish; Castilian" />
-	<iso_639_entry
-		iso_639_2B_code="srd"
-		iso_639_2T_code="srd"
-		iso_639_1_code="sc"
-		name="Sardinian" />
-	<iso_639_entry
-		iso_639_2B_code="srn"
-		iso_639_2T_code="srn"
-		name="Sranan Tongo" />
-	<iso_639_entry
-		iso_639_2B_code="srp"
-		iso_639_2T_code="srp"
-		iso_639_1_code="sr"
-		name="Serbian" />
-	<iso_639_entry
-		iso_639_2B_code="srr"
-		iso_639_2T_code="srr"
-		name="Serer" />
-	<iso_639_entry
-		iso_639_2B_code="ssa"
-		iso_639_2T_code="ssa"
-		name="Nilo-Saharan languages" />
-	<iso_639_entry
-		iso_639_2B_code="ssw"
-		iso_639_2T_code="ssw"
-		iso_639_1_code="ss"
-		name="Swati" />
-	<iso_639_entry
-		iso_639_2B_code="suk"
-		iso_639_2T_code="suk"
-		name="Sukuma" />
-	<iso_639_entry
-		iso_639_2B_code="sun"
-		iso_639_2T_code="sun"
-		iso_639_1_code="su"
-		name="Sundanese" />
-	<iso_639_entry
-		iso_639_2B_code="sus"
-		iso_639_2T_code="sus"
-		name="Susu" />
-	<iso_639_entry
-		iso_639_2B_code="sux"
-		iso_639_2T_code="sux"
-		name="Sumerian" />
-	<iso_639_entry
-		iso_639_2B_code="swa"
-		iso_639_2T_code="swa"
-		iso_639_1_code="sw"
-		name="Swahili" />
-	<iso_639_entry
-		iso_639_2B_code="swe"
-		iso_639_2T_code="swe"
-		iso_639_1_code="sv"
-		name="Swedish" />
-	<iso_639_entry
-		iso_639_2B_code="syc"
-		iso_639_2T_code="syc"
-		name="Classical Syriac" />
-	<iso_639_entry
-		iso_639_2B_code="syr"
-		iso_639_2T_code="syr"
-		name="Syriac" />
-	<iso_639_entry
-		iso_639_2B_code="tah"
-		iso_639_2T_code="tah"
-		iso_639_1_code="ty"
-		name="Tahitian" />
-	<iso_639_entry
-		iso_639_2B_code="tai"
-		iso_639_2T_code="tai"
-		name="Tai languages" />
-	<iso_639_entry
-		iso_639_2B_code="tam"
-		iso_639_2T_code="tam"
-		iso_639_1_code="ta"
-		name="Tamil" />
-	<iso_639_entry
-		iso_639_2B_code="tat"
-		iso_639_2T_code="tat"
-		iso_639_1_code="tt"
-		name="Tatar" />
-	<iso_639_entry
-		iso_639_2B_code="tel"
-		iso_639_2T_code="tel"
-		iso_639_1_code="te"
-		name="Telugu" />
-	<iso_639_entry
-		iso_639_2B_code="tem"
-		iso_639_2T_code="tem"
-		name="Timne" />
-	<iso_639_entry
-		iso_639_2B_code="ter"
-		iso_639_2T_code="ter"
-		name="Tereno" />
-	<iso_639_entry
-		iso_639_2B_code="tet"
-		iso_639_2T_code="tet"
-		name="Tetum" />
-	<iso_639_entry
-		iso_639_2B_code="tgk"
-		iso_639_2T_code="tgk"
-		iso_639_1_code="tg"
-		name="Tajik" />
-	<iso_639_entry
-		iso_639_2B_code="tgl"
-		iso_639_2T_code="tgl"
-		iso_639_1_code="tl"
-		name="Tagalog" />
-	<iso_639_entry
-		iso_639_2B_code="tha"
-		iso_639_2T_code="tha"
-		iso_639_1_code="th"
-		name="Thai" />
-	<iso_639_entry
-		iso_639_2B_code="tib"
-		iso_639_2T_code="bod"
-		iso_639_1_code="bo"
-		name="Tibetan" />
-	<iso_639_entry
-		iso_639_2B_code="tig"
-		iso_639_2T_code="tig"
-		name="Tigre" />
-	<iso_639_entry
-		iso_639_2B_code="tir"
-		iso_639_2T_code="tir"
-		iso_639_1_code="ti"
-		name="Tigrinya" />
-	<iso_639_entry
-		iso_639_2B_code="tiv"
-		iso_639_2T_code="tiv"
-		name="Tiv" />
-	<iso_639_entry
-		iso_639_2B_code="tkl"
-		iso_639_2T_code="tkl"
-		name="Tokelau" />
-	<iso_639_entry
-		iso_639_2B_code="tlh"
-		iso_639_2T_code="tlh"
-		name="Klingon; tlhIngan-Hol" />
-	<iso_639_entry
-		iso_639_2B_code="tli"
-		iso_639_2T_code="tli"
-		name="Tlingit" />
-	<iso_639_entry
-		iso_639_2B_code="tmh"
-		iso_639_2T_code="tmh"
-		name="Tamashek" />
-	<iso_639_entry
-		iso_639_2B_code="tog"
-		iso_639_2T_code="tog"
-		name="Tonga (Nyasa)" />
-	<iso_639_entry
-		iso_639_2B_code="ton"
-		iso_639_2T_code="ton"
-		iso_639_1_code="to"
-		name="Tonga (Tonga Islands)" />
-	<iso_639_entry
-		iso_639_2B_code="tpi"
-		iso_639_2T_code="tpi"
-		name="Tok Pisin" />
-	<iso_639_entry
-		iso_639_2B_code="tsi"
-		iso_639_2T_code="tsi"
-		name="Tsimshian" />
-	<iso_639_entry
-		iso_639_2B_code="tsn"
-		iso_639_2T_code="tsn"
-		iso_639_1_code="tn"
-		name="Tswana" />
-	<iso_639_entry
-		iso_639_2B_code="tso"
-		iso_639_2T_code="tso"
-		iso_639_1_code="ts"
-		name="Tsonga" />
-	<iso_639_entry
-		iso_639_2B_code="tuk"
-		iso_639_2T_code="tuk"
-		iso_639_1_code="tk"
-		name="Turkmen" />
-	<iso_639_entry
-		iso_639_2B_code="tum"
-		iso_639_2T_code="tum"
-		name="Tumbuka" />
-	<iso_639_entry
-		iso_639_2B_code="tup"
-		iso_639_2T_code="tup"
-		name="Tupi languages" />
-	<iso_639_entry
-		iso_639_2B_code="tur"
-		iso_639_2T_code="tur"
-		iso_639_1_code="tr"
-		name="Turkish" />
-	<iso_639_entry
-		iso_639_2B_code="tut"
-		iso_639_2T_code="tut"
-		name="Altaic languages" />
-	<iso_639_entry
-		iso_639_2B_code="tvl"
-		iso_639_2T_code="tvl"
-		name="Tuvalu" />
-	<iso_639_entry
-		iso_639_2B_code="twi"
-		iso_639_2T_code="twi"
-		iso_639_1_code="tw"
-		name="Twi" />
-	<iso_639_entry
-		iso_639_2B_code="tyv"
-		iso_639_2T_code="tyv"
-		name="Tuvinian" />
-	<iso_639_entry
-		iso_639_2B_code="udm"
-		iso_639_2T_code="udm"
-		name="Udmurt" />
-	<iso_639_entry
-		iso_639_2B_code="uga"
-		iso_639_2T_code="uga"
-		name="Ugaritic" />
-	<iso_639_entry
-		iso_639_2B_code="uig"
-		iso_639_2T_code="uig"
-		iso_639_1_code="ug"
-		name="Uighur; Uyghur" />
-	<iso_639_entry
-		iso_639_2B_code="ukr"
-		iso_639_2T_code="ukr"
-		iso_639_1_code="uk"
-		name="Ukrainian" />
-	<iso_639_entry
-		iso_639_2B_code="umb"
-		iso_639_2T_code="umb"
-		name="Umbundu" />
-	<iso_639_entry
-		iso_639_2B_code="und"
-		iso_639_2T_code="und"
-		name="Undetermined" />
-	<iso_639_entry
-		iso_639_2B_code="urd"
-		iso_639_2T_code="urd"
-		iso_639_1_code="ur"
-		name="Urdu" />
-	<iso_639_entry
-		iso_639_2B_code="uzb"
-		iso_639_2T_code="uzb"
-		iso_639_1_code="uz"
-		name="Uzbek" />
-	<iso_639_entry
-		iso_639_2B_code="vai"
-		iso_639_2T_code="vai"
-		name="Vai" />
-	<iso_639_entry
-		iso_639_2B_code="ven"
-		iso_639_2T_code="ven"
-		iso_639_1_code="ve"
-		name="Venda" />
-	<iso_639_entry
-		iso_639_2B_code="vie"
-		iso_639_2T_code="vie"
-		iso_639_1_code="vi"
-		name="Vietnamese" />
-	<iso_639_entry
-		iso_639_2B_code="vol"
-		iso_639_2T_code="vol"
-		iso_639_1_code="vo"
-		name="Volapük" />
-	<iso_639_entry
-		iso_639_2B_code="vot"
-		iso_639_2T_code="vot"
-		name="Votic" />
-	<iso_639_entry
-		iso_639_2B_code="wak"
-		iso_639_2T_code="wak"
-		name="Wakashan languages" />
-	<iso_639_entry
-		iso_639_2B_code="wal"
-		iso_639_2T_code="wal"
-		name="Wolaitta; Wolaytta" />
-	<iso_639_entry
-		iso_639_2B_code="war"
-		iso_639_2T_code="war"
-		name="Waray" />
-	<iso_639_entry
-		iso_639_2B_code="was"
-		iso_639_2T_code="was"
-		name="Washo" />
-	<iso_639_entry
-		iso_639_2B_code="wel"
-		iso_639_2T_code="cym"
-		iso_639_1_code="cy"
-		name="Welsh" />
-	<iso_639_entry
-		iso_639_2B_code="wen"
-		iso_639_2T_code="wen"
-		name="Sorbian languages" />
-	<iso_639_entry
-		iso_639_2B_code="wln"
-		iso_639_2T_code="wln"
-		iso_639_1_code="wa"
-		name="Walloon" />
-	<iso_639_entry
-		iso_639_2B_code="wol"
-		iso_639_2T_code="wol"
-		iso_639_1_code="wo"
-		name="Wolof" />
-	<iso_639_entry
-		iso_639_2B_code="xal"
-		iso_639_2T_code="xal"
-		name="Kalmyk; Oirat" />
-	<iso_639_entry
-		iso_639_2B_code="xho"
-		iso_639_2T_code="xho"
-		iso_639_1_code="xh"
-		name="Xhosa" />
-	<iso_639_entry
-		iso_639_2B_code="yao"
-		iso_639_2T_code="yao"
-		name="Yao" />
-	<iso_639_entry
-		iso_639_2B_code="yap"
-		iso_639_2T_code="yap"
-		name="Yapese" />
-	<iso_639_entry
-		iso_639_2B_code="yid"
-		iso_639_2T_code="yid"
-		iso_639_1_code="yi"
-		name="Yiddish" />
-	<iso_639_entry
-		iso_639_2B_code="yor"
-		iso_639_2T_code="yor"
-		iso_639_1_code="yo"
-		name="Yoruba" />
-	<iso_639_entry
-		iso_639_2B_code="ypk"
-		iso_639_2T_code="ypk"
-		name="Yupik languages" />
-	<iso_639_entry
-		iso_639_2B_code="zap"
-		iso_639_2T_code="zap"
-		name="Zapotec" />
-	<iso_639_entry
-		iso_639_2B_code="zbl"
-		iso_639_2T_code="zbl"
-		name="Blissymbols; Blissymbolics; Bliss" />
-	<iso_639_entry
-		iso_639_2B_code="zen"
-		iso_639_2T_code="zen"
-		name="Zenaga" />
-	<iso_639_entry
-		iso_639_2B_code="zha"
-		iso_639_2T_code="zha"
-		iso_639_1_code="za"
-		name="Zhuang; Chuang" />
-	<iso_639_entry
-		iso_639_2B_code="znd"
-		iso_639_2T_code="znd"
-		name="Zande languages" />
-	<iso_639_entry
-		iso_639_2B_code="zul"
-		iso_639_2T_code="zul"
-		iso_639_1_code="zu"
-		name="Zulu" />
-	<iso_639_entry
-		iso_639_2B_code="zun"
-		iso_639_2T_code="zun"
-		name="Zuni" />
-	<iso_639_entry
-		iso_639_2B_code="zxx"
-		iso_639_2T_code="zxx"
-		name="No linguistic content; Not applicable" />
-	<iso_639_entry
-		iso_639_2B_code="zza"
-		iso_639_2T_code="zza"
-		name="Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki" />
-</iso_639_entries>
diff --git a/win32/xchat-wdk-x64.skel.iss b/win32/xchat-wdk-x64.skel.iss
deleted file mode 100644
index 1caf8198..00000000
--- a/win32/xchat-wdk-x64.skel.iss
+++ /dev/null
@@ -1,279 +0,0 @@
-AppName=XChat-WDK (x64)
-AppPublisher=XChat-WDK
-AppPublisherURL=http://www.xchat-wdk.org/
-AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
-AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list
-AppUpdatesURL=http://www.xchat-wdk.org/home/downloads
-LicenseFile=COPYING
-UninstallDisplayIcon={app}\xchat.exe
-UninstallDisplayName=XChat-WDK (x64)
-DefaultDirName={pf}\XChat-WDK
-DefaultGroupName=XChat-WDK
-DisableProgramGroupPage=yes
-SolidCompression=yes
-SourceDir=dist-x64
-OutputDir=..\
-FlatComponentsList=no
-PrivilegesRequired=none
-ShowComponentSizes=no
-CreateUninstallRegKey=not IsTaskSelected('portable')
-Uninstallable=not IsTaskSelected('portable')
-ArchitecturesAllowed=x64
-ArchitecturesInstallIn64BitMode=x64
-
-[Types]
-Name: "normal"; Description: "Normal Installation"
-Name: "full"; Description: "Full Installation"
-Name: "minimal"; Description: "Minimal Installation"
-Name: "custom"; Description: "Custom Installation"; Flags: iscustom
-
-[Components]
-Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed
-Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning
-Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning
-;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning
-;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins"; Description: "Plugins"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\checksum"; Description: "Checksum"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\dns"; Description: "DNS"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\doat"; Description: "Do At"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\exec"; Description: "Exec"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: full custom; Flags: disablenouninstallwarning
-;Name: "plugins\nonbmp"; Description: "Non-BMP"; Types: normal full custom; Flags: disablenouninstallwarning
-Name: "plugins\upd"; Description: "Update Checker"; Types: normal full custom; Flags: disablenouninstallwarning
-Name: "plugins\winamp"; Description: "Winamp"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\winsys"; Description: "WinSys"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\xsasl"; Description: "X-SASL"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\xtray"; Description: "X-Tray"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs"; Description: "Language Interfaces"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\lua"; Description: "Lua"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\perl"; Description: "Perl"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\python"; Description: "Python"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\tcl"; Description: "Tcl"; Types: full custom; Flags: disablenouninstallwarning
-
-[Tasks]
-Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked
-
-Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl
-Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
-
-[Registry]
-Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable
-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
-
-[Run]
-Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent
-
-[Files]
-; Add the ISSkin DLL used for skinning Inno Setup installations.
-Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
-
-; Add the Visual Style resource contains resources used for skinning,
-; you can also use Microsoft Visual Styles (*.msstyles) resources.
-Source: watercolorlite-blue.cjstyles; DestDir: {tmp}; Flags: dontcopy
-
-Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
-
-Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "COPYING"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.OPENSSL"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.ZLIB"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.GTK"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs
-;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines
-Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
-Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
-Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
-;Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: spelling
-
-Source: "libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libexpat-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libffi-5.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libfontconfig-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libjasper-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libjpeg-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libpixman-1-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libtiff-3.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpng14-14.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libpng15-15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-
-Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
-
-Source: "lib\gtk-2.0\2.10.0\engines\libpixmap.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
-Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
-Source: "lib\gtk-2.0\modules\libgail.dll"; DestDir: "{app}\lib\gtk-2.0\modules"; Flags: ignoreversion; Components: libs
-
-;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "plugins\xcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines
-;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines
-
-Source: "plugins\xcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum
-Source: "plugins\xcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns
-Source: "plugins\xcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat
-Source: "plugins\xcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec
-Source: "plugins\xcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim
-Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo
-Source: "plugins\xcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo
-;Source: "plugins\xcnonbmp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\nonbmp
-Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd
-Source: "plugins\xcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd
-Source: "plugins\xcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp
-Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winsys
-Source: "plugins\xcwinsys.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winsys
-Source: "plugins\xcxsasl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xsasl
-Source: "plugins\xtray.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xtray
-Source: "plugins\xcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa
-
-Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua
-Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python
-Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl
-
-Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512
-Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514
-
-Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
-
-[Icons]
-Name: "{group}\XChat-WDK (x64)"; Filename: "{app}\xchat.exe"; Tasks: not portable
-Name: "{group}\XChat-Text (x64)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable
-Name: "{group}\Uninstall XChat-WDK (x64)"; Filename: "{uninstallexe}"; Tasks: not portable
-
-[Messages]
-BeveledLabel= XChat-WDK
-
-[Code]
-/////////////////////////////////////////////////////////////////////
-// these are required for x86->x64 or reverse upgrades
-/////////////////////////////////////////////////////////////////////
-function GetUninstallString(): String;
-var
-	sUnInstPath: String;
-	sUnInstallString: String;
-begin
-	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\XChat-WDK (x64)_is1');
-	sUnInstallString := '';
-	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
-		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
-	Result := sUnInstallString;
-end;
-
-
-/////////////////////////////////////////////////////////////////////
-function IsUpgrade(): Boolean;
-begin
-	Result := (GetUninstallString() <> '');
-end;
-
-
-/////////////////////////////////////////////////////////////////////
-function UnInstallOldVersion(): Integer;
-var
-	sUnInstallString: String;
-	iResultCode: Integer;
-begin
-// Return Values:
-// 1 - uninstall string is empty
-// 2 - error executing the UnInstallString
-// 3 - successfully executed the UnInstallString
-
-	// default return value
-	Result := 0;
-
-	// get the uninstall string of the old app
-	sUnInstallString := GetUninstallString();
-	if sUnInstallString <> '' then begin
-		sUnInstallString := RemoveQuotes(sUnInstallString);
-		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
-			Result := 3
-		else
-			Result := 2;
-	end else
-		Result := 1;
-end;
-
-/////////////////////////////////////////////////////////////////////
-procedure CurStepChanged(CurStep: TSetupStep);
-begin
-	if not (IsTaskSelected('portable')) then
-	begin
-		if (CurStep=ssInstall) then
-		begin
-			if (IsUpgrade()) then
-			begin
-				UnInstallOldVersion();
-			end;
-		end;
-	end;
-end;
-
-/////////////////////////////////////////////////////////////////////
-// Importing LoadSkin API from ISSkin.DLL
-procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
-external 'LoadSkin@files:isskinu.dll stdcall';
-
-// Importing UnloadSkin API from ISSkin.DLL
-procedure UnloadSkin();
-external 'UnloadSkin@files:isskinu.dll stdcall';
-
-// Importing ShowWindow Windows API from User32.DLL
-function ShowWindow(hWnd: Integer; uType: Integer): Integer;
-external 'ShowWindow@user32.dll stdcall';
-
-function InitializeSetup(): Boolean;
-begin
-  ExtractTemporaryFile('watercolorlite-blue.cjstyles');
-  LoadSkin(ExpandConstant('{tmp}\watercolorlite-blue.cjstyles'), '');
-  Result := True;
-end;
-
-procedure DeinitializeSetup();
-begin
-  // Hide Window before unloading skin so user does not get
-  // a glimpse of an unskinned window before it is closed.
-  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
-  UnloadSkin();
-end;
diff --git a/win32/xchat-wdk-x86.skel.iss b/win32/xchat-wdk-x86.skel.iss
deleted file mode 100644
index 511a29f8..00000000
--- a/win32/xchat-wdk-x86.skel.iss
+++ /dev/null
@@ -1,282 +0,0 @@
-AppName=XChat-WDK (x86)
-AppPublisher=XChat-WDK
-AppPublisherURL=http://www.xchat-wdk.org/
-AppCopyright=Copyright (C) 1998-2010 Peter Zelezny
-AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list
-AppUpdatesURL=http://www.xchat-wdk.org/home/downloads
-LicenseFile=COPYING
-UninstallDisplayIcon={app}\xchat.exe
-UninstallDisplayName=XChat-WDK (x86)
-DefaultDirName={pf}\XChat-WDK
-DefaultGroupName=XChat-WDK
-DisableProgramGroupPage=yes
-SolidCompression=yes
-SourceDir=dist\Win32
-OutputDir=..\
-FlatComponentsList=no
-PrivilegesRequired=none
-ShowComponentSizes=no
-CreateUninstallRegKey=not IsTaskSelected('portable')
-Uninstallable=not IsTaskSelected('portable')
-ArchitecturesAllowed=x86 x64
-
-[Types]
-Name: "normal"; Description: "Normal Installation"
-Name: "full"; Description: "Full Installation"
-Name: "minimal"; Description: "Minimal Installation"
-Name: "custom"; Description: "Custom Installation"; Flags: iscustom
-
-[Components]
-Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed
-Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning
-Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning
-;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning
-;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins"; Description: "Plugins"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\checksum"; Description: "Checksum"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\dns"; Description: "DNS"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\doat"; Description: "Do At"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\exec"; Description: "Exec"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: full custom; Flags: disablenouninstallwarning
-;Name: "plugins\nonbmp"; Description: "Non-BMP"; Types: normal full custom; Flags: disablenouninstallwarning
-Name: "plugins\upd"; Description: "Update Checker"; Types: normal full custom; Flags: disablenouninstallwarning
-Name: "plugins\winamp"; Description: "Winamp"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\winsys"; Description: "WinSys"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\xsasl"; Description: "X-SASL"; Types: full custom; Flags: disablenouninstallwarning
-Name: "plugins\xtray"; Description: "X-Tray"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs"; Description: "Language Interfaces"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\lua"; Description: "Lua"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\perl"; Description: "Perl"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\python"; Description: "Python"; Types: full custom; Flags: disablenouninstallwarning
-Name: "langs\tcl"; Description: "Tcl"; Types: full custom; Flags: disablenouninstallwarning
-
-[Tasks]
-Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked
-
-Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl
-Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
-Name: perl516; Description: "5.16"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl
-
-[Registry]
-Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable
-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
-Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
-
-[Run]
-Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent
-
-[Files]
-; Add the ISSkin DLL used for skinning Inno Setup installations.
-Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
-
-; Add the Visual Style resource contains resources used for skinning,
-; you can also use Microsoft Visual Styles (*.msstyles) resources.
-Source: watercolorlite-green.cjstyles; DestDir: {tmp}; Flags: dontcopy
-
-Source: "portable-mode"; DestDir: "{app}"; Tasks: portable
-
-Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "COPYING"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.OPENSSL"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.ZLIB"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.GTK"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs
-;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines
-Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs
-Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
-Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations
-;Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: spelling
-
-Source: "libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libexpat-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libffi-5.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "freetype6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libfontconfig-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "intl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libjasper-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libjpeg-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libpixman-1-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libtiff-3.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libpng14-14.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libpng15-15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-;obs Source: "libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-
-Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs
-
-Source: "lib\gtk-2.0\2.10.0\engines\libpixmap.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
-Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs
-Source: "lib\gtk-2.0\modules\libgail.dll"; DestDir: "{app}\lib\gtk-2.0\modules"; Flags: ignoreversion; Components: libs
-
-;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "plugins\xcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines
-;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines
-;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines
-
-Source: "plugins\xcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum
-Source: "plugins\xcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns
-Source: "plugins\xcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat
-Source: "plugins\xcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec
-Source: "plugins\xcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim
-Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo
-Source: "plugins\xcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo
-;Source: "plugins\xcnonbmp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\nonbmp
-Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd
-Source: "plugins\xcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd
-Source: "plugins\xcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp
-Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winsys
-Source: "plugins\xcwinsys.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winsys
-Source: "plugins\xcxsasl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xsasl
-Source: "plugins\xtray.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xtray
-Source: "plugins\xcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa
-
-Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua
-Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python
-Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl
-
-Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512
-Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514
-Source: "plugins\xcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl516
-
-Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
-Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
-
-[Icons]
-Name: "{group}\XChat-WDK (x86)"; Filename: "{app}\xchat.exe"; Tasks: not portable
-Name: "{group}\XChat-Text (x86)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable
-Name: "{group}\Uninstall XChat-WDK (x86)"; Filename: "{uninstallexe}"; Tasks: not portable
-
-[Messages]
-BeveledLabel= XChat-WDK
-
-[Code]
-/////////////////////////////////////////////////////////////////////
-// these are required for x86->x64 or reverse upgrades
-/////////////////////////////////////////////////////////////////////
-function GetUninstallString(): String;
-var
-	sUnInstPath: String;
-	sUnInstallString: String;
-begin
-	sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\XChat-WDK (x86)_is1');
-	sUnInstallString := '';
-	if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
-		RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
-	Result := sUnInstallString;
-end;
-
-
-/////////////////////////////////////////////////////////////////////
-function IsUpgrade(): Boolean;
-begin
-	Result := (GetUninstallString() <> '');
-end;
-
-
-/////////////////////////////////////////////////////////////////////
-function UnInstallOldVersion(): Integer;
-var
-	sUnInstallString: String;
-	iResultCode: Integer;
-begin
-// Return Values:
-// 1 - uninstall string is empty
-// 2 - error executing the UnInstallString
-// 3 - successfully executed the UnInstallString
-
-	// default return value
-	Result := 0;
-
-	// get the uninstall string of the old app
-	sUnInstallString := GetUninstallString();
-	if sUnInstallString <> '' then begin
-		sUnInstallString := RemoveQuotes(sUnInstallString);
-		if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
-			Result := 3
-		else
-			Result := 2;
-	end else
-		Result := 1;
-end;
-
-/////////////////////////////////////////////////////////////////////
-procedure CurStepChanged(CurStep: TSetupStep);
-begin
-	if not (IsTaskSelected('portable')) then
-	begin
-		if (CurStep=ssInstall) then
-		begin
-			if (IsUpgrade()) then
-			begin
-				UnInstallOldVersion();
-			end;
-		end;
-	end;
-end;
-
-/////////////////////////////////////////////////////////////////////
-// Importing LoadSkin API from ISSkin.DLL
-procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
-external 'LoadSkin@files:isskinu.dll stdcall';
-
-// Importing UnloadSkin API from ISSkin.DLL
-procedure UnloadSkin();
-external 'UnloadSkin@files:isskinu.dll stdcall';
-
-// Importing ShowWindow Windows API from User32.DLL
-function ShowWindow(hWnd: Integer; uType: Integer): Integer;
-external 'ShowWindow@user32.dll stdcall';
-
-function InitializeSetup(): Boolean;
-begin
-  ExtractTemporaryFile('watercolorlite-green.cjstyles');
-  LoadSkin(ExpandConstant('{tmp}\watercolorlite-green.cjstyles'), '');
-  Result := True;
-end;
-
-procedure DeinitializeSetup();
-begin
-  // Hide Window before unloading skin so user does not get
-  // a glimpse of an unskinned window before it is closed.
-  ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
-  UnloadSkin();
-end;
diff --git a/win32/xchat.props b/win32/xchat.props
index e0aa21c8..3038fb04 100644
--- a/win32/xchat.props
+++ b/win32/xchat.props
@@ -35,7 +35,7 @@
     <Gtk>$(DepsRoot)\include\gtk-2.0;$(DepsRoot)\lib\gtk-2.0\include;$(DepsRoot)\include\atk-1.0;$(DepsRoot)\include\cairo;$(DepsRoot)\include\pango-1.0;$(DepsRoot)\include\gdk-pixbuf-2.0</Gtk>
     <Pixmaps>bookpng "$(SolutionDir)\..\src\pixmaps\book.png" hoppng "$(SolutionDir)\..\src\pixmaps\hop.png" oppng "$(SolutionDir)\..\src\pixmaps\op.png" purplepng "$(SolutionDir)\..\src\pixmaps\purple.png" redpng "$(SolutionDir)\..\src\pixmaps\red.png" trayfilepng "$(SolutionDir)\..\src\pixmaps\fileoffer.png" trayhilightpng "$(SolutionDir)\..\src\pixmaps\highlight.png" traymsgpng "$(SolutionDir)\..\src\pixmaps\message.png" voicepng "$(SolutionDir)\..\src\pixmaps\voice.png" xchatpng "$(SolutionDir)\..\xchat.png"</Pixmaps>
     <DepLibs>gtk-win32-2.0.lib;gdk-win32-2.0.lib;atk-1.0.lib;gio-2.0.lib;gdk_pixbuf-2.0.lib;pangowin32-1.0.lib;pangocairo-1.0.lib;pango-1.0.lib;cairo.lib;gobject-2.0.lib;gmodule-2.0.lib;glib-2.0.lib;intl.lib;libxml2.lib;libeay32.lib;ssleay32.lib;wininet.lib;winmm.lib;ws2_32.lib</DepLibs>
-    <XChatDest>$(SolutionDir)\dist\$(PlatformName)</XChatDest>
+    <XChatDest>$(SolutionDir)build\$(PlatformName)\rel</XChatDest>
   </PropertyGroup>
   <ItemDefinitionGroup />
   <ItemGroup />
diff --git a/win32/xchat.sln b/win32/xchat.sln
index 050313eb..84e1190e 100644
--- a/win32/xchat.sln
+++ b/win32/xchat.sln
@@ -89,10 +89,32 @@ EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nls", "nls\nls.vcxproj", "{B10A2C41-344C-43E0-A32D-B9587C198D8B}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy", "copy\copy.vcxproj", "{C9B735E4-75BC-45AC-A5E3-39A6D076F912}"
+	ProjectSection(ProjectDependencies) = postProject
+		{19C52A0A-A790-409E-A28A-9745FF990F5C} = {19C52A0A-A790-409E-A28A-9745FF990F5C}
+		{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D} = {E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}
+		{646B4316-C8B8-4DB6-B6AE-E586929E5729} = {646B4316-C8B8-4DB6-B6AE-E586929E5729}
+		{4980AF24-9D42-427D-A8E6-0DF3B97C455D} = {4980AF24-9D42-427D-A8E6-0DF3B97C455D}
+		{3024CF36-85E5-4E00-9608-7002E2C7EF14} = {3024CF36-85E5-4E00-9608-7002E2C7EF14}
+		{58654438-F674-42F7-88FA-73EF90AD80B1} = {58654438-F674-42F7-88FA-73EF90AD80B1}
+		{17E4BE39-76F7-4A06-AD21-EFD0C5091F76} = {17E4BE39-76F7-4A06-AD21-EFD0C5091F76}
+		{B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B}
+		{461DC24A-A410-4171-8C02-CCDBF3702C2A} = {461DC24A-A410-4171-8C02-CCDBF3702C2A}
+		{E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {E93E1255-95D1-4B08-8FDF-B53CC6A21280}
+		{2773666A-8CFC-4533-A043-EAD59F16A1C7} = {2773666A-8CFC-4533-A043-EAD59F16A1C7}
+		{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0} = {C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}
+		{987E9374-98A1-44BA-946F-D3472D7A7055} = {987E9374-98A1-44BA-946F-D3472D7A7055}
+		{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91} = {5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}
+		{6C0CA980-97C5-427A-BE61-5BCECAFABBDA} = {6C0CA980-97C5-427A-BE61-5BCECAFABBDA}
+		{3786FA8C-3E76-45E3-984E-FCCFF44729C9} = {3786FA8C-3E76-45E3-984E-FCCFF44729C9}
+		{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC} = {B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}
+		{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} = {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}
+		{18871EBA-AC85-4652-8919-EB8064B9A714} = {18871EBA-AC85-4652-8919-EB8064B9A714}
+		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82} = {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}
+		{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E} = {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}
+	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\installer.vcxproj", "{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}"
 	ProjectSection(ProjectDependencies) = postProject
-		{B10A2C41-344C-43E0-A32D-B9587C198D8B} = {B10A2C41-344C-43E0-A32D-B9587C198D8B}
 		{C9B735E4-75BC-45AC-A5E3-39A6D076F912} = {C9B735E4-75BC-45AC-A5E3-39A6D076F912}
 	EndProjectSection
 EndProject
-- 
cgit 1.4.1


From 28c8cf042bf12663d3bc4a77623195afed13e8c0 Mon Sep 17 00:00:00 2001
From: Berke Viktor <berkeviktor@aol.com>
Date: Fri, 15 Jun 2012 22:09:30 +0200
Subject: Update paths for x64 installer too

---
 win32/installer/xchat-wdk-x64.skel.iss | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'win32/installer')

diff --git a/win32/installer/xchat-wdk-x64.skel.iss b/win32/installer/xchat-wdk-x64.skel.iss
index e0a804db..915d6607 100644
--- a/win32/installer/xchat-wdk-x64.skel.iss
+++ b/win32/installer/xchat-wdk-x64.skel.iss
@@ -11,8 +11,8 @@ DefaultDirName={pf}\XChat-WDK
 DefaultGroupName=XChat-WDK
 DisableProgramGroupPage=yes
 SolidCompression=yes
-SourceDir=..\..\rel
-OutputDir=..\..
+SourceDir=..\rel
+OutputDir=..
 FlatComponentsList=no
 PrivilegesRequired=none
 ShowComponentSizes=no
-- 
cgit 1.4.1


From ad59c4a586711f488b31f83072ebdc9ac595366e Mon Sep 17 00:00:00 2001
From: Berke Viktor <berkeviktor@aol.com>
Date: Fri, 15 Jun 2012 22:36:29 +0200
Subject: Add x64 support to the VS solution

---
 plugins/checksum/checksum.vcxproj |  43 ++++++++++++++++
 plugins/dns/dns.vcxproj           |  43 ++++++++++++++++
 plugins/doat/doat.vcxproj         |  41 ++++++++++++++++
 plugins/exec/exec.vcxproj         |  41 ++++++++++++++++
 plugins/fishlim/fishlim.vcxproj   |  43 ++++++++++++++++
 plugins/lua/lua.vcxproj           |  55 +++++++++++++++++++++
 plugins/mpcinfo/mpcinfo.vcxproj   |  41 ++++++++++++++++
 plugins/perl/perl-512.vcxproj     |  52 ++++++++++++++++++++
 plugins/perl/perl-514.vcxproj     |  52 ++++++++++++++++++++
 plugins/perl/perl-516.vcxproj     |  52 ++++++++++++++++++++
 plugins/python/python.vcxproj     |  43 ++++++++++++++++
 plugins/tcl/tcl.vcxproj           |  43 ++++++++++++++++
 plugins/upd/upd.vcxproj           |  43 ++++++++++++++++
 plugins/winamp/winamp.vcxproj     |  41 ++++++++++++++++
 plugins/winsys/winsys.vcxproj     |  44 +++++++++++++++++
 plugins/wmpa/wmpa.vcxproj         |  43 ++++++++++++++++
 plugins/xsasl/xsasl.vcxproj       |  43 ++++++++++++++++
 plugins/xtray/xtray.vcxproj       |  41 ++++++++++++++++
 src/common/common.vcxproj         |  38 ++++++++++++++
 src/dirent/dirent.vcxproj         |  38 ++++++++++++++
 src/fe-gtk/fe-gtk.vcxproj         |  43 ++++++++++++++++
 src/fe-text/fe-text.vcxproj       |  42 ++++++++++++++++
 src/pixmaps/pixmaps.vcxproj       |  40 +++++++++++++++
 src/version/version.vcxproj       |  41 ++++++++++++++++
 win32/copy/copy.vcxproj           | 101 ++++++++++++++++++++++++++++++++++++++
 win32/installer/installer.vcxproj |  44 +++++++++++++++++
 win32/nls/nls.vcxproj             |  45 +++++++++++++++++
 win32/xchat.sln                   |  55 +++++++++++++++++++++
 28 files changed, 1291 insertions(+)

(limited to 'win32/installer')

diff --git a/plugins/checksum/checksum.vcxproj b/plugins/checksum/checksum.vcxproj
index c4090cd1..753ca10e 100644
--- a/plugins/checksum/checksum.vcxproj
+++ b/plugins/checksum/checksum.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcchecksum</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;CHECKSUM_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(DepsRoot)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>checksum.def</ModuleDefinitionFile>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="checksum.c" />
   </ItemGroup>
diff --git a/plugins/dns/dns.vcxproj b/plugins/dns/dns.vcxproj
index 38f1634b..64df391d 100644
--- a/plugins/dns/dns.vcxproj
+++ b/plugins/dns/dns.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{3786FA8C-3E76-45E3-984E-FCCFF44729C9}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcdns</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <ModuleDefinitionFile>dns.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;DNS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>dns.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="dns.def" />
   </ItemGroup>
diff --git a/plugins/doat/doat.vcxproj b/plugins/doat/doat.vcxproj
index c6901fe1..33969fc3 100644
--- a/plugins/doat/doat.vcxproj
+++ b/plugins/doat/doat.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{4980AF24-9D42-427D-A8E6-0DF3B97C455D}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcdoat</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,6 +74,26 @@
       <ModuleDefinitionFile>doat.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;DOAT_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>doat.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="doat.c" />
   </ItemGroup>
diff --git a/plugins/exec/exec.vcxproj b/plugins/exec/exec.vcxproj
index 15bf5ec5..22e6200a 100644
--- a/plugins/exec/exec.vcxproj
+++ b/plugins/exec/exec.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcexec</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,6 +74,26 @@
       <ModuleDefinitionFile>exec.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;EXEC_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>exec.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="exec.def" />
   </ItemGroup>
diff --git a/plugins/fishlim/fishlim.vcxproj b/plugins/fishlim/fishlim.vcxproj
index 0f6e1c38..6b5dcc07 100644
--- a/plugins/fishlim/fishlim.vcxproj
+++ b/plugins/fishlim/fishlim.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcfishlim</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;FISHLIM_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>fishlim.def</ModuleDefinitionFile>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="fishlim.def" />
   </ItemGroup>
diff --git a/plugins/lua/lua.vcxproj b/plugins/lua/lua.vcxproj
index 26d21856..cbb3c444 100644
--- a/plugins/lua/lua.vcxproj
+++ b/plugins/lua/lua.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{646B4316-C8B8-4DB6-B6AE-E586929E5729}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>$(LuaOutput)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,11 +74,36 @@
       <AdditionalDependencies>"$(LuaLib).lib";;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LUA_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(DepsRoot)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>"$(LuaLib).lib";;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <Link>
       <AdditionalDependencies>"$(LuaLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Link>
+      <AdditionalDependencies>"$(LuaLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);snprintf=g_snprintf;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -67,6 +113,15 @@
       <ModuleDefinitionFile>lua.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;$(OwnFlags);snprintf=g_snprintf;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <ModuleDefinitionFile>lua.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="lua.def" />
   </ItemGroup>
diff --git a/plugins/mpcinfo/mpcinfo.vcxproj b/plugins/mpcinfo/mpcinfo.vcxproj
index 7f12822e..6746ce15 100644
--- a/plugins/mpcinfo/mpcinfo.vcxproj
+++ b/plugins/mpcinfo/mpcinfo.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcmpcinfo</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,6 +74,26 @@
       <ModuleDefinitionFile>mpcinfo.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;MPCINFO_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>mpcinfo.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="mpcinfo.def" />
   </ItemGroup>
diff --git a/plugins/perl/perl-512.vcxproj b/plugins/perl/perl-512.vcxproj
index d924af48..313014b9 100644
--- a/plugins/perl/perl-512.vcxproj
+++ b/plugins/perl/perl-512.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{987E9374-98A1-44BA-946F-D3472D7A7055}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>$(Perl512Output)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -61,6 +82,37 @@ move $(Perl512Lib).def "$(IntDir)"
 lib /nologo /machine:x86 "/def:$(IntDir)$(Perl512Lib).def" "/out:$(OutDir)\$(Perl512Lib).lib"
 "$(Perl512Path)\perl\bin\perl.exe" generate_header
 move irc.pm.h "$(IntDir)"
+move xchat.pm.h "$(IntDir)"</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;PERL512_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>$(Perl512Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(Perl512Lib).lib;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
+      <DelayLoadDLLs>$(Perl512Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+    </Link>
+    <PreBuildEvent>
+      <Command>"$(GendefPath)\gendef" "$(Perl512Path)\perl\bin\$(Perl512Lib).dll"
+move $(Perl512Lib).def "$(IntDir)"
+lib /nologo /machine:x64 "/def:$(IntDir)$(Perl512Lib).def" "/out:$(OutDir)\$(Perl512Lib).lib"
+"$(Perl512Path)\perl\bin\perl.exe" generate_header
+move irc.pm.h "$(IntDir)"
 move xchat.pm.h "$(IntDir)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
diff --git a/plugins/perl/perl-514.vcxproj b/plugins/perl/perl-514.vcxproj
index 58cc4f04..6e469944 100644
--- a/plugins/perl/perl-514.vcxproj
+++ b/plugins/perl/perl-514.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>$(Perl514Output)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -61,6 +82,37 @@ move $(Perl514Lib).def "$(IntDir)"
 lib /nologo /machine:x86 "/def:$(IntDir)$(Perl514Lib).def" "/out:$(OutDir)\$(Perl514Lib).lib"
 "$(Perl514Path)\perl\bin\perl.exe" generate_header
 move irc.pm.h "$(IntDir)"
+move xchat.pm.h "$(IntDir)"</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;PERL514_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(Perl514Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(Perl514Lib).lib;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
+      <DelayLoadDLLs>$(Perl514Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+    </Link>
+    <PreBuildEvent>
+      <Command>"$(GendefPath)\gendef" "$(Perl514Path)\perl\bin\$(Perl514Lib).dll"
+move $(Perl514Lib).def "$(IntDir)"
+lib /nologo /machine:x64 "/def:$(IntDir)$(Perl514Lib).def" "/out:$(OutDir)\$(Perl514Lib).lib"
+"$(Perl514Path)\perl\bin\perl.exe" generate_header
+move irc.pm.h "$(IntDir)"
 move xchat.pm.h "$(IntDir)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
diff --git a/plugins/perl/perl-516.vcxproj b/plugins/perl/perl-516.vcxproj
index 516c1b80..06bf2fbd 100644
--- a/plugins/perl/perl-516.vcxproj
+++ b/plugins/perl/perl-516.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{58654438-F674-42F7-88FA-73EF90AD80B1}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>$(Perl516Output)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -61,6 +82,37 @@ move $(Perl516Lib).def "$(IntDir)"
 lib /nologo /machine:x86 "/def:$(IntDir)$(Perl516Lib).def" "/out:$(OutDir)\$(Perl516Lib).lib"
 "$(Perl516Path)\perl\bin\perl.exe" generate_header
 move irc.pm.h "$(IntDir)"
+move xchat.pm.h "$(IntDir)"</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;PERL516_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(Perl516Path)\perl\lib\CORE;$(IntDir);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(Perl516Lib).lib;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>perl.def</ModuleDefinitionFile>
+      <DelayLoadDLLs>$(Perl516Lib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+    </Link>
+    <PreBuildEvent>
+      <Command>"$(GendefPath)\gendef" "$(Perl516Path)\perl\bin\$(Perl516Lib).dll"
+move $(Perl516Lib).def "$(IntDir)"
+lib /nologo /machine:x64 "/def:$(IntDir)$(Perl516Lib).def" "/out:$(OutDir)\$(Perl516Lib).lib"
+"$(Perl516Path)\perl\bin\perl.exe" generate_header
+move irc.pm.h "$(IntDir)"
 move xchat.pm.h "$(IntDir)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
diff --git a/plugins/python/python.vcxproj b/plugins/python/python.vcxproj
index 923eeb92..ef50ee42 100644
--- a/plugins/python/python.vcxproj
+++ b/plugins/python/python.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{19C52A0A-A790-409E-A28A-9745FF990F5C}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>$(PythonOutput)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);$(PythonPath)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;PYTHON_EXPORTS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(Glib);$(PythonPath)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>python.def</ModuleDefinitionFile>
+      <AdditionalDependencies>"$(PythonLib).lib";$(DepLibs);dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);$(PythonPath)\libs;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="python.def" />
   </ItemGroup>
diff --git a/plugins/tcl/tcl.vcxproj b/plugins/tcl/tcl.vcxproj
index baa188f6..8820742d 100644
--- a/plugins/tcl/tcl.vcxproj
+++ b/plugins/tcl/tcl.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="printevents.h" />
@@ -29,6 +33,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -36,6 +47,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -43,6 +58,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>$(TclOutput)</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -65,6 +86,28 @@
       <DelayLoadDLLs>$(TclLib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>NotUsing</PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;TCL_EXPORTS;TCL_DLL="$(TclLib).dll";$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(TclPath)\include;..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(TclPath)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>"$(TclLib).lib";%(AdditionalDependencies)</AdditionalDependencies>
+      <ModuleDefinitionFile>tcl.def</ModuleDefinitionFile>
+      <DelayLoadDLLs>$(TclLib).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
+    </Link>
+  </ItemDefinitionGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/plugins/upd/upd.vcxproj b/plugins/upd/upd.vcxproj
index 9cf7c017..dc853ff8 100644
--- a/plugins/upd/upd.vcxproj
+++ b/plugins/upd/upd.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{461DC24A-A410-4171-8C02-CCDBF3702C2A}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcupd</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;UPD_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>upd.def</ModuleDefinitionFile>
+      <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="upd.def" />
   </ItemGroup>
diff --git a/plugins/winamp/winamp.vcxproj b/plugins/winamp/winamp.vcxproj
index 0a1eb419..2b5f3633 100644
--- a/plugins/winamp/winamp.vcxproj
+++ b/plugins/winamp/winamp.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcwinamp</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,6 +74,26 @@
       <ModuleDefinitionFile>winamp.def</ModuleDefinitionFile>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;WINAMP_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>winamp.def</ModuleDefinitionFile>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="winamp.def" />
   </ItemGroup>
diff --git a/plugins/winsys/winsys.vcxproj b/plugins/winsys/winsys.vcxproj
index 656f6ee9..bacb5db4 100644
--- a/plugins/winsys/winsys.vcxproj
+++ b/plugins/winsys/winsys.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcwinsys</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -56,6 +77,29 @@
       <IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;WINSYS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>winsys.def</ModuleDefinitionFile>
+      <AdditionalDependencies>wbemuuid.lib;vccomsup.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <IgnoreSpecificDefaultLibraries>comsupp.lib</IgnoreSpecificDefaultLibraries>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="winsys.def" />
   </ItemGroup>
diff --git a/plugins/wmpa/wmpa.vcxproj b/plugins/wmpa/wmpa.vcxproj
index 630cef4d..92364dc4 100644
--- a/plugins/wmpa/wmpa.vcxproj
+++ b/plugins/wmpa/wmpa.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}</ProjectGuid>
@@ -20,6 +24,14 @@
     <PlatformToolset>WDK7</PlatformToolset>
     <UseOfMfc>Dynamic</UseOfMfc>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>false</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+    <UseOfMfc>Dynamic</UseOfMfc>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -27,6 +39,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -34,6 +50,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcwmpa</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +77,27 @@
       <MkTypLibCompatible>true</MkTypLibCompatible>
     </Midl>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>Create</PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;WMPA_EXPORTS;_AFXDLL;_AFX_NO_DAO_SUPPORT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>false</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>wmpa.def</ModuleDefinitionFile>
+    </Link>
+    <Midl>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+    </Midl>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="StdAfx.cpp" />
     <ClCompile Include="wmpa.cpp" />
diff --git a/plugins/xsasl/xsasl.vcxproj b/plugins/xsasl/xsasl.vcxproj
index 7e0c41d7..bec3da94 100644
--- a/plugins/xsasl/xsasl.vcxproj
+++ b/plugins/xsasl/xsasl.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{18871EBA-AC85-4652-8919-EB8064B9A714}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xcxsasl</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;XSASL_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(Glib);..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>xsasl.def</ModuleDefinitionFile>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(DepLibs);%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="xsasl.def" />
   </ItemGroup>
diff --git a/plugins/xtray/xtray.vcxproj b/plugins/xtray/xtray.vcxproj
index 1f7aa5cf..aa455a8f 100644
--- a/plugins/xtray/xtray.vcxproj
+++ b/plugins/xtray/xtray.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{3024CF36-85E5-4E00-9608-7002E2C7EF14}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>Unicode</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,12 +37,21 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,6 +73,27 @@
       <AdditionalDependencies>ntstc_msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;_USRDLL;XTRAY_EXPORTS;_STL70_;_STATIC_CPPLIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+      <AdditionalIncludeDirectories>..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <ModuleDefinitionFile>xtray.def</ModuleDefinitionFile>
+      <AdditionalDependencies>ntstc_msvcrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="bitmaps\sd.bmp" />
     <None Include="icons\banned.ico" />
diff --git a/src/common/common.vcxproj b/src/common/common.vcxproj
index b57b2ccf..4e95c929 100644
--- a/src/common/common.vcxproj
+++ b/src/common/common.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\config.h" />
@@ -82,6 +86,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -89,11 +100,19 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -113,6 +132,25 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_LIB;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/src/dirent/dirent.vcxproj b/src/dirent/dirent.vcxproj
index 8ac38f92..5ae75f57 100644
--- a/src/dirent/dirent.vcxproj
+++ b/src/dirent/dirent.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="dirent-win32.h" />
@@ -25,6 +29,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -32,12 +43,21 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <TargetName>$(ProjectName)-win32</TargetName>
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <TargetName>$(ProjectName)-win32</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -56,6 +76,24 @@
       <OptimizeReferences>true</OptimizeReferences>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
diff --git a/src/fe-gtk/fe-gtk.vcxproj b/src/fe-gtk/fe-gtk.vcxproj
index fce8d3e6..cb102012 100644
--- a/src/fe-gtk/fe-gtk.vcxproj
+++ b/src/fe-gtk/fe-gtk.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xchat</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -55,6 +76,28 @@
       <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_WINDOWS;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);$(Gtk);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Windows</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>$(DepLibs);common.lib;dirent-win32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClInclude Include="about.h" />
     <ClInclude Include="ascii.h" />
diff --git a/src/fe-text/fe-text.vcxproj b/src/fe-text/fe-text.vcxproj
index ac7068ec..e8ed04b0 100644
--- a/src/fe-text/fe-text.vcxproj
+++ b/src/fe-text/fe-text.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{E93E1255-95D1-4B08-8FDF-B53CC6A21280}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,6 +37,10 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
@@ -33,6 +48,12 @@
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>xchat-text</TargetName>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -54,6 +75,27 @@
       <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;$(OwnFlags);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(DepsRoot)\include;$(Glib);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>$(DepLibs);"$(OutDir)\common.lib";"$(OutDir)\dirent-win32.lib";%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(DepsRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClInclude Include="fe-text.h" />
   </ItemGroup>
diff --git a/src/pixmaps/pixmaps.vcxproj b/src/pixmaps/pixmaps.vcxproj
index 3fda0fef..ec33a49b 100644
--- a/src/pixmaps/pixmaps.vcxproj
+++ b/src/pixmaps/pixmaps.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{626DA61C-FA8B-474C-B2F5-72AD9DFEE642}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,12 +37,21 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -52,6 +72,26 @@
       <Command>"$(DepsRoot)\bin\gdk-pixbuf-csource" --build-list $(Pixmaps) &gt; "$(SolutionDir)\..\src\pixmaps\inline_pngs.h"</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <PostBuildEvent>
+      <Command>"$(DepsRoot)\bin\gdk-pixbuf-csource" --build-list $(Pixmaps) &gt; "$(SolutionDir)\..\src\pixmaps\inline_pngs.h"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="..\..\xchat.png" />
     <None Include="book.png" />
diff --git a/src/version/version.vcxproj b/src/version/version.vcxproj
index b07b8e2a..5a4fe5cc 100644
--- a/src/version/version.vcxproj
+++ b/src/version/version.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{6CD3647E-4541-4849-9DD7-C8816665AE42}</ProjectGuid>
@@ -19,6 +23,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -26,12 +37,21 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\..\win32\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\win32\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <LinkIncremental>false</LinkIncremental>
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <LinkIncremental>false</LinkIncremental>
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level1</WarningLevel>
@@ -53,6 +73,27 @@
       <Command>"$(OutDir)\$(TargetName)$(TargetExt)" -r &gt; "$(SolutionDir)\..\resource.h"</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level1</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;_WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MultiProcessorCompilation>true</MultiProcessorCompilation>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <PostBuildEvent>
+      <Command>"$(OutDir)\$(TargetName)$(TargetExt)" -r &gt; "$(SolutionDir)\..\resource.h"</Command>
+    </PostBuildEvent>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <ClCompile Include="version.c" />
   </ItemGroup>
diff --git a/win32/copy/copy.vcxproj b/win32/copy/copy.vcxproj
index 5b64ddc6..a68df4a0 100644
--- a/win32/copy/copy.vcxproj
+++ b/win32/copy/copy.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{C9B735E4-75BC-45AC-A5E3-39A6D076F912}</ProjectGuid>
@@ -18,6 +22,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -25,11 +36,19 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -112,6 +131,88 @@ copy "$(ProgramFiles)\Codejock Software\ISSkin\ISSkinU.dll" "$(XChatDest)"
 copy "..\installer\watercolorlite-green.cjstyles" "$(XChatDest)"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <PreBuildEvent>
+      <Command>rmdir /q /s "$(XChatDest)"
+mkdir "$(XChatDest)"
+echo 2&gt; portable-mode
+move portable-mode "$(XChatDest)"
+copy "$(OutDir)\xchat.exe" "$(XChatDest)"
+copy "$(OutDir)\xchat-text.exe" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libatk-1.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libcairo-2.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libexpat-1.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libfontconfig-1.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libfreetype-6.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libgdk_pixbuf-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libgdk-win32-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libgio-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libglib-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libgmodule-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libgobject-2.0-0.dll" "$(XChatDest)
+copy "$(DepsRoot)\bin\libgthread-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libgtk-win32-2.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libintl-8.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libpango-1.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libpangocairo-1.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libpangoft2-1.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libpangowin32-1.0-0.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libpng14-14.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libxml2.dll" "$(XChatDest)"
+xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\2.10.0\engines" "$(XChatDest)\lib\gtk-2.0\2.10.0\engines"
+xcopy /q /s /i "$(DepsRoot)\lib\gtk-2.0\modules\libgail.dll" "$(XChatDest)\lib\gtk-2.0\modules\"
+xcopy /q /s /i etc "$(XChatDest)\etc"
+xcopy /q /s /i share "$(XChatDest)\share"
+copy "..\..\COPYING" "$(XChatDest)"
+copy "$(DepsRoot)\LICENSE.OPENSSL" "$(XChatDest)"
+copy "$(DepsRoot)\LICENSE.ZLIB" "$(XChatDest)"
+copy "$(DepsRoot)\share\gettext\intl\COPYING.LIB-2.0" "$(XChatDest)\LICENSE.GTK"
+copy "$(DepsRoot)\share\gettext\intl\COPYING.LIB-2.1" "$(XChatDest)\LICENSE.CAIRO"
+copy "$(DepsRoot)\LICENSE.LUA" "$(XChatDest)"
+copy "$(DepsRoot)\LICENSE.ENCHANT" "$(XChatDest)"
+copy "$(DepsRoot)\LICENSE.LIBXML" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libeay32.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\ssleay32.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\zlib1.dll" "$(XChatDest)"
+copy "$(DepsRoot)\bin\cert.pem" "$(XChatDest)"
+copy "$(DepsRoot)\bin\libenchant.dll" "$(XChatDest)"
+xcopy /q /s /i "$(DepsRoot)\lib\enchant\libenchant_myspell.dll" "$(XChatDest)\lib\enchant\"
+xcopy /q /s /i "$(OutDir)xcchecksum.dll" "$(XChatDest)\plugins\"
+copy "$(OutDir)\xcdns.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcdoat.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcexec.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcfishlim.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xclua.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcmpcinfo.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcperl-512.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcperl-514.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcperl-516.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcpython.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xctcl.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcupd.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcxsasl.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xtray.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcwinamp.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcwinsys.dll" "$(XChatDest)\plugins"
+copy "$(OutDir)\xcwmpa.dll" "$(XChatDest)\plugins"
+copy "$(DepsRoot)\bin\lua51.dll" "$(XChatDest)"
+xcopy /q /s /i "$(OutDir)\locale" "$(XChatDest)\locale"
+xcopy /q /s /i "$(DepsRoot)\share\locale" "$(XChatDest)\share\locale"
+copy "$(ProgramFiles)\Codejock Software\ISSkin\ISSkinU.dll" "$(XChatDest)"
+copy "..\installer\watercolorlite-blue.cjstyles" "$(XChatDest)"</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="etc\download.png" />
     <None Include="etc\gtk-2.0\gtkrc" />
diff --git a/win32/installer/installer.vcxproj b/win32/installer/installer.vcxproj
index 3cb84d56..0fcba484 100644
--- a/win32/installer/installer.vcxproj
+++ b/win32/installer/installer.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}</ProjectGuid>
@@ -18,6 +22,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -25,11 +36,19 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -55,6 +74,31 @@ type xchat-wdk-x86.skel.iss &gt;&gt; "$(OutDir)\xchat-wdk-x86.iss"
 "$(ProgramFiles)\Inno Setup 5\compil32" /cc "$(OutDir)\xchat-wdk-x86.iss"</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <PreBuildEvent>
+      <Command>echo [Setup] &gt; "$(OutDir)\xchat-wdk-x64.iss"
+echo WizardImageFile="$(ProjectDir)\wizardimage.bmp" &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+echo WizardSmallImageFile="$(ProjectDir)\wizardsmallimage.bmp" &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+"$(OutDir)\version" -a &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+"$(OutDir)\version" -v &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+"$(OutDir)\version" -i &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+"$(OutDir)\version" -o &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+echo SetupIconFile="$(SolutionDir)\..\xchat.ico" &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+type xchat-wdk-x64.skel.iss &gt;&gt; "$(OutDir)\xchat-wdk-x64.iss"
+"$(ProgramFiles)\Inno Setup 5\compil32" /cc "$(OutDir)\xchat-wdk-x64.iss"</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
   <ItemGroup>
     <None Include="watercolorlite-blue.cjstyles" />
     <None Include="watercolorlite-green.cjstyles" />
diff --git a/win32/nls/nls.vcxproj b/win32/nls/nls.vcxproj
index 10e53bd8..9c0ecff4 100644
--- a/win32/nls/nls.vcxproj
+++ b/win32/nls/nls.vcxproj
@@ -5,6 +5,10 @@
       <Configuration>Release</Configuration>
       <Platform>Win32</Platform>
     </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
   </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{B10A2C41-344C-43E0-A32D-B9587C198D8B}</ProjectGuid>
@@ -18,6 +22,13 @@
     <CharacterSet>MultiByte</CharacterSet>
     <PlatformToolset>WDK7</PlatformToolset>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+    <PlatformToolset>WDK7</PlatformToolset>
+  </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   </ImportGroup>
@@ -25,11 +36,19 @@
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
     <Import Project="..\xchat.props" />
   </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\xchat.props" />
+  </ImportGroup>
   <PropertyGroup Label="UserMacros" />
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
     <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
   </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <OutDir>$(SolutionDir)build\$(PlatformName)\bin</OutDir>
+    <IntDir>$(SolutionDir)build\$(PlatformName)\obj\$(ProjectName)</IntDir>
+  </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
     <ClCompile>
       <WarningLevel>Level3</WarningLevel>
@@ -53,6 +72,32 @@ mkdir "$(OutDir)\locale"
 for %%A in (*.po) do (
 mkdir "$(OutDir)\locale\%%~nA\LC_MESSAGES"
 "$(DepsRoot)\bin\msgfmt" -co "$(OutDir)\locale\%%~nA\LC_MESSAGES\xchat.mo" %%A
+)</Command>
+    </PreBuildEvent>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+    <PostBuildEvent>
+      <Command>
+      </Command>
+    </PostBuildEvent>
+    <PreBuildEvent>
+      <Command>cd ..\..\po
+rmdir /q /s "$(OutDir)\locale"
+mkdir "$(OutDir)\locale"
+for %%A in (*.po) do (
+mkdir "$(OutDir)\locale\%%~nA\LC_MESSAGES"
+"$(DepsRoot)\bin\msgfmt" -co "$(OutDir)\locale\%%~nA\LC_MESSAGES\xchat.mo" %%A
 )</Command>
     </PreBuildEvent>
   </ItemDefinitionGroup>
diff --git a/win32/xchat.sln b/win32/xchat.sln
index 84e1190e..ef7a3000 100644
--- a/win32/xchat.sln
+++ b/win32/xchat.sln
@@ -121,62 +121,117 @@ EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Release|Win32 = Release|Win32
+		Release|x64 = Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{87554B59-006C-4D94-9714-897B27067BA3}.Release|Win32.ActiveCfg = Release|Win32
 		{87554B59-006C-4D94-9714-897B27067BA3}.Release|Win32.Build.0 = Release|Win32
+		{87554B59-006C-4D94-9714-897B27067BA3}.Release|x64.ActiveCfg = Release|x64
+		{87554B59-006C-4D94-9714-897B27067BA3}.Release|x64.Build.0 = Release|x64
 		{98B56DF9-E4F1-4696-A565-5F7823CF214D}.Release|Win32.ActiveCfg = Release|Win32
 		{98B56DF9-E4F1-4696-A565-5F7823CF214D}.Release|Win32.Build.0 = Release|Win32
+		{98B56DF9-E4F1-4696-A565-5F7823CF214D}.Release|x64.ActiveCfg = Release|x64
+		{98B56DF9-E4F1-4696-A565-5F7823CF214D}.Release|x64.Build.0 = Release|x64
 		{626DA61C-FA8B-474C-B2F5-72AD9DFEE642}.Release|Win32.ActiveCfg = Release|Win32
 		{626DA61C-FA8B-474C-B2F5-72AD9DFEE642}.Release|Win32.Build.0 = Release|Win32
+		{626DA61C-FA8B-474C-B2F5-72AD9DFEE642}.Release|x64.ActiveCfg = Release|x64
+		{626DA61C-FA8B-474C-B2F5-72AD9DFEE642}.Release|x64.Build.0 = Release|x64
 		{6CD3647E-4541-4849-9DD7-C8816665AE42}.Release|Win32.ActiveCfg = Release|Win32
 		{6CD3647E-4541-4849-9DD7-C8816665AE42}.Release|Win32.Build.0 = Release|Win32
+		{6CD3647E-4541-4849-9DD7-C8816665AE42}.Release|x64.ActiveCfg = Release|x64
+		{6CD3647E-4541-4849-9DD7-C8816665AE42}.Release|x64.Build.0 = Release|x64
 		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|Win32.ActiveCfg = Release|Win32
 		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|Win32.Build.0 = Release|Win32
+		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|x64.ActiveCfg = Release|x64
+		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}.Release|x64.Build.0 = Release|x64
 		{E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|Win32.ActiveCfg = Release|Win32
 		{E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|Win32.Build.0 = Release|Win32
+		{E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|x64.ActiveCfg = Release|x64
+		{E93E1255-95D1-4B08-8FDF-B53CC6A21280}.Release|x64.Build.0 = Release|x64
 		{2773666A-8CFC-4533-A043-EAD59F16A1C7}.Release|Win32.ActiveCfg = Release|Win32
 		{2773666A-8CFC-4533-A043-EAD59F16A1C7}.Release|Win32.Build.0 = Release|Win32
+		{2773666A-8CFC-4533-A043-EAD59F16A1C7}.Release|x64.ActiveCfg = Release|x64
+		{2773666A-8CFC-4533-A043-EAD59F16A1C7}.Release|x64.Build.0 = Release|x64
 		{987E9374-98A1-44BA-946F-D3472D7A7055}.Release|Win32.ActiveCfg = Release|Win32
 		{987E9374-98A1-44BA-946F-D3472D7A7055}.Release|Win32.Build.0 = Release|Win32
+		{987E9374-98A1-44BA-946F-D3472D7A7055}.Release|x64.ActiveCfg = Release|x64
+		{987E9374-98A1-44BA-946F-D3472D7A7055}.Release|x64.Build.0 = Release|x64
 		{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}.Release|Win32.ActiveCfg = Release|Win32
 		{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}.Release|Win32.Build.0 = Release|Win32
+		{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}.Release|x64.ActiveCfg = Release|x64
+		{C4C9FA6F-F990-4C7B-85F6-CD8F4F5728F0}.Release|x64.Build.0 = Release|x64
 		{58654438-F674-42F7-88FA-73EF90AD80B1}.Release|Win32.ActiveCfg = Release|Win32
 		{58654438-F674-42F7-88FA-73EF90AD80B1}.Release|Win32.Build.0 = Release|Win32
+		{58654438-F674-42F7-88FA-73EF90AD80B1}.Release|x64.ActiveCfg = Release|x64
+		{58654438-F674-42F7-88FA-73EF90AD80B1}.Release|x64.Build.0 = Release|x64
 		{19C52A0A-A790-409E-A28A-9745FF990F5C}.Release|Win32.ActiveCfg = Release|Win32
 		{19C52A0A-A790-409E-A28A-9745FF990F5C}.Release|Win32.Build.0 = Release|Win32
+		{19C52A0A-A790-409E-A28A-9745FF990F5C}.Release|x64.ActiveCfg = Release|x64
+		{19C52A0A-A790-409E-A28A-9745FF990F5C}.Release|x64.Build.0 = Release|x64
 		{646B4316-C8B8-4DB6-B6AE-E586929E5729}.Release|Win32.ActiveCfg = Release|Win32
 		{646B4316-C8B8-4DB6-B6AE-E586929E5729}.Release|Win32.Build.0 = Release|Win32
+		{646B4316-C8B8-4DB6-B6AE-E586929E5729}.Release|x64.ActiveCfg = Release|x64
+		{646B4316-C8B8-4DB6-B6AE-E586929E5729}.Release|x64.Build.0 = Release|x64
 		{4980AF24-9D42-427D-A8E6-0DF3B97C455D}.Release|Win32.ActiveCfg = Release|Win32
 		{4980AF24-9D42-427D-A8E6-0DF3B97C455D}.Release|Win32.Build.0 = Release|Win32
+		{4980AF24-9D42-427D-A8E6-0DF3B97C455D}.Release|x64.ActiveCfg = Release|x64
+		{4980AF24-9D42-427D-A8E6-0DF3B97C455D}.Release|x64.Build.0 = Release|x64
 		{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|Win32.ActiveCfg = Release|Win32
 		{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|Win32.Build.0 = Release|Win32
+		{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|x64.ActiveCfg = Release|x64
+		{5EF7F47D-D09C-43C4-BF64-B28B11A0FF91}.Release|x64.Build.0 = Release|x64
 		{3786FA8C-3E76-45E3-984E-FCCFF44729C9}.Release|Win32.ActiveCfg = Release|Win32
 		{3786FA8C-3E76-45E3-984E-FCCFF44729C9}.Release|Win32.Build.0 = Release|Win32
+		{3786FA8C-3E76-45E3-984E-FCCFF44729C9}.Release|x64.ActiveCfg = Release|x64
+		{3786FA8C-3E76-45E3-984E-FCCFF44729C9}.Release|x64.Build.0 = Release|x64
 		{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|Win32.ActiveCfg = Release|Win32
 		{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|Win32.Build.0 = Release|Win32
+		{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|x64.ActiveCfg = Release|x64
+		{17E4BE39-76F7-4A06-AD21-EFD0C5091F76}.Release|x64.Build.0 = Release|x64
 		{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|Win32.ActiveCfg = Release|Win32
 		{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|Win32.Build.0 = Release|Win32
+		{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|x64.ActiveCfg = Release|x64
+		{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}.Release|x64.Build.0 = Release|x64
 		{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}.Release|Win32.ActiveCfg = Release|Win32
 		{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}.Release|Win32.Build.0 = Release|Win32
+		{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}.Release|x64.ActiveCfg = Release|x64
+		{B0E36D93-CA2A-49FE-9EB9-9C96C6016EEC}.Release|x64.Build.0 = Release|x64
 		{461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|Win32.ActiveCfg = Release|Win32
 		{461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|Win32.Build.0 = Release|Win32
+		{461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|x64.ActiveCfg = Release|x64
+		{461DC24A-A410-4171-8C02-CCDBF3702C2A}.Release|x64.Build.0 = Release|x64
 		{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|Win32.ActiveCfg = Release|Win32
 		{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|Win32.Build.0 = Release|Win32
+		{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|x64.ActiveCfg = Release|x64
+		{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}.Release|x64.Build.0 = Release|x64
 		{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|Win32.ActiveCfg = Release|Win32
 		{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|Win32.Build.0 = Release|Win32
+		{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|x64.ActiveCfg = Release|x64
+		{6C0CA980-97C5-427A-BE61-5BCECAFABBDA}.Release|x64.Build.0 = Release|x64
 		{18871EBA-AC85-4652-8919-EB8064B9A714}.Release|Win32.ActiveCfg = Release|Win32
 		{18871EBA-AC85-4652-8919-EB8064B9A714}.Release|Win32.Build.0 = Release|Win32
+		{18871EBA-AC85-4652-8919-EB8064B9A714}.Release|x64.ActiveCfg = Release|x64
+		{18871EBA-AC85-4652-8919-EB8064B9A714}.Release|x64.Build.0 = Release|x64
 		{3024CF36-85E5-4E00-9608-7002E2C7EF14}.Release|Win32.ActiveCfg = Release|Win32
 		{3024CF36-85E5-4E00-9608-7002E2C7EF14}.Release|Win32.Build.0 = Release|Win32
+		{3024CF36-85E5-4E00-9608-7002E2C7EF14}.Release|x64.ActiveCfg = Release|x64
+		{3024CF36-85E5-4E00-9608-7002E2C7EF14}.Release|x64.Build.0 = Release|x64
 		{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}.Release|Win32.ActiveCfg = Release|Win32
 		{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}.Release|Win32.Build.0 = Release|Win32
+		{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}.Release|x64.ActiveCfg = Release|x64
+		{E7F4DB0A-510D-41EF-B284-6E1DE1CC450D}.Release|x64.Build.0 = Release|x64
 		{B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|Win32.ActiveCfg = Release|Win32
 		{B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|Win32.Build.0 = Release|Win32
+		{B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|x64.ActiveCfg = Release|x64
+		{B10A2C41-344C-43E0-A32D-B9587C198D8B}.Release|x64.Build.0 = Release|x64
 		{C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|Win32.ActiveCfg = Release|Win32
 		{C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|Win32.Build.0 = Release|Win32
+		{C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|x64.ActiveCfg = Release|x64
+		{C9B735E4-75BC-45AC-A5E3-39A6D076F912}.Release|x64.Build.0 = Release|x64
 		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|Win32.ActiveCfg = Release|Win32
 		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|Win32.Build.0 = Release|Win32
+		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|x64.ActiveCfg = Release|x64
+		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
-- 
cgit 1.4.1


From c1ed097b46d2679929edc5d35f848c30a6286992 Mon Sep 17 00:00:00 2001
From: Berke Viktor <berkeviktor@aol.com>
Date: Fri, 15 Jun 2012 22:48:18 +0200
Subject: Add .user files and .gitignore

---
 .gitignore                             | 5 +++++
 plugins/checksum/checksum.vcxproj.user | 3 +++
 plugins/dns/dns.vcxproj.user           | 3 +++
 plugins/doat/doat.vcxproj.user         | 3 +++
 plugins/exec/exec.vcxproj.user         | 3 +++
 plugins/fishlim/fishlim.vcxproj.user   | 3 +++
 plugins/lua/lua.vcxproj.user           | 3 +++
 plugins/mpcinfo/mpcinfo.vcxproj.user   | 3 +++
 plugins/perl/perl-512.vcxproj.user     | 3 +++
 plugins/perl/perl-514.vcxproj.user     | 3 +++
 plugins/perl/perl-516.vcxproj.user     | 3 +++
 plugins/python/python.vcxproj.user     | 3 +++
 plugins/tcl/tcl.vcxproj.user           | 3 +++
 plugins/upd/upd.vcxproj.user           | 3 +++
 plugins/winamp/winamp.vcxproj.user     | 3 +++
 plugins/winsys/winsys.vcxproj.user     | 3 +++
 plugins/wmpa/wmpa.vcxproj.user         | 3 +++
 plugins/xsasl/xsasl.vcxproj.user       | 3 +++
 plugins/xtray/xtray.vcxproj.user       | 3 +++
 src/common/common.vcxproj.user         | 3 +++
 src/dirent/dirent.vcxproj.user         | 3 +++
 src/fe-gtk/fe-gtk.vcxproj.user         | 3 +++
 src/fe-text/fe-text.vcxproj.user       | 3 +++
 src/pixmaps/pixmaps.vcxproj.user       | 3 +++
 src/version/version.vcxproj.user       | 3 +++
 win32/copy/copy.vcxproj.user           | 3 +++
 win32/installer/installer.vcxproj.user | 3 +++
 win32/nls/nls.vcxproj.user             | 3 +++
 28 files changed, 86 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 plugins/checksum/checksum.vcxproj.user
 create mode 100644 plugins/dns/dns.vcxproj.user
 create mode 100644 plugins/doat/doat.vcxproj.user
 create mode 100644 plugins/exec/exec.vcxproj.user
 create mode 100644 plugins/fishlim/fishlim.vcxproj.user
 create mode 100644 plugins/lua/lua.vcxproj.user
 create mode 100644 plugins/mpcinfo/mpcinfo.vcxproj.user
 create mode 100644 plugins/perl/perl-512.vcxproj.user
 create mode 100644 plugins/perl/perl-514.vcxproj.user
 create mode 100644 plugins/perl/perl-516.vcxproj.user
 create mode 100644 plugins/python/python.vcxproj.user
 create mode 100644 plugins/tcl/tcl.vcxproj.user
 create mode 100644 plugins/upd/upd.vcxproj.user
 create mode 100644 plugins/winamp/winamp.vcxproj.user
 create mode 100644 plugins/winsys/winsys.vcxproj.user
 create mode 100644 plugins/wmpa/wmpa.vcxproj.user
 create mode 100644 plugins/xsasl/xsasl.vcxproj.user
 create mode 100644 plugins/xtray/xtray.vcxproj.user
 create mode 100644 src/common/common.vcxproj.user
 create mode 100644 src/dirent/dirent.vcxproj.user
 create mode 100644 src/fe-gtk/fe-gtk.vcxproj.user
 create mode 100644 src/fe-text/fe-text.vcxproj.user
 create mode 100644 src/pixmaps/pixmaps.vcxproj.user
 create mode 100644 src/version/version.vcxproj.user
 create mode 100644 win32/copy/copy.vcxproj.user
 create mode 100644 win32/installer/installer.vcxproj.user
 create mode 100644 win32/nls/nls.vcxproj.user

(limited to 'win32/installer')

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..83f00b41
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+# git ignore file
+win32/xchat.opensdf
+win32/xchat.sdf
+win32/xchat.suo
+src/pixmaps/inline_pngs.h
diff --git a/plugins/checksum/checksum.vcxproj.user b/plugins/checksum/checksum.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/checksum/checksum.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/dns/dns.vcxproj.user b/plugins/dns/dns.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/dns/dns.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/doat/doat.vcxproj.user b/plugins/doat/doat.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/doat/doat.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/exec/exec.vcxproj.user b/plugins/exec/exec.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/exec/exec.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/fishlim/fishlim.vcxproj.user b/plugins/fishlim/fishlim.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/fishlim/fishlim.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/lua/lua.vcxproj.user b/plugins/lua/lua.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/lua/lua.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/mpcinfo/mpcinfo.vcxproj.user b/plugins/mpcinfo/mpcinfo.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/mpcinfo/mpcinfo.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/perl/perl-512.vcxproj.user b/plugins/perl/perl-512.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/perl/perl-512.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/perl/perl-514.vcxproj.user b/plugins/perl/perl-514.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/perl/perl-514.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/perl/perl-516.vcxproj.user b/plugins/perl/perl-516.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/perl/perl-516.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/python/python.vcxproj.user b/plugins/python/python.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/python/python.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/tcl/tcl.vcxproj.user b/plugins/tcl/tcl.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/tcl/tcl.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/upd/upd.vcxproj.user b/plugins/upd/upd.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/upd/upd.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/winamp/winamp.vcxproj.user b/plugins/winamp/winamp.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/winamp/winamp.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/winsys/winsys.vcxproj.user b/plugins/winsys/winsys.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/winsys/winsys.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/wmpa/wmpa.vcxproj.user b/plugins/wmpa/wmpa.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/wmpa/wmpa.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/xsasl/xsasl.vcxproj.user b/plugins/xsasl/xsasl.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/xsasl/xsasl.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/plugins/xtray/xtray.vcxproj.user b/plugins/xtray/xtray.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/plugins/xtray/xtray.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/src/common/common.vcxproj.user b/src/common/common.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/src/common/common.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/src/dirent/dirent.vcxproj.user b/src/dirent/dirent.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/src/dirent/dirent.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/src/fe-gtk/fe-gtk.vcxproj.user b/src/fe-gtk/fe-gtk.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/src/fe-gtk/fe-gtk.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/src/fe-text/fe-text.vcxproj.user b/src/fe-text/fe-text.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/src/fe-text/fe-text.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/src/pixmaps/pixmaps.vcxproj.user b/src/pixmaps/pixmaps.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/src/pixmaps/pixmaps.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/src/version/version.vcxproj.user b/src/version/version.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/src/version/version.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/win32/copy/copy.vcxproj.user b/win32/copy/copy.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/win32/copy/copy.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/win32/installer/installer.vcxproj.user b/win32/installer/installer.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/win32/installer/installer.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
diff --git a/win32/nls/nls.vcxproj.user b/win32/nls/nls.vcxproj.user
new file mode 100644
index 00000000..695b5c78
--- /dev/null
+++ b/win32/nls/nls.vcxproj.user
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+</Project>
\ No newline at end of file
-- 
cgit 1.4.1


From 6bca080d93e73132a7d41977687bffc476cff697 Mon Sep 17 00:00:00 2001
From: Patrick Griffs <tingping@tingping.se>
Date: Sun, 17 Jun 2012 05:45:08 +0200
Subject: Add XChat Theme Manager (TingPing)

---
 .gitignore                               |   1 +
 src/xtm/Main.Designer.cs                 | 302 +++++++++++++++++++++++++++++++
 src/xtm/Main.cs                          | 269 +++++++++++++++++++++++++++
 src/xtm/Main.resx                        | 287 +++++++++++++++++++++++++++++
 src/xtm/Program.cs                       |  21 +++
 src/xtm/Properties/AssemblyInfo.cs       |  38 ++++
 src/xtm/Properties/Resources.Designer.cs |  63 +++++++
 src/xtm/Properties/Resources.resources   | Bin 0 -> 180 bytes
 src/xtm/Properties/Resources.resx        | 120 ++++++++++++
 src/xtm/Properties/Settings.Designer.cs  |  26 +++
 src/xtm/Properties/Settings.settings     |   7 +
 src/xtm/README.md                        |   7 +
 src/xtm/Resources/xchat.ico              | Bin 0 -> 9662 bytes
 src/xtm/app.config                       |   3 +
 src/xtm/xtm.csproj                       | 163 +++++++++++++++++
 win32/copy/copy.vcxproj                  |   2 +
 win32/installer/xchat-wdk-x64.skel.iss   |   3 +
 win32/installer/xchat-wdk-x86.skel.iss   |   3 +
 win32/xchat.sln                          |   7 +
 19 files changed, 1322 insertions(+)
 create mode 100644 src/xtm/Main.Designer.cs
 create mode 100644 src/xtm/Main.cs
 create mode 100644 src/xtm/Main.resx
 create mode 100644 src/xtm/Program.cs
 create mode 100644 src/xtm/Properties/AssemblyInfo.cs
 create mode 100644 src/xtm/Properties/Resources.Designer.cs
 create mode 100644 src/xtm/Properties/Resources.resources
 create mode 100644 src/xtm/Properties/Resources.resx
 create mode 100644 src/xtm/Properties/Settings.Designer.cs
 create mode 100644 src/xtm/Properties/Settings.settings
 create mode 100644 src/xtm/README.md
 create mode 100644 src/xtm/Resources/xchat.ico
 create mode 100644 src/xtm/app.config
 create mode 100644 src/xtm/xtm.csproj

(limited to 'win32/installer')

diff --git a/.gitignore b/.gitignore
index 86b4fbc2..f1e9c0a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
 plugins/wmpa/wmpa_h.h
 plugins/wmpa/wmpa_i.c
 src/pixmaps/inline_pngs.h
+src/xtm/obj/*
 win32/build/*
 win32/ipch/*
 win32/xchat.opensdf
diff --git a/src/xtm/Main.Designer.cs b/src/xtm/Main.Designer.cs
new file mode 100644
index 00000000..16d4ebcc
--- /dev/null
+++ b/src/xtm/Main.Designer.cs
@@ -0,0 +1,302 @@
+namespace thememan
+{
+    partial class XTM
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(XTM));
+            this.themelist = new System.Windows.Forms.ListBox();
+            this.themecolor0 = new System.Windows.Forms.Label();
+            this.themecolor1 = new System.Windows.Forms.Label();
+            this.themecolor2 = new System.Windows.Forms.Label();
+            this.themecolor3 = new System.Windows.Forms.Label();
+            this.themecolor4 = new System.Windows.Forms.Label();
+            this.themecolor5 = new System.Windows.Forms.Label();
+            this.themecolor6 = new System.Windows.Forms.Label();
+            this.themecolor7 = new System.Windows.Forms.Label();
+            this.themecolor8 = new System.Windows.Forms.Label();
+            this.themecolor9 = new System.Windows.Forms.Label();
+            this.themecolora = new System.Windows.Forms.Label();
+            this.themecolorb = new System.Windows.Forms.Label();
+            this.themecolorc = new System.Windows.Forms.Label();
+            this.themecolord = new System.Windows.Forms.Label();
+            this.themecolore = new System.Windows.Forms.Label();
+            this.themecolorf = new System.Windows.Forms.Label();
+            this.themecolorfg = new System.Windows.Forms.Label();
+            this.themecolortextbg = new System.Windows.Forms.Label();
+            this.importbutton = new System.Windows.Forms.Button();
+            this.applybutton = new System.Windows.Forms.Button();
+            this.themecolorfgmarked = new System.Windows.Forms.Label();
+            this.SuspendLayout();
+            // 
+            // themelist
+            // 
+            this.themelist.FormattingEnabled = true;
+            this.themelist.Location = new System.Drawing.Point(12, 12);
+            this.themelist.Name = "themelist";
+            this.themelist.Size = new System.Drawing.Size(154, 199);
+            this.themelist.TabIndex = 0;
+            this.themelist.SelectedIndexChanged += new System.EventHandler(this.theme_selected);
+            // 
+            // themecolor0
+            // 
+            this.themecolor0.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor0.Location = new System.Drawing.Point(189, 36);
+            this.themecolor0.Name = "themecolor0";
+            this.themecolor0.Size = new System.Drawing.Size(40, 40);
+            this.themecolor0.TabIndex = 6;
+            // 
+            // themecolor1
+            // 
+            this.themecolor1.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor1.Location = new System.Drawing.Point(239, 36);
+            this.themecolor1.Name = "themecolor1";
+            this.themecolor1.Size = new System.Drawing.Size(40, 40);
+            this.themecolor1.TabIndex = 10;
+            // 
+            // themecolor2
+            // 
+            this.themecolor2.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor2.Location = new System.Drawing.Point(289, 36);
+            this.themecolor2.Name = "themecolor2";
+            this.themecolor2.Size = new System.Drawing.Size(40, 40);
+            this.themecolor2.TabIndex = 14;
+            // 
+            // themecolor3
+            // 
+            this.themecolor3.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor3.Location = new System.Drawing.Point(339, 36);
+            this.themecolor3.Name = "themecolor3";
+            this.themecolor3.Size = new System.Drawing.Size(40, 40);
+            this.themecolor3.TabIndex = 18;
+            // 
+            // themecolor4
+            // 
+            this.themecolor4.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor4.Location = new System.Drawing.Point(189, 87);
+            this.themecolor4.Name = "themecolor4";
+            this.themecolor4.Size = new System.Drawing.Size(40, 40);
+            this.themecolor4.TabIndex = 4;
+            // 
+            // themecolor5
+            // 
+            this.themecolor5.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor5.Location = new System.Drawing.Point(239, 87);
+            this.themecolor5.Name = "themecolor5";
+            this.themecolor5.Size = new System.Drawing.Size(40, 40);
+            this.themecolor5.TabIndex = 8;
+            // 
+            // themecolor6
+            // 
+            this.themecolor6.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor6.Location = new System.Drawing.Point(289, 87);
+            this.themecolor6.Name = "themecolor6";
+            this.themecolor6.Size = new System.Drawing.Size(40, 40);
+            this.themecolor6.TabIndex = 12;
+            // 
+            // themecolor7
+            // 
+            this.themecolor7.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor7.Location = new System.Drawing.Point(339, 87);
+            this.themecolor7.Name = "themecolor7";
+            this.themecolor7.Size = new System.Drawing.Size(40, 40);
+            this.themecolor7.TabIndex = 16;
+            // 
+            // themecolor8
+            // 
+            this.themecolor8.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor8.Location = new System.Drawing.Point(189, 138);
+            this.themecolor8.Name = "themecolor8";
+            this.themecolor8.Size = new System.Drawing.Size(40, 40);
+            this.themecolor8.TabIndex = 5;
+            // 
+            // themecolor9
+            // 
+            this.themecolor9.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolor9.Location = new System.Drawing.Point(239, 138);
+            this.themecolor9.Name = "themecolor9";
+            this.themecolor9.Size = new System.Drawing.Size(40, 40);
+            this.themecolor9.TabIndex = 9;
+            // 
+            // themecolora
+            // 
+            this.themecolora.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolora.Location = new System.Drawing.Point(289, 138);
+            this.themecolora.Name = "themecolora";
+            this.themecolora.Size = new System.Drawing.Size(40, 40);
+            this.themecolora.TabIndex = 13;
+            // 
+            // themecolorb
+            // 
+            this.themecolorb.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolorb.Location = new System.Drawing.Point(339, 138);
+            this.themecolorb.Name = "themecolorb";
+            this.themecolorb.Size = new System.Drawing.Size(40, 40);
+            this.themecolorb.TabIndex = 17;
+            // 
+            // themecolorc
+            // 
+            this.themecolorc.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolorc.Location = new System.Drawing.Point(189, 189);
+            this.themecolorc.Name = "themecolorc";
+            this.themecolorc.Size = new System.Drawing.Size(40, 40);
+            this.themecolorc.TabIndex = 7;
+            // 
+            // themecolord
+            // 
+            this.themecolord.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolord.Location = new System.Drawing.Point(239, 189);
+            this.themecolord.Name = "themecolord";
+            this.themecolord.Size = new System.Drawing.Size(40, 40);
+            this.themecolord.TabIndex = 11;
+            // 
+            // themecolore
+            // 
+            this.themecolore.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolore.Location = new System.Drawing.Point(289, 189);
+            this.themecolore.Name = "themecolore";
+            this.themecolore.Size = new System.Drawing.Size(40, 40);
+            this.themecolore.TabIndex = 15;
+            // 
+            // themecolorf
+            // 
+            this.themecolorf.BackColor = System.Drawing.SystemColors.HotTrack;
+            this.themecolorf.Location = new System.Drawing.Point(339, 189);
+            this.themecolorf.Name = "themecolorf";
+            this.themecolorf.Size = new System.Drawing.Size(40, 40);
+            this.themecolorf.TabIndex = 19;
+            // 
+            // themecolorfg
+            // 
+            this.themecolorfg.AutoSize = true;
+            this.themecolorfg.BackColor = System.Drawing.Color.Transparent;
+            this.themecolorfg.Location = new System.Drawing.Point(190, 18);
+            this.themecolorfg.Name = "themecolorfg";
+            this.themecolorfg.Size = new System.Drawing.Size(66, 13);
+            this.themecolorfg.TabIndex = 21;
+            this.themecolorfg.Text = "Sample Text";
+            // 
+            // themecolortextbg
+            // 
+            this.themecolortextbg.Location = new System.Drawing.Point(180, 15);
+            this.themecolortextbg.Name = "themecolortextbg";
+            this.themecolortextbg.Size = new System.Drawing.Size(208, 223);
+            this.themecolortextbg.TabIndex = 20;
+            // 
+            // importbutton
+            // 
+            this.importbutton.Location = new System.Drawing.Point(90, 220);
+            this.importbutton.Name = "importbutton";
+            this.importbutton.Size = new System.Drawing.Size(60, 23);
+            this.importbutton.TabIndex = 2;
+            this.importbutton.Text = "Import";
+            this.importbutton.UseVisualStyleBackColor = true;
+            this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1);
+            // 
+            // applybutton
+            // 
+            this.applybutton.Location = new System.Drawing.Point(23, 220);
+            this.applybutton.Name = "applybutton";
+            this.applybutton.Size = new System.Drawing.Size(60, 23);
+            this.applybutton.TabIndex = 1;
+            this.applybutton.Text = "Apply";
+            this.applybutton.UseVisualStyleBackColor = true;
+            this.applybutton.Click += new System.EventHandler(this.applybutton_Click_1);
+            // 
+            // themecolorfgmarked
+            // 
+            this.themecolorfgmarked.AutoSize = true;
+            this.themecolorfgmarked.Location = new System.Drawing.Point(313, 18);
+            this.themecolorfgmarked.Name = "themecolorfgmarked";
+            this.themecolorfgmarked.Size = new System.Drawing.Size(67, 13);
+            this.themecolorfgmarked.TabIndex = 22;
+            this.themecolorfgmarked.Text = "Marked Text";
+            // 
+            // XTM
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(397, 248);
+            this.Controls.Add(this.themecolorfgmarked);
+            this.Controls.Add(this.themecolorfg);
+            this.Controls.Add(this.themecolorf);
+            this.Controls.Add(this.themecolor3);
+            this.Controls.Add(this.themecolorb);
+            this.Controls.Add(this.themecolor7);
+            this.Controls.Add(this.themecolore);
+            this.Controls.Add(this.themecolor2);
+            this.Controls.Add(this.themecolora);
+            this.Controls.Add(this.themecolor6);
+            this.Controls.Add(this.themecolord);
+            this.Controls.Add(this.themecolor1);
+            this.Controls.Add(this.themecolor9);
+            this.Controls.Add(this.themecolor5);
+            this.Controls.Add(this.themecolorc);
+            this.Controls.Add(this.themecolor0);
+            this.Controls.Add(this.themecolor8);
+            this.Controls.Add(this.themecolor4);
+            this.Controls.Add(this.importbutton);
+            this.Controls.Add(this.applybutton);
+            this.Controls.Add(this.themelist);
+            this.Controls.Add(this.themecolortextbg);
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+            this.Name = "XTM";
+            this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
+            this.Text = "XChat Theme Manager";
+            this.ResumeLayout(false);
+            this.PerformLayout();
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.ListBox themelist;
+        private System.Windows.Forms.Label themecolor0;
+        private System.Windows.Forms.Label themecolor1;
+        private System.Windows.Forms.Label themecolor2;
+        private System.Windows.Forms.Label themecolor3;
+        private System.Windows.Forms.Label themecolor4;
+        private System.Windows.Forms.Label themecolor5;
+        private System.Windows.Forms.Label themecolor6;
+        private System.Windows.Forms.Label themecolor7;
+        private System.Windows.Forms.Label themecolor8;
+        private System.Windows.Forms.Label themecolor9;
+        private System.Windows.Forms.Label themecolora;
+        private System.Windows.Forms.Label themecolorb;
+        private System.Windows.Forms.Label themecolorc;
+        private System.Windows.Forms.Label themecolord;
+        private System.Windows.Forms.Label themecolore;
+        private System.Windows.Forms.Label themecolorf;
+        private System.Windows.Forms.Label themecolorfg;
+        private System.Windows.Forms.Label themecolortextbg;
+        private System.Windows.Forms.Button importbutton;
+        private System.Windows.Forms.Button applybutton;
+        private System.Windows.Forms.Label themecolorfgmarked;
+    }
+}
+
diff --git a/src/xtm/Main.cs b/src/xtm/Main.cs
new file mode 100644
index 00000000..e740e994
--- /dev/null
+++ b/src/xtm/Main.cs
@@ -0,0 +1,269 @@
+/* XChat Theme Manager
+ *
+ * Copyright (C) 2012 Patrick Griffs
+ * Copyright (C) 2012 Berke Viktor
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Collections;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+/* using System.IO.Compression; */
+using System.IO.Packaging;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+using System.Net;
+
+namespace thememan
+{
+    public partial class XTM : Form
+    {
+        public string appdata = (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\X-Chat 2\\");
+        public string home = (Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/.xchat2/");
+
+        public string xchatdir;
+        public string themedir = "themes\\";
+
+        OpenFileDialog importDialog;
+
+        public XTM ()
+		{
+			InitializeComponent ();
+            
+			if (File.Exists ("portable-mode"))
+				xchatdir = ("config\\");
+			else if (Directory.Exists (appdata))
+				xchatdir = (appdata);
+			else if (Directory.Exists (home)) {
+				xchatdir = (home); themedir = "themes/";
+			} else
+				Console.WriteLine("Install not found");
+
+            ListThemes();
+        }
+
+        private void ListThemes()
+        {
+            themelist.Items.Clear();
+
+            if (Directory.Exists(xchatdir + themedir))
+            {
+                foreach (string theme in Directory.GetDirectories(xchatdir + themedir))
+                {
+                    themelist.Items.Add(theme.Remove(0, xchatdir.Length + themedir.Length));
+                }
+            }
+            else
+            {
+                Directory.CreateDirectory(xchatdir + themedir);
+            }
+
+            if (themelist.Items.Count == 0)
+            {
+                applybutton.Enabled = false;
+            }
+            else
+            {
+                themelist.SetSelected(0, true);
+            }
+        }
+
+        private void ShowColors(List<List<string>> themecolors)
+        {
+            List<Control> labels = this.Controls.OfType<Label>().Cast<Control>().OrderBy(label => label.Name).ToList();
+            for (byte themecolor = 0; themecolor < themecolors.Count; themecolor++)
+            {
+                byte rval = Convert.ToByte(int.Parse(themecolors[themecolor][0].ToString(), System.Globalization.NumberStyles.HexNumber) / 257);
+                byte gval = Convert.ToByte(int.Parse(themecolors[themecolor][1].ToString(), System.Globalization.NumberStyles.HexNumber) / 257);
+                byte bval = Convert.ToByte(int.Parse(themecolors[themecolor][2].ToString(), System.Globalization.NumberStyles.HexNumber) / 257);
+                
+                if (themecolor <= 15)
+                    labels[themecolor].BackColor = Color.FromArgb(rval, gval, bval);
+                else if (themecolor == 16)
+                    themecolorfgmarked.ForeColor = Color.FromArgb(rval, gval, bval);
+                else if (themecolor == 17)
+                    themecolorfgmarked.BackColor = Color.FromArgb(rval, gval, bval);
+                else if (themecolor == 18)
+                    themecolorfg.ForeColor = Color.FromArgb(rval, gval, bval);
+                else if (themecolor == 19)
+                {
+                    themecolortextbg.BackColor = Color.FromArgb(rval, gval, bval);
+                    themecolorfg.BackColor = themecolortextbg.BackColor;
+                }
+            }
+        }
+
+        private List<List<string>> ReadTheme(string theme)
+        {
+            List<List<string>> themecolors = new List<List<string>>();
+            foreach (string line in File.ReadLines(xchatdir + themedir + theme + "/colors.conf"))
+            {
+                List<string> colors = new List<string>();
+                List<string> colorlist = new List<string>();
+                string[] possiblecolors = { "color_256", "color_257", "color_258", "color_259" };
+
+                for (byte num = 16; num <=31; num++)
+                    colorlist.Add("color_" + num);
+                colorlist.AddRange(possiblecolors);
+
+                string[] config = line.Split(new char[] { ' ' });
+                if(colorlist.Contains(config[0]) == true)
+                {
+                    colors.Add(config[2]);
+                    colors.Add(config[3]);
+                    colors.Add(config[4]);
+                    themecolors.Add(colors);
+                }
+            }
+            return themecolors;
+        }
+
+        private void applybutton_Click_1(object sender, EventArgs e)
+        {
+            DialogResult result = MessageBox.Show("XChat must be closed and this will overwrite your current theme!\n\nDo you wish to continue?", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
+            if (result == DialogResult.OK)
+            {
+                File.Copy(xchatdir + themedir + themelist.SelectedItem.ToString() + "\\colors.conf", xchatdir + "colors.conf", true);
+                if (File.Exists(xchatdir + themedir + themelist.SelectedItem.ToString() + "\\pevents.conf"))
+                {
+                    File.Copy(xchatdir + themedir + themelist.SelectedItem.ToString() + "\\pevents.conf", xchatdir + "pevents.conf", true);
+                }
+            }
+        }
+
+        private void theme_selected(object sender, EventArgs e)
+        {
+            if (themelist.SelectedItem != null)
+            {
+                ShowColors(ReadTheme(themelist.SelectedItem.ToString()));
+                applybutton.Enabled = true;
+            }
+        }
+
+        private void importbutton_Click_1(object sender, EventArgs e)
+        {
+            importDialog = new OpenFileDialog();
+            importDialog.Filter = "XChat Theme Files|*.xct";
+            importDialog.FilterIndex = 1;
+            importDialog.FileOk += new CancelEventHandler(importdialog_FileOk);
+            importDialog.ShowDialog();
+        }
+
+        private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
+        {
+            FileInfo fi = new FileInfo(importDialog.FileName);
+            string newTheme = extractTheme(fi);
+            ListThemes();
+            themelist.SetSelected(themelist.FindStringExact(newTheme), true);
+        }
+
+        /* gzip solution, not good enough coz we need multiple files
+         * 
+        public string extractTheme(FileInfo fi)
+        {
+            using (FileStream inFile = fi.OpenRead())
+            {
+                string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length);
+                string destFolder = xchatdir + themedir + themeName;
+
+                if (!Directory.Exists(destFolder))
+                {
+                    Directory.CreateDirectory(destFolder);
+                }
+
+                using (FileStream outFile = File.Create(destFolder + "\\colors.conf"))
+                {
+                    using (GZipStream Decompress = new GZipStream(inFile, CompressionMode.Decompress))
+                    {
+                        Decompress.CopyTo(outFile);
+                    }
+                }
+                return themeName;
+            }
+        }
+         */
+
+        /* using System.IO.Package:
+         * http://weblogs.asp.net/jgalloway/archive/2007/10/25/creating-zip-archives-in-net-without-an-external-library-like-sharpziplib.aspx
+         * [Content_Types].xml must be present for every zip file
+         */
+
+        private const long BUFFER_SIZE = 4096;
+
+        private string extractTheme(FileInfo zipFile)
+        {
+            string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length);
+            string destFolder = xchatdir + themedir + themeName;
+
+            using (Package zip = Package.Open(zipFile.FullName, FileMode.Open))
+            {
+                PackagePartCollection parts = zip.GetParts();
+
+                if (!Directory.Exists(destFolder))
+                {
+                    Directory.CreateDirectory(destFolder);
+                }
+
+                foreach (PackagePart part in parts)
+                {
+                    /* not sure what's this good for */
+                    /* String archive = part.Uri.ToString().Replace(@"/", @"\"); */
+                    String destFile = destFolder + part.Uri.ToString();
+
+                    using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite))
+                    {
+                        using (Stream inStream = part.GetStream())
+                        {
+                            long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE;
+                            byte[] buffer = new byte[bufferSize];
+                            int bytesRead = 0;
+                            long bytesWritten = 0;
+
+                            while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0)
+                            {
+                                outFileStream.Write(buffer, 0, bytesRead);
+                                bytesWritten += bufferSize;
+                            }
+                        }
+                    }
+                }
+            }
+
+            if (IsDirectoryEmpty(destFolder))
+            {
+                Directory.Delete(destFolder);
+                return null;
+            }
+            else
+            {
+                return themeName;
+            }
+        }
+
+        public bool IsDirectoryEmpty(string path)
+        {
+            return !Directory.EnumerateFileSystemEntries(path).Any();
+        }
+
+
+
+    }
+}
diff --git a/src/xtm/Main.resx b/src/xtm/Main.resx
new file mode 100644
index 00000000..6a5fe137
--- /dev/null
+++ b/src/xtm/Main.resx
@@ -0,0 +1,287 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    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">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </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 for serialized 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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <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" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </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>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        AAABAAEAMDAAAAEAIACoJQAAFgAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAEgAA
+        AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEgAAABAAAAABAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
+        AE0AAACDAAAAiQAAAFsAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABbAAAAiQAA
+        AIMAAABNAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAGAAAAUgAAAKAAAADwAAAA9gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA
+        AF0AAACsAAAA9gAAAPAAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAYAAABSAAAAoAEBAvQFI5n/BiSZ/wEBA/kAAACsAAAAXQAAAAoAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAKAAAAXQAAAKwBAQP5BhuZ/wUamf8BAQL0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAFIAAACgAQEC9AQmmv8AOf//ADj//wcpov8CAgX5AAAArAAA
+        AF0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAoAAABdAAAArAICBfkHHqL/ACb//wAl//8EGpr/AQEC9AAAAKAAAABSAAAABgAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAUgAAAKABAQL0BCqa/wA///8APv//AD3//wA8
+        //8ILqr/AgMG+QAAAKwAAABmAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAGYAAACsAgMG+Qgkqv8AK///ACr//wAp//8AKP//BBya/wEB
+        AvQAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABSAAAAoAEBAvQELZr/AET//wBD
+        //8AQ///AEL//wBB//8AQf//BjKy/wIDCPoAAADCAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAAAMICAwj6Biiy/wAw//8AL///AC///wAu
+        //8ALf//AC3//wQemv8BAQL0AAAAoAAAAFIAAAAFAAAAAAAAAAAAAAAAAAAAAAAAADwAAACeAQEC9AQw
+        mv8ASv//AEn//wBI//8AR///AEf//wBG//8ARf//AEX//wU1uv8CBQv9AAAAxQAAAHIAAAAYAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQIEC/0FLLr/ADb//wA1
+        //8ANP//ADP//wAz//8AMv//ADH//wAx//8EIZr/AQEC9AAAAJ4AAAA8AAAAAAAAAAAAAAAAAAAAAAAA
+        AE8AAADNBR5V/wBP//8ATv//AE7//wBN//8ATP//AEz//wBL//8ASv//AEn//wBJ//8GO8H/AwcP/QAA
+        AMUAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADFAwYP/QYy
+        wf8AO///ADr//wA6//8AOf//ADj//wA4//8AN///ADb//wA1//8ANf//BRZV/wAAAM0AAABPAAAAAAAA
+        AAAAAAAAAAAAAAAAAEIAAACnAQEB+Qg3l/8AU///AFL//wBS//8AUf//AFD//wBQ//8AT///AE7//wBN
+        //8ATf//B0HI/wQIE/0AAADFAAAAcgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAcgAA
+        AMUECBP9BznI/wBB//8AQP//AD///wA+//8APv//AD3//wA8//8APP//ADv//wA6//8IKJf/AQEB+QAA
+        AKcAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAkAAABdAAAArAECA/kJPaL/AFf//wBX//8AVv//AFX//wBU
+        //8AVP//AFP//wBS//8AUv//AFH//wZFz/8DCRf9AAAAzAAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAA
+        ACEAAAB7AAAAzAMJF/0GPs//AEb//wBF//8ARf//AET//wBD//8AQ///AEL//wBB//8AQP//AED//wku
+        ov8BAgP5AAAArAAAAF0AAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAXQAAAKwCAwX5B0Kt/wBb
+        //8AW///AFr//wBZ//8AWP//AFj//wBX//8AVv//AFb//wBV//8ESdb/Awsb/gAAANEAAAB7AAAAIQAA
+        AAAAAAAAAAAAIQAAAHsAAADRAwsb/gRD1v8ATP//AEv//wBK//8ASf//AEn//wBI//8AR///AEf//wBG
+        //8ARf//BzOt/wICBfkAAACsAAAAXQAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA
+        AF0AAACsAQMH+gRHt/8AX///AF///wBe//8AXf//AFz//wBc//8AW///AFr//wBa//8AWf//BE/c/wUP
+        If4AAADRAAAAewAAACEAAAAhAAAAewAAANEFDiH+BErc/wBR//8AUP//AFD//wBP//8ATv//AE7//wBN
+        //8ATP//AEv//wBL//8EOLf/AQMH+gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAoAAABjAAAAuAIFCvsGTr7/AGP//wBj//8AYv//AGH//wBh//8AYP//AF///wBe
+        //8AXv//AF3//wVV4f8FEif+AAAA0QAAAH0AAAB9AAAA0QURJ/4FUOH/AFf//wBW//8AVf//AFT//wBU
+        //8AU///AFL//wBS//8AUf//AFD//wY/vv8CBAr7AAAAuAAAAGMAAAAKAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAABAAAACNAAAApQAAAKUAAACrAAAAywAAAOcBAwX+Ah5I/wAmXv8APpz/AGb//wBf
+        7/8ALXL/ACVe/wA8nP8AYv//AGL//wBh//8FWub/BBMq/gAAAOsAAADwAw0e/wVW5v8AVu//AChy/wAg
+        Wv8AIFr/ACBa/wAfWv8BIF7/ADWc/wBW//8AUO//AyFg/wIDBv4BAQHSAAAAaAAAAB8BAQGNAgICpQIC
+        AqUCAgKhAgICYwAAAAAAAAAAAAAADO7u7s7+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/8DI
+        0/8AP5b/AGbz/8DU8f/+/v7/wMfT/wAucf8AZ///AGf//wBm//8AYPP/wdLv//7+/v/AwcL/ASlq/wBd
+        8//A0vH//v7+//7+/v/+/v7//v7+//7+/v/AxtP/ADaW/wBW8//A0fH//v7+/8TExPoAAAC5AAAAG+3t
+        7c7+/v7//v7+//7+/v/Pz8/sAAAAaQAAAAAAAAAAAAAAFv39/f/9/f3//f39//39/f/9/f3//f39//39
+        /f/9/f3//f39/8DBwv8EW8v/AGbp//39/f/9/f3//f39/wAubf8AbP//AGv//wBr//8AYen//f39//39
+        /f/9/f3/ACxt/wBd6f/9/f3//v7+//7+/v/+/v7//v7+//7+/v/A0vH/AFz0/wNMx//+/v7//v7+//7+
+        /v8AAACXAAAAFv7+/v/+/v7//v7+//7+/v/t7e3OAAAACwAAAAAAAAAAAAAAFvz8/P/8/Pz//Pz8/x4e
+        HqEAAAAWAAAAFgAAABYAAAAmAAAAggAAANIEDhv+BVzF//z8/P/8/Pz//Pz8/wAwbf8Acf//AHD//wBv
+        //8AZen//Pz8//z8/P/8/Pz/AC5t/wBi6f/8/Pz//Pz8//z8/P8TOXD/AF7p/wBe6v8AYfT/BVra/wQN
+        G/79/f3//f39//39/f8AAACSAAAAFv39/f/9/f3//f39/x4eHqEAAAAMAAAAAAAAAAAAAAAAAQEBFvv7
+        +//7+/v/+/v7/wAAAJIAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAHsAAADRBA8b/vv7+//7+/v/+/v7/wAy
+        bf8Adv//AHX//wB0//8Aaen/+/v7//v7+//7+/v/ADBt/wBm6f/7+/v/+/v7//v7+/8ALm3/AGz//wBs
+        //8FYeH/BREh/gAAANj7+/v/+/v7//v7+/8AAABuAAAAFvv7+//7+/v/+/v7/wAAAJIAAAAAAAAAAAAA
+        AAAAAAAAAQEBFvn5+f/5+fn/+fn5/wAAAJkAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB7AAAA0vn5
+        +f/5+fn/+fn5/wAwZv8AePv/AHr//wB5//8Aben/+fn5//n5+f/5+fn/ADJt/wBq6f/5+fn/+fn5//n5
+        +f8ALWb/AG/7/wNo6P8FFCj+AAAA0QAAAIj5+fn/+vr6/9fX1+IAAAAMAQEBFvr6+v/6+vr/+vr6/wAA
+        AJkAAAAEAAAAAAAAAAAAAAAAAgICFvb29v/29vb/9vb2/xsbG7MAAAClAAAApQAAAKUAAAClAAAApQAA
+        AKEAAACBAAAAhPb29v/29vb/9vb2/xM4Xv8ALFr/ACxa/wAsWv8TN17/9vb2//b29v/29vb/ADRt/wBv
+        6f/39/f/9/f3//f39/8TNl7/ASdU/wEJEv8AAADxAAAA0RkZGcD39/f/9/f3/xAQEJkAAAABYmJiMff3
+        9//39/f/9/f3/xsbG7MAAAChAAAAYwAAAAAAAAAAAwMDFvLy8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly
+        8v/y8vL/8vLy/8bGxuwAAABpAQEBN/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz
+        8//z8/P/AEmS/wBz6v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/wAA
+        AG0CAgIL5OTk0vPz8//z8/P/8/Pz//Pz8//Hx8fsAAAAaQAAAAAAAAAAAgICDN7e3s7s7Oz/7Ozs/+zs
+        7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/9/f384CAgILAwMDG+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t
+        7f/t7e3/7e3t/+3t7f+1zub/AH3z/wB98/+1zub/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u
+        7v/u7u7/4eHhzgICAgwCAgIL4eHhzu/v7//v7+//7+/v/+/v7//h4eHOAgICCwAAAAAAAAAAAAAAAAMD
+        AwsFBQUVBgYGFgYGBhYGBgYWBgYGFgYGBhYFBQUWBQUFFQMDAwsAAAAGAQEBXuXl5f/l5eX/5eXl/xNb
+        lP8Agur/AIHp/wCA6f8AgOn/AH/p/wB/6v8Ag/T/AIj//wCH//8AgfT/AHvq/wB66f8Beun/BT90/wAA
+        APYAAACqAQEBYwQEBBsEBAQVAwMDCwAAAAAAAAAAAgICDFVVVTro6Oj/6Ojo/yYmJn0CAgIMAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAABSAAAApKmp
+        qf7b29v/qMXZ/wCM8/8Akv//AJL//wCR//8AkP//AI///wCP//8Ajv//AI3//wCN//8AjP//AIv//wCK
+        //8Aiv//AIn//wZIgf8AAQH0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAUFBQzT09PO09PTzgUF
+        BQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAA
+        AFIAAACgAQEB9AhUhv8Bjev/AJL0/wCX//8Al///AJb//wCW//8Alf//AJT//wCT//8Ak///AJL//wCR
+        //8Akf//AJD//wCP//8Ajv//AI7//wCN//8IUIr/AQEB9AAAAKAAAABSAAAACQAAAAAAAAAAAAAAAAAA
+        AAAFBQULBQUFCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAQAAAAZwAAAKYBAgL0CGCT/wCf//8Anv//AJ3//wCd//8AnP//AJv//wCa//8Amv//AJn//wCY
+        //8AmP//AJf//wCW//8Alf//AJX//wCU//8Ak///AJP//wCS//8Akf//CFeT/wEBAvQAAACmAAAAZwAA
+        ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAABAAAABoAAAAuAECA/sGaJ3/AKT//wCj//8Ao///AKL//wCh//8Aof//AKD//wCf
+        //8Anv//AJ7//wCd//8AnP//AJz//wCb//8Amv//AJn//wCZ//8AmP//AJf//wCX//8Alv//AJX//wZe
+        nf8BAgP7AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGgAAAC4AgQF+wZxpf8Aqv//AKn//wCo//8AqP//AKf//wCm
+        //8Apf//AKX//wCk//8Ao///AKP//wCi//8Aof//AKD//wCg//8An///AJ7//wCe//8Anf//AJz//wCb
+        //8Am///AJr//wCZ//8GZqX/AgQF+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAaAAAALgCBgj7CHuu/wCv//8Arv//AK7//wCt
+        //8ArP//AKz//wCr//8Aqv//AKn//wCp//8AqP//AKf//wpZhP8KWYT/AKX//wCk//8ApP//AKP//wCi
+        //8Aov//AKH//wCg//8An///AJ///wCe//8Anf//CG6u/wIGCPsAAAC4AAAAaAAAABAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABuAAAAuQIIC/sIhLf/ALX//wC0
+        //8As///ALL//wCy//8Asf//ALD//wCw//8Ar///AK7//wCu//8Arf//CWOP/wABAfYAAQH2CWKP/wCp
+        //8AqP//AKj//wCn//8Apv//AKb//wCl//8ApP//AKT//wCj//8Aov//AKH//wh2t/8CCAv7AAAAuQAA
+        AG4AAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADEAgoN/AaO
+        v/8Auv//ALn//wC5//8AuP//ALf//wC3//8Atv//ALX//wC0//8AtP//ALP//wCy//8FbZr/AQEC9AAA
+        AKEAAAChAQEC9AVqmv8Arf//AK3//wCs//8Aq///AKr//wCq//8Aqf//AKj//wCo//8Ap///AKb//wCl
+        //8Gfr//AgkN/AAAAMQAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAA
+        AMUDDhH9BJfH/wDA//8Av///AL7//wC+//8Avf//ALz//wC7//8Au///ALr//wC5//8AuP//ALj//wd3
+        pP8BAgP7AAAAqgAAAFYAAABWAAAAqgECA/sHdKT/ALH//wCx//8AsP//AK///wCu//8Arv//AK3//wCs
+        //8ArP//AKv//wCq//8Aqf//BIXH/wMMEf0AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        ABgAAAByAAAAxQQSFv0GoM3/AMX//wDE//8AxP//AMP//wDC//8Awv//AMH//wDA//8Av///AL///wC+
+        //8Avf//CIGt/wIEBfsAAAC4AAAAZwAAAAsAAAALAAAAZwAAALgCBAX7CH2t/wC1//8Atf//ALT//wCz
+        //8As///ALL//wCx//8AsP//ALD//wCv//8Arv//AK7//waNzf8EEBb9AAAAxQAAAHIAAAAYAAAAAAAA
+        AAAAAAAAAAAAFQAAAHIAAADFBBYa/Qaq0/8Ay///AMr//wDJ//8AyP//AMj//wDH//8Axv//AMb//wDF
+        //8AxP//AMP//wDD//8Hi7b/AgYH+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAEAAAAGgAAAC4AgYH+weG
+        tv8Auf//ALn//wC4//8At///ALf//wC2//8Atf//ALT//wC0//8As///ALL//wCy//8GldP/BBMa/QAA
+        AMUAAAByAAAAFQAAAAAAAAAAAAAASgAAALgDGR79BbPZ/wDQ//8Az///AM///wDO//8Azf//AM3//wDM
+        //8Ay///AMr//wDK//8Ayf//AMj//wSWvv8CCAn8AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
+        ABAAAABoAAAAuAIHCfwEj77/AL7//wC9//8AvP//ALv//wC7//8Auv//ALn//wC5//8AuP//ALf//wC2
+        //8Atv//BZzZ/wMWHv0AAAC4AAAASgAAAAAAAAAAAAAATgAAAMUEPEf/AdD4/wDV//8A1P//ANP//wDT
+        //8A0v//ANH//wDR//8A0P//AM///wDO//8Azv//BqHH/wMLDf0AAADCAAAAagAAABAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAQAAAAagAAAMIDCw39BpjH/wDC//8Awf//AMD//wC///8Av///AL7//wC9
+        //8Avf//ALz//wC7//8Auv//AbX4/wQ0R/8AAADFAAAATgAAAAAAAAAAAAAAJAAAAIMAAADcBEFM/wHU
+        +P8A2f//ANj//wDY//8A1///ANb//wDV//8A1f//ANT//wDT//8HrM//BBAT/QAAAMUAAAByAAAAFwAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAHIAAADFBA8T/Qeiz/8Axv//AMX//wDE
+        //8AxP//AMP//wDC//8Awf//AMH//wDA//8Buvj/BDlM/wAAANwAAACDAAAAJAAAAAAAAAAAAAAAAAAA
+        ACwAAACDAAAA3ARCTP8B2Pj/AN3//wDc//8A3P//ANv//wDa//8A2f//ANn//wW31/8EFBj9AAAAxQAA
+        AHIAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQQT
+        GP0Fq9f/AMr//wDJ//8AyP//AMj//wDH//8Axv//AMX//wHA+P8EO0z/AAAA3AAAAIMAAAAsAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAsAAAAgwAAANwEQ0z/Adz4/wDh//8A4P//AOD//wDf//8A3v//A8He/wIZ
+        Hf4AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAYAAAAcgAAAMUCFx3+A7Te/wDO//8Azf//AMz//wDM//8Ay///AcX4/wQ8TP8AAADcAAAAgwAA
+        ACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcBEVM/wHg+P8A5f//AOT//wDk
+        //8EyuP/BB8i/gAAANEAAAB4AAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAHgAAADRBB0i/gS84/8A0v//ANH//wDQ//8Byvj/BD5M/wAA
+        ANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAACDAAAA3ARF
+        TP8B4vj/AOj//wTT6P8FJSn+AAAA0QAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB7AAAA0QUjKf4Ew+j/ANb//wHQ
+        +P8EQEz/AAAA3AAAAIMAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAsAAAAgwAAANwERUz/BNHm/wUrL/4AAADRAAAAewAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAewAA
+        ANEFKS/+BMXm/wRBTP8AAADcAAAAgwAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcAgoL/QAAANEAAAB7AAAAIQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAIQAAAHsAAADRAgkL/QAAANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAB/AAAAmwAAAHgAAAAhAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB4AAAAmwAAAH8AAAAsAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAIAAA
+        AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAIAAAABMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA/5////n/
+        AAD/D///8P8AAP4H///gfwAA/AP//8A/AAD4Af//gB8AAPAA//8ADwAA4AB//gAHAADgAD/8AAcAAOAA
+        H/gABwAA8AAP8AAPAAD4AAfgAB8AAPwAA8AAPwAA/gABgAB/AADgAAAAAMMAAMAAAAAAgwAAwAAAAACD
+        AADDwAAAAIcAAMPwAAABhwAAw/gAAAGHAADAAAAAAYMAAMAMAAADAwAAwAwAAAMDAAD//AAAP88AAP/4
+        AAAfzwAA//AAAA//AAD/4AAAB/8AAP/AAAAD/wAA/4AAAAH/AAD/AAAAAP8AAP4AAAAAfwAA/AAAAAA/
+        AAD4AAGAAB8AAPAAA8AADwAA4AAH4AAHAADAAA/wAAMAAMAAH/gAAwAAwAA//AADAADgAH/+AAcAAPAA
+        //8ADwAA+AH//4AfAAD8A///wD8AAP4H///gfwAA/w////D/AAD/3///+/8AAP///////wAA////////
+        AAA=
+</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/src/xtm/Program.cs b/src/xtm/Program.cs
new file mode 100644
index 00000000..c9bb7144
--- /dev/null
+++ b/src/xtm/Program.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace thememan
+{
+    static class Program
+    {
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            Application.EnableVisualStyles();
+            Application.SetCompatibleTextRenderingDefault(false);
+            Application.Run(new XTM());
+        }
+    }
+}
diff --git a/src/xtm/Properties/AssemblyInfo.cs b/src/xtm/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..75d92f87
--- /dev/null
+++ b/src/xtm/Properties/AssemblyInfo.cs
@@ -0,0 +1,38 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Resources;
+
+// 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("XChat Theme Manager")]
+[assembly: AssemblyDescription("Manages XChat Themes.")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("thememan")]
+[assembly: AssemblyCopyright("Copyright ©  2012")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("adb04fa6-faee-4dcc-be53-7ba67e74c2a0")]
+
+// 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 Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: NeutralResourcesLanguageAttribute("en-US")]
diff --git a/src/xtm/Properties/Resources.Designer.cs b/src/xtm/Properties/Resources.Designer.cs
new file mode 100644
index 00000000..829857ee
--- /dev/null
+++ b/src/xtm/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.17626
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace thememan.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("thememan.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+    }
+}
diff --git a/src/xtm/Properties/Resources.resources b/src/xtm/Properties/Resources.resources
new file mode 100644
index 00000000..6c05a977
Binary files /dev/null and b/src/xtm/Properties/Resources.resources differ
diff --git a/src/xtm/Properties/Resources.resx b/src/xtm/Properties/Resources.resx
new file mode 100644
index 00000000..1af7de15
--- /dev/null
+++ b/src/xtm/Properties/Resources.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    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">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </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 for serialized 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.Runtime.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:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <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" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </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>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/src/xtm/Properties/Settings.Designer.cs b/src/xtm/Properties/Settings.Designer.cs
new file mode 100644
index 00000000..35939b71
--- /dev/null
+++ b/src/xtm/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.17626
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace thememan.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/src/xtm/Properties/Settings.settings b/src/xtm/Properties/Settings.settings
new file mode 100644
index 00000000..39645652
--- /dev/null
+++ b/src/xtm/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>
diff --git a/src/xtm/README.md b/src/xtm/README.md
new file mode 100644
index 00000000..7f837263
--- /dev/null
+++ b/src/xtm/README.md
@@ -0,0 +1,7 @@
+xchat-theme-manager
+------------------
+
+- Shows previews of and can load/save themes
+- Will run on windows/linux (still wip)
+
+![XTM Screenshot](http://puu.sh/uoZz)
\ No newline at end of file
diff --git a/src/xtm/Resources/xchat.ico b/src/xtm/Resources/xchat.ico
new file mode 100644
index 00000000..0fd65ef1
Binary files /dev/null and b/src/xtm/Resources/xchat.ico differ
diff --git a/src/xtm/app.config b/src/xtm/app.config
new file mode 100644
index 00000000..2f7cce78
--- /dev/null
+++ b/src/xtm/app.config
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<configuration>
+<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/></startup></configuration>
diff --git a/src/xtm/xtm.csproj b/src/xtm/xtm.csproj
new file mode 100644
index 00000000..5acac6de
--- /dev/null
+++ b/src/xtm/xtm.csproj
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
+    <ProductVersion>8.0.30703</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{DE87FFCA-9606-4116-B747-062D88A56A28}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>thememan</RootNamespace>
+    <AssemblyName>thememan</AssemblyName>
+    <FileAlignment>512</FileAlignment>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <AutorunEnabled>true</AutorunEnabled>
+    <ApplicationRevision>1</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <PublishWizardCompleted>true</PublishWizardCompleted>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <PlatformTarget>x86</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>..\..\win32\build\Win32\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>Resources\xchat.ico</ApplicationIcon>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ManifestCertificateThumbprint>25412E3EF25458D894050F8209E4D9DCCDF432D7</ManifestCertificateThumbprint>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ManifestKeyFile>xtm_TemporaryKey.pfx</ManifestKeyFile>
+  </PropertyGroup>
+  <PropertyGroup>
+    <GenerateManifests>false</GenerateManifests>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignManifests>false</SignManifests>
+  </PropertyGroup>
+  <PropertyGroup>
+    <TargetZone>LocalIntranet</TargetZone>
+  </PropertyGroup>
+  <PropertyGroup />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
+    <OutputPath>..\..\win32\build\x64\bin\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <CodeAnalysisLogFile>bin\Release\thememan.exe.CodeAnalysisLog.xml</CodeAnalysisLogFile>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
+    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
+    <CodeAnalysisRuleSetDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets</CodeAnalysisRuleSetDirectories>
+    <CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
+    <CodeAnalysisRuleDirectories>;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules</CodeAnalysisRuleDirectories>
+    <CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
+    <CodeAnalysisFailOnMissingRules>false</CodeAnalysisFailOnMissingRules>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Microsoft.VisualBasic" />
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+    <Reference Include="WindowsBase" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Main.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Main.Designer.cs">
+      <DependentUpon>Main.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Program.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="Main.resx">
+      <DependentUpon>Main.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+      <DesignTime>True</DesignTime>
+    </Compile>
+    <None Include="app.config">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Resources\xchat.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
+      <Visible>False</Visible>
+      <ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/win32/copy/copy.vcxproj b/win32/copy/copy.vcxproj
index a68df4a0..7a3cf9d9 100644
--- a/win32/copy/copy.vcxproj
+++ b/win32/copy/copy.vcxproj
@@ -68,6 +68,7 @@ echo 2&gt; portable-mode
 move portable-mode "$(XChatDest)"
 copy "$(OutDir)\xchat.exe" "$(XChatDest)"
 copy "$(OutDir)\xchat-text.exe" "$(XChatDest)"
+copy "$(OutDir)\thememan.exe" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libatk-1.0-0.dll" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libcairo-2.dll" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libexpat-1.dll" "$(XChatDest)"
@@ -150,6 +151,7 @@ echo 2&gt; portable-mode
 move portable-mode "$(XChatDest)"
 copy "$(OutDir)\xchat.exe" "$(XChatDest)"
 copy "$(OutDir)\xchat-text.exe" "$(XChatDest)"
+copy "$(OutDir)\thememan.exe" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libatk-1.0-0.dll" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libcairo-2.dll" "$(XChatDest)"
 copy "$(DepsRoot)\bin\libexpat-1.dll" "$(XChatDest)"
diff --git a/win32/installer/xchat-wdk-x64.skel.iss b/win32/installer/xchat-wdk-x64.skel.iss
index 915d6607..bff772a7 100644
--- a/win32/installer/xchat-wdk-x64.skel.iss
+++ b/win32/installer/xchat-wdk-x64.skel.iss
@@ -30,6 +30,7 @@ Name: "custom"; Description: "Custom Installation"; Flags: iscustom
 [Components]
 Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed
 Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning
+Name: "xtm"; Description: "XChat Theme Manager (Requires .NET 4.0)"; Types: full custom; Flags: disablenouninstallwarning
 Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning
 ;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning
 ;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning
@@ -176,10 +177,12 @@ Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dl
 
 Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
+Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm
 
 [Icons]
 Name: "{group}\XChat-WDK (x64)"; Filename: "{app}\xchat.exe"; Tasks: not portable
 Name: "{group}\XChat-Text (x64)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable
+Name: "{group}\XChat Theme Manager (x64)"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable
 Name: "{group}\Uninstall XChat-WDK (x64)"; Filename: "{uninstallexe}"; Tasks: not portable
 
 [Messages]
diff --git a/win32/installer/xchat-wdk-x86.skel.iss b/win32/installer/xchat-wdk-x86.skel.iss
index 748c2b19..1653e395 100644
--- a/win32/installer/xchat-wdk-x86.skel.iss
+++ b/win32/installer/xchat-wdk-x86.skel.iss
@@ -29,6 +29,7 @@ Name: "custom"; Description: "Custom Installation"; Flags: iscustom
 [Components]
 Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed
 Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning
+Name: "xtm"; Description: "XChat Theme Manager (Requires .NET 4.0)"; Types: full custom; Flags: disablenouninstallwarning
 Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning
 ;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning
 ;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning
@@ -179,10 +180,12 @@ Source: "plugins\xcperl-516.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dl
 
 Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs
 Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext
+Source: "thememan.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xtm
 
 [Icons]
 Name: "{group}\XChat-WDK (x86)"; Filename: "{app}\xchat.exe"; Tasks: not portable
 Name: "{group}\XChat-Text (x86)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable
+Name: "{group}\XChat Theme Manager (x86)"; Filename: "{app}\thememan.exe"; Components: xtm; Tasks: not portable
 Name: "{group}\Uninstall XChat-WDK (x86)"; Filename: "{uninstallexe}"; Tasks: not portable
 
 [Messages]
diff --git a/win32/xchat.sln b/win32/xchat.sln
index ef7a3000..42969f38 100644
--- a/win32/xchat.sln
+++ b/win32/xchat.sln
@@ -110,6 +110,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "copy", "copy\copy.vcxproj",
 		{E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE} = {E78C0D9A-798E-4BF6-B0CC-6FECB8CA2FCE}
 		{18871EBA-AC85-4652-8919-EB8064B9A714} = {18871EBA-AC85-4652-8919-EB8064B9A714}
 		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82} = {E4BDB4C8-2335-415A-ACEE-BA88B19BFE82}
+		{DE87FFCA-9606-4116-B747-062D88A56A28} = {DE87FFCA-9606-4116-B747-062D88A56A28}
 		{3C4F42FC-292A-420B-B63D-C03DFBDD8E4E} = {3C4F42FC-292A-420B-B63D-C03DFBDD8E4E}
 	EndProjectSection
 EndProject
@@ -118,6 +119,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "installer\inst
 		{C9B735E4-75BC-45AC-A5E3-39A6D076F912} = {C9B735E4-75BC-45AC-A5E3-39A6D076F912}
 	EndProjectSection
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xtm", "..\src\xtm\xtm.csproj", "{DE87FFCA-9606-4116-B747-062D88A56A28}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Release|Win32 = Release|Win32
@@ -232,6 +235,9 @@ Global
 		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|Win32.Build.0 = Release|Win32
 		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|x64.ActiveCfg = Release|x64
 		{5A0F4962-E670-4DA2-9E45-52CC47F26E2F}.Release|x64.Build.0 = Release|x64
+		{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|Win32.ActiveCfg = Release|x86
+		{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.ActiveCfg = Release|x64
+		{DE87FFCA-9606-4116-B747-062D88A56A28}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -241,6 +247,7 @@ Global
 		{E4BDB4C8-2335-415A-ACEE-BA88B19BFE82} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
 		{E93E1255-95D1-4B08-8FDF-B53CC6A21280} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
 		{87554B59-006C-4D94-9714-897B27067BA3} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
+		{DE87FFCA-9606-4116-B747-062D88A56A28} = {AAACEB12-9475-410E-AF5A-FDFF907E9043}
 		{6CD3647E-4541-4849-9DD7-C8816665AE42} = {BB051F0F-A841-4A9A-BAF6-51DD9866D65A}
 		{98B56DF9-E4F1-4696-A565-5F7823CF214D} = {BB051F0F-A841-4A9A-BAF6-51DD9866D65A}
 		{4980AF24-9D42-427D-A8E6-0DF3B97C455D} = {561126F4-FA18-45FC-A2BF-8F858F161D6D}
-- 
cgit 1.4.1


From 9d9c24c8d347aa44efbd63e8f8c8dfb5b3cddedb Mon Sep 17 00:00:00 2001
From: Berke Viktor <berkeviktor@aol.com>
Date: Sun, 17 Jun 2012 10:08:39 +0200
Subject: Another bunch of fixes and additions to the XTM

---
 src/xtm/Main.Designer.cs               |  31 +++-
 src/xtm/Main.cs                        |  99 +++++++----
 src/xtm/Main.resx                      | 302 ++++++++++++++++-----------------
 src/xtm/Resources/xchat.ico            | Bin 26694 -> 0 bytes
 src/xtm/Resources/xtm.ico              | Bin 0 -> 9662 bytes
 src/xtm/xtm.csproj                     |   4 +-
 win32/installer/xchat-wdk-x64.skel.iss |   7 +
 win32/installer/xchat-wdk-x86.skel.iss |   7 +
 8 files changed, 259 insertions(+), 191 deletions(-)
 delete mode 100644 src/xtm/Resources/xchat.ico
 create mode 100644 src/xtm/Resources/xtm.ico

(limited to 'win32/installer')

diff --git a/src/xtm/Main.Designer.cs b/src/xtm/Main.Designer.cs
index d81aa215..6a7c9cf1 100644
--- a/src/xtm/Main.Designer.cs
+++ b/src/xtm/Main.Designer.cs
@@ -51,6 +51,7 @@
             this.importbutton = new System.Windows.Forms.Button();
             this.applybutton = new System.Windows.Forms.Button();
             this.themecolorfgmarked = new System.Windows.Forms.Label();
+            this.deleteButton = new System.Windows.Forms.Button();
             this.SuspendLayout();
             // 
             // themelist
@@ -58,7 +59,7 @@
             this.themelist.FormattingEnabled = true;
             this.themelist.Location = new System.Drawing.Point(12, 12);
             this.themelist.Name = "themelist";
-            this.themelist.Size = new System.Drawing.Size(154, 199);
+            this.themelist.Size = new System.Drawing.Size(160, 199);
             this.themelist.TabIndex = 0;
             this.themelist.SelectedIndexChanged += new System.EventHandler(this.theme_selected);
             // 
@@ -209,20 +210,20 @@
             // 
             // importbutton
             // 
-            this.importbutton.Location = new System.Drawing.Point(90, 220);
+            this.importbutton.Location = new System.Drawing.Point(12, 217);
             this.importbutton.Name = "importbutton";
-            this.importbutton.Size = new System.Drawing.Size(60, 23);
-            this.importbutton.TabIndex = 2;
-            this.importbutton.Text = "Import...";
+            this.importbutton.Size = new System.Drawing.Size(52, 23);
+            this.importbutton.TabIndex = 1;
+            this.importbutton.Text = "Add...";
             this.importbutton.UseVisualStyleBackColor = true;
             this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1);
             // 
             // applybutton
             // 
-            this.applybutton.Location = new System.Drawing.Point(23, 220);
+            this.applybutton.Location = new System.Drawing.Point(120, 217);
             this.applybutton.Name = "applybutton";
-            this.applybutton.Size = new System.Drawing.Size(60, 23);
-            this.applybutton.TabIndex = 1;
+            this.applybutton.Size = new System.Drawing.Size(52, 23);
+            this.applybutton.TabIndex = 3;
             this.applybutton.Text = "Apply";
             this.applybutton.UseVisualStyleBackColor = true;
             this.applybutton.Click += new System.EventHandler(this.applybutton_Click_1);
@@ -236,11 +237,22 @@
             this.themecolorfgmarked.TabIndex = 22;
             this.themecolorfgmarked.Text = "Marked Text";
             // 
+            // deleteButton
+            // 
+            this.deleteButton.Location = new System.Drawing.Point(66, 217);
+            this.deleteButton.Name = "deleteButton";
+            this.deleteButton.Size = new System.Drawing.Size(52, 23);
+            this.deleteButton.TabIndex = 2;
+            this.deleteButton.Text = "Delete";
+            this.deleteButton.UseVisualStyleBackColor = true;
+            this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
+            // 
             // XTM
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.ClientSize = new System.Drawing.Size(397, 248);
+            this.Controls.Add(this.deleteButton);
             this.Controls.Add(this.themecolorfgmarked);
             this.Controls.Add(this.themecolorfg);
             this.Controls.Add(this.themecolorf);
@@ -297,7 +309,8 @@
         private System.Windows.Forms.Label themecolortextbg;
         private System.Windows.Forms.Button importbutton;
         private System.Windows.Forms.Button applybutton;
-        private System.Windows.Forms.Label themecolorfgmarked;
+        private System.Windows.Forms.Label themecolorfgmarked;
+        private System.Windows.Forms.Button deleteButton;
     }
 }
 
diff --git a/src/xtm/Main.cs b/src/xtm/Main.cs
index 3beac477..2e10c650 100644
--- a/src/xtm/Main.cs
+++ b/src/xtm/Main.cs
@@ -58,6 +58,13 @@ namespace thememan
 				Console.WriteLine("Install not found");
 
             ListThemes();
+
+            String[] arguments = Environment.GetCommandLineArgs();
+            if (arguments.Length > 1)
+            {
+                FileInfo fi = new FileInfo(arguments[1]);
+                attemptImport(fi);
+            }
         }
 
         private void ListThemes()
@@ -79,6 +86,7 @@ namespace thememan
             if (themelist.Items.Count == 0)
             {
                 applybutton.Enabled = false;
+                deleteButton.Enabled = false;
             }
             else
             {
@@ -155,6 +163,7 @@ namespace thememan
             {
                 ShowColors(ReadTheme(themelist.SelectedItem.ToString()));
                 applybutton.Enabled = true;
+                deleteButton.Enabled = true;
             }
         }
 
@@ -170,6 +179,11 @@ namespace thememan
         private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
         {
             FileInfo fi = new FileInfo(importDialog.FileName);
+            attemptImport(fi);
+        }
+
+        private void attemptImport(FileInfo fi)
+        {
             string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length);
             int result = extractTheme(fi);
             ListThemes();
@@ -178,16 +192,20 @@ namespace thememan
             {
                 case 0:
                     themelist.SetSelected(themelist.FindStringExact(themeName), true);
+                    /* required for command line invoking */
+                    ShowColors(ReadTheme(themeName));
                     break;
                 case 1:
-                    MessageBox.Show("This theme is already installed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+                    MessageBox.Show("This theme is already installed!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+                    themelist.SetSelected(themelist.FindStringExact(themeName), true);
+                    /* required for command line invoking */
+                    ShowColors(ReadTheme(themeName));
                     break;
                 case 2:
                     MessageBox.Show("Invalid theme file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     break;
             }
         }
-
         /* gzip solution, not good enough coz we need multiple files
          * 
         public string extractTheme(FileInfo fi)
@@ -226,43 +244,52 @@ namespace thememan
             string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length);
             string destFolder = xchatdir + themedir + themeName;
 
-            using (Package zip = Package.Open(zipFile.FullName, FileMode.Open))
+            try
             {
-                PackagePartCollection parts = zip.GetParts();
-
-                if (Directory.Exists(destFolder))
-                {
-                    return 1;
-                }
-                else
+                using (Package zip = Package.Open(zipFile.FullName, FileMode.Open))
                 {
-                    Directory.CreateDirectory(destFolder);
-                }
+                    PackagePartCollection parts = zip.GetParts();
 
-                foreach (PackagePart part in parts)
-                {
-                    /* not sure what's this good for */
-                    /* String archive = part.Uri.ToString().Replace(@"/", @"\"); */
-                    String destFile = destFolder + part.Uri.ToString();
+                    if (Directory.Exists(destFolder))
+                    {
+                        return 1;
+                    }
+                    else
+                    {
+                        Directory.CreateDirectory(destFolder);
+                    }
 
-                    using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite))
+                    foreach (PackagePart part in parts)
                     {
-                        using (Stream inStream = part.GetStream())
-                        {
-                            long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE;
-                            byte[] buffer = new byte[bufferSize];
-                            int bytesRead = 0;
-                            long bytesWritten = 0;
-
-                            while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0)
+                        /* not sure what's this good for */
+                        /* String archive = part.Uri.ToString().Replace(@"/", @"\"); */
+                        String destFile = destFolder + part.Uri.ToString();
+
+                            using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite))
                             {
-                                outFileStream.Write(buffer, 0, bytesRead);
-                                bytesWritten += bufferSize;
+                                using (Stream inStream = part.GetStream())
+                                {
+                                    long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE;
+                                    byte[] buffer = new byte[bufferSize];
+                                    int bytesRead = 0;
+                                    long bytesWritten = 0;
+
+                                    while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0)
+                                    {
+                                        outFileStream.Write(buffer, 0, bytesRead);
+                                        bytesWritten += bufferSize;
+                                    }
+                                }
                             }
-                        }
+
+
                     }
                 }
             }
+            catch (System.IO.FileFormatException)
+            {
+                return 2;
+            }
 
             if (IsDirectoryEmpty(destFolder))
             {
@@ -280,6 +307,20 @@ namespace thememan
             return !Directory.EnumerateFileSystemEntries(path).Any();
         }
 
+        private void deleteButton_Click(object sender, EventArgs e)
+        {
+            DialogResult result = MessageBox.Show("Are you sure you want to delete this theme from the theme repo?\n\nYour currently applied theme won't be affected.", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
+            if (result == DialogResult.OK)
+            {
+                Directory.Delete(xchatdir + themedir + themelist.SelectedItem.ToString(), true);
+                ListThemes();
+                if (themelist.Items.Count == 0)
+                {
+                    deleteButton.Enabled = false;
+                }
+            }
+        }
+
 
 
     }
diff --git a/src/xtm/Main.resx b/src/xtm/Main.resx
index 8faf1309..75c99568 100644
--- a/src/xtm/Main.resx
+++ b/src/xtm/Main.resx
@@ -124,163 +124,163 @@
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAEgAA
-        AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEgAAABAAAAABAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
-        AE0AAACDAAAAiQAAAFsAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABbAAAAiQAA
-        AIMAAABNAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAGAAAAUgAAAKAAAADwAAAA9gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA
-        AF0AAACsAAAA9gAAAPAAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAYAAABSAAAAoAEBAvQFI5n/BiSZ/wEBA/kAAACsAAAAXQAAAAoAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAKAAAAXQAAAKwBAQP5BhuZ/wUamf8BAQL0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAFIAAACgAQEC9AQmmv8AOf//ADj//wcpov8CAgX5AAAArAAA
-        AF0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAoAAABdAAAArAICBfkHHqL/ACb//wAl//8EGpr/AQEC9AAAAKAAAABSAAAABgAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAUgAAAKABAQL0BCqa/wA///8APv//AD3//wA8
-        //8ILqr/AgMG+QAAAKwAAABmAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAGYAAACsAgMG+Qgkqv8AK///ACr//wAp//8AKP//BBya/wEB
-        AvQAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABSAAAAoAEBAvQELZr/AET//wBD
-        //8AQ///AEL//wBB//8AQf//BjKy/wIDCPoAAADCAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAAAMICAwj6Biiy/wAw//8AL///AC///wAu
-        //8ALf//AC3//wQemv8BAQL0AAAAoAAAAFIAAAAFAAAAAAAAAAAAAAAAAAAAAAAAADwAAACeAQEC9AQw
-        mv8ASv//AEn//wBI//8AR///AEf//wBG//8ARf//AEX//wU1uv8CBQv9AAAAxQAAAHIAAAAYAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQIEC/0FLLr/ADb//wA1
-        //8ANP//ADP//wAz//8AMv//ADH//wAx//8EIZr/AQEC9AAAAJ4AAAA8AAAAAAAAAAAAAAAAAAAAAAAA
-        AE8AAADNBR5V/wBP//8ATv//AE7//wBN//8ATP//AEz//wBL//8ASv//AEn//wBJ//8GO8H/AwcP/QAA
-        AMUAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADFAwYP/QYy
-        wf8AO///ADr//wA6//8AOf//ADj//wA4//8AN///ADb//wA1//8ANf//BRZV/wAAAM0AAABPAAAAAAAA
-        AAAAAAAAAAAAAAAAAEIAAACnAQEB+Qg3l/8AU///AFL//wBS//8AUf//AFD//wBQ//8AT///AE7//wBN
-        //8ATf//B0HI/wQIE/0AAADFAAAAcgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAcgAA
-        AMUECBP9BznI/wBB//8AQP//AD///wA+//8APv//AD3//wA8//8APP//ADv//wA6//8IKJf/AQEB+QAA
-        AKcAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAkAAABdAAAArAECA/kJPaL/AFf//wBX//8AVv//AFX//wBU
-        //8AVP//AFP//wBS//8AUv//AFH//wZFz/8DCRf9AAAAzAAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAA
-        ACEAAAB7AAAAzAMJF/0GPs//AEb//wBF//8ARf//AET//wBD//8AQ///AEL//wBB//8AQP//AED//wku
-        ov8BAgP5AAAArAAAAF0AAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAXQAAAKwCAwX5B0Kt/wBb
-        //8AW///AFr//wBZ//8AWP//AFj//wBX//8AVv//AFb//wBV//8ESdb/Awsb/gAAANEAAAB7AAAAIQAA
-        AAAAAAAAAAAAIQAAAHsAAADRAwsb/gRD1v8ATP//AEv//wBK//8ASf//AEn//wBI//8AR///AEf//wBG
-        //8ARf//BzOt/wICBfkAAACsAAAAXQAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA
-        AF0AAACsAQMH+gRHt/8AX///AF///wBe//8AXf//AFz//wBc//8AW///AFr//wBa//8AWf//BE/c/wUP
-        If4AAADRAAAAewAAACEAAAAhAAAAewAAANEFDiH+BErc/wBR//8AUP//AFD//wBP//8ATv//AE7//wBN
-        //8ATP//AEv//wBL//8EOLf/AQMH+gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAoAAABjAAAAuAIFCvsGTr7/AGP//wBj//8AYv//AGH//wBh//8AYP//AF///wBe
-        //8AXv//AF3//wVV4f8FEif+AAAA0QAAAH0AAAB9AAAA0QURJ/4FUOH/AFf//wBW//8AVf//AFT//wBU
-        //8AU///AFL//wBS//8AUf//AFD//wY/vv8CBAr7AAAAuAAAAGMAAAAKAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAABAAAACNAAAApQAAAKUAAACrAAAAywAAAOcBAwX+Ah5I/wAmXv8APpz/AGb//wBf
-        7/8ALXL/ACVe/wA8nP8AYv//AGL//wBh//8FWub/BBMq/gAAAOsAAADwAw0e/wVW5v8AVu//AChy/wAg
-        Wv8AIFr/ACBa/wAfWv8BIF7/ADWc/wBW//8AUO//AyFg/wIDBv4BAQHSAAAAaAAAAB8BAQGNAgICpQIC
-        AqUCAgKhAgICYwAAAAAAAAAAAAAADO7u7s7+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/8DI
-        0/8AP5b/AGbz/8DU8f/+/v7/wMfT/wAucf8AZ///AGf//wBm//8AYPP/wdLv//7+/v/AwcL/ASlq/wBd
-        8//A0vH//v7+//7+/v/+/v7//v7+//7+/v/AxtP/ADaW/wBW8//A0fH//v7+/8TExPoAAAC5AAAAG+3t
-        7c7+/v7//v7+//7+/v/Pz8/sAAAAaQAAAAAAAAAAAAAAFv39/f/9/f3//f39//39/f/9/f3//f39//39
-        /f/9/f3//f39/8DBwv8EW8v/AGbp//39/f/9/f3//f39/wAubf8AbP//AGv//wBr//8AYen//f39//39
-        /f/9/f3/ACxt/wBd6f/9/f3//v7+//7+/v/+/v7//v7+//7+/v/A0vH/AFz0/wNMx//+/v7//v7+//7+
-        /v8AAACXAAAAFv7+/v/+/v7//v7+//7+/v/t7e3OAAAACwAAAAAAAAAAAAAAFvz8/P/8/Pz//Pz8/x4e
-        HqEAAAAWAAAAFgAAABYAAAAmAAAAggAAANIEDhv+BVzF//z8/P/8/Pz//Pz8/wAwbf8Acf//AHD//wBv
-        //8AZen//Pz8//z8/P/8/Pz/AC5t/wBi6f/8/Pz//Pz8//z8/P8TOXD/AF7p/wBe6v8AYfT/BVra/wQN
-        G/79/f3//f39//39/f8AAACSAAAAFv39/f/9/f3//f39/x4eHqEAAAAMAAAAAAAAAAAAAAAAAQEBFvv7
-        +//7+/v/+/v7/wAAAJIAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAHsAAADRBA8b/vv7+//7+/v/+/v7/wAy
-        bf8Adv//AHX//wB0//8Aaen/+/v7//v7+//7+/v/ADBt/wBm6f/7+/v/+/v7//v7+/8ALm3/AGz//wBs
-        //8FYeH/BREh/gAAANj7+/v/+/v7//v7+/8AAABuAAAAFvv7+//7+/v/+/v7/wAAAJIAAAAAAAAAAAAA
-        AAAAAAAAAQEBFvn5+f/5+fn/+fn5/wAAAJkAAAAEAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB7AAAA0vn5
-        +f/5+fn/+fn5/wAwZv8AePv/AHr//wB5//8Aben/+fn5//n5+f/5+fn/ADJt/wBq6f/5+fn/+fn5//n5
-        +f8ALWb/AG/7/wNo6P8FFCj+AAAA0QAAAIj5+fn/+vr6/9fX1+IAAAAMAQEBFvr6+v/6+vr/+vr6/wAA
-        AJkAAAAEAAAAAAAAAAAAAAAAAgICFvb29v/29vb/9vb2/xsbG7MAAAClAAAApQAAAKUAAAClAAAApQAA
-        AKEAAACBAAAAhPb29v/29vb/9vb2/xM4Xv8ALFr/ACxa/wAsWv8TN17/9vb2//b29v/29vb/ADRt/wBv
-        6f/39/f/9/f3//f39/8TNl7/ASdU/wEJEv8AAADxAAAA0RkZGcD39/f/9/f3/xAQEJkAAAABYmJiMff3
-        9//39/f/9/f3/xsbG7MAAAChAAAAYwAAAAAAAAAAAwMDFvLy8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly
-        8v/y8vL/8vLy/8bGxuwAAABpAQEBN/Ly8v/y8vL/8vLy//Ly8v/y8vL/8vLy//Ly8v/y8vL/8/Pz//Pz
-        8//z8/P/AEmS/wBz6v/z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz/wAA
-        AG0CAgIL5OTk0vPz8//z8/P/8/Pz//Pz8//Hx8fsAAAAaQAAAAAAAAAAAgICDN7e3s7s7Oz/7Ozs/+zs
-        7P/s7Oz/7Ozs/+zs7P/s7Oz/7Ozs/9/f384CAgILAwMDG+3t7f/t7e3/7e3t/+3t7f/t7e3/7e3t/+3t
-        7f/t7e3/7e3t/+3t7f+1zub/AH3z/wB98/+1zub/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u
-        7v/u7u7/4eHhzgICAgwCAgIL4eHhzu/v7//v7+//7+/v/+/v7//h4eHOAgICCwAAAAAAAAAAAAAAAAMD
-        AwsFBQUVBgYGFgYGBhYGBgYWBgYGFgYGBhYFBQUWBQUFFQMDAwsAAAAGAQEBXuXl5f/l5eX/5eXl/xNb
-        lP8Agur/AIHp/wCA6f8AgOn/AH/p/wB/6v8Ag/T/AIj//wCH//8AgfT/AHvq/wB66f8Beun/BT90/wAA
-        APYAAACqAQEBYwQEBBsEBAQVAwMDCwAAAAAAAAAAAgICDFVVVTro6Oj/6Ojo/yYmJn0CAgIMAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAABSAAAApKmp
-        qf7b29v/qMXZ/wCM8/8Akv//AJL//wCR//8AkP//AI///wCP//8Ajv//AI3//wCN//8AjP//AIv//wCK
-        //8Aiv//AIn//wZIgf8AAQH0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAUFBQzT09PO09PTzgUF
-        BQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAA
-        AFIAAACgAQEB9AhUhv8Bjev/AJL0/wCX//8Al///AJb//wCW//8Alf//AJT//wCT//8Ak///AJL//wCR
-        //8Akf//AJD//wCP//8Ajv//AI7//wCN//8IUIr/AQEB9AAAAKAAAABSAAAACQAAAAAAAAAAAAAAAAAA
-        AAAFBQULBQUFCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAQAAAAZwAAAKYBAgL0CGCT/wCf//8Anv//AJ3//wCd//8AnP//AJv//wCa//8Amv//AJn//wCY
-        //8AmP//AJf//wCW//8Alf//AJX//wCU//8Ak///AJP//wCS//8Akf//CFeT/wEBAvQAAACmAAAAZwAA
-        ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAABAAAABoAAAAuAECA/sGaJ3/AKT//wCj//8Ao///AKL//wCh//8Aof//AKD//wCf
-        //8Anv//AJ7//wCd//8AnP//AJz//wCb//8Amv//AJn//wCZ//8AmP//AJf//wCX//8Alv//AJX//wZe
-        nf8BAgP7AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGgAAAC4AgQF+wZxpf8Aqv//AKn//wCo//8AqP//AKf//wCm
-        //8Apf//AKX//wCk//8Ao///AKP//wCi//8Aof//AKD//wCg//8An///AJ7//wCe//8Anf//AJz//wCb
-        //8Am///AJr//wCZ//8GZqX/AgQF+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAaAAAALgCBgj7CHuu/wCv//8Arv//AK7//wCt
-        //8ArP//AKz//wCr//8Aqv//AKn//wCp//8AqP//AKf//wpZhP8KWYT/AKX//wCk//8ApP//AKP//wCi
-        //8Aov//AKH//wCg//8An///AJ///wCe//8Anf//CG6u/wIGCPsAAAC4AAAAaAAAABAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABuAAAAuQIIC/sIhLf/ALX//wC0
-        //8As///ALL//wCy//8Asf//ALD//wCw//8Ar///AK7//wCu//8Arf//CWOP/wABAfYAAQH2CWKP/wCp
-        //8AqP//AKj//wCn//8Apv//AKb//wCl//8ApP//AKT//wCj//8Aov//AKH//wh2t/8CCAv7AAAAuQAA
-        AG4AAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADEAgoN/AaO
-        v/8Auv//ALn//wC5//8AuP//ALf//wC3//8Atv//ALX//wC0//8AtP//ALP//wCy//8FbZr/AQEC9AAA
-        AKEAAAChAQEC9AVqmv8Arf//AK3//wCs//8Aq///AKr//wCq//8Aqf//AKj//wCo//8Ap///AKb//wCl
-        //8Gfr//AgkN/AAAAMQAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAA
-        AMUDDhH9BJfH/wDA//8Av///AL7//wC+//8Avf//ALz//wC7//8Au///ALr//wC5//8AuP//ALj//wd3
-        pP8BAgP7AAAAqgAAAFYAAABWAAAAqgECA/sHdKT/ALH//wCx//8AsP//AK///wCu//8Arv//AK3//wCs
-        //8ArP//AKv//wCq//8Aqf//BIXH/wMMEf0AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        ABgAAAByAAAAxQQSFv0GoM3/AMX//wDE//8AxP//AMP//wDC//8Awv//AMH//wDA//8Av///AL///wC+
-        //8Avf//CIGt/wIEBfsAAAC4AAAAZwAAAAsAAAALAAAAZwAAALgCBAX7CH2t/wC1//8Atf//ALT//wCz
-        //8As///ALL//wCx//8AsP//ALD//wCv//8Arv//AK7//waNzf8EEBb9AAAAxQAAAHIAAAAYAAAAAAAA
-        AAAAAAAAAAAAFQAAAHIAAADFBBYa/Qaq0/8Ay///AMr//wDJ//8AyP//AMj//wDH//8Axv//AMb//wDF
-        //8AxP//AMP//wDD//8Hi7b/AgYH+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAEAAAAGgAAAC4AgYH+weG
-        tv8Auf//ALn//wC4//8At///ALf//wC2//8Atf//ALT//wC0//8As///ALL//wCy//8GldP/BBMa/QAA
-        AMUAAAByAAAAFQAAAAAAAAAAAAAASgAAALgDGR79BbPZ/wDQ//8Az///AM///wDO//8Azf//AM3//wDM
-        //8Ay///AMr//wDK//8Ayf//AMj//wSWvv8CCAn8AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
-        ABAAAABoAAAAuAIHCfwEj77/AL7//wC9//8AvP//ALv//wC7//8Auv//ALn//wC5//8AuP//ALf//wC2
-        //8Atv//BZzZ/wMWHv0AAAC4AAAASgAAAAAAAAAAAAAATgAAAMUEPEf/AdD4/wDV//8A1P//ANP//wDT
-        //8A0v//ANH//wDR//8A0P//AM///wDO//8Azv//BqHH/wMLDf0AAADCAAAAagAAABAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAQAAAAagAAAMIDCw39BpjH/wDC//8Awf//AMD//wC///8Av///AL7//wC9
-        //8Avf//ALz//wC7//8Auv//AbX4/wQ0R/8AAADFAAAATgAAAAAAAAAAAAAAJAAAAIMAAADcBEFM/wHU
-        +P8A2f//ANj//wDY//8A1///ANb//wDV//8A1f//ANT//wDT//8HrM//BBAT/QAAAMUAAAByAAAAFwAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAHIAAADFBA8T/Qeiz/8Axv//AMX//wDE
-        //8AxP//AMP//wDC//8Awf//AMH//wDA//8Buvj/BDlM/wAAANwAAACDAAAAJAAAAAAAAAAAAAAAAAAA
-        ACwAAACDAAAA3ARCTP8B2Pj/AN3//wDc//8A3P//ANv//wDa//8A2f//ANn//wW31/8EFBj9AAAAxQAA
-        AHIAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQQT
-        GP0Fq9f/AMr//wDJ//8AyP//AMj//wDH//8Axv//AMX//wHA+P8EO0z/AAAA3AAAAIMAAAAsAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAsAAAAgwAAANwEQ0z/Adz4/wDh//8A4P//AOD//wDf//8A3v//A8He/wIZ
-        Hf4AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAYAAAAcgAAAMUCFx3+A7Te/wDO//8Azf//AMz//wDM//8Ay///AcX4/wQ8TP8AAADcAAAAgwAA
-        ACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcBEVM/wHg+P8A5f//AOT//wDk
-        //8EyuP/BB8i/gAAANEAAAB4AAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAHgAAADRBB0i/gS84/8A0v//ANH//wDQ//8Byvj/BD5M/wAA
-        ANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAACDAAAA3ARF
-        TP8B4vj/AOj//wTT6P8FJSn+AAAA0QAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB7AAAA0QUjKf4Ew+j/ANb//wHQ
-        +P8EQEz/AAAA3AAAAIMAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAsAAAAgwAAANwERUz/BNHm/wUrL/4AAADRAAAAewAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAewAA
-        ANEFKS/+BMXm/wRBTP8AAADcAAAAgwAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcAgoL/QAAANEAAAB7AAAAIQAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAIQAAAHsAAADRAgkL/QAAANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAB/AAAAmwAAAHgAAAAhAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB4AAAAmwAAAH8AAAAsAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAIAAA
-        AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAIAAAABMAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAHAAAACQAAAAgAAAAFAAAAAgAAAAEAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
         AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA/5////n/
-        AAD/D///8P8AAP4H///gfwAA/AP//8A/AAD4Af//gB8AAPAA//8ADwAA4AB//gAHAADgAD/8AAcAAOAA
-        H/gABwAA8AAP8AAPAAD4AAfgAB8AAPwAA8AAPwAA/gABgAB/AADgAAAAAMMAAMAAAAAAgwAAwAAAAACD
-        AADDwAAAAIcAAMPwAAABhwAAw/gAAAGHAADAAAAAAYMAAMAMAAADAwAAwAwAAAMDAAD//AAAP88AAP/4
-        AAAfzwAA//AAAA//AAD/4AAAB/8AAP/AAAAD/wAA/4AAAAH/AAD/AAAAAP8AAP4AAAAAfwAA/AAAAAA/
-        AAD4AAGAAB8AAPAAA8AADwAA4AAH4AAHAADAAA/wAAMAAMAAH/gAAwAAwAA//AADAADgAH/+AAcAAPAA
-        //8ADwAA+AH//4AfAAD8A///wD8AAP4H///gfwAA/w////D/AAD/3///+/8AAP///////wAA////////
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABwAAABEBAQEbBAQEIQICAh4AAAAVAAAACwAA
+        AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAFwMDAywDAwM/AwMDSQUF
+        BUUEBAQ1AQEBHwAAAA0AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAZAgICRQMD
+        A3IBAQGDAQEBegICA20EBARYBAQEOgEBARsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
+        ABQEBARjGhsZricnJcsXFxbYBgYGzgAAAJwCAgJwBQUFTwICAioAAAANAAAAAgAAAAAAAAAAAAAAAAAA
+        AAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAQAA
+        AAEAAAABAAAABQMDAlM8Pjqcp6ug17O3rPiFiID3NTcz6QEBAdMBAQGPBAQEWgICAjQAAAATAAAABAAA
+        AAEAAAABAAAAAgAAAAUAAAAHAAAACAAAAAcAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADAAA
+        AA0AAAAMAAAACwAAAAgAAAAGAQEBGRcYF3uqrqPU3ePV+MrPwv+usqf+b3Ns8QcHB+QAAACnBAQEYAQE
+        BDsAAAAYAAAABwAAAAUAAAAIAAAADgAAABUCAgIdAgICIAEBARwAAAASAAAACQAAAAMAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADgEB
+        ARkDAwMiAgICJwICAikCAgIoAgICJQAAAB8AAAAXAQIBTmFjXaTX3c/p4uja/9bczv/Cx7v+en127hMU
+        E+QAAAC3BAQEZQQEBD4AAAAfAAAAEgAAABUBAQEeAgICKgICAjcCAgNEAwMDSAQEBEACAgIuAQEBGQAA
+        AAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
+        AAUAAAARAwMDJgMDAzsDAwNJAgICTwICAlICAgJTBAQETwMDA0cEAwQ5AgICd5WZj9vq8OL54ObY/9/l
+        1//Kz8P/fYF57BscGt4AAADBAgICbAMDA0UAAAAwAAAALQICAjcCAgJNAgICbgICAoUBAQGJAQEBeAIC
+        AmQDAwNMBAQELQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAgAAAA0AAAA0AgICbAICAo8CAgGbAQEBngAAAJkBAQGOAgICfAMDA28CAgJfAgICjJyf
+        lufo7d/+5Orc/+Pp2v/Gy7//io2F6SEiINQAAADDAQEBcwMDA1UCAgJSAwMDaQYGBosSExKePD46vjw9
+        OtYTFBPTAgICuwAAAJADAwNdBAQEOQICAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAQEBBwYGBkgZGhiOJSYkszAxLsgsLSvRHyAe2RESEd0KCgrdAgICzwAA
+        ALQAAACKAgICoJygl+ru9OX+6/Hi/+Dl2P7N0sb/jJCI6hscGtEAAADBAgIBgwcHB4MTExKmMzQwvXh8
+        dM2hpZvms7mt9Kito/qEiH/2IiMg3QICAr0BAQJrAwMDNgAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQUFGS8wLYO1uq/Yyc/C8sLHu/awtan4n6OZ+pGV
+        jPtydW70Li8s4RUVFNoCAgLGAQEBvZGUjOjt8+X86O7g/+Xq3P/S18r/g4Z+7A8PDs4EBATFGxwax0dI
+        RM6RlIvjvsK29sXKvfi6vrL9w8m8/8TJvf+mq6D7UFJN3gUGBb4BAQFqAgICKAAAAA8AAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAAEBwcHOFBSTZjb4NPw6O7g/uHn
+        2f7U2s3/yc3B/7q/s/+2uq/+pquh+4WIgPYrLCrhBwcH03x+d+Lk6dv78Pbn/+nv4f/Y3tD9jZCH6RkZ
+        GM48PTnXm56V8MXKvfrK0ML90dXI/8rPwv+3vLH/wsi7/8DFuf+bnpT4LC0qzQICAqQBAQFKAAAAFgAA
+        AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABQAAAAcAAAAJAgICMyco
+        JpW4vLHa3ePV+Nzh1Pvc4tT/1NnM/8zRxP/HzL//t7uw/6qvpP+Sl433QkQ/2n1/eOHf5Nb88vjp/+/1
+        5v/i6Nr8sLWq732AeOimqp/2ub6y/r7EuP+9wrf/vcK2/7/Dt/+3vLD/ub+y/6Wpnvtwc2vmEBEQswEB
+        AWQAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAADAAAABQAAAAcAAAAJAAAADAAA
+        AA8AAAATAAAAHwYGBm88Pjqom5+V2MTJvfPGy7//wMW5/77Ct/+9wbX/uL2y/7O3rP+3vLD/o6id8rm9
+        svLl693+6e/g/+bs3f/c4tP/x83A/7G1qv6mqqD/nKCW/5ygl/+go5r/o6ed/6aqoP+kqJ7/j5OK81VY
+        UtwREhG4AQEBbAAAACUAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAACgAA
+        AA4AAAATAAAAGQAAAB4AAAAjAAAAKwAAAEQCAgKJHB0bul5gW9eQlIvyn6OZ/p6imP+go5r/pqqg/6+z
+        qf+5vrL/wMS5/rm+s/+XnJL/eX11/3J4c/9zgoP/Z3R0/2xxbP+ChX3/g4Z+/3+Cev+BhHv/iIyD/32A
+        eP5iZF3wNjc01goKCbQAAAB4AAAALAAAAA8AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAADAAAABAAA
+        AAgAAAANAAAAFAAAABoAAAAiAAAAKgAAADIAAAA7AAAARQAAAFMAAABrAAAAkAoLCrwpKifkVVdS9Hh7
+        dPuDhn7/j5KK/5uflv+anpX/aWxl/0ZOTP9BVl3/M1Ff/ytIV/8wTmD/MEpZ/zRIUv9FTk//cXRu/3p+
+        dv5ydW7+UFJO+CorKOwPDw7UAQEBrQICAoECAgJOAwMDLwAAABgAAAAKAAAAAwAAAAAAAAABAAAAAgAA
+        AAMAAAAGAAAACgAAABAAAAAYAAAAIQAAACoAAAA1AAAAPwAAAEsAAABYAAAAZQAAAHMAAACAAAAAjgAA
+        AKEBAQG1Dg4N0iEiIOpAQj71cHNs/ICDfP1WWVT+LDk8/0Rsdv9UhZH/Uomd/0CBoP88b4r/PGB1/y9K
+        W/8rQEz/SE9P/jIzMPQiIyHoEhMS3AECAdQAAADCAQEBngICAnoEBARkBQUFTQMDAzMAAAAaAAAACgAA
+        AAIAAAACAAAAAwAAAAYAAAALAAAAEgAAABsAAAAmAAAAMQAAAD0AAABKAAAAWAAAAGcAAAB2AAAAhgAA
+        AJUAAAClAAAAsQAAALoFBQXFDAwM1gcHB+MJCQnrKCkn8lRWUfZDTU7/VX+M/054gv9KVVj/V2Fk/zxc
+        av9EUln/U1pf/ztRX/8wTF3/JzU9/0ZKRvk/QT3lODo34R4fHecJCQnjAQEB0wAAALABAQGGAwMDagQE
+        BFEDAwMzAAAAFwAAAAcAAAADAAAABgAAAAsAAAATAAAAHAAAACkAAAA2AAAARQAAAFQAAABkAAAAdAAA
+        AIUAAACZAAAAsAMDA8QWFhbXKSkp5j4+PvRLS0v5Ojo6+iAgH/YpKifxYGJc+HFzbf1FWmL/XZiu/0td
+        Yf9iY2P/uLm5/1laW/9jZGT/t7i4/05ZX/9AYXf/LURS/2RqZ/+Ch378goZ+/ICDe/hLTUjtHB0b6wUF
+        BeUAAADBAQEBjgICAmoFBQVLAwMDJwAAAA0AAAAEAAAACQAAABEAAAAdAAAAKQAAADgAAABIAAAAWgAA
+        AGwAAAB/AQEBmQICArgcHBzUR0dH7G9vb/uUlJT9u7u7/tra2v+NjY39JSUk+DY3NPdbXVj7eXx1/nh7
+        dP88TVT/WI6k/1prcP/P0ND/09TU/2psbP/Q0dH/0tPU/1NjbP9Oe5f/OFFe/4SLhf+ippz/n6OZ/5+j
+        mf+Rloz+en529Ts8OekMDAvlAAEAxgEBAYYDAwNXBAQEMAAAABIAAAAHAAAADwAAABsAAAApAAAAOQAA
+        AEsAAABdAAAAcgEBAYwICAi1Kioq3GxsbPOnp6f92dnZ//r6+v/9/f3//Pz8/5ycm/4rLCv6Kiso+EZH
+        Q/xhY13+fH94/4qNhf9bYV7/QV9s/010g/9ve37/bnyA/09weP9vfYH/aXqB/0qCn/9ThaH/P0tQ/6So
+        n//DyLz/wsa7/7a7r/+zuKz/rbKm/5KXjvdVWFLrEREQ3QEBAawBAQJVAgICLwAAABIAAAALAAAAFgAA
+        ACQAAAA3AAAASgAAAF8AAAB3CwsLpCsrK9p1dXXzx8fH/u3t7f/////////////////+/v7/vb29/zY2
+        Nv0cHRv8LS8s+0JDP/xZW1b8dHdw/I+Tiv6NkYf8TFNS+UBpevxiqcL/d8fc/4Ta7v95yd//Z7jd/1+h
+        w/9EW2X/e4F6/8TJvf/R1sn/1NnM/9HWyf/N08X/yc/C/8TJvP+qrqP6WVtW3AcHBrACAgJKAwMDJQAA
+        AA4AAAAPAAAAHAAAAC8AAABEAAAAXAICAnsXFxezY2Nj6sjIyP3w8PD/8/P0//Pz8///////////////
+        ///39/f/jIyM/hsbG/0WFxX8IyQh+jM0MfpAQT34RUdD90BBPfJCREDcKisotj9KTdVCYGv+THOA/3Cs
+        xf9wr8z/TXWJ/0hZYP9/hX//ztPH/ubr3f7m7N3/7/Xm//D25//m7N3/3+XX/9bczv7L0MP2kJSLwQ4O
+        DYcCAgJCAQEBFgAAAAgAAAAUAAAAJAAAADkAAABTAgICdiMjI7iHh4f25eXl/v7+/v/+/v//oaHs/62t
+        vP/4+Pj/////////////////5OTk/25ubv4iIiL9CwwL+wwNDPgMDQzvDAwM1wgIB7AFBQWHAQEBhHN2
+        b7enraTzjJKN/3SCgv90goP/mqKc/77Dt/+Tl473YGNd7ImNhfG/xLj55evd+OTq3Pjb4dP40NXJ+MXK
+        vuutsaa9RkhDiQUFBWQAAAAiAAAACQAAAAMAAAAYAAAAKwAAAEQDAwNrKCgot5iYmPb39/f/////////
+        ////////oqL3/1pauv/k5OT//////////////////////+fn5/+np6f/T09P+QsLC+gAAADMAAAArwAA
+        AI8AAAByAQEBhllbVqXKz8Pi2+HT/9zi1P/f5df/5evd/+Pp2/+us6j1MTMw2BUVFMInKCW1Ojs4p0FC
+        PqxAQj2qNDYyqC0uK54gIB6JBwcGXgAAACIAAAAHAAAAAgAAAAAAAAAaAAAAMAEBAVQjIyOrm5ub9Pf3
+        9///////////////////////vr76/0FBzv/S0tT///////z8/P/o6On/2tra//Pz8//9/f3/2dnZ/3Nz
+        c/gRERHbAAAAtgAAAJkAAAB9AAAAhRQUE5KorKHE3uTW+O3z5P/x9+j/6O7g/97k1v+vs6juLi8tzAAA
+        AJICAgJPAgICPgQEBEcDAwNNAQEBPgAAACYAAAATAAAACwAAAAMAAAABAAAAAAAAAAAAAAAcAAAANQwM
+        DH5zc3Pm6urq////////////////////////////6Oj9/0ND3v+ysrn/3Nzj/5OTx/87O83/Li63/39/
+        nP/o6Oj//////97e3v9WVlb0BQUFywAAAKcAAACKAAAAeQICApdGSESVxMm9zOju4Pru9OX/5Orc/97j
+        1f+WmZDfHh8dwAEBAX0CAgIyAAAAFAAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAcAAAARDo6Ora8vLz9///////////////////////////+/v7/7e31/0JC5v9KSqb/LS3T/wYG
+        8/8AAP7/AQH9/yoqz//Ly9b//v7+//7+/v+np6f+ISEh4gAAALQAAACTAAAAdAAAAIgFBQWjV1lUpMvQ
+        xNHr8eP85evd/9ne0fdrbWfQCgoJpgEBAVEAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAaAAAAU1lZWeDp6en//////////////////v7+//Ly8//BwdT/ZmbI/xMR
+        6P8KBfL/AAD//wAA/v8SEvX/V1ft/8DA7v/4+Pv////////////f39//Ozs78QAAALsAAACYAAAAeAAA
+        AGMAAAByBgYFm0NFQcO1uq/Z3ePV6qqupM4pKii4AAAAcQAAACMAAAALAAAAAwAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAWGRkZPP9/f3////////////s7O//s7PQ/1pa
+        xf8TE+j/AgL6/wAA/v8ZDOf/Dw7w/2lp6f/IyPL/+fn8///////////////////////39/f/R0dH+AAA
+        AL0AAACYAAAAeAAAAFcAAAA8AAAARAkJCHM0NjKdUVNOuDM0MZcEBQRkAAAAJgAAAAkAAAADAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAUWJiYu35+fn///////j4
+        /v9ycuv/ERHp/wEB/f8AAP//AwP8/yws8P9DQe7/Wlq8/+rq7P//////////////////////////////
+        ///z8/P/RERE9QAAALgAAACSAAAAcgAAAFEAAAAyAAAAGwAAABcAAAAmAAAANwAAAC8AAAASAAAABAAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAPlJS
+        Uszb29v+//////7+//+4uPz/JSX8/w0N+v82NvL/nJzr/+jo9/+2tvn/Tk7C/9ra2///////////////
+        ///////////////////Nzc3+NDQ05wAAAKsAAACHAAAAZwAAAEUAAAApAAAAFQAAAAgAAAAEAAAABAAA
+        AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAKAAAAIi4uLo6lpaX1/Pz8////////////6Oj+/9DQ+f/z8/v//v7+///////R0fv/OzvY/8LC
+        yP/+/v7///////////////////////n5+f+MjIz5FxcXygAAAJcAAAB2AAAAVwAAADkAAAAgAAAADgAA
+        AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAGAAAADgQEBEBWVlbA0dHR/P7+/v//////////////////////////////
+        ///x8f7/S0vn/6mpuf/8/Pz//////////////////f39/8DAwP05OTndAQEBoAAAAH4AAABhAAAARAAA
+        ACkAAAAVAAAACAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAEBARUXFxdYWVlZyby8vPj19fX/////////
+        ///////////////////7+///c3P1/5iYyP/5+fn///////7+/v/x8fH/rKys+kRERN0ICAiiAAAAfAAA
+        AGMAAABIAAAALwAAABoAAAALAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABQAAAAoBAQEXDw8PRjs7
+        O6h9fX3ox8fH+ubm5v/19fX//Pz8////////////4uL+/9zc9P/y8vL/5OTk/76+vvpvb2/tKSkpwgUF
+        BYwAAABvAAAAWgAAAEUAAAAwAAAAHAAAAA4AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
+        AAUAAAAJAAAAEgcHBysWFhZqKysrsFlZWdaHh4fppaWl9re3t/y5ubn+tra2/KGhofWAgIDrUFBQ2yMj
+        I70ODg6NAgICZwAAAFcAAABLAAAAPAAAACwAAAAcAAAADwAAAAYAAAACAAAAAQAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAAIAAAAEAAAACAAAAA0AAAAVAwMDJwkJCUwLCwt0DAwMjwwMDJ8MDAylDAwMoQsL
+        C5UJCQl/BgYGYQEBAUkAAABAAAAAOwAAADUAAAAsAAAAIgAAABcAAAANAAAABgAAAAIAAAABAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADAAAABEAAAAVAAAAGgAA
+        AB0AAAAgAAAAIwAAACQAAAAkAAAAJAAAACMAAAAhAAAAHgAAABoAAAAVAAAADwAAAAoAAAAFAAAAAgAA
+        AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABQAA
+        AAcAAAAJAAAACwAAAA4AAAAPAAAAEAAAABAAAAARAAAAEAAAAA8AAAAOAAAADQAAAAsAAAAIAAAABQAA
+        AAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABgAAAAYAAAAGAAAABQAAAAQAAAAEAAAAAwAA
+        AAMAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAQAA
+        AAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////////
+        AAD///////8AAP///////wAA/////f//AAD////wf/8AAP///+A//wAA////4D//AAD////AP/8AAP//
+        /8A/nwAA//+DgDwHAAD//gAAAAcAAP/8AAAABwAA//wAAAAHAAD//AAAAA8AAP/+AAAAHwAA//4AAAA/
+        AAD//wAAAD8AAP/+AAAAfwAA//gAAAAfAAD/4AAAAA8AAP/AAAAABwAA/wAAAAAHAAD+AAAAAAcAAPwA
+        AAAABwAA+AAAAAAPAADwAACAAB8AAOAAAIAP/wAA4AAAQB//AADAAABAH/8AAMAAAHA//wAAwAAAfH//
+        AADAAAB///8AAMAAAH///wAAwAAA////AADgAAH///8AAPAAA////wAA+AAH////AAD+AB////8AAP/B
+        /////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
         AAA=
 </value>
   </data>
diff --git a/src/xtm/Resources/xchat.ico b/src/xtm/Resources/xchat.ico
deleted file mode 100644
index e80a99da..00000000
Binary files a/src/xtm/Resources/xchat.ico and /dev/null differ
diff --git a/src/xtm/Resources/xtm.ico b/src/xtm/Resources/xtm.ico
new file mode 100644
index 00000000..f5cac031
Binary files /dev/null and b/src/xtm/Resources/xtm.ico differ
diff --git a/src/xtm/xtm.csproj b/src/xtm/xtm.csproj
index f5a343aa..10a9ccce 100644
--- a/src/xtm/xtm.csproj
+++ b/src/xtm/xtm.csproj
@@ -42,7 +42,7 @@
     <CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
   </PropertyGroup>
   <PropertyGroup>
-    <ApplicationIcon>Resources\xchat.ico</ApplicationIcon>
+    <ApplicationIcon>Resources\xtm.ico</ApplicationIcon>
   </PropertyGroup>
   <PropertyGroup>
     <ManifestCertificateThumbprint>25412E3EF25458D894050F8209E4D9DCCDF432D7</ManifestCertificateThumbprint>
@@ -150,7 +150,7 @@
     </BootstrapperPackage>
   </ItemGroup>
   <ItemGroup>
-    <Content Include="Resources\xchat.ico" />
+    <Content Include="Resources\xtm.ico" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
diff --git a/win32/installer/xchat-wdk-x64.skel.iss b/win32/installer/xchat-wdk-x64.skel.iss
index bff772a7..d69953ba 100644
--- a/win32/installer/xchat-wdk-x64.skel.iss
+++ b/win32/installer/xchat-wdk-x64.skel.iss
@@ -69,6 +69,13 @@ Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueDa
 Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
 Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
 
+Root: HKCR; Subkey: ".xct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: ""; ValueData: "XChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: "XChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+
 [Run]
 Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent
 
diff --git a/win32/installer/xchat-wdk-x86.skel.iss b/win32/installer/xchat-wdk-x86.skel.iss
index 1653e395..5cf32c47 100644
--- a/win32/installer/xchat-wdk-x86.skel.iss
+++ b/win32/installer/xchat-wdk-x86.skel.iss
@@ -69,6 +69,13 @@ Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueDa
 Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
 Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
 
+Root: HKCR; Subkey: ".xct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: ""; ValueData: "XChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: "XChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+Root: HKCR; Subkey: ".xct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
+
 [Run]
 Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent
 
-- 
cgit 1.4.1